Updated translation service and finished splitting out responsibilities for now
This commit is contained in:
@@ -1,14 +1,30 @@
|
||||
using FictionArchive.Common.Enums;
|
||||
using FictionArchive.Service.TranslationService.Models.Database;
|
||||
using FictionArchive.Service.TranslationService.Models.Enums;
|
||||
using FictionArchive.Service.TranslationService.Services.Database;
|
||||
using FictionArchive.Service.TranslationService.Services.TranslationEngines;
|
||||
|
||||
namespace FictionArchive.Service.TranslationService.GraphQL;
|
||||
|
||||
public class Mutation
|
||||
{
|
||||
public async Task<string> TranslateText(string text, Language from, Language to, string translationEngineKey, IEnumerable<ITranslationEngineAdapter> translationEngines)
|
||||
public async Task<string> TranslateText(string text, Language from, Language to, string translationEngineKey, IEnumerable<ITranslationEngine> translationEngines, TranslationServiceDbContext dbContext)
|
||||
{
|
||||
var engine = translationEngines.FirstOrDefault(engine => engine.Descriptor.Key == translationEngineKey);
|
||||
var translation = await engine.GetTranslation(text, from, to);
|
||||
|
||||
dbContext.TranslationRequests.Add(new TranslationRequest()
|
||||
{
|
||||
OriginalText = text,
|
||||
BilledCharacterCount = 0, // FILL ME
|
||||
From = from,
|
||||
To = to,
|
||||
Status = translation != null ? TranslationRequestStatus.Success : TranslationRequestStatus.Failed,
|
||||
TranslatedText = translation,
|
||||
TranslationEngineKey = translationEngineKey
|
||||
});
|
||||
await dbContext.SaveChangesAsync();
|
||||
|
||||
return translation;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user