using CMSDAL.DTO.Channel; using GB5Shared.DTO.Framework.Login; namespace CMSDAL.CustomCode.Channel; public interface IChannelDAL { Task GetListAsync(LoginDTO loginDTO, CancellationToken ct); Task GetByIdAsync(int channelId, LoginDTO loginDTO, CancellationToken ct); Task GetChannelContentAsync(int channelId, LoginDTO loginDTO, CancellationToken ct); Task SaveAsync(ChannelDTO dto, LoginDTO loginDTO, CancellationToken ct); Task AddChannelContentAsync(AddChannelContentDTO dto, LoginDTO loginDTO, CancellationToken ct); // Typed, Published-only sibling to GetChannelContentAsync — for cross-module callers // (Enablement's ShowContentLinkBLL, Part B Slice 3) that need real objects, not a // pre-serialized JSON string, and only currently-published content. Task> GetPublishedChannelContentAsync(int channelId, LoginDTO loginDTO, CancellationToken ct); }