Skip to content

Class: Model

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

Constructors

Constructor

new Model(attributes, _?): Model

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

Parameters

attributes

Attributes = {}

_?

boolean

Returns

Model

Properties

_attributes

protected _attributes: Attributes

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


_dirtyAttributes

protected _dirtyAttributes: Attributes

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


_exists

protected _exists: boolean

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


_malformedDocumentAttributes

protected _malformedDocumentAttributes: Record<string, string[]>

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


_originalAttributes

protected _originalAttributes: Attributes

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


_proxy

protected _proxy: Model

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


_relations

protected _relations: object

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

Index Signature

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


_wasRecentlyCreated

protected _wasRecentlyCreated: boolean

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


id

id: string

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


__attributeGetters

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

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


__attributeSetters

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

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


classFields

static classFields: string[] = []

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


collection

static collection: string

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


fields

static fields: FieldsDefinition

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


hooks

static hooks: ModelHooks = {}

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


modelName

static modelName: string

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


primaryKey

static primaryKey: string = 'id'

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


relations

static relations: string[] = []

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


timestamps

static timestamps: TimestampsDefinition

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

Methods

afterSave()

protected afterSave(): Promise<void>

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

Returns

Promise<void>


attributeValueChanged()

protected attributeValueChanged(originalValue, newValue): boolean

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

Parameters

originalValue

unknown

newValue

unknown

Returns

boolean


beforeSave()

protected beforeSave(): Promise<void>

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

Returns

Promise<void>


belongsToMany()

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

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

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

Type Parameters

T

T extends typeof Model

Parameters

relatedClass

T

Related model class.

foreignKeyField?

string

Name of the foreign key field in the local model.

localKeyField?

string

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

Returns

BelongsToManyRelation


belongsToOne()

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

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

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

Type Parameters

T

T extends typeof Model

Parameters

relatedClass

T

Related model class.

foreignKeyField?

string

Name of the foreign key field in the local model.

localKeyField?

string

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

Returns

BelongsToOneRelation


callAttributeGetter()

callAttributeGetter(field): unknown

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

Parameters

field

string

Returns

unknown


callAttributeSetter()

callAttributeSetter(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


castAttribute()

protected castAttribute(value, __namedParameters): unknown

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

Parameters

value

unknown

__namedParameters

ModelCastAttributeOptions = {}

Returns

unknown


castAttributes()

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

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

Parameters

attributes

Attributes

definitions

BootedFieldsDefinition

malformedAttributes?

Record<string, string[]>

fieldPrefix?

string = ''

Returns

Attributes


cleanDirty()

cleanDirty(): void

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

Returns

void


clone()

Call Signature

clone(options?): this

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

Parameters
options?

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

Returns

this

Call Signature

clone<T>(options?): T

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

Type Parameters
T

T extends Model

Parameters
options?

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

Returns

T


createFromEngineDocument()

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Model>


createManyFromEngineDocuments()

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

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

Parameters

documents

Record<string, EngineDocument>

Returns

Promise<Model[]>


delete()

delete(): Promise<Model>

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

Returns

Promise<Model>


deleteModelsFromEngine()

protected deleteModelsFromEngine(models): Promise<void>

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

Parameters

models

Model[]

Returns

Promise<void>


emit()

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

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

Type Parameters

T

T extends keyof ModelEvents

Parameters

args

...ModelEmitArgs<T>

Returns

Promise<void>


exists()

exists(): boolean

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

Returns

boolean


fixMalformedAttributes()

fixMalformedAttributes(): void

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

Returns

void


fresh()

fresh(): Promise<Model>

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

Returns

Promise<Model>


getAttribute()

getAttribute<T>(field, includeUndefined): T

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

Type Parameters

T

T = unknown

Parameters

field

string

includeUndefined

boolean = false

Returns

T


getAttributes()

getAttributes(includeUndefined): Attributes

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

Parameters

includeUndefined

boolean = false

Returns

Attributes


getAttributeValue()

getAttributeValue<T>(field, includeUndefined): T

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

Type Parameters

T

T = unknown

Parameters

field

string

includeUndefined

boolean = false

Returns

T


getCascadeModels()

protected getCascadeModels(): Promise<Model[]>

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

Returns

Promise<Model[]>


getDefaultCollection()

getDefaultCollection(): string

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

Returns

string


getDeletedPrimaryKey()

getDeletedPrimaryKey(): null | Key

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

Returns

null | Key


getDirtyEngineDocumentUpdates()

protected getDirtyEngineDocumentUpdates(): EngineUpdates

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

Returns

EngineUpdates


getEngine()

getEngine(): undefined | Engine

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

Returns

undefined | Engine


getFinalEngine()

getFinalEngine(): undefined | Engine

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

Returns

undefined | Engine


getMalformedDocumentAttributes()

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

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

Returns

Record<string, string[]>


getOriginalAttribute()

getOriginalAttribute<T>(field): T

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

Type Parameters

T

T = unknown

Parameters

field

string

Returns

T


getPrimaryKey()

getPrimaryKey(): null | Key

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

Returns

null | Key


getRelation()

getRelation<T>(relation): null | T

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

Type Parameters

T

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

Parameters

relation

string

Returns

null | T


getRelationModel()

getRelationModel<T>(relation): null | T

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

Type Parameters

T

T extends Model

Parameters

relation

string

Returns

null | T


getRelationModels()

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

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

Type Parameters

T

T extends Model

Parameters

relation

string

Returns

null | T[]


getSerializedPrimaryKey()

getSerializedPrimaryKey(): null | string

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

Returns

null | string


hasAttribute()

hasAttribute(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeGetter()

hasAttributeGetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasAttributeSetter()

hasAttributeSetter(field): boolean

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

Parameters

field

string

Returns

boolean


hasIncompleteAttributes()

hasIncompleteAttributes(): boolean

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

Returns

boolean


hasMany()

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

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

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

Type Parameters

T

T extends typeof Model

Parameters

relatedClass

T

Related model class.

foreignKeyField?

string

Name of the foreign key field in the related model.

localKeyField?

string

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

Returns

HasManyRelation


hasOne()

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

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

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

Type Parameters

T

T extends typeof Model

Parameters

relatedClass

T

Related model class.

foreignKeyField?

string

Name of the foreign key field in the related model.

localKeyField?

string

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

Returns

HasOneRelation


hasRelation()

hasRelation(relation): boolean

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

Parameters

relation

string

Returns

boolean


initialize()

protected initialize(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeAttributes()

protected initializeAttributes(attributes, exists): void

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

Parameters

attributes

Attributes

exists

boolean

Returns

void


initializeProxy()

protected initializeProxy(): void

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

Returns

void


initializeRelations()

protected initializeRelations(): void

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

Returns

void


is()

is(another): boolean

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

Parameters

another

this

Returns

boolean


isDirty()

isDirty(field?): boolean

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

Parameters

field?

string

Returns

boolean


isRelationLoaded()

isRelationLoaded(relation): boolean

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

Parameters

relation

string

Returns

boolean


loadEmptyRelations()

protected loadEmptyRelations(): Promise<void>

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

Returns

Promise<void>


loadRelation()

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

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

Type Parameters

T

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

Parameters

relation

string

Returns

Promise<T>


loadRelationIfUnloaded()

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

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

Type Parameters

T

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

Parameters

relation

string

Returns

Promise<T>


markAttributeDirty()

protected markAttributeDirty(field, originalValue, newValue): boolean

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

Parameters

field

string

originalValue

unknown

newValue

unknown

Returns

boolean


newInstance()

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

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

Type Parameters

T

T extends Model

Parameters

this

T

params

...[Attributes, boolean]

Returns

T


parseEngineDocumentAttributes()

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

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

Parameters

id

Key

document

EngineDocument

Returns

Promise<Attributes>


parseKey()

protected parseKey(key): Key

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

Parameters

key

string

Returns

Key


performDelete()

protected performDelete(): Promise<void>

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

Returns

Promise<void>


performMalformedAttributeFixes()

protected performMalformedAttributeFixes(): void

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

Returns

void


performSave()

protected performSave(): Promise<void>

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

Returns

Promise<void>


populateCascadeModels()

protected populateCascadeModels(cascadeModels): Promise<void>

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

Parameters

cascadeModels

Set<Model>

Returns

Promise<void>


requireEngine()

requireEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireFinalEngine()

requireFinalEngine<T>(): T

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

Type Parameters

T

T extends Engine

Returns

T


requireRelation()

requireRelation<T>(relation): T

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

Type Parameters

T

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

Parameters

relation

string

Returns

T


reset()

reset(): void

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

Returns

void


resetEngineData()

protected resetEngineData(): void

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

Returns

void

Deprecated

use reset instead.


save()

save(): Promise<Model>

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

Returns

Promise<Model>


serializeKey()

protected serializeKey(key): string

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

Parameters

key

Key

Returns

string


setAttribute()

setAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setAttributes()

setAttributes(attributes): void

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

Parameters

attributes

Attributes

Returns

void


setAttributeValue()

setAttributeValue(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setEngine()

setEngine(engine?): void

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

Parameters

engine?

Engine

Returns

void


setExists()

setExists(exists): void

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

Parameters

exists

boolean

Returns

void


setMalformedDocumentAttributes()

setMalformedDocumentAttributes(malformedAttributes): void

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

Parameters

malformedAttributes

Record<string, string[]>

Returns

void


setOriginalAttribute()

setOriginalAttribute(field, value): void

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

Parameters

field

string

value

unknown

Returns

void


setRelationModel()

setRelationModel(relation, model): void

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

Parameters

relation

string

model

null | Model

Returns

void


setRelationModels()

setRelationModels(relation, models): void

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

Parameters

relation

string

models

null | Model[]

Returns

void


static()

Call Signature

static(property): BootedFieldsDefinition

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

Parameters
property

"fields"

Returns

BootedFieldsDefinition

Call Signature

static(property): TimestampFieldValue[]

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

Parameters
property

"timestamps"

Returns

TimestampFieldValue[]

Call Signature

static<T>(): T

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

Type Parameters
T

T extends typeof Model

Returns

T

Call Signature

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

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

Type Parameters
T

T extends typeof Model

K

K extends string | number | symbol

Parameters
property

K

Returns

T[K]


syncDirty()

protected syncDirty(): Promise<string>

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

Returns

Promise<string>


toEngineDocument()

protected toEngineDocument(): EngineDocument

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

Returns

EngineDocument


touch()

touch(): void

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

Set the updatedAt attribute to the current time.

Returns

void


unloadRelation()

unloadRelation(relation): void

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

Parameters

relation

string

Returns

void


unsetAttribute()

unsetAttribute(field): void

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

Parameters

field

string

Returns

void


update()

update(attributes): Promise<Model>

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

Parameters

attributes

Attributes = {}

Returns

Promise<Model>


wasRecentlyCreated()

wasRecentlyCreated(): boolean

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

Returns

boolean


wasRecentlyDeleted()

wasRecentlyDeleted(): boolean

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

Returns

boolean


withEngine()

Call Signature

withEngine(engine): this

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

Parameters
engine

Engine

Returns

this

Call Signature

withEngine<T>(engine, operation): T

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

Type Parameters
T

T

Parameters
engine

Engine

operation

(model) => T

Returns

T

Call Signature

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

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

Type Parameters
T

T

Parameters
engine

Engine

operation

(model) => Promise<T>

Returns

Promise<T>


withoutTimestamps()

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

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

Type Parameters

T

T

Parameters

operation

() => Promise<T>

Returns

Promise<T>


all()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

filters?

EngineFilters

Returns

Promise<T[]>


boot()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

name?

string

Returns

void


bootClassDefinitions()

protected static bootClassDefinitions(): object

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

Returns

object

attributeGetters

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

attributeSetters

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

classFields

classFields: string[]

relations

relations: string[]


bootCollection()

protected static bootCollection(): string

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

Returns

string


bootFields()

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

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

Parameters

fields

undefined | FieldsDefinition

primaryKey

string

timestamps

TimestampFieldValue[]

fieldDefinitions

BootedFieldsDefinition

Returns

object

fieldAliases

fieldAliases: Record<string, string>

fields

fields: BootedFieldsDefinition


bootHooks()

protected static bootHooks(hooks?): ModelHooks

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

Parameters

hooks?

ModelHooks

Returns

ModelHooks


bootModelName()

protected static bootModelName(name?): string

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

Parameters

name?

string

Returns

string


bootTimestamps()

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

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

Parameters

timestamps

undefined | boolean | TimestampFieldValue[]

fieldDefinitions

BootedFieldsDefinition

Returns

TimestampFieldValue[]


create()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

attributes

Attributes = {}

Returns

Promise<T>


createFromEngineDocument()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

id

Key

document

EngineDocument

Returns

Promise<T>


createManyFromEngineDocuments()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

documents

Record<string, EngineDocument>

Returns

Promise<T[]>


ensureBooted()

static ensureBooted<T>(this): void

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

Returns

void


exclusive()

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

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

Type Parameters

T

T

Parameters

operation

() => T | Promise<T>

Returns

Promise<T>


find()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

id

Key

Returns

Promise<null | T>


findOrFail()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

id

Key

Returns

Promise<T>


first()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

filters?

EngineFilters

Returns

Promise<null | T>


getEngine()

static getEngine(): undefined | Engine

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

Returns

undefined | Engine


getFinalEngine()

static getFinalEngine(): undefined | Engine

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

Returns

undefined | Engine


hasAutomaticTimestamp()

static hasAutomaticTimestamp(timestamp): boolean

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

Parameters

timestamp

TimestampFieldValue

Returns

boolean


hasAutomaticTimestamps()

static hasAutomaticTimestamps(): boolean

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

Returns

boolean


instance()

static instance<T>(this): T

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

Returns

T


newInstance()

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

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

params

...[Attributes, boolean]

Returns

T


on()

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

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

Type Parameters

TModel

TModel extends Model

TEvent

TEvent extends keyof ModelEvents | "schema-updated"

Parameters

this

ModelConstructor<TModel>

event

TEvent

listener

ModelListener<TModel, TEvent>

Returns

(): void

Returns

void


performSchemaUpdate()

protected static performSchemaUpdate(schema): Promise<void>

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

Parameters

schema

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

Returns

Promise<void>


pureInstance()

protected static pureInstance<T>(this): T

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

Type Parameters

T

T extends Model

Parameters

this

ModelConstructor<T>

Returns

T


requireEngine()

static requireEngine<T>(): T

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

Type Parameters

T

T extends Engine = Engine

Returns

T


requireFinalEngine()

static requireFinalEngine<T>(): T

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

Type Parameters

T

T extends Engine = Engine

Returns

T


setEngine()

static setEngine(engine?): void

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

Parameters

engine?

Engine

Returns

void


updateSchema()

static updateSchema(schema): Promise<void>

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

Parameters

schema

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

Returns

Promise<void>


withCollection()

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

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

Type Parameters

Result

Result

Parameters

collection

undefined | string

operation

() => Result | Promise<Result>

Returns

Promise<Result>


withEngine()

Call Signature

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

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

Type Parameters
T

T

Parameters
this

T

engine

Engine

Returns

T

Call Signature

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

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

Type Parameters
T

T

Parameters
engine

Engine

operation

() => T

Returns

T

Call Signature

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

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

Type Parameters
T

T

Parameters
engine

Engine

operation

() => Promise<T>

Returns

Promise<T>


withoutTimestamps()

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

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

Type Parameters

T

T

Parameters

operation

() => Promise<T>

Returns

Promise<T>