Namespace Stratara.Abstractions.Settings
Classes
- SettingCatalog
The application's setting vocabulary — every SettingDefinition the application knows, declared in code at startup and registered as a singleton (the settings-plane sibling of the authorization plane's
PermissionCatalog).
- SettingDefinition
One entry of the application's setting vocabulary: a dotted name, its code-declared default, and its behavioral flags. Definitions are declared once at startup in the SettingCatalog; values are stored separately per SettingScope.
Structs
- SettingScope
Identifies which slice of the settings plane a value belongs to: global, per tenant, per user, or per user-in-tenant. Mirrors the shape of the security plane's KeyScope — ids are strings so opaque slugs and GUIDs (via
Guid.ToString()) work alike.
Interfaces
- ISettingProvider
Read facade of the settings plane: resolves a setting for the current session by walking the scope fallback chain — user-in-tenant → user → tenant → global — then the host configuration (
Stratara:Settings:<name>), then the definition's code default. Scopes are fed from the session's Subject (data-owner) ids, never the actor.
- ISettingStore
Persistence SPI of the settings plane: string values addressed by setting name and exact SettingScope. Row-per-key storage keeps field-wise fallback, partial updates, SQL querying, and one-call erasure sweeps.