ionic-orm-2
Version:
Data-mapper ORM for Ionic WebSQL and SQLite
42 lines (41 loc) • 1.49 kB
TypeScript
import { UpdateEvent } from "./event/UpdateEvent";
import { RemoveEvent } from "./event/RemoveEvent";
import { InsertEvent } from "./event/InsertEvent";
/**
* Classes that implement this interface are subscribers that subscribe for the specific events in the ORM.
*/
export interface EntitySubscriberInterface<Entity> {
/**
* Returns the class of the entity to which events will listen.
* If this method is omitted, then subscriber will listen to events of all entities.
*/
listenTo?(): Function;
/**
* Called after entity is loaded from the database.
*/
afterLoad?(entity: Entity): Promise<any> | void;
/**
* Called before entity is inserted to the database.
*/
beforeInsert?(event: InsertEvent<Entity>): Promise<any> | void;
/**
* Called after entity is inserted to the database.
*/
afterInsert?(event: InsertEvent<Entity>): Promise<any> | void;
/**
* Called before entity is updated in the database.
*/
beforeUpdate?(event: UpdateEvent<Entity>): Promise<any> | void;
/**
* Called after entity is updated in the database.
*/
afterUpdate?(event: UpdateEvent<Entity>): Promise<any> | void;
/**
* Called before entity is removed from the database.
*/
beforeRemove?(event: RemoveEvent<Entity>): Promise<any> | void;
/**
* Called after entity is removed from the database.
*/
afterRemove?(event: RemoveEvent<Entity>): Promise<any> | void;
}