Skip to main content

SettingsStoreFieldConfig

SettingsStoreFieldConfig

Configuration for a settings store field, defining how it should be stored, scoped, validated, and accessed.

Signature
interface SettingsStoreFieldConfig {
name: string;
scope?: SettingsStoreScopeFunction;
readonly?: boolean;
requiresPermission?:
| Array<Permission | string>
| Permission
| string
| {
read?: Array<Permission | string> | Permission | string;
write?: Array<Permission | string> | Permission | string;
};
validate?: (
value: any,
injector: Injector,
ctx: RequestContext,
) => string | LocalizedString[] | void | Promise<string | LocalizedString[] | void>;
}

name

property
string

The name of the field. This will be combined with the namespace to create the full key (e.g., 'dashboard.theme').

scope

Function that determines how this field should be scoped. Defaults to global scoping (no isolation).

readonly

property
boolean
default:
false

Whether this field is readonly via the GraphQL API. Readonly fields can still be modified programmatically via a service.

requiresPermission

property
v3.5.0 - Added support for object with read/write properties
| Array<Permission | string> | Permission | string | { read?: Array<Permission | string> | Permission | string; write?: Array<Permission | string> | Permission | string; }

Permissions required to access this field. If not specified, basic authentication is required for admin API access.

Can be either:

  • A single permission or array of permissions (applies to both read and write)
  • An object with read and write properties for granular control

Example

// Single permission for both read and write
requiresPermission: Permission.UpdateSettings

// Separate read and write permissions
requiresPermission: {
read: Permission.ReadSettings,
write: Permission.UpdateSettings
}

// Using custom RwPermissionDefinition
requiresPermission: {
read: dashboardSavedViews.Read,
write: dashboardSavedViews.Write
}

validate

property
( value: any, injector: Injector, ctx: RequestContext, ) => string | LocalizedString[] | void | Promise<string | LocalizedString[] | void>

Custom validation function for field values.