Skip to main content

Updatable

@webda/models


Interface: Updatable<T>

Defined in: packages/models/src/repositories/repository.ts:161

Update operations with optimistic locking support

Most repositories should implement this to support updates

Extended by​

Type Parameters​

T​

T extends ModelClass = ModelClass

Methods​

patch()​

patch<K>(uid, data, conditionField?, condition?): Promise<void>

Defined in: packages/models/src/repositories/repository.ts:181

Partially update object (only specified fields)

Type Parameters​

K​

K extends string

Parameters​

uid​

string | PrimaryKeyType<InstanceType<T>>

Primary key of object to update

data​

Partial<Omit<InstanceType<T>, PrimaryKeyAttributes<InstanceType<T>>>>

Partial object data (only fields to update)

conditionField?​

K | null

Field to check for optimistic locking (null = no check)

condition?​

PropertyPathType<InstanceType<T>, K> | JSONed<PropertyPathType<InstanceType<T>, K>>

Expected value for condition field

Returns​

Promise<void>


update()​

update<K>(data, conditionField?, condition?): Promise<void>

Defined in: packages/models/src/repositories/repository.ts:168

Replace entire object (full update)

Type Parameters​

K​

K extends string

Parameters​

data​

Helpers<InstanceType<T>>

Complete object data including primary key

conditionField?​

K | null

Field to check for optimistic locking (null = no check)

condition?​

PropertyPathType<InstanceType<T>, K>

Expected value for condition field

Returns​

Promise<void>


upsert()​

upsert(data): Promise<InstanceType<T>>

Defined in: packages/models/src/repositories/repository.ts:191

Create or update object (insert if not exists, update if exists)

Parameters​

data​

Helpers<InstanceType<T>>

Returns​

Promise<InstanceType<T>>