Files
Wino-Mail/Wino.Services/SignatureService.cs

59 lines
1.9 KiB
C#
Raw Normal View History

2024-04-18 01:44:37 +02:00
using System;
using System.Collections.Generic;
2024-04-18 01:44:37 +02:00
using System.Threading.Tasks;
using Wino.Core.Domain.Entities.Mail;
2024-04-18 01:44:37 +02:00
using Wino.Core.Domain.Interfaces;
namespace Wino.Services
2024-04-18 01:44:37 +02:00
{
public class SignatureService(IDatabaseService databaseService) : BaseDatabaseService(databaseService), ISignatureService
2024-04-18 01:44:37 +02:00
{
public async Task<AccountSignature> GetSignatureAsync(Guid signatureId)
{
return await Connection.Table<AccountSignature>().FirstAsync(s => s.Id == signatureId);
}
2024-04-18 01:44:37 +02:00
public async Task<List<AccountSignature>> GetSignaturesAsync(Guid accountId)
{
return await Connection.Table<AccountSignature>().Where(s => s.MailAccountId == accountId).ToListAsync();
}
2024-04-18 01:44:37 +02:00
public async Task<AccountSignature> CreateSignatureAsync(AccountSignature signature)
{
await Connection.InsertAsync(signature);
2024-04-18 01:44:37 +02:00
return signature;
}
2024-04-18 01:44:37 +02:00
public async Task<AccountSignature> CreateDefaultSignatureAsync(Guid accountId)
2024-04-18 01:44:37 +02:00
{
var defaultSignature = new AccountSignature()
{
Id = Guid.NewGuid(),
MailAccountId = accountId,
// TODO: Should be translated?
Name = "Wino Default Signature",
HtmlBody = @"<p>Sent from <a href=""https://github.com/bkaankose/Wino-Mail/"">Wino Mail</a> for Windows</p>"
};
2024-04-18 01:44:37 +02:00
await Connection.InsertAsync(defaultSignature);
2024-04-18 01:44:37 +02:00
return defaultSignature;
}
2024-04-18 01:44:37 +02:00
public async Task<AccountSignature> UpdateSignatureAsync(AccountSignature signature)
{
await Connection.UpdateAsync(signature);
2024-04-18 01:44:37 +02:00
return signature;
}
2024-04-18 01:44:37 +02:00
public async Task<AccountSignature> DeleteSignatureAsync(AccountSignature signature)
{
await Connection.DeleteAsync(signature);
return signature;
}
2024-04-18 01:44:37 +02:00
}
}