namespace FrameworkDAL.DTO.Dashboard { // Wire shape for POST /Dashboard/NotifyDataChanged — any host can call this to push a // DashboardHub "this dataset changed" notification, without needing a shared DI container with // FrameworkSL (which is where the Hub itself is actually mapped). ClientId is deliberately NOT // a field here — it comes from the caller's own Login header, same as every other endpoint in // this codebase never trusts a body-supplied tenant id over LoginDTO. public class NotifyDataChangedDTO { // Coarse topic identifier a widget/portlet was configured to care about, e.g. "FFINANCE", // "KPI", "BRS", "COMPLIANCE_ALERT" — not a table name or a specific portlet id. public string DatasetKey { get; set; } = string.Empty; // Null = "every OU" (a client-wide change, e.g. a new Compliance alert type registered). public int? OuId { get; set; } } }