namespace GB5Shared.Deployment { /// /// Process-wide deployment tier. Bound once at startup from GB5:Environment and never /// re-read per request — this is static process configuration, same lifetime class as /// VaultOptions, not per-request state like LoginDTO (never register LoginDTO itself as /// a singleton; this interface only ever hands back plain strings/enum values). /// public interface IGB5Environment { /// Which tier this process is running as. GB5Tier Tier { get; } /// True only when is . bool IsLive { get; } /// "Dev" | "QC" | "Live" — matches GB5Tier's own name. string TierCode { get; } /// /// Applies this tier's MSERVERCONFIG.CONNECTIONNAME suffix convention. Live /// intentionally maps to the base name UNCHANGED — every already-deployed Live /// CONNECTIONNAME (EntitlementDb, DXPDb, ...) keeps working with no MSERVERCONFIG /// change; only Dev/QC need new, additively-registered rows. /// string Resolve(string baseConnectionName); /// /// GOP's own historical free-text environment code. Live intentionally still /// resolves to "PROD" — that's the pre-existing MGOPSOURCEBINDING/MGOPFLOWSNAPSHOT /// column default, and changing it would orphan every row seeded before this /// abstraction existed. /// string GopEnvironmentCode { get; } } }