using PepperBot.Domain; namespace PepperBot.Application.Interfaces; public interface ISubscriptionRepository { Task InitializeAsync(CancellationToken cancellationToken); /// /// Получить все активные подписки. /// Task> GetAllActiveAsync(CancellationToken cancellationToken); /// /// Добавить новое правило подписки для указанного чата. /// Одно правило = один кейворд (но у одного чата может быть много правил). /// Task AddSubscriptionAsync(string chatId, string keyword, CancellationToken cancellationToken); /// /// Получить активные подписки для конкретного чата. /// Task> GetByChatAsync(string chatId, CancellationToken cancellationToken); /// /// Удалить (деактивировать) подписку по идентификатору. /// Task DeleteSubscriptionAsync(long id, CancellationToken cancellationToken); }