Skip to main content

Interface: AuthSchema<Relations, ActionRelations, HierarchyProp, ValidSubjectTypes, ValidObjectTypes>

Defined in: packages/polizy/src/types.ts:103

Represents a complete authorization schema structure. Generic parameters for SubjectType and ObjectType are handled by AuthSystem.

Type Parameters

Relations

Relations extends Readonly<Record<string, RelationDefinition>> = Readonly<Record<string, RelationDefinition>>

ActionRelations

ActionRelations extends Readonly<Record<string, ReadonlyArray<keyof Relations>>> = Readonly<Record<string, ReadonlyArray<string>>>

HierarchyProp

HierarchyProp extends Readonly<Record<keyof ActionRelations, ReadonlyArray<keyof ActionRelations>>> | undefined = undefined

ValidSubjectTypes

ValidSubjectTypes extends SubjectType = SubjectType

ValidObjectTypes

ValidObjectTypes extends ObjectType = ObjectType

Properties

_objectType?

optional _objectType?: ValidObjectTypes

Defined in: packages/polizy/src/types.ts:132


_subjectType?

optional _subjectType?: ValidSubjectTypes

Defined in: packages/polizy/src/types.ts:131


actionToRelations

actionToRelations: ActionRelations

Defined in: packages/polizy/src/types.ts:119


fieldLevelObjects?

optional fieldLevelObjects?: readonly ValidObjectTypes[]

Defined in: packages/polizy/src/types.ts:127

Object types that use field-level identifiers (id contains fieldSeparator, e.g. doc1#title). Only these types inherit access from their base object. Omit to disable field-level identifiers entirely (secure default).


fieldSeparator?

optional fieldSeparator?: string

Defined in: packages/polizy/src/types.ts:129

Separator between base id and field for fieldLevelObjects. Default "#".


hierarchyPropagation?

optional hierarchyPropagation?: HierarchyProp

Defined in: packages/polizy/src/types.ts:120


relations

relations: Relations

Defined in: packages/polizy/src/types.ts:118