using CashLineERP.Contracts.Notifications;

namespace CashLineERP.Application.Notifications;

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

    NotificationTemplateResponse? GetTemplate(long notificationTemplateId);

    NotificationTemplateResponse CreateTemplate(CreateNotificationTemplateRequest request);

    NotificationTemplateResponse SubmitTemplate(long notificationTemplateId, long actorUserId);

    NotificationTemplateResponse ApproveTemplate(long notificationTemplateId, long actorUserId);

    NotificationTemplateResponse ActivateTemplate(long notificationTemplateId, long actorUserId);
}
