namespace CashLineERP.Application.Notifications;

public interface INotificationTemplateRepository
{
    IReadOnlyCollection<NotificationTemplateDetailView> GetTemplates(bool activeOnly = false, string? channelCode = null);

    NotificationTemplateDetailView? GetTemplate(long notificationTemplateId);

    NotificationTemplateDetailView Create(CreateNotificationTemplateCommand command);

    NotificationTemplateDetailView Submit(long notificationTemplateId, long actorUserId);

    NotificationTemplateDetailView Approve(long notificationTemplateId, long actorUserId);

    NotificationTemplateDetailView Activate(long notificationTemplateId, long actorUserId);
}
