using HrynCo.NotificationService.DAL.Abstract.Templates; namespace HrynCo.NotificationService.DAL.Abstract.Repositories; public interface IEmailTemplateDefinitionRepository { Task> GetDefinitionsAsync(string? serviceName = null, string? key = null, CancellationToken ct = default); Task GetDefinitionAsync(string serviceName, string key, CancellationToken ct = default); Task GetDefinitionAsync(Guid serviceId, string key, CancellationToken ct = default); Task UpsertDefinitionAsync(EmailTemplateDefinitionPatch patch, CancellationToken ct = default); Task> GetDefinitionsAsync(Guid serviceId, CancellationToken ct = default); Task DeleteDefinitionAsync(Guid serviceId, string key, Guid revision, CancellationToken ct = default); Task SaveDefinitionAsync(EmailTemplateDefinition definition, bool isNew, CancellationToken ct = default); }