using AuthorBuddy.Web.Data; using LiteDB; namespace AuthorBuddy.Web.Services; public class QuickMarkdownService : IQuickMarkdownService { private readonly ILiteDatabase _db; public QuickMarkdownService(ILiteDatabase db) { _db = db; } public Task> GetAllAsync(int userId) { var col = _db.GetCollection("quick_md"); return Task.FromResult(col.Find(e => e.UserId == userId) .OrderByDescending(e => e.Timestamp) .ToList()); } public Task GetByIdAsync(int id) { var col = _db.GetCollection("quick_md"); return Task.FromResult(col.FindById(id)); } public Task SaveAsync(QuickMarkdownEntry entry) { var col = _db.GetCollection("quick_md"); if (entry.Id > 0) col.Update(entry); else col.Insert(entry); return Task.CompletedTask; } public Task DeleteAsync(int id) { var col = _db.GetCollection("quick_md"); col.Delete(id); return Task.CompletedTask; } public Task> GetPromptsAsync(int userId) { var col = _db.GetCollection("quick_md_prompts"); return Task.FromResult(col.Find(p => p.UserId == userId) .OrderByDescending(p => p.Timestamp) .ToList()); } public Task GetPromptByIdAsync(int id) { var col = _db.GetCollection("quick_md_prompts"); return Task.FromResult(col.FindById(id)); } public Task SavePromptAsync(QuickMarkdownPrompt prompt) { var col = _db.GetCollection("quick_md_prompts"); if (prompt.Id > 0) col.Update(prompt); else col.Insert(prompt); return Task.CompletedTask; } public Task DeletePromptAsync(int id) { var col = _db.GetCollection("quick_md_prompts"); col.Delete(id); return Task.CompletedTask; } }