44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using StellaOps.Concelier.Core.Jobs;
|
|
|
|
namespace StellaOps.Concelier.Connector.Ghsa;
|
|
|
|
internal static class GhsaJobKinds
|
|
{
|
|
public const string Fetch = "source:ghsa:fetch";
|
|
public const string Parse = "source:ghsa:parse";
|
|
public const string Map = "source:ghsa:map";
|
|
}
|
|
|
|
internal sealed class GhsaFetchJob : IJob
|
|
{
|
|
private readonly GhsaConnector _connector;
|
|
|
|
public GhsaFetchJob(GhsaConnector connector)
|
|
=> _connector = connector ?? throw new ArgumentNullException(nameof(connector));
|
|
|
|
public Task ExecuteAsync(JobExecutionContext context, CancellationToken cancellationToken)
|
|
=> _connector.FetchAsync(context.Services, cancellationToken);
|
|
}
|
|
|
|
internal sealed class GhsaParseJob : IJob
|
|
{
|
|
private readonly GhsaConnector _connector;
|
|
|
|
public GhsaParseJob(GhsaConnector connector)
|
|
=> _connector = connector ?? throw new ArgumentNullException(nameof(connector));
|
|
|
|
public Task ExecuteAsync(JobExecutionContext context, CancellationToken cancellationToken)
|
|
=> _connector.ParseAsync(context.Services, cancellationToken);
|
|
}
|
|
|
|
internal sealed class GhsaMapJob : IJob
|
|
{
|
|
private readonly GhsaConnector _connector;
|
|
|
|
public GhsaMapJob(GhsaConnector connector)
|
|
=> _connector = connector ?? throw new ArgumentNullException(nameof(connector));
|
|
|
|
public Task ExecuteAsync(JobExecutionContext context, CancellationToken cancellationToken)
|
|
=> _connector.MapAsync(context.Services, cancellationToken);
|
|
}
|