using System; using System.Collections.Generic; using System.Threading.Tasks; using Wino.Core.Domain.Entities.Mail; using Wino.Core.Domain.Interfaces; namespace Wino.Services; public class SignatureService(IDatabaseService databaseService) : BaseDatabaseService(databaseService), ISignatureService { public async Task GetSignatureAsync(Guid signatureId) { return await Connection.Table().FirstAsync(s => s.Id == signatureId); } public async Task> GetSignaturesAsync(Guid accountId) { return await Connection.Table().Where(s => s.MailAccountId == accountId).ToListAsync(); } public async Task CreateSignatureAsync(AccountSignature signature) { await Connection.InsertAsync(signature); return signature; } public async Task CreateDefaultSignatureAsync(Guid accountId) { var defaultSignature = new AccountSignature() { Id = Guid.NewGuid(), MailAccountId = accountId, // TODO: Should be translated? Name = "Wino Default Signature", HtmlBody = @"

Sent from Wino Mail for Windows

" }; await Connection.InsertAsync(defaultSignature); return defaultSignature; } public async Task UpdateSignatureAsync(AccountSignature signature) { await Connection.UpdateAsync(signature); return signature; } public async Task DeleteSignatureAsync(AccountSignature signature) { await Connection.DeleteAsync(signature); return signature; } }