Skip to content

Class: Model

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

Constructors

Constructor

new Model(attributes, exists): Model

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

Parameters

attributes

Attributes = {}

exists

boolean = false

Returns

Model

Properties

_attributes

protected _attributes: Attributes

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


_dirtyAttributes

protected _dirtyAttributes: Attributes

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


_exists

protected _exists: boolean

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


_malformedDocumentAttributes

protected _malformedDocumentAttributes: Record<string, string[]>

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


_originalAttributes

protected _originalAttributes: Attributes

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


_proxy

protected _proxy: Model

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


_relations

protected _relations: object

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

Index Signature

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


_wasRecentlyCreated

protected _wasRecentlyCreated: boolean

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


id

id: string

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


__attributeGetters

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

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


__attributeSetters

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

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


classFields

static classFields: string[] = []

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


collection

static collection: string

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


fields

static fields: FieldsDefinition

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


hooks

static hooks: ModelHooks = {}

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


modelName

static modelName: string

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


primaryKey

static primaryKey: string = 'id'

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


relations

static relations: string[] = []

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


timestamps

static timestamps: TimestampsDefinition

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

Methods

afterSave()

protected afterSave(): Promise<void>

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

Returns

Promise<void>


attributeValueChanged()

protected attributeValueChanged(originalValue, newValue): boolean

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

Parameters

originalValue

unknown

newValue

unknown

Returns

boolean


beforeSave()

protected beforeSave(): Promise<void>

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

Returns

Promise<void>


belongsToMany()

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

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

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

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

Parameters

field

string

Returns

unknown


callAttributeSetter()

