@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
31 lines (30 loc) • 3.12 kB
TypeScript
import type { IApiBaseEntity } from '../../../api-base-entity.interface';
import type { IApiSubscriberFunctionExecutionContext } from './function-execution-context.interface';
import type { IApiSubscriber } from './interface';
import type { TApiFunctionCreateProperties } from '../../../../type/decorator/api/function/index';
export interface IApiSubscriberFunction<E extends IApiBaseEntity> extends IApiSubscriber {
onAfterCreate?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onAfterDelete?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onAfterErrorCreate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onAfterErrorDelete?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onAfterErrorGet?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onAfterErrorGetList?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onAfterErrorGetMany?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onAfterErrorUpdate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onAfterGet?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onAfterGetList?(context: IApiSubscriberFunctionExecutionContext<E, Array<E>>): Promise<Array<E> | undefined>;
onAfterGetMany?(context: IApiSubscriberFunctionExecutionContext<E, Array<E>>): Promise<Array<E> | undefined>;
onAfterUpdate?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onBeforeCreate?(context: IApiSubscriberFunctionExecutionContext<E, TApiFunctionCreateProperties<E>>): Promise<TApiFunctionCreateProperties<E> | undefined>;
onBeforeDelete?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onBeforeErrorCreate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onBeforeErrorDelete?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onBeforeErrorGet?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onBeforeErrorGetList?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onBeforeErrorGetMany?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onBeforeErrorUpdate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
onBeforeGet?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onBeforeGetList?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onBeforeGetMany?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
onBeforeUpdate?(context: IApiSubscriberFunctionExecutionContext<E, TApiFunctionCreateProperties<E>>): Promise<TApiFunctionCreateProperties<E> | undefined>;
}