using System.Threading; using System.Threading.Tasks; using AnalyticsDAL.DTO.Wizard; using GB5Shared.DTO.Framework.Login; namespace AnalyticsBLL.Wizard { public interface IAnalyticsWizardBLL { /// Read-only schema browsing — no DB writes. Returns the flat column/FK lists /// for the tenant's own DB (SourceKind 0) or a registered external client DB /// (SourceKind 1, SQL Server only today). Task DiscoverAsync(WizardDiscoverRequestDTO req, LoginDTO login, CancellationToken ct); /// Turns discovered schema + user selections into real /// MANALYSIS/MANALYSISOBJECT/MANALYSISFIELDS/DBJOIN(/MANALYSISQUERY) rows in one /// transaction. Registers a DBOBJECT (+DBOBJECTFIELDS) per selected table first when one /// isn't already registered for this source — see class remarks for the one accepted /// limitation (that registration step is framework-owned and outside this transaction). Task QuickBuildAsync(AnalyticsWizardBuildRequestDTO req, LoginDTO login, CancellationToken ct); } }