using EntitlementDAL.DTOs; using GB5Shared.DTO.Framework.Login; namespace EntitlementBLL.Interfaces; public interface IFeatureBLL { Task GetAsync(int featureId, LoginDTO login, CancellationToken ct); /// /// Feature.svc/GetList backing call. must be resolved /// by the SL layer from the verified request principal (e.g. HttpContext.User.IsInRole), /// never from a client-supplied flag. Enforcement, not merely advisory: when /// is false, the full admin catalog is never /// returned — is coerced to PIE-only regardless of what /// value the caller passed (true/false/omitted). Admin-authenticated callers get the full /// catalog by default and may optionally narrow to the PIE-only subset via /// isExposedToPie=true — that existing path is unchanged. /// Task> GetListAsync(bool isAdminAuthenticated, bool? isExposedToPie, LoginDTO login, CancellationToken ct); Task SaveAsync(FeatureDTO dto, LoginDTO login, CancellationToken ct); Task DeleteAsync(int featureId, LoginDTO login, CancellationToken ct); }