Skip to main content
Table of Contents

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.