diff --git a/FictionArchive.Service.ReportingService/FictionArchive.Service.ReportingService.csproj b/FictionArchive.Service.ReportingService/FictionArchive.Service.ReportingService.csproj index e486c8c..39d8d02 100644 --- a/FictionArchive.Service.ReportingService/FictionArchive.Service.ReportingService.csproj +++ b/FictionArchive.Service.ReportingService/FictionArchive.Service.ReportingService.csproj @@ -8,6 +8,8 @@ + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/FictionArchive.Service.ReportingService/GraphQL/JobQueries.cs b/FictionArchive.Service.ReportingService/GraphQL/JobQueries.cs new file mode 100644 index 0000000..2fbe7b8 --- /dev/null +++ b/FictionArchive.Service.ReportingService/GraphQL/JobQueries.cs @@ -0,0 +1,26 @@ +using FictionArchive.Service.ReportingService.Models; +using FictionArchive.Service.ReportingService.Services; +using HotChocolate.Authorization; +using HotChocolate.Data; + +namespace FictionArchive.Service.ReportingService.GraphQL; + +[QueryType] +public static class JobQueries +{ + [UseProjection] + [Authorize] + [UseFirstOrDefault] + public static IQueryable GetJobById( + Guid jobId, + ReportingDbContext db) + => db.Jobs.Where(j => j.Id == jobId); + + [UsePaging] + [UseProjection] + [UseFiltering] + [UseSorting] + [Authorize] + public static IQueryable GetJobs(ReportingDbContext db) + => db.Jobs; +}