Skip to content

Class: Model ​

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

Constructors ​

Constructor ​

new Model(attributes?, _?): Model

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

Parameters ​

attributes? ​

Attributes = {}

_? ​

boolean

Returns ​

Model

Properties ​

_attributes ​

protected _attributes: Attributes

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


_dirtyAttributes ​

protected _dirtyAttributes: Attributes

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


_exists ​

protected _exists: boolean

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


_malformedDocumentAttributes ​

protected _malformedDocumentAttributes: Record<string, string[]>

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


_originalAttributes ​

protected _originalAttributes: Attributes

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


_proxy ​

protected _proxy: Model

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


_relations ​

protected _relations: object

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

Index Signature ​

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


_wasRecentlyCreated ​

protected _wasRecentlyCreated: boolean

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


id ​

id: string

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


__attributeGetters ​

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

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


__attributeSetters ​

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

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


classFields ​

static classFields: string[] = []

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


collection ​

static collection: string

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


fields ​

static fields: FieldsDefinition

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


hooks ​

static hooks: ModelHooks = {}

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


modelName ​

static modelName: string

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


primaryKey ​

static primaryKey: string = 'id'

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


relations ​

static relations: string[] = []

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


timestamps ​

static timestamps: TimestampsDefinition

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

Methods ​

afterSave() ​

protected afterSave(): Promise<void>

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

Returns ​

Promise<void>


attributeValueChanged() ​

protected attributeValueChanged(originalValue, newValue): boolean

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

Parameters ​

originalValue ​

unknown

newValue ​

unknown

Returns ​

boolean


beforeSave() ​

protected beforeSave(): Promise<void>

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

Returns ​

Promise<void>


belongsToMany() ​

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

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

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:1248

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:827

Parameters ​

field ​

string

Returns ​

unknown


callAttributeSetter() ​

callAttributeSetter(field, value): void

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

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


castAttribute() ​

protected castAttribute(value, __namedParameters?): unknown

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

Parameters ​

value ​

unknown

__namedParameters? ​

ModelCastAttributeOptions = {}

Returns ​

unknown


castAttributes() ​

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

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

Parameters ​

attributes ​

Attributes

definitions ​

BootedFieldsDefinition

malformedAttributes? ​

Record<string, string[]>

fieldPrefix? ​

string = ''

Returns ​

Attributes


cleanDirty() ​

cleanDirty(): void

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

Returns ​

void


clone() ​

Call Signature ​

clone(options?): this

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

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:945

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:1085

Parameters ​

id ​

Key

document ​

EngineDocument

Returns ​

Promise<Model>


createManyFromEngineDocuments() ​

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

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

Parameters ​

documents ​

Record<string, EngineDocument>

Returns ​

Promise<Model[]>


delete() ​

delete(): Promise<Model>

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

Returns ​

Promise<Model>


deleteModelsFromEngine() ​

protected deleteModelsFromEngine(models): Promise<void>

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

Parameters ​

models ​

Model[]

Returns ​

Promise<void>


emit() ​

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

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

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:932

Returns ​

boolean


fixMalformedAttributes() ​

fixMalformedAttributes(): void

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

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:796

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:817

Parameters ​

includeUndefined? ​

boolean = false

Returns ​

Attributes


getAttributeValue() ​

getAttributeValue<T>(field, includeUndefined?): T

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

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:1192

Returns ​

Promise<Model[]>


getDefaultCollection() ​

getDefaultCollection(): string

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

Returns ​

string


getDeletedPrimaryKey() ​

getDeletedPrimaryKey(): Key | null

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

Returns ​

Key | null


getDirtyEngineDocumentUpdates() ​

protected getDirtyEngineDocumentUpdates(): EngineUpdates

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

Returns ​

EngineUpdates


getEngine() ​

getEngine(): Engine | undefined

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

Returns ​

Engine | undefined


getFinalEngine() ​

getFinalEngine(): Engine | undefined

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

Returns ​

Engine | undefined


getMalformedDocumentAttributes() ​

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

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

Returns ​

Record<string, string[]>


getOriginalAttribute() ​

getOriginalAttribute<T>(field): T

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

Type Parameters ​

T ​

T = unknown

Parameters ​

field ​

string

Returns ​

T


getPrimaryKey() ​

getPrimaryKey(): Key | null

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

Returns ​

Key | null


getRelation() ​

getRelation<T>(relation): T | null

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

Type Parameters ​

T ​

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

Parameters ​

relation ​

string

Returns ​

T | null


getRelationModel() ​

