@decaf-ts/db-decorators
Version:
Agnostic database decorators and repository
43 lines (42 loc) • 874 B
TypeScript
/**
* @summary Crud API
* @description Exposes a CRUD API
*
* @interface CrudOperator
*
* @category Managers
*/
export interface CrudOperator<M> {
/**
* @summary Create a new model
* @param {T} model
* @param {any[]} [args]
*
* @method
*/
create(model: M, ...args: any[]): Promise<M>;
/**
* @summary Read a model
* @param {string} key
* @param {any[]} [args]
*
* @method
*/
read(key: string | number, ...args: any[]): Promise<M>;
/**
* @summary update a model
* @param {T} model
* @param {any[]} [args]
*
* @method
*/
update(model: M, ...args: any[]): Promise<M>;
/**
* @summary delete a model
* @param {string} key
* @param {any[]} [args]
*
* @method
*/
delete(key: string | number, ...args: any[]): Promise<M>;
}