@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
14 lines (13 loc) • 1.2 kB
TypeScript
import { IApiBaseEntity } from '../../../../api-base-entity.interface';
import { IApiGetListResponseResult } from '../../../../decorator/api';
import { TApiFunctionCreateProperties, TApiFunctionDeleteCriteria, TApiFunctionGetListProperties, TApiFunctionGetManyProperties, TApiFunctionGetProperties, TApiFunctionUpdateCriteria, TApiFunctionUpdateProperties } from '../../../../../type/decorator/api/function';
import { Repository } from 'typeorm';
export interface IApiFunctionContextOperations<E extends IApiBaseEntity> {
create: (properties: TApiFunctionCreateProperties<E>) => Promise<E>;
delete: (criteria: Array<TApiFunctionDeleteCriteria<E>> | TApiFunctionDeleteCriteria<E>) => Promise<void>;
get: (properties: TApiFunctionGetProperties<E>) => Promise<E>;
getList: (properties: TApiFunctionGetListProperties<E>) => Promise<IApiGetListResponseResult<E>>;
getMany: (properties: TApiFunctionGetManyProperties<E>) => Promise<Array<E>>;
getRepository: <T extends IApiBaseEntity>(entity: new () => T) => Repository<T>;
update: (criteria: Array<TApiFunctionUpdateCriteria<E>> | TApiFunctionUpdateCriteria<E>, properties: TApiFunctionUpdateProperties<E>) => Promise<E>;
}