Skip to content

Class: Model ​

Defined in: packages/soukai/src/models/Model.ts:62

Constructors ​

Constructor ​

new Model(attributes, _?): Model

Defined in: packages/soukai/src/models/Model.ts:495

Parameters ​

attributes ​

Attributes = {}

_? ​

boolean

Returns ​

Model

Properties ​

_attributes ​

protected _attributes: Attributes

Defined in: packages/soukai/src/models/Model.ts:486


_dirtyAttributes ​

protected _dirtyAttributes: Attributes

Defined in: packages/soukai/src/models/Model.ts:488


_exists ​

protected _exists: boolean

Defined in: packages/soukai/src/models/Model.ts:483


_malformedDocumentAttributes ​

protected _malformedDocumentAttributes: Record<string, string[]>

Defined in: packages/soukai/src/models/Model.ts:489


_originalAttributes ​

protected _originalAttributes: Attributes

Defined in: packages/soukai/src/models/Model.ts:487


_proxy ​

protected _proxy: Model

Defined in: packages/soukai/src/models/Model.ts:485


_relations ​

protected _relations: object

Defined in: packages/soukai/src/models/Model.ts:490

Index Signature ​

[relation: string]: Relation<Model, Model, ModelConstructor<Model>>


_wasRecentlyCreated ​

protected _wasRecentlyCreated: boolean

Defined in: packages/soukai/src/models/Model.ts:484


id ​

id: string

Defined in: packages/soukai/src/models/Model.ts:482


__attributeGetters ​

static __attributeGetters: Map<string, () => unknown>

Defined in: packages/soukai/src/models/Model.ts:72


__attributeSetters ​

static __attributeSetters: Map<string, (value) => void>

Defined in: packages/soukai/src/models/Model.ts:73


classFields ​

static classFields: string[] = []

Defined in: packages/soukai/src/models/Model.ts:69


collection ​

static collection: string

Defined in: packages/soukai/src/models/Model.ts:64


fields ​

static fields: FieldsDefinition

Defined in: packages/soukai/src/models/Model.ts:67


hooks ​

static hooks: ModelHooks = {}

Defined in: packages/soukai/src/models/Model.ts:71


modelName ​

static modelName: string

Defined in: packages/soukai/src/models/Model.ts:68


primaryKey ​

static primaryKey: string = 'id'

Defined in: packages/soukai/src/models/Model.ts:65


relations ​

static relations: string[] = []

Defined in: packages/soukai/src/models/Model.ts:70


timestamps ​

static timestamps: TimestampsDefinition

Defined in: packages/soukai/src/models/Model.ts:66

Methods ​

afterSave() ​

protected afterSave(): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1130

Returns ​

Promise<void>


attributeValueChanged() ​

protected attributeValueChanged(originalValue, newValue): boolean

Defined in: packages/soukai/src/models/Model.ts:1311

Parameters ​

originalValue ​

unknown

newValue ​

unknown

Returns ​

boolean


beforeSave() ​

protected beforeSave(): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1104

Returns ​

Promise<void>


belongsToMany() ​

protected belongsToMany<T>(relatedClass, foreignKeyField?, localKeyField?): BelongsToManyRelation

Defined in: packages/soukai/src/models/Model.ts:1275

Creates a relation when this model references multiple instances of another model.

Type Parameters ​

T ​

T extends typeof Model

Parameters ​

relatedClass ​

T

Related model class.

foreignKeyField? ​

string

Name of the foreign key field in the local model.

localKeyField? ​

string

Name of the local key field in the related model. Defaults to the primary key name defined in the related model class.

Returns ​

BelongsToManyRelation


belongsToOne() ​

protected belongsToOne<T>(relatedClass, foreignKeyField?, localKeyField?): BelongsToOneRelation

Defined in: packages/soukai/src/models/Model.ts:1243

Creates a relation when this model references one instance of another model.

Type Parameters ​

T ​

T extends typeof Model

Parameters ​

relatedClass ​

T

Related model class.

foreignKeyField? ​

string

Name of the foreign key field in the local model.

localKeyField? ​

string

Name of the local key field in the related model. Defaults to the primary key name defined in the related model class.

Returns ​

BelongsToOneRelation


callAttributeGetter() ​

callAttributeGetter(field): unknown

Defined in: packages/soukai/src/models/Model.ts:823

Parameters ​

field ​

string

Returns ​

unknown


callAttributeSetter() ​

callAttributeSetter(field, value): void

Defined in: packages/soukai/src/models/Model.ts:727

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


castAttribute() ​

protected castAttribute(value, __namedParameters): unknown

Defined in: packages/soukai/src/models/Model.ts:1340

Parameters ​

value ​

unknown

__namedParameters ​

ModelCastAttributeOptions = {}

Returns ​

unknown


castAttributes() ​

protected castAttributes(attributes, definitions, malformedAttributes?, fieldPrefix?): Attributes

Defined in: packages/soukai/src/models/Model.ts:1321

Parameters ​

attributes ​

Attributes

definitions ​

BootedFieldsDefinition

malformedAttributes? ​

Record<string, string[]>

fieldPrefix? ​

string = ''

Returns ​

Attributes


cleanDirty() ​

cleanDirty(): void

Defined in: packages/soukai/src/models/Model.ts:861

Returns ​

void


clone() ​

Call Signature ​

clone(options?): this

Defined in: packages/soukai/src/models/Model.ts:940

Parameters ​
options? ​

Partial<{ clean: boolean; clones: WeakMap<Model, Model>; constructors: WeakMap<typeof Model, typeof Model> | [typeof Model, typeof Model][]; }>

Returns ​

this

Call Signature ​

clone<T>(options?): T

Defined in: packages/soukai/src/models/Model.ts:941

Type Parameters ​
T ​

T extends Model

Parameters ​
options? ​

Partial<{ clean: boolean; clones: WeakMap<Model, Model>; constructors: WeakMap<typeof Model, typeof Model> | [typeof Model, typeof Model][]; }>

Returns ​

T


createFromEngineDocument() ​

protected createFromEngineDocument(id, document): Promise<Model>

Defined in: packages/soukai/src/models/Model.ts:1081

Parameters ​

id ​

Key

document ​

EngineDocument

Returns ​

Promise<Model>


createManyFromEngineDocuments() ​

protected createManyFromEngineDocuments(documents): Promise<Model[]>

Defined in: packages/soukai/src/models/Model.ts:1097

Parameters ​

documents ​

Record<string, EngineDocument>

Returns ​

Promise<Model[]>


delete() ​

delete(): Promise<Model>

Defined in: packages/soukai/src/models/Model.ts:883

Returns ​

Promise<Model>


deleteModelsFromEngine() ​

protected deleteModelsFromEngine(models): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1203

Parameters ​

models ​

Model[]

Returns ​

Promise<void>


emit() ​

protected emit<T>(...args): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1166

Type Parameters ​

T ​

T extends keyof ModelEvents

Parameters ​

args ​

...ModelEmitArgs<T>

Returns ​

Promise<void>


exists() ​

exists(): boolean

Defined in: packages/soukai/src/models/Model.ts:928

Returns ​

boolean


fixMalformedAttributes() ​

fixMalformedAttributes(): void

Defined in: packages/soukai/src/models/Model.ts:911

Returns ​

void


fresh() ​

fresh(): Promise<Model>

Defined in: packages/soukai/src/models/Model.ts:538

Returns ​

Promise<Model>


getAttribute() ​

getAttribute<T>(field, includeUndefined): T

Defined in: packages/soukai/src/models/Model.ts:792

Type Parameters ​

T ​

T = unknown

Parameters ​

field ​

string

includeUndefined ​

boolean = false

Returns ​

T


getAttributes() ​

getAttributes(includeUndefined): Attributes

Defined in: packages/soukai/src/models/Model.ts:813

Parameters ​

includeUndefined ​

boolean = false

Returns ​

Attributes


getAttributeValue() ​

getAttributeValue<T>(field, includeUndefined): T

Defined in: packages/soukai/src/models/Model.ts:798

Type Parameters ​

T ​

T = unknown

Parameters ​

field ​

string

includeUndefined ​

boolean = false

Returns ​

T


getCascadeModels() ​

protected getCascadeModels(): Promise<Model[]>

Defined in: packages/soukai/src/models/Model.ts:1187

Returns ​

Promise<Model[]>


getDefaultCollection() ​

getDefaultCollection(): string

Defined in: packages/soukai/src/models/Model.ts:594

Returns ​

string


getDeletedPrimaryKey() ​

getDeletedPrimaryKey(): null | Key

Defined in: packages/soukai/src/models/Model.ts:737

Returns ​

null | Key


getDirtyEngineDocumentUpdates() ​

protected getDirtyEngineDocumentUpdates(): EngineUpdates

Defined in: packages/soukai/src/models/Model.ts:1455

Returns ​

EngineUpdates


getEngine() ​

getEngine(): undefined | Engine

Defined in: packages/soukai/src/models/Model.ts:576

Returns ​

undefined | Engine


getFinalEngine() ​

getFinalEngine(): undefined | Engine

Defined in: packages/soukai/src/models/Model.ts:580

Returns ​

undefined | Engine


getMalformedDocumentAttributes() ​

getMalformedDocumentAttributes(): Record<string, string[]>

Defined in: packages/soukai/src/models/Model.ts:756

Returns ​

Record<string, string[]>


getOriginalAttribute() ​

getOriginalAttribute<T>(field): T

Defined in: packages/soukai/src/models/Model.ts:733

Type Parameters ​

T ​

T = unknown

Parameters ​

field ​

string

Returns ​

T


getPrimaryKey() ​

getPrimaryKey(): null | Key

Defined in: packages/soukai/src/models/Model.ts:873

Returns ​

null | Key


getRelation() ​

getRelation<T>(relation): null | T

Defined in: packages/soukai/src/models/Model.ts:566

Type Parameters ​

T ​

T extends Relation<Model, Model, ModelConstructor<Model>> = Relation<Model, Model, ModelConstructor<Model>>

Parameters ​

relation ​

string

Returns ​

null | T


getRelationModel() ​

getRelationModel<T>(relation): null | T

Defined in: packages/soukai/src/models/Model.ts:620

Type Parameters ​

T ​

T extends Model

Parameters ​

relation ​

string

Returns ​

null | T


getRelationModels() ​

getRelationModels<T>(relation): null | T[]

Defined in: packages/soukai/src/models/Model.ts:636

Type Parameters ​

T ​

T extends Model

Parameters ​

relation ​

string

Returns ​

null | T[]


getSerializedPrimaryKey() ​

getSerializedPrimaryKey(): null | string

Defined in: packages/soukai/src/models/Model.ts:877

Returns ​

null | string


hasAttribute() ​

hasAttribute(field): boolean

Defined in: packages/soukai/src/models/Model.ts:687

Parameters ​

field ​

string

Returns ​

boolean


hasAttributeGetter() ​

hasAttributeGetter(field): boolean

Defined in: packages/soukai/src/models/Model.ts:819

Parameters ​

field ​

string

Returns ​

boolean


hasAttributeSetter() ​

hasAttributeSetter(field): boolean

Defined in: packages/soukai/src/models/Model.ts:723

Parameters ​

field ​

string

Returns ​

boolean


hasIncompleteAttributes() ​

hasIncompleteAttributes(): boolean

Defined in: packages/soukai/src/models/Model.ts:843

Returns ​

boolean


hasMany() ​

protected hasMany<T>(relatedClass, foreignKeyField?, localKeyField?): HasManyRelation

Defined in: packages/soukai/src/models/Model.ts:1259

Creates a relation when this model is referenced by multiple instances of another model.

Type Parameters ​

T ​

T extends typeof Model

Parameters ​

relatedClass ​

T

Related model class.

foreignKeyField? ​

string

Name of the foreign key field in the related model.

localKeyField? ​

string

Name of the local key field in the local model. Defaults to the primary key name defined in the local model class.

Returns ​

HasManyRelation


hasOne() ​

protected hasOne<T>(relatedClass, foreignKeyField?, localKeyField?): HasOneRelation

Defined in: packages/soukai/src/models/Model.ts:1227

Creates a relation when this model is referenced by one instance of another model.

Type Parameters ​

T ​

T extends typeof Model

Parameters ​

relatedClass ​

T

Related model class.

foreignKeyField? ​

string

Name of the foreign key field in the related model.

localKeyField? ​

string

Name of the local key field in the local model. Defaults to the primary key name defined in the local model class.

Returns ​

HasOneRelation


hasRelation() ​

hasRelation(relation): boolean

Defined in: packages/soukai/src/models/Model.ts:562

Parameters ​

relation ​

string

Returns ​

boolean


initialize() ​

protected initialize(attributes, exists): void

Defined in: packages/soukai/src/models/Model.ts:970

Parameters ​

attributes ​

Attributes

exists ​

boolean

Returns ​

void


initializeAttributes() ​

protected initializeAttributes(attributes, exists): void

Defined in: packages/soukai/src/models/Model.ts:1038

Parameters ​

attributes ​

Attributes

exists ​

boolean

Returns ​

void


initializeProxy() ​

protected initializeProxy(): void

Defined in: packages/soukai/src/models/Model.ts:978

Returns ​

void


initializeRelations() ​

protected initializeRelations(): void

Defined in: packages/soukai/src/models/Model.ts:1066

Returns ​

void


is() ​

is(another): boolean

Defined in: packages/soukai/src/models/Model.ts:853

Parameters ​

another ​

this

Returns ​

boolean


isDirty() ​

isDirty(field?): boolean

Defined in: packages/soukai/src/models/Model.ts:857

Parameters ​

field? ​

string

Returns ​

boolean


isRelationLoaded() ​

isRelationLoaded(relation): boolean

Defined in: packages/soukai/src/models/Model.ts:683

Parameters ​

relation ​

string

Returns ​

boolean


loadEmptyRelations() ​

protected loadEmptyRelations(): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1283

Returns ​

Promise<void>


loadRelation() ​

loadRelation<T>(relation): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:598

Type Parameters ​

T ​

T extends null | Model | Model[] = null | Model | Model[]

Parameters ​

relation ​

string

Returns ​

Promise<T>


loadRelationIfUnloaded() ​

loadRelationIfUnloaded<T>(relation): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:608

Type Parameters ​

T ​

T extends null | Model | Model[] = null | Model | Model[]

Parameters ​

relation ​

string

Returns ​

Promise<T>


markAttributeDirty() ​

protected markAttributeDirty(field, originalValue, newValue): boolean

Defined in: packages/soukai/src/models/Model.ts:1317

Parameters ​

field ​

string

originalValue ​

unknown

newValue ​

unknown

Returns ​

boolean


newInstance() ​

newInstance<T>(this, ...params): T

Defined in: packages/soukai/src/models/Model.ts:532

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

T

params ​

...[Attributes, boolean]

Returns ​

T


parseEngineDocumentAttributes() ​

protected parseEngineDocumentAttributes(id, document): Promise<Attributes>

Defined in: packages/soukai/src/models/Model.ts:1487

Parameters ​

id ​

Key

document ​

EngineDocument

Returns ​

Promise<Attributes>


parseKey() ​

protected parseKey(key): Key

Defined in: packages/soukai/src/models/Model.ts:1495

Parameters ​

key ​

string

Returns ​

Key


performDelete() ​

protected performDelete(): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1136

Returns ​

Promise<void>


performMalformedAttributeFixes() ​

protected performMalformedAttributeFixes(): void

Defined in: packages/soukai/src/models/Model.ts:1147

Returns ​

void


performSave() ​

protected performSave(): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1122

Returns ​

Promise<void>


populateCascadeModels() ​

protected populateCascadeModels(cascadeModels): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:1469

Parameters ​

cascadeModels ​

Set<Model>

Returns ​

Promise<void>


requireEngine() ​

requireEngine<T>(): T

Defined in: packages/soukai/src/models/Model.ts:586

Type Parameters ​

T ​

T extends Engine

Returns ​

T


requireFinalEngine() ​

requireFinalEngine<T>(): T

Defined in: packages/soukai/src/models/Model.ts:590

Type Parameters ​

T ​

T extends Engine

Returns ​

T


requireRelation() ​

requireRelation<T>(relation): T

Defined in: packages/soukai/src/models/Model.ts:570

Type Parameters ​

T ​

T extends Relation<Model, Model, ModelConstructor<Model>> = Relation<Model, Model, ModelConstructor<Model>>

Parameters ​

relation ​

string

Returns ​

T


reset() ​

reset(): void

Defined in: packages/soukai/src/models/Model.ts:867

Returns ​

void


resetEngineData() ​

protected resetEngineData(): void

Defined in: packages/soukai/src/models/Model.ts:1215

Returns ​

void

Deprecated ​

use reset instead.


save() ​

save(): Promise<Model>

Defined in: packages/soukai/src/models/Model.ts:894

Returns ​

Promise<Model>


serializeKey() ​

protected serializeKey(key): string

Defined in: packages/soukai/src/models/Model.ts:1491

Parameters ​

key ​

Key

Returns ​

string


setAttribute() ​

setAttribute(field, value): void

Defined in: packages/soukai/src/models/Model.ts:700

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


setAttributes() ​

setAttributes(attributes): void

Defined in: packages/soukai/src/models/Model.ts:750

Parameters ​

attributes ​

Attributes

Returns ​

void


setAttributeValue() ​

setAttributeValue(field, value): void

Defined in: packages/soukai/src/models/Model.ts:713

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


setEngine() ​

setEngine(engine?): void

Defined in: packages/soukai/src/models/Model.ts:764

Parameters ​

engine? ​

Engine

Returns ​

void


setExists() ​

setExists(exists): void

Defined in: packages/soukai/src/models/Model.ts:924

Parameters ​

exists ​

boolean

Returns ​

void


setMalformedDocumentAttributes() ​

setMalformedDocumentAttributes(malformedAttributes): void

Defined in: packages/soukai/src/models/Model.ts:760

Parameters ​

malformedAttributes ​

Record<string, string[]>

Returns ​

void


setOriginalAttribute() ​

setOriginalAttribute(field, value): void

Defined in: packages/soukai/src/models/Model.ts:741

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


setRelationModel() ​

setRelationModel(relation, model): void

Defined in: packages/soukai/src/models/Model.ts:646

Parameters ​

relation ​

string

model ​

null | Model

Returns ​

void


setRelationModels() ​

setRelationModels(relation, models): void

Defined in: packages/soukai/src/models/Model.ts:664

Parameters ​

relation ​

string

models ​

null | Model[]

Returns ​

void


static() ​

Call Signature ​

static(property): BootedFieldsDefinition

Defined in: packages/soukai/src/models/Model.ts:518

Parameters ​
property ​

"fields"

Returns ​

BootedFieldsDefinition

Call Signature ​

static(property): TimestampFieldValue[]

Defined in: packages/soukai/src/models/Model.ts:519

Parameters ​
property ​

"timestamps"

Returns ​

TimestampFieldValue[]

Call Signature ​

static<T>(): T

Defined in: packages/soukai/src/models/Model.ts:520

Type Parameters ​
T ​

T extends typeof Model

Returns ​

T

Call Signature ​

static<T, K>(property): T[K]

Defined in: packages/soukai/src/models/Model.ts:521

Type Parameters ​
T ​

T extends typeof Model

K ​

K extends string | number | symbol

Parameters ​
property ​

K

Returns ​

T[K]


syncDirty() ​

protected syncDirty(): Promise<string>

Defined in: packages/soukai/src/models/Model.ts:1170

Returns ​

Promise<string>


toEngineDocument() ​

protected toEngineDocument(): EngineDocument

Defined in: packages/soukai/src/models/Model.ts:1440

Returns ​

EngineDocument


touch() ​

touch(): void

Defined in: packages/soukai/src/models/Model.ts:920

Set the updatedAt attribute to the current time.

Returns ​

void


unloadRelation() ​

unloadRelation(relation): void

Defined in: packages/soukai/src/models/Model.ts:616

Parameters ​

relation ​

string

Returns ​

void


unsetAttribute() ​

unsetAttribute(field): void

Defined in: packages/soukai/src/models/Model.ts:829

Parameters ​

field ​

string

Returns ​

void


update() ​

update(attributes): Promise<Model>

Defined in: packages/soukai/src/models/Model.ts:550

Parameters ​

attributes ​

Attributes = {}

Returns ​

Promise<Model>


wasRecentlyCreated() ​

wasRecentlyCreated(): boolean

Defined in: packages/soukai/src/models/Model.ts:932

Returns ​

boolean


wasRecentlyDeleted() ​

wasRecentlyDeleted(): boolean

Defined in: packages/soukai/src/models/Model.ts:936

Returns ​

boolean


withEngine() ​

Call Signature ​

withEngine(engine): this

Defined in: packages/soukai/src/models/Model.ts:774

Parameters ​
engine ​

Engine

Returns ​

this

Call Signature ​

withEngine<T>(engine, operation): T

Defined in: packages/soukai/src/models/Model.ts:775

Type Parameters ​
T ​

T

Parameters ​
engine ​

Engine

operation ​

(model) => T

Returns ​

T

Call Signature ​

withEngine<T>(engine, operation): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:776

Type Parameters ​
T ​

T

Parameters ​
engine ​

Engine

operation ​

(model) => Promise<T>

Returns ​

Promise<T>


withoutTimestamps() ​

withoutTimestamps<T>(operation): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:786

Type Parameters ​

T ​

T

Parameters ​

operation ​

() => Promise<T>

Returns ​

Promise<T>


all() ​

static all<T>(this, filters?): Promise<T[]>

Defined in: packages/soukai/src/models/Model.ts:169

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

filters? ​

EngineFilters

Returns ​

Promise<T[]>


boot() ​

static boot<T>(this, name?): void

Defined in: packages/soukai/src/models/Model.ts:82

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

name? ​

string

Returns ​

void


bootClassDefinitions() ​

protected static bootClassDefinitions(): object

Defined in: packages/soukai/src/models/Model.ts:417

Returns ​

object

attributeGetters ​

attributeGetters: Map<string, () => unknown>

attributeSetters ​

attributeSetters: Map<string, (value) => void>

classFields ​

classFields: string[]

relations ​

relations: string[]


bootCollection() ​

protected static bootCollection(): string

Defined in: packages/soukai/src/models/Model.ts:312

Returns ​

string


bootFields() ​

protected static bootFields(fields, primaryKey, timestamps, fieldDefinitions): object

Defined in: packages/soukai/src/models/Model.ts:359

Parameters ​

fields ​

undefined | FieldsDefinition

primaryKey ​

string

timestamps ​

TimestampFieldValue[]

fieldDefinitions ​

BootedFieldsDefinition

Returns ​

object

fieldAliases ​

fieldAliases: Record<string, string>

fields ​

fields: BootedFieldsDefinition


bootHooks() ​

protected static bootHooks(hooks?): ModelHooks

Defined in: packages/soukai/src/models/Model.ts:463

Parameters ​

hooks? ​

ModelHooks

Returns ​

ModelHooks


bootModelName() ​

protected static bootModelName(name?): string

Defined in: packages/soukai/src/models/Model.ts:306

Parameters ​

name? ​

string

Returns ​

string


bootTimestamps() ​

protected static bootTimestamps(timestamps, fieldDefinitions): TimestampFieldValue[]

Defined in: packages/soukai/src/models/Model.ts:330

Parameters ​

timestamps ​

undefined | boolean | TimestampFieldValue[]

fieldDefinitions ​

BootedFieldsDefinition

Returns ​

TimestampFieldValue[]


create() ​

static create<T>(this, attributes): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:129

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

attributes ​

Attributes = {}

Returns ​

Promise<T>


createFromEngineDocument() ​

static createFromEngineDocument<T>(this, id, document): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:135

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

id ​

Key

document ​

EngineDocument

Returns ​

Promise<T>


createManyFromEngineDocuments() ​

static createManyFromEngineDocuments<T>(this, documents): Promise<T[]>

Defined in: packages/soukai/src/models/Model.ts:143

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

documents ​

Record<string, EngineDocument>

Returns ​

Promise<T[]>


ensureBooted() ​

static ensureBooted<T>(this): void

Defined in: packages/soukai/src/models/Model.ts:115

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

Returns ​

void


exclusive() ​

static exclusive<T>(operation): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:290

Type Parameters ​

T ​

T

Parameters ​

operation ​

() => T | Promise<T>

Returns ​

Promise<T>


find() ​

static find<T>(this, id): Promise<null | T>

Defined in: packages/soukai/src/models/Model.ts:156

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

id ​

Key

Returns ​

Promise<null | T>


findOrFail() ​

static findOrFail<T>(this, id): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:150

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

id ​

Key

Returns ​

Promise<T>


first() ​

static first<T>(this, filters?): Promise<null | T>

Defined in: packages/soukai/src/models/Model.ts:179

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

filters? ​

EngineFilters

Returns ​

Promise<null | T>


getEngine() ​

static getEngine(): undefined | Engine

Defined in: packages/soukai/src/models/Model.ts:217

Returns ​

undefined | Engine


getFinalEngine() ​

static getFinalEngine(): undefined | Engine

Defined in: packages/soukai/src/models/Model.ts:221

Returns ​

undefined | Engine


hasAutomaticTimestamp() ​

static hasAutomaticTimestamp(timestamp): boolean

Defined in: packages/soukai/src/models/Model.ts:209

Parameters ​

timestamp ​

TimestampFieldValue

Returns ​

boolean


hasAutomaticTimestamps() ​

static hasAutomaticTimestamps(): boolean

Defined in: packages/soukai/src/models/Model.ts:213

Returns ​

boolean


instance() ​

static instance<T>(this): T

Defined in: packages/soukai/src/models/Model.ts:201

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

Returns ​

T


newInstance() ​

static newInstance<T>(this, ...params): T

Defined in: packages/soukai/src/models/Model.ts:186

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

params ​

...[Attributes, boolean]

Returns ​

T


on() ​

static on<TModel, TEvent>(this, event, listener): () => void

Defined in: packages/soukai/src/models/Model.ts:193

Type Parameters ​

TModel ​

TModel extends Model

TEvent ​

TEvent extends keyof ModelEvents | "schema-updated"

Parameters ​

this ​

ModelConstructor<TModel>

event ​

TEvent

listener ​

ModelListener<TModel, TEvent>

Returns ​

(): void

Returns ​

void


performSchemaUpdate() ​

protected static performSchemaUpdate(schema): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:467

Parameters ​

schema ​

ModelConstructor | Partial<{ fields: FieldsDefinition<unknown>; hooks?: ModelHooks; primaryKey: string; timestamps: TimestampsDefinition; }>

Returns ​

Promise<void>


pureInstance() ​

protected static pureInstance<T>(this): T

Defined in: packages/soukai/src/models/Model.ts:298

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

Returns ​

T


requireEngine() ​

static requireEngine<T>(): T

Defined in: packages/soukai/src/models/Model.ts:227

Type Parameters ​

T ​

T extends Engine = Engine

Returns ​

T


requireFinalEngine() ​

static requireFinalEngine<T>(): T

Defined in: packages/soukai/src/models/Model.ts:231

Type Parameters ​

T ​

T extends Engine = Engine

Returns ​

T


setEngine() ​

static setEngine(engine?): void

Defined in: packages/soukai/src/models/Model.ts:235

Parameters ​

engine? ​

Engine

Returns ​

void


updateSchema() ​

static updateSchema(schema): Promise<void>

Defined in: packages/soukai/src/models/Model.ts:123

Parameters ​

schema ​

ModelConstructor | Partial<{ fields: FieldsDefinition<unknown>; hooks?: ModelHooks; primaryKey: string; timestamps: TimestampsDefinition; }>

Returns ​

Promise<void>


withCollection() ​

static withCollection<Result>(collection, operation): Promise<Result>

Defined in: packages/soukai/src/models/Model.ts:261

Type Parameters ​

Result ​

Result

Parameters ​

collection ​

undefined | string

operation ​

() => Result | Promise<Result>

Returns ​

Promise<Result>


withEngine() ​

Call Signature ​

static withEngine<T>(this, engine): T

Defined in: packages/soukai/src/models/Model.ts:245

Type Parameters ​
T ​

T

Parameters ​
this ​

T

engine ​

Engine

Returns ​

T

Call Signature ​

static withEngine<T>(engine, operation): T

Defined in: packages/soukai/src/models/Model.ts:246

Type Parameters ​
T ​

T

Parameters ​
engine ​

Engine

operation ​

() => T

Returns ​

T

Call Signature ​

static withEngine<T>(engine, operation): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:247

Type Parameters ​
T ​

T

Parameters ​
engine ​

Engine

operation ​

() => Promise<T>

Returns ​

Promise<T>


withoutTimestamps() ​

static withoutTimestamps<T>(operation): Promise<T>

Defined in: packages/soukai/src/models/Model.ts:284

Type Parameters ​

T ​

T

Parameters ​

operation ​

() => Promise<T>

Returns ​

Promise<T>