using CMSDAL.DTO.ContentContainer; using GB5Shared.DTO.Framework.Login; namespace CMSDAL.CustomCode.ContentContainer; public interface IContentContainerDAL { Task GetByContentAsync(int contentId, LoginDTO loginDTO, CancellationToken ct); Task SaveAsync(ContentContainerDTO dto, LoginDTO loginDTO, CancellationToken ct); Task ReorderAsync(int contentContainerId, short positionNo, LoginDTO loginDTO, CancellationToken ct); Task DeleteAsync(int contentContainerId, LoginDTO loginDTO, CancellationToken ct); // Used by the cross-tenant guard — returns the Content row's true owning TenantId (or null // if it doesn't exist), independent of the caller's own claimed tenant. LoginDTO is only // used for DB-connection resolution here, never as a tenant filter. Task GetContentTenantIdAsync(int contentId, LoginDTO loginDTO, CancellationToken ct); }