using FictionArchive.Service.TranslationService.Models; using FictionArchive.Service.TranslationService.Models.DTOs; using FictionArchive.Service.TranslationService.Services.Database; using FictionArchive.Service.TranslationService.Services.TranslationEngines; using HotChocolate.Authorization; using HotChocolate.Data; namespace FictionArchive.Service.TranslationService.GraphQL; public class Query { [Authorize] [UseFiltering] [UseSorting] public IEnumerable GetTranslationEngines(IEnumerable engines) { return engines.Select(engine => engine.Descriptor); } [Authorize] [UsePaging] [UseProjection] [UseFiltering] [UseSorting] public IQueryable GetTranslationRequests(TranslationServiceDbContext dbContext) { return dbContext.TranslationRequests.Select(request => new TranslationRequestDto { Id = request.Id, CreatedTime = request.CreatedTime, LastUpdatedTime = request.LastUpdatedTime, OriginalText = request.OriginalText, TranslatedText = request.TranslatedText, From = request.From, To = request.To, TranslationEngineKey = request.TranslationEngineKey, Status = request.Status, BilledCharacterCount = request.BilledCharacterCount }); } }