getRelationModel<T>(relation): T | null

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

Type Parameters ​

T ​

T extends Model

Parameters ​

relation ​

string

Returns ​

T | null


getRelationModels() ​

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

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

Type Parameters ​

T ​

T extends Model

Parameters ​

relation ​

string

Returns ​

T[] | null


getSerializedPrimaryKey() ​

getSerializedPrimaryKey(): string | null

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

Returns ​

string | null


hasAttribute() ​

hasAttribute(field): boolean

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

Parameters ​

field ​

string

Returns ​

boolean


hasAttributeGetter() ​

hasAttributeGetter(field): boolean

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

Parameters ​

field ​

string

Returns ​

boolean


hasAttributeSetter() ​

hasAttributeSetter(field): boolean

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

Parameters ​

field ​

string

Returns ​

boolean


hasIncompleteAttributes() ​

hasIncompleteAttributes(): boolean

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

Returns ​

boolean


hasMany() ​

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

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

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:1232

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:563

Parameters ​

relation ​

string

Returns ​

boolean


initialize() ​

protected initialize(attributes, exists): void

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

Parameters ​

attributes ​

Attributes

exists ​

boolean

Returns ​

void


initializeAttributes() ​

protected initializeAttributes(attributes, exists): void

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

Parameters ​

attributes ​

Attributes

exists ​

boolean

Returns ​

void


initializeProxy() ​

protected initializeProxy(): void

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

Returns ​

void


initializeRelations() ​

protected initializeRelations(): void

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

Returns ​

void


is() ​

is(another): boolean

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

Parameters ​

another ​

this

Returns ​

boolean


isDirty() ​

isDirty(field?): boolean

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

Parameters ​

field? ​

string

Returns ​

boolean


isRelationLoaded() ​

isRelationLoaded(relation): boolean

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

Parameters ​

relation ​

string

Returns ​

boolean


loadEmptyRelations() ​

protected loadEmptyRelations(): Promise<void>

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

Returns ​

Promise<void>


loadRelation() ​

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

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

Type Parameters ​

T ​

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

Parameters ​

relation ​

string

Returns ​

Promise<T>


loadRelationIfUnloaded() ​

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

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

Type Parameters ​

T ​

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

Parameters ​

relation ​

string

Returns ​

Promise<T>


markAttributeDirty() ​

protected markAttributeDirty(field, originalValue, newValue): boolean

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

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: Attributes, _?: boolean]

Returns ​

T


parseEngineDocumentAttributes() ​

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

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

Parameters ​

id ​

Key

document ​

EngineDocument

Returns ​

Promise<Attributes>


parseKey() ​

protected parseKey(key): Key

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

Parameters ​

key ​

string

Returns ​

Key


performDelete() ​

protected performDelete(): Promise<void>

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

Returns ​

Promise<void>


performMalformedAttributeFixes() ​

protected performMalformedAttributeFixes(): void

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

Returns ​

void


performSave() ​

protected performSave(): Promise<void>

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

Returns ​

Promise<void>


populateCascadeModels() ​

protected populateCascadeModels(cascadeModels): Promise<void>

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

Parameters ​

cascadeModels ​

Set<Model>

Returns ​

Promise<void>


requireEngine() ​

requireEngine<T>(): T

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

Type Parameters ​

T ​

T extends Engine

Returns ​

T


requireFinalEngine() ​

requireFinalEngine<T>(): T

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

Type Parameters ​

T ​

T extends Engine

Returns ​

T


requireRelation() ​

requireRelation<T>(relation): T

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

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:871

Returns ​

void


resetEngineData() ​

protected resetEngineData(): void

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

Returns ​

void

Deprecated ​

use reset instead.


save() ​

save(): Promise<Model>

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

Returns ​

Promise<Model>


serializeKey() ​

protected serializeKey(key): string

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

Parameters ​

key ​

Key

Returns ​

string


setAttribute() ​

setAttribute(field, value): void

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

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


setAttributes() ​

setAttributes(attributes): void

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

Parameters ​

attributes ​

Attributes

Returns ​

void


setAttributeValue() ​

setAttributeValue(field, value): void

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

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


setEngine() ​

setEngine(engine?): void

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

Parameters ​

engine? ​

Engine

Returns ​

void


setExists() ​

setExists(exists): void

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

Parameters ​

exists ​

boolean

Returns ​

void


setMalformedDocumentAttributes() ​

setMalformedDocumentAttributes(malformedAttributes): void

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

Parameters ​

malformedAttributes ​

