using EnablementDAL.DTO; using GB5Shared.DTO.Framework.Login; using GB5Shared.DTO.Framework.ResponseStandard; namespace EnablementBLL.ShowChannel; // Deliberately a separate interface/class from IShowChannelBLL — that one is admin CRUD // on MSHOWCHANNEL/TSHOWCHANNEL; this one answers a different question ("what is the // current user's effective subscription state") for a different caller (the end-user // "My Channels" popover, not the admin screens). public interface IShowChannelSubscriptionBLL { Task> GetMyChannelsAsync(LoginDTO login, CancellationToken ct); Task> SetSubscriptionAsync(int channelId, bool isSubscribed, LoginDTO login, CancellationToken ct); // ---- Admin tooling (Slice 2) ---- Task> GetChannelSubscriptionOverridesAsync(int channelId, LoginDTO login, CancellationToken ct); Task> ForceSubscriptionAsync(ForceChannelSubscriptionDTO dto, LoginDTO login, CancellationToken ct); }