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: Partial = {}

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

Returns

Promise<void>


attributeValueChanged()

protected attributeValueChanged(originalValue, newValue): boolean

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

Parameters

originalValue

unknown

newValue

unknown

Returns

boolean


beforeSave()

protected beforeSave(): Promise<void>

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

Returns

Promise<void>


belongsToMany()

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

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

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

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

Parameters

field

string

Returns

unknown


callAttributeSetter()

callAttributeSetter(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


castAttribute()

protected castAttribute(value, __namedParameters): unknown

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

Parameters

value

unknown

__namedParameters

ModelCastAttributeOptions = {}

Returns

unknown


castAttributes()

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

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

Parameters

attributes

Attributes

definitions

BootedFieldsDefinition

malformedAttributes?

Record<string, string[]>

fieldPrefix?

string = ''

Returns

Attributes


cleanDirty()

cleanDirty(): void

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

Returns

void


clone()

Call Signature

clone(options?): this

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

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Model>


createManyFromEngineDocuments()

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

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

Parameters

documents

Record<string, EngineDocument>

Returns

Promise<Model[]>


delete()

delete(): Promise<Model>

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

Returns

Promise<Model>


deleteModelsFromEngine()

protected deleteModelsFromEngine(models): Promise<void>

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

Parameters

models

Model[]

Returns

Promise<void>


emit()

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

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

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

Returns

boolean


fixMalformedAttributes()

fixMalformedAttributes(): void

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

Returns

void


fresh()

fresh(): Promise<Model>

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

Returns

Promise<Model>


getAttribute()

getAttribute<T>(field, includeUndefined): T

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

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

Parameters

includeUndefined

boolean = false

Returns

Attributes


getAttributeValue()

getAttributeValue<T>(field, includeUndefined): T

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

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

Returns

Promise<Model[]>


getDefaultCollection()

protected getDefaultCollection(): string

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

Returns

string


getDeletedPrimaryKey()

getDeletedPrimaryKey(): null | Key

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

Returns

null | Key


getDirtyEngineDocumentUpdates()

protected getDirtyEngineDocumentUpdates(): EngineUpdates

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

Returns

EngineUpdates


getEngine()

getEngine(): undefined | Engine

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

Returns

undefined | Engine


getFinalEngine()

getFinalEngine(): undefined | Engine

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

Returns

undefined | Engine


getMalformedDocumentAttributes()

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

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

Returns

Record<string, string[]>


getOriginalAttribute()

getOriginalAttribute<T>(field): T

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

Type Parameters

T

T = unknown

Parameters

field

string

Returns

T


getPrimaryKey()

getPrimaryKey(): null | Key

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

Returns

null | Key


getRelation()

getRelation<T>(relation): null | T

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

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

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

Type Parameters

T

T extends Model

Parameters

relation

string

Returns

null | T[]


getSerializedPrimaryKey()

getSerializedPrimaryKey(): null | string

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

Returns

null | string


hasAttribute()

hasAttribute(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeGetter()

hasAttributeGetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeSetter()

hasAttributeSetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasIncompleteAttributes()

hasIncompleteAttributes(): boolean

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

Returns

boolean


hasMany()

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

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

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

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

Parameters

relation

string

Returns

boolean


initialize()

protected initialize(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeAttributes()

protected initializeAttributes(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeProxy()

protected initializeProxy(): void

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

Returns

void


initializeRelations()

protected initializeRelations(): void

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

Returns

void


is()

is(another): boolean

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

Parameters

another

this

Returns

boolean


isDirty()

isDirty(field?): boolean

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

Parameters

field?

string

Returns

boolean


isRelationLoaded()

isRelationLoaded(relation): boolean

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

Parameters

relation

string

Returns

boolean


loadEmptyRelations()

protected loadEmptyRelations(): Promise<void>

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

Returns

Promise<void>


loadRelation()

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

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

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

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

Parameters

field

string

originalValue

unknown

newValue

unknown

Returns

boolean


newInstance()

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

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Attributes>


parseKey()

protected parseKey(key): Key

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

Parameters

key

string

Returns

Key


performDelete()

protected performDelete(): Promise<void>

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

Returns

Promise<void>


performMalformedAttributeFixes()

protected performMalformedAttributeFixes(): void

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

Returns

void


performSave()

protected performSave(): Promise<void>

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

Returns

Promise<void>


requireEngine()

requireEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireFinalEngine()

requireFinalEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireRelation()

requireRelation<T>(relation): T

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

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

Returns

void


resetEngineData()

protected resetEngineData(): void

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

Returns

void

Deprecated

use reset instead.


save()

save(): Promise<Model>

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

Returns

Promise<Model>


serializeKey()

protected serializeKey(key): string

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

Parameters

key

Key

Returns

string


setAttribute()

setAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setAttributes()

setAttributes(attributes): void

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

Parameters

attributes

Attributes

Returns

void


setAttributeValue()

setAttributeValue(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setEngine()

setEngine(engine?): void

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

Parameters

engine?

Engine

Returns

void


setExists()

setExists(exists): void

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

Parameters

exists

boolean

Returns

void


setMalformedDocumentAttributes()

setMalformedDocumentAttributes(malformedAttributes): void

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

Parameters

malformedAttributes

Record<string, string[]>

Returns

void


setOriginalAttribute()

setOriginalAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setRelationModel()

setRelationModel(relation, model): void

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

Parameters

relation

string

model

null | Model

Returns

void


setRelationModels()

setRelationModels(relation, models): void

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

Parameters

relation

string

models

null | Model[]

Returns

void


static()

Call Signature

static(property): BootedFieldsDefinition

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

Parameters
property

"fields"

Returns

BootedFieldsDefinition

Call Signature

static(property): TimestampFieldValue[]

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

Parameters
property

"timestamps"

Returns

TimestampFieldValue[]

Call Signature

static<T>(): T

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

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

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

Returns

Promise<string>


toEngineDocument()

protected toEngineDocument(): EngineDocument

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

Returns

EngineDocument


touch()

touch(): void

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

Set the updatedAt attribute to the current time.

Returns

void


unloadRelation()

unloadRelation(relation): void

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

Parameters

relation

string

Returns

void


unsetAttribute()

unsetAttribute(field): void

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

Parameters

field

string

Returns

void


update()

update(attributes): Promise<Model>

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

Parameters

attributes

Attributes = {}

Returns

Promise<Model>


wasRecentlyCreated()

wasRecentlyCreated(): boolean

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

Returns

boolean


wasRecentlyDeleted()

wasRecentlyDeleted(): boolean

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

Returns

boolean


withEngine()

Call Signature

withEngine(engine): this

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

Parameters
engine

Engine

Returns

this

Call Signature

withEngine<T>(engine, operation): T

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

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

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

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?): Partial

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

Parameters

hooks?

Partial<Record<"beforeSave" | "afterSave", (this) => void | Promise<void>>>

Returns

Partial


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?: Partial<Record<"beforeSave" | "afterSave", (this) => void | Promise<void>>>; 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?: Partial<Record<"beforeSave" | "afterSave", (this) => void | Promise<void>>>; 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>