using EnablementBLL.ShowChannel; using EnablementSL.Parameters.ShowChannelSubscription; using FastEndpoints; using GB5Shared.DTO.Framework.Login; using GB5Shared.DTO.Framework.ResponseStandard; using GB5Shared.FastEndPoint; namespace EnablementSL.Endpoints.ShowChannelSubscription; // Admin visibility — every override (Self + AdminForced) authored for one channel. public class GetChannelSubscriptionOverrides : BaseEndpoint> { private readonly IShowChannelSubscriptionBLL _bll; public GetChannelSubscriptionOverrides(IShowChannelSubscriptionBLL bll) => _bll = bll; public override void Configure() { Get("/Enablement/GetChannelSubscriptionOverrides"); AllowAnonymous(); } protected override string? GetCacheKey(GetChannelSubscriptionOverridesParameters req, LoginDTO login) => null; protected override async Task> ExecuteAsync( GetChannelSubscriptionOverridesParameters req, LoginDTO login, CancellationToken ct) => await _bll.GetChannelSubscriptionOverridesAsync(req.ChannelId, login, ct).ConfigureAwait(false); }