callAttributeSetter(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


castAttribute()

protected castAttribute(value, __namedParameters): unknown

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

Parameters

value

unknown

__namedParameters

ModelCastAttributeOptions = {}

Returns

unknown


castAttributes()

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

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

Parameters

attributes

Attributes

definitions

BootedFieldsDefinition

malformedAttributes?

Record<string, string[]>

fieldPrefix?

string = ''

Returns

Attributes


cleanDirty()

cleanDirty(): void

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

Returns

void


clone()

Call Signature

clone(options?): this

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

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Model>


createManyFromEngineDocuments()

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

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

Parameters

documents

Record<string, EngineDocument>

Returns

Promise<Model[]>


delete()

delete(): Promise<Model>

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

Returns

Promise<Model>


deleteModelsFromEngine()

protected deleteModelsFromEngine(models): Promise<void>

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

Parameters

models

Model[]

Returns

Promise<void>


emit()

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

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

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

Returns

boolean


fixMalformedAttributes()

fixMalformedAttributes(): void

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

Returns

void


fresh()

fresh(): Promise<Model>

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

Returns

Promise<Model>


getAttribute()

getAttribute<T>(field, includeUndefined): T

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

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

Parameters

includeUndefined

boolean = false

Returns

Attributes


getAttributeValue()

getAttributeValue<T>(field, includeUndefined): T

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

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

Returns

Promise<Model[]>


getDefaultCollection()

protected getDefaultCollection(): string

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

Returns

string


getDeletedPrimaryKey()

getDeletedPrimaryKey(): null | Key

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

Returns

null | Key


getDirtyEngineDocumentUpdates()

protected getDirtyEngineDocumentUpdates(): EngineUpdates

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

Returns

EngineUpdates


getEngine()

getEngine(): undefined | Engine

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

Returns

undefined | Engine


getFinalEngine()

getFinalEngine(): undefined | Engine

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

Returns

undefined | Engine


getMalformedDocumentAttributes()

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

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

Returns

Record<string, string[]>


getOriginalAttribute()

getOriginalAttribute<T>(field): T

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

Type Parameters

T

T = unknown

Parameters

field

string

Returns

T


getPrimaryKey()

getPrimaryKey(): null | Key

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

Returns

null | Key


getRelation()

getRelation<T>(relation): null | T

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

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

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

Type Parameters

T

T extends Model

Parameters

relation

string

Returns

null | T[]


getSerializedPrimaryKey()

getSerializedPrimaryKey(): null | string

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

Returns

null | string


hasAttribute()

hasAttribute(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeGetter()

hasAttributeGetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeSetter()

hasAttributeSetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasIncompleteAttributes()

hasIncompleteAttributes(): boolean

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

Returns

boolean


hasMany()

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

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

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

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

Parameters

relation

string

Returns

boolean


initialize()

protected initialize(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeAttributes()

protected initializeAttributes(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeProxy()

protected initializeProxy(): void

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

Returns

void


initializeRelations()

protected initializeRelations(): void

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

Returns

void


is()

is(another): boolean

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

Parameters

another

this

Returns

boolean


isDirty()

isDirty(field?): boolean

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

Parameters

field?

string

Returns

boolean


isRelationLoaded()

isRelationLoaded(relation): boolean

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

Parameters

relation

string

Returns

boolean


loadEmptyRelations()

protected loadEmptyRelations(): Promise<void>

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

Returns

Promise<void>


loadRelation()

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

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

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

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

Parameters

field

string

originalValue

unknown

newValue

unknown

Returns

boolean


newInstance()

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

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Attributes>


parseKey()

protected parseKey(key): Key

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

Parameters

key

string

Returns

Key


performDelete()

protected performDelete(): Promise<void>

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

Returns

Promise<void>


performMalformedAttributeFixes()

protected performMalformedAttributeFixes(): void

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

Returns

void


performSave()

protected performSave(): Promise<void>

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

Returns

Promise<void>


requireEngine()

requireEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireFinalEngine()

requireFinalEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireRelation()

requireRelation<T>(relation): T

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

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

Returns

void


resetEngineData()

protected resetEngineData(): void

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

Returns

void

Deprecated

use reset instead.


save()

save(): Promise<Model>

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

Returns

Promise<Model>


serializeKey()

protected serializeKey(key): string

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

Parameters

key

Key

Returns

string


setAttribute()

setAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setAttributes()

setAttributes(attributes): void

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

Parameters

attributes

Attributes

Returns

void


setAttributeValue()

setAttributeValue(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setEngine()

setEngine(engine?): void

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

Parameters

engine?

Engine

Returns

void


setExists()

setExists(exists): void

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

Parameters

exists

boolean

Returns

void


setMalformedDocumentAttributes()

setMalformedDocumentAttributes(malformedAttributes): void

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

Parameters

malformedAttributes

Record<string, string[]>

Returns

void


setOriginalAttribute()

setOriginalAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setRelationModel()

setRelationModel(relation, model): void

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

Parameters

relation

string

model

null | Model

Returns

void


setRelationModels()

setRelationModels(relation, models): void

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

Parameters

relation

string

models

null | Model[]

Returns

void


static()

Call Signature

static(property): BootedFieldsDefinition

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

Parameters
property

"fields"

Returns

BootedFieldsDefinition

Call Signature

static(property): TimestampFieldValue[]

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

Parameters
property

"timestamps"

Returns

TimestampFieldValue[]

Call Signature

static<T>(): T

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

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

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

Returns

Promise<string>


toEngineDocument()

protected toEngineDocument(): EngineDocument

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

Returns

EngineDocument


touch()

touch(): void

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

Set the updatedAt attribute to the current time.

Returns

void


unloadRelation()

unloadRelation(relation): void

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

Parameters

relation

string

Returns

void


unsetAttribute()

unsetAttribute(field): void

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

Parameters

field

string

Returns

void


update()

update(attributes): Promise<Model>

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

Parameters

attributes

Attributes = {}

Returns

Promise<Model>


wasRecentlyCreated()

wasRecentlyCreated(): boolean

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

Returns

boolean


wasRecentlyDeleted()

wasRecentlyDeleted(): boolean

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

Returns

boolean


withEngine()

Call Signature

withEngine(engine): this

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

Parameters
engine

Engine

Returns

this

Call Signature

withEngine<T>(engine, operation): T

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

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

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

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

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

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

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

Returns

string


bootFields()

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

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

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

Parameters

hooks?

ModelHooks

Returns

ModelHooks


bootModelName()

protected static bootModelName(name?): string

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

Parameters

name?

string

Returns

string


bootTimestamps()

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

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

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

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

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

Returns

void


find()

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

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

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

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

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

Returns

undefined | Engine


getFinalEngine()

static getFinalEngine(): undefined | Engine

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

Returns

undefined | Engine


hasAutomaticTimestamp()

static hasAutomaticTimestamp(timestamp): boolean

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

Parameters

timestamp

TimestampFieldValue

Returns

boolean


hasAutomaticTimestamps()

static hasAutomaticTimestamps(): boolean

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

Returns

boolean


instance()

static instance<T>(this): T

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

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

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

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

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

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

Type Parameters

T

T extends Engine = Engine

Returns

T


requireFinalEngine()

static requireFinalEngine<T>(): T

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

Type Parameters

T

T extends Engine = Engine

Returns

T


setEngine()

static setEngine(engine?): void

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

Parameters

engine?

Engine

Returns

void


updateSchema()

static updateSchema(schema): Promise<void>

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

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

Type Parameters

Result

Result

Parameters

collection

undefined | string | () => Result | Promise<Result>

operation?

() => Result | Promise<Result>

Returns

Promise<Result>


withEngine()

Call Signature

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

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

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

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

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>