Skip to main content

Function: defineSchema()

defineSchema<Relations, ActionRelations, SubT, ObjT, HierarchyProp>(schema): AuthSchema<Relations, ActionRelations, HierarchyProp, SubT, ObjT>

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

Helper function to define an AuthSchema with strong type inference for structure. Captures the literal types of relation and action names. Subject and Object types are captured via optional arrays and generics.

Type Parameters​

Relations​

Relations extends Readonly<Record<string, RelationDefinition>>

ActionRelations​

ActionRelations extends Readonly<Record<string, readonly keyof Relations[]>>

SubT​

SubT extends string

ObjT​

ObjT extends string

HierarchyProp​

HierarchyProp extends Readonly<Partial<Record<keyof ActionRelations, readonly keyof ActionRelations[]>>> | undefined = undefined

Parameters​

schema​

actionToRelations​

ActionRelations

fieldLevelObjects?​

readonly ObjT[]

fieldSeparator?​

string

hierarchyPropagation?​

HierarchyProp

objectTypes?​

readonly ObjT[]

relations​

Relations

subjectTypes?​

readonly SubT[]

Returns​

AuthSchema<Relations, ActionRelations, HierarchyProp, SubT, ObjT>