using CMSDAL.DTO.Site; using GB5Shared.DTO.Framework.Login; namespace CMSBLL.Site; // The only trusted source of tenant/site context for an anonymous public request against a // rendered site (Phase 2+). Resolves an incoming Host header to its owning Site/TenantId — // callers must never accept a client-supplied TenantId/SiteId as a substitute for this. public interface ISiteResolverBLL { // Returns null if the domain is unbound, or if the Site it belongs to is not Active // (Draft/Suspended/Archived) — a caller should treat null identically to "not found", // never leak *why* resolution failed to an anonymous visitor. Task ResolveByDomainAsync(string domainName, LoginDTO loginDTO, CancellationToken ct = default); }