using ScadaLink.Commons.Entities.Notifications; namespace ScadaLink.Commons.Interfaces.Repositories; public interface INotificationRepository { // NotificationList Task GetNotificationListByIdAsync(int id, CancellationToken cancellationToken = default); Task> GetAllNotificationListsAsync(CancellationToken cancellationToken = default); Task GetListByNameAsync(string name, CancellationToken cancellationToken = default); Task AddNotificationListAsync(NotificationList list, CancellationToken cancellationToken = default); Task UpdateNotificationListAsync(NotificationList list, CancellationToken cancellationToken = default); Task DeleteNotificationListAsync(int id, CancellationToken cancellationToken = default); // NotificationRecipient Task GetRecipientByIdAsync(int id, CancellationToken cancellationToken = default); Task> GetRecipientsByListIdAsync(int notificationListId, CancellationToken cancellationToken = default); Task AddRecipientAsync(NotificationRecipient recipient, CancellationToken cancellationToken = default); Task UpdateRecipientAsync(NotificationRecipient recipient, CancellationToken cancellationToken = default); Task DeleteRecipientAsync(int id, CancellationToken cancellationToken = default); // SmtpConfiguration Task GetSmtpConfigurationByIdAsync(int id, CancellationToken cancellationToken = default); Task> GetAllSmtpConfigurationsAsync(CancellationToken cancellationToken = default); Task AddSmtpConfigurationAsync(SmtpConfiguration configuration, CancellationToken cancellationToken = default); Task UpdateSmtpConfigurationAsync(SmtpConfiguration configuration, CancellationToken cancellationToken = default); Task DeleteSmtpConfigurationAsync(int id, CancellationToken cancellationToken = default); Task SaveChangesAsync(CancellationToken cancellationToken = default); }