Skip to main content

SchemaGenerator<T>

@hyperledger/identus-sdk v8.1.3


@hyperledger/identus-sdk / overview / SchemaGenerator

Interface: SchemaGenerator<T>

Defined in: packages/lib/sdk/src/pluto/types.ts:260

Builder interface used inside schemaFactory callbacks to declaratively define a Model's schema.

Example​

schemaFactory<MyModel>(schema => {
schema.addProperty("string", "name");
schema.setRequired("name");
schema.setEncrypted("name");
schema.setVersion(1);
});

Type Parameters​

Type ParameterDescription
TThe Model interface the schema describes.

Methods​

addProperty()​

Call Signature​

addProperty<P>(type: P, key: KeysFor<T, P>, opts?: any): void

Defined in: packages/lib/sdk/src/pluto/types.ts:262

Register a property with a RIDB field type.

Type Parameters​
Type Parameter
P extends "string" | "number" | "boolean" | "object" | "array"
Parameters​
ParameterType
typeP
keyKeysFor<T, P>
opts?any
Returns​

void

Call Signature​

addProperty(type: "string" | "number" | "boolean" | "object" | "array", key: string, opts?: any): void

Defined in: packages/lib/sdk/src/pluto/types.ts:263

Parameters​
ParameterType
type"string" | "number" | "boolean" | "object" | "array"
keystring
opts?any
Returns​

void


setEncrypted()​

setEncrypted<K>(...keys: K[]): K[]

Defined in: packages/lib/sdk/src/pluto/types.ts:265

Mark one or more properties as encrypted-at-rest.

Type Parameters​

Type Parameter
K extends string

Parameters​

ParameterType
...keysK[]

Returns​

K[]


setRequired()​

setRequired(...keys: Exclude<Extract<keyof T, string>, "uuid">[]): void

Defined in: packages/lib/sdk/src/pluto/types.ts:267

Mark one or more properties as required.

Parameters​

ParameterType
...keysExclude<Extract<keyof T, string>, "uuid">[]

Returns​

void


setVersion()​

setVersion(version: number): void

Defined in: packages/lib/sdk/src/pluto/types.ts:269

Set the schema version (used for migrations).

Parameters​

ParameterType
versionnumber

Returns​

void