using Microsoft.AspNetCore.Mvc; using WikiWaka.Api.Contract; using WikiWaka.Api.Models; namespace WikiWaka.Api.Controllers; [ApiController] [Route("[controller]")] public class ContentApiController(DbWikiWakaContext dbContext) : Controller { [HttpGet(nameof(Content))] public IAsyncEnumerable GetContents() { return dbContext.Content.AsAsyncEnumerable(); } [HttpPost(nameof(Content))] public async Task PostContents(NewContent newContent) { Language language = dbContext.Language.Single(l => l.LanguageCode == newContent.LanguageCode); Content content = new(); Models.Version version = new(); Property property = new() { Content = content, Language = language, Version = version, Text = newContent.Text, }; await dbContext.Content.AddAsync(content); await dbContext.Version.AddAsync(version); await dbContext.Property.AddAsync(property); await dbContext.SaveChangesAsync(); return content; } }