Skip to content

Class: Model

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

Constructors

Constructor

new Model(attributes, exists): Model

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

Parameters

attributes

Attributes = {}

exists

boolean = false

Returns

Model

Properties

_attributes

protected _attributes: Attributes

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


_dirtyAttributes

protected _dirtyAttributes: Attributes

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


_exists

protected _exists: boolean

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


_malformedDocumentAttributes

protected _malformedDocumentAttributes: Record<string, string[]>

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


_originalAttributes

protected _originalAttributes: Attributes

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


_proxy

protected _proxy: Model

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


_relations

protected _relations: object

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

Index Signature

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


_wasRecentlyCreated

protected _wasRecentlyCreated: boolean

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


id

id: string

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


__attributeGetters

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

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


__attributeSetters

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

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


classFields

static classFields: string[] = []

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


collection

static collection: string

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


fields

static fields: FieldsDefinition

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


hooks

static hooks: Partial = {}

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


modelName

static modelName: string

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


primaryKey

static primaryKey: string = 'id'

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


relations

static relations: string[] = []

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


timestamps

static timestamps: TimestampsDefinition

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

Methods

afterSave()

protected afterSave(): Promise<void>

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

Returns

Promise<void>


attributeValueChanged()

protected attributeValueChanged(originalValue, newValue): boolean

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

Parameters

originalValue

unknown

newValue

unknown

Returns

boolean


beforeSave()

protected beforeSave(): Promise<void>

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

Returns

Promise<void>


belongsToMany()

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

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

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

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

Parameters

field

string

Returns

unknown


callAttributeSetter()

