using AnalyticsDAL.DTO.BICatalog; using GB5Shared.DTO.Framework.Login; namespace AnalyticsDAL.CustomCode.BICatalog { public interface IBICatalogDAL { /// Unscoped by TenantId (PK lookup only) — see BICatalogQB.GET_CATALOG_ENTRY_BY_ID /// for why: DatasetResolver must be able to see a shared (TenantId = -1) entry before /// comparing it against the caller's tenant in code. Task GetCatalogEntryById(int biCatalogId, LoginDTO login, CancellationToken ct); /// Warehouse-kind catalog entries visible to this tenant (own + shared) — /// see BICatalogQB.GET_CATALOG_LIST. Workspace-level visibility is filtered by the /// caller (BICatalogBLL), not here. Task> GetCatalogList(LoginDTO login, CancellationToken ct); Task Insert(BICatalogDTO dto, LoginDTO login, CancellationToken ct); /// Phase 2's "create a BI catalog from any existing report" flow — see /// BICatalogQB.GET_REPORTVIEW_FOR_CATALOG_CREATION. Returns null if the report view /// doesn't exist. Task GetReportViewForCatalogCreation(int reportViewId, LoginDTO login, CancellationToken ct); } }