Documentation / zerotal / orm / ModelObserver
Interface: ModelObserver<T>
Defined in: packages/orm/src/model/Observer.ts:26
Observer interface — implement any subset of lifecycle methods to react to a model's create / update / save / delete / retrieve events in one cohesive class.
Remarks
Each method name maps to an internal HookName: creating→beforeCreate,
created→afterCreate, updating→beforeUpdate, updated→afterUpdate,
saving→beforeSave, saved→afterSave, deleting→beforeDelete,
deleted→afterDelete, and retrieved→afterFind. Methods may be async;
a before* method that throws aborts the operation.
Example
export class UserObserver implements ModelObserver<User> {
creating(user: User) { user.uuid = crypto.randomUUID(); }
created(user: User) { Log.info('User created', { id: user.id }); }
deleting(user: User) { Log.info('Deleting user', { id: user.id }); }
}
// Register once at boot (in a ServiceProvider)
User.observe(UserObserver);
Type Parameters
T
T = unknown
The model type the observer watches.
Methods
creating()?
optionalcreating(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:27
Parameters
model
T
Returns
void | Promise<void>
created()?
optionalcreated(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:28
Parameters
model
T
Returns
void | Promise<void>
updating()?
optionalupdating(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:29
Parameters
model
T
Returns
void | Promise<void>
updated()?
optionalupdated(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:30
Parameters
model
T
Returns
void | Promise<void>
saving()?
optionalsaving(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:31
Parameters
model
T
Returns
void | Promise<void>
saved()?
optionalsaved(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:32
Parameters
model
T
Returns
void | Promise<void>
deleting()?
optionaldeleting(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:33
Parameters
model
T
Returns
void | Promise<void>
deleted()?
optionaldeleted(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:34
Parameters
model
T
Returns
void | Promise<void>
retrieved()?
optionalretrieved(model):void|Promise<void>
Defined in: packages/orm/src/model/Observer.ts:35
Parameters
model
T
Returns
void | Promise<void>