using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; namespace FictionArchive.API.Controllers { [Route("api/[controller]")] [ApiController] public class TestController : ControllerBase { /*private readonly FictionArchiveDbContext _dbContext; private readonly ISourceAdapter _novelpiaAdapter; private readonly ITranslationEngineAdapter _translationEngine; public TestController(ISourceAdapter novelpiaAdapter, FictionArchiveDbContext dbContext, ITranslationEngineAdapter translationEngine) { _novelpiaAdapter = novelpiaAdapter; _dbContext = dbContext; _translationEngine = translationEngine; } [HttpGet("GetNovel")] public async Task GetNovel(string novelUrl) { var novel = await _novelpiaAdapter.GetMetadata(novelUrl); novel.Source = new Source() { Name = "Novelpia", Id = 1, Url = "https://novelpia.com" }; _dbContext.Novels.Add(novel); await _dbContext.SaveChangesAsync(); return novel; } [HttpGet("GetChapter")] public async Task GetChapter(uint novelId, uint chapterNumber) { var novel = await _dbContext.Novels.Include(n => n.Chapters).ThenInclude(c => c.Translations).FirstOrDefaultAsync(n => n.Id == novelId); var chapter = novel.Chapters.FirstOrDefault(c => c.Order == chapterNumber); var rawChapter = await _novelpiaAdapter.GetRawChapter(chapter.Url); chapter.Translations.Add(new ChapterTranslation() { Language = novel.RawLanguage, Body = rawChapter }); await _dbContext.SaveChangesAsync(); return rawChapter; } [HttpPost("TranslateChapter")] public async Task TranslateChapter(uint novelId, uint chapterNumber, Language to) { var novel = await _dbContext.Novels.Include(n => n.Chapters) .ThenInclude(c => c.Translations).FirstOrDefaultAsync(novel => novel.Id == novelId); var chapter = novel.Chapters.FirstOrDefault(c => c.Order == chapterNumber); var chapterRaw = chapter.Translations.FirstOrDefault(ct => ct.Language == novel.RawLanguage); var newTranslation = new ChapterTranslation() { Language = to, TranslationEngine = new TranslationEngine() { Name = "DeepL" } }; var translation = await _translationEngine.GetTranslation(chapterRaw.Body, novel.RawLanguage, to); newTranslation.Body = translation; chapter.Translations.Add(newTranslation); await _dbContext.SaveChangesAsync(); return newTranslation; }*/ } }