callAttributeSetter(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


castAttribute()

protected castAttribute(value, __namedParameters): unknown

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

Parameters

value

unknown

__namedParameters

ModelCastAttributeOptions = {}

Returns

unknown


castAttributes()

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

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

Parameters

attributes

Attributes

definitions

BootedFieldsDefinition

malformedAttributes?

Record<string, string[]>

fieldPrefix?

string = ''

Returns

Attributes


cleanDirty()

cleanDirty(): void

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

Returns

void


clone()

Call Signature

clone(options?): this

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

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Model>


createManyFromEngineDocuments()

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

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

Parameters

documents

Record<string, EngineDocument>

Returns

Promise<Model[]>


delete()

delete(): Promise<Model>

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

Returns

Promise<Model>


deleteModelsFromEngine()

protected deleteModelsFromEngine(models): Promise<void>

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

Parameters

models

Model[]

Returns

Promise<void>


emit()

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

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

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

Returns

boolean


fixMalformedAttributes()

fixMalformedAttributes(): void

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

Returns

void


fresh()

fresh(): Promise<Model>

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

Returns

Promise<Model>


getAttribute()

getAttribute<T>(field, includeUndefined): T

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

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

Parameters

includeUndefined

boolean = false

Returns

Attributes


getAttributeValue()

getAttributeValue<T>(field, includeUndefined): T

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

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

Returns

Promise<Model[]>


getDefaultCollection()

protected getDefaultCollection(): string

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

Returns

string


getDeletedPrimaryKey()

getDeletedPrimaryKey(): null | Key

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

Returns

null | Key


getDirtyEngineDocumentUpdates()

protected getDirtyEngineDocumentUpdates(): EngineUpdates

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

Returns

EngineUpdates


getEngine()

getEngine(): undefined | Engine

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

Returns

undefined | Engine


getFinalEngine()

getFinalEngine(): undefined | Engine

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

Returns

undefined | Engine


getMalformedDocumentAttributes()

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

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

Returns

Record<string, string[]>


getOriginalAttribute()

getOriginalAttribute<T>(field): T

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

Type Parameters

T

T = unknown

Parameters

field

string

Returns

T


getPrimaryKey()

getPrimaryKey(): null | Key

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

Returns

null | Key


getRelation()

getRelation<T>(relation): null | T

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

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

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

Type Parameters

T

T extends Model

Parameters

relation

string

Returns

null | T[]


getSerializedPrimaryKey()

getSerializedPrimaryKey(): null | string

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

Returns

null | string


hasAttribute()

hasAttribute(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeGetter()

hasAttributeGetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeSetter()

hasAttributeSetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasIncompleteAttributes()

hasIncompleteAttributes(): boolean

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

Returns

boolean


hasMany()

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

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

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

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

Parameters

relation

string

Returns

boolean


initialize()

protected initialize(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeAttributes()

protected initializeAttributes(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeProxy()

protected initializeProxy(): void

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

Returns

void


initializeRelations()

protected initializeRelations(): void

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

Returns

void


is()

is(another): boolean

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

Parameters

another

this

Returns

boolean


isDirty()

isDirty(field?): boolean

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

Parameters

field?

string

Returns

boolean


isRelationLoaded()

isRelationLoaded(relation): boolean

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

Parameters

relation

string

Returns

boolean


loadEmptyRelations()

protected loadEmptyRelations(): Promise<void>

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

Returns

Promise<void>


loadRelation()

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

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

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

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

Parameters

field

string

originalValue

unknown

newValue

unknown

Returns

boolean


newInstance()

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

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Attributes>


parseKey()

protected parseKey(key): Key

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

Parameters

key

string

Returns

Key


performDelete()

protected performDelete(): Promise<void>

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

Returns

Promise<void>


performMalformedAttributeFixes()

protected performMalformedAttributeFixes(): void

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

Returns

void


performSave()

protected performSave(): Promise<void>

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

Returns

Promise<void>


requireEngine()

requireEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireFinalEngine()

requireFinalEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireRelation()

requireRelation<T>(relation): T

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

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

Returns

void


resetEngineData()

protected resetEngineData(): void

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

Returns

void

Deprecated

use reset instead.


save()

save(): Promise<Model>

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

Returns

Promise<Model>


serializeKey()

protected serializeKey(key): string

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

Parameters

key

Key

Returns

string


setAttribute()

setAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setAttributes()

setAttributes(attributes): void

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

Parameters

attributes

Attributes

Returns

void


setAttributeValue()

setAttributeValue(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setEngine()

setEngine(engine?): void

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

Parameters

engine?

Engine

Returns

void


setExists()

setExists(exists): void

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

Parameters

exists

boolean

Returns

void


setMalformedDocumentAttributes()

setMalformedDocumentAttributes(malformedAttributes): void

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

Parameters

malformedAttributes

Record<string, string[]>

Returns

void


setOriginalAttribute()

setOriginalAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setRelationModel()

setRelationModel(relation, model): void

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

Parameters

relation

string

model

null | Model

Returns

void


setRelationModels()

setRelationModels(relation, models): void

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

Parameters

relation

string

models

null | Model[]

Returns

void


static()

Call Signature

static(property): BootedFieldsDefinition

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

Parameters
property

"fields"

Returns

BootedFieldsDefinition

Call Signature

static(property): TimestampFieldValue[]

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

Parameters
property

"timestamps"

Returns

TimestampFieldValue[]

Call Signature

static<T>(): T

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

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

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

Returns

Promise<string>


toEngineDocument()

protected toEngineDocument(): EngineDocument

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

Returns

EngineDocument


touch()

touch(): void

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

Set the updatedAt attribute to the current time.

Returns

void


unloadRelation()

unloadRelation(relation): void

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

Parameters

relation

string

Returns

void


unsetAttribute()

unsetAttribute(field): void

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

Parameters

field

string

Returns

void


update()

update(attributes): Promise<Model>

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

Parameters

attributes

Attributes = {}

Returns

Promise<Model>


wasRecentlyCreated()

wasRecentlyCreated(): boolean

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

Returns

boolean


wasRecentlyDeleted()

wasRecentlyDeleted(): boolean

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

Returns

boolean


withEngine()

Call Signature

withEngine(engine): this

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

Parameters
engine

Engine

Returns

this

Call Signature

withEngine<T>(engine, operation): T

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

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

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

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

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

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

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

Returns

string


bootFields()

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

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

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

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

Parameters

name?

string

Returns

string


bootTimestamps()

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

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

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

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

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

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

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

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

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

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

Returns

undefined | Engine


getFinalEngine()

static getFinalEngine(): undefined | Engine

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

Returns

undefined | Engine


hasAutomaticTimestamp()

static hasAutomaticTimestamp(timestamp): boolean

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

Parameters

timestamp

TimestampFieldValue

Returns

boolean


hasAutomaticTimestamps()

static hasAutomaticTimestamps(): boolean

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

Returns

boolean


instance()

static instance<T>(this): T

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

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

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

Type Parameters

TModel

TModel extends Model

TEvent

TEvent extends keyof ModelEvents | "schema-updated"

Parameters

this

ModelConstructor<TModel>

event

TEvent

listener

ModelListener<TModel, TEvent>

Returns

Function

Returns

void


performSchemaUpdate()

protected static performSchemaUpdate(schema): Promise<void>

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

Parameters

schema

Partial<{ fields: FieldsDefinition<unknown>; hooks: Partial<Record<"beforeSave" | "afterSave", (this) => void | Promise<void>>>; primaryKey: string; timestamps: TimestampsDefinition; }> | ModelConstructor

Returns

Promise<void>


pureInstance()

protected static pureInstance<T>(this): T

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

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

Type Parameters

T

T extends Engine = Engine

Returns

T


requireFinalEngine()

static requireFinalEngine<T>(): T

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

Type Parameters

T

T extends Engine = Engine

Returns

T


setEngine()

static setEngine(engine?): void

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

Parameters

engine?

Engine

Returns

void


updateSchema()

static updateSchema(schema): Promise<void>

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

Parameters

schema

Partial<{ fields: FieldsDefinition<unknown>; hooks: Partial<Record<"beforeSave" | "afterSave", (this) => void | Promise<void>>>; primaryKey: string; timestamps: TimestampsDefinition; }> | ModelConstructor

Returns

Promise<void>


withCollection()

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

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

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

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

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

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>