using EnablementDAL.DTO; using GB5Shared.DTO.Framework.Login; namespace EnablementDAL.CustomCode.ShowChannelSubscription; public interface IShowChannelSubscriptionDAL { Task> GetActiveChannelsAsync(LoginDTO login, CancellationToken ct); Task> GetMyOverridesAsync(LoginDTO login, CancellationToken ct); // userId is explicit (not read from login) so the admin-force caller can look up a // DIFFERENT user's override, not just the caller's own. Task GetOverrideAsync(int channelId, int userId, LoginDTO login, CancellationToken ct); Task InsertOverrideAsync(ShowChannelSubscriptionDTO dto, LoginDTO login, CancellationToken ct); Task UpdateOverrideAsync(ShowChannelSubscriptionDTO dto, LoginDTO login, CancellationToken ct); // Admin visibility — every override (Self + AdminForced) authored for one channel. Task> GetOverridesForChannelAsync(int channelId, LoginDTO login, CancellationToken ct); }