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);
}