Skip to main content

SchemaGenerator<T>

@hyperledger/identus-sdk v8.0.0


@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