Record<string, string[]>

Returns ​

void


setOriginalAttribute() ​

setOriginalAttribute(field, value): void

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

Parameters ​

field ​

string

value ​

unknown

Returns ​

void


setRelationModel() ​

setRelationModel(relation, model): void

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

Parameters ​

relation ​

string

model ​

Model | null

Returns ​

void


setRelationModels() ​

setRelationModels(relation, models): void

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

Parameters ​

relation ​

string

models ​

Model[] | null

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:1175

Returns ​

Promise<string>


toEngineDocument() ​

protected toEngineDocument(): EngineDocument

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

Returns ​

EngineDocument


touch() ​

touch(): void

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

Set the updatedAt attribute to the current time.

Returns ​

void


unloadRelation() ​

unloadRelation(relation): void

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

Parameters ​

relation ​

string

Returns ​

void


unsetAttribute() ​

unsetAttribute(field): void

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

Parameters ​

field ​

string

Returns ​

void


update() ​

update(attributes?): Promise<Model>

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

Parameters ​

attributes? ​

Attributes = {}

Returns ​

Promise<Model>


wasRecentlyCreated() ​

wasRecentlyCreated(): boolean

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

Returns ​

boolean


wasRecentlyDeleted() ​

wasRecentlyDeleted(): boolean

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

Returns ​

boolean


withEngine() ​

Call Signature ​

withEngine(engine): this

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

Parameters ​
engine ​

Engine

Returns ​

this

Call Signature ​

withEngine<T>(engine, operation): T

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

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:780

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:790

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:168

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:80

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:311

Returns ​

string


bootFields() ​

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

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

Parameters ​

fields ​

FieldsDefinition | undefined

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:464

Parameters ​

hooks? ​

ModelHooks

Returns ​

ModelHooks


bootModelName() ​

protected static bootModelName(name?): string

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

Parameters ​

name? ​

string

Returns ​

string


bootTimestamps() ​

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

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

Parameters ​

timestamps ​

boolean | TimestampFieldValue[] | undefined

fieldDefinitions ​

BootedFieldsDefinition

Returns ​

TimestampFieldValue[]


create() ​

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

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

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:133

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:141

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:113

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:289

Type Parameters ​

T ​

T

Parameters ​

operation ​

() => T | Promise<T>

Returns ​

Promise<T>


find() ​

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

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

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

id ​

Key

Returns ​

Promise<T | null>


findOrFail() ​

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

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

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

id ​

Key

Returns ​

Promise<T>


first() ​

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

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

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

filters? ​

EngineFilters

Returns ​

Promise<T | null>


getEngine() ​

static getEngine(): Engine | undefined

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

Returns ​

Engine | undefined


getFinalEngine() ​

static getFinalEngine(): Engine | undefined

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

Returns ​

Engine | undefined


hasAutomaticTimestamp() ​

static hasAutomaticTimestamp(timestamp): boolean

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

Parameters ​

timestamp ​

TimestampFieldValue

Returns ​

boolean


hasAutomaticTimestamps() ​

static hasAutomaticTimestamps(): boolean

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

Returns ​

boolean


instance() ​

static instance<T>(this): T

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

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:185

Type Parameters ​

T ​

T extends Model

Parameters ​

this ​

ModelConstructor<T>

params ​

...[attributes: Attributes, _?: boolean]

Returns ​

T


on() ​

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

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

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


performSchemaUpdate() ​

protected static performSchemaUpdate(schema): Promise<void>

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

Parameters ​

schema ​

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

Returns ​

Promise<void>


pureInstance() ​

protected static pureInstance<T>(this): T

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

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:226

Type Parameters ​

T ​

T extends Engine = Engine

Returns ​

T


requireFinalEngine() ​

static requireFinalEngine<T>(): T

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

Type Parameters ​

T ​

T extends Engine = Engine

Returns ​

T


setEngine() ​

static setEngine(engine?): void

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

Parameters ​

engine? ​

Engine

Returns ​

void


updateSchema() ​

static updateSchema(schema): Promise<void>

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

Parameters ​

schema ​

ModelConstructor | Partial<{ fields: FieldsDefinition<T>; 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:260

Type Parameters ​

Result ​

Result

Parameters ​

collection ​

string | undefined

operation ​

() => Result | Promise<Result>

Returns ​

Promise<Result>


withEngine() ​

Call Signature ​

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

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

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:245

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:246

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:283

Type Parameters ​

T ​

T

Parameters ​

operation ​

() => Promise<T>

Returns ​

Promise<T>