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; // Backs the "My Channels" header popover — no UserId param, same convention as // GbMyActivityDbService's endpoints: the server resolves "me" from the Login header. public class GetMyChannels : BaseEndpoint> { private readonly IShowChannelSubscriptionBLL _bll; public GetMyChannels(IShowChannelSubscriptionBLL bll) => _bll = bll; public override void Configure() { Get("/Enablement/GetMyChannels"); AllowAnonymous(); } protected override string? GetCacheKey(GetMyChannelsParameters req, LoginDTO login) => null; protected override async Task> ExecuteAsync( GetMyChannelsParameters req, LoginDTO login, CancellationToken ct) => await _bll.GetMyChannelsAsync(login, ct).ConfigureAwait(false); }