42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
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<TranslationEngineDescriptor> GetTranslationEngines(IEnumerable<ITranslationEngine> engines)
|
|
{
|
|
return engines.Select(engine => engine.Descriptor);
|
|
}
|
|
|
|
[Authorize]
|
|
[UsePaging]
|
|
[UseProjection]
|
|
[UseFiltering]
|
|
[UseSorting]
|
|
public IQueryable<TranslationRequestDto> 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
|
|
});
|
|
}
|
|
}
|