@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
22 lines (21 loc) • 2.06 kB
TypeScript
import { IApiBaseEntity } from '../interface/api-base-entity.interface';
import { IApiControllerProperties } from '../interface/decorator/api';
import { IApiEntity } from '../interface/entity';
import { TApiControllerMethodName, TApiControllerTargetMethod } from '../type/factory/api/controller';
import { EApiRouteType } from '../enum/decorator/api';
export declare class ApiControllerFactory<E extends IApiBaseEntity> {
protected target: TApiControllerTargetMethod<E>;
private readonly properties;
protected get targetPrototype(): InstanceType<typeof this.target>;
private readonly ENTITY;
constructor(target: TApiControllerTargetMethod<E>, properties: IApiControllerProperties<E>);
createMethod(method: EApiRouteType): void;
init(): void;
protected [EApiRouteType.CREATE](method: EApiRouteType, methodName: TApiControllerMethodName<typeof EApiRouteType.CREATE>, properties: IApiControllerProperties<E>, entityMetadata: IApiEntity<E>): void;
protected [EApiRouteType.DELETE](method: EApiRouteType, methodName: TApiControllerMethodName<typeof EApiRouteType.DELETE>, properties: IApiControllerProperties<E>, entityMetadata: IApiEntity<E>): void;
protected [EApiRouteType.GET](method: EApiRouteType, methodName: TApiControllerMethodName<typeof EApiRouteType.GET>, properties: IApiControllerProperties<E>, entityMetadata: IApiEntity<E>): void;
protected [EApiRouteType.GET_LIST](method: EApiRouteType, methodName: TApiControllerMethodName<typeof EApiRouteType.GET_LIST>, properties: IApiControllerProperties<E>, entityMetadata: IApiEntity<E>): void;
protected [EApiRouteType.PARTIAL_UPDATE](method: EApiRouteType, methodName: TApiControllerMethodName<typeof EApiRouteType.PARTIAL_UPDATE>, properties: IApiControllerProperties<E>, entityMetadata: IApiEntity<E>): void;
protected [EApiRouteType.UPDATE](method: EApiRouteType, methodName: TApiControllerMethodName<typeof EApiRouteType.UPDATE>, properties: IApiControllerProperties<E>, entityMetadata: IApiEntity<E>): void;
private defineUpdateRouteMethod;
}