@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
21 lines (20 loc) • 2.08 kB
TypeScript
import type { IApiBaseEntity } from '../../interface/api-base-entity.interface';
import type { IApiControllerProperties } from '../../interface/decorator/api/index';
import type { IApiEntity } from '../../interface/entity/index';
import type { TApiControllerMethodName, TApiControllerTargetMethod } from '../../type/factory/api/controller/index';
import { EApiRouteType } from '../../enum/decorator/api/index';
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;
}