UNPKG

@elsikora/nestjs-crud-automator

Version:

A library for automating the creation of CRUD operations in NestJS.

49 lines (48 loc) 7.99 kB
import { EApiFunctionSubscriberTransactionExpectation } from '../../../../../enum/decorator/api'; import { IApiBaseEntity } from '../../../../api-base-entity.interface'; import { IApiFunctionTransactionFailure } from '../../function'; import { IApiSubscriberFunctionErrorExecutionContext } from './error-execution-context.interface'; import { IApiSubscriberFunctionExecutionContext } from './execution/context'; import { IApiSubscriberFunctionExecutionContextUpdateData } from './execution/context/update-data.interface'; import { IApiSubscriberFunctionTransactionContext } from './transaction'; import { IApiSubscriber } from '../interface'; import { IApiGetListResponseResult } from '../../../../decorator/api'; import { TApiSubscriberFunctionExecutionContextData } from '../../../../../type/class/api/subscriber/function/execution-context-data.type'; import { TApiSubscriberFunctionTransactionData } from '../../../../../type/class/api/subscriber/function/transaction/data.type'; import { TApiFunctionCreateProperties, TApiFunctionDeleteCriteria, TApiFunctionGetListProperties, TApiFunctionGetManyProperties, TApiFunctionGetProperties, TApiFunctionUpdateProperties } from '../../../../../type/decorator/api/function'; export interface IApiSubscriberFunction<E extends IApiBaseEntity, BeforeCreateResult extends TApiFunctionCreateProperties<E> = TApiFunctionCreateProperties<E>, BeforeDeleteResult extends TApiFunctionDeleteCriteria<E> = TApiFunctionDeleteCriteria<E>, BeforeGetResult extends TApiFunctionGetProperties<E> = TApiFunctionGetProperties<E>, BeforeGetListResult extends TApiFunctionGetListProperties<E> = TApiFunctionGetListProperties<E>, BeforeGetManyResult extends TApiFunctionGetManyProperties<E> = TApiFunctionGetManyProperties<E>, BeforeUpdateResult extends TApiFunctionUpdateProperties<E> = TApiFunctionUpdateProperties<E>, TTransactionExpectation extends EApiFunctionSubscriberTransactionExpectation = EApiFunctionSubscriberTransactionExpectation.SUPPORTS> extends IApiSubscriber { onAfterCommit?(context: IApiSubscriberFunctionTransactionContext): Promise<void>; onAfterCreate?(context: IApiSubscriberFunctionExecutionContext<E, E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<E | undefined>; onAfterCustom?(context: IApiSubscriberFunctionExecutionContext<E, unknown, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<unknown>; onAfterDelete?(context: IApiSubscriberFunctionExecutionContext<E, E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<E | undefined>; onAfterErrorCommit?(context: IApiSubscriberFunctionTransactionContext, error: Error): Promise<void>; onAfterErrorCreate?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onAfterErrorCustom?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onAfterErrorDelete?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onAfterErrorGet?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onAfterErrorGetList?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onAfterErrorGetMany?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onAfterErrorRollback?(context: IApiSubscriberFunctionTransactionContext, error: Error): Promise<void>; onAfterErrorUpdate?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onAfterGet?(context: IApiSubscriberFunctionExecutionContext<E, E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<E | undefined>; onAfterGetList?(context: IApiSubscriberFunctionExecutionContext<E, IApiGetListResponseResult<E>, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<IApiGetListResponseResult<E> | undefined>; onAfterGetMany?(context: IApiSubscriberFunctionExecutionContext<E, Array<E>, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<Array<E> | undefined>; onAfterRollback?(context: IApiSubscriberFunctionTransactionContext): Promise<void>; onAfterUpdate?(context: IApiSubscriberFunctionExecutionContext<E, E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<E | undefined>; onBeforeCreate?(context: IApiSubscriberFunctionExecutionContext<E, BeforeCreateResult, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<BeforeCreateResult | undefined>; onBeforeCustom?(context: IApiSubscriberFunctionExecutionContext<E, unknown, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<unknown>; onBeforeDelete?(context: IApiSubscriberFunctionExecutionContext<E, BeforeDeleteResult, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<BeforeDeleteResult | undefined>; onBeforeErrorCommit?(context: IApiSubscriberFunctionTransactionContext, failures: ReadonlyArray<Readonly<IApiFunctionTransactionFailure>>): Promise<void>; onBeforeErrorCreate?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onBeforeErrorCustom?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onBeforeErrorDelete?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onBeforeErrorGet?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onBeforeErrorGetList?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onBeforeErrorGetMany?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onBeforeErrorRollback?(context: IApiSubscriberFunctionTransactionContext, failures: ReadonlyArray<Readonly<IApiFunctionTransactionFailure>>): Promise<void>; onBeforeErrorUpdate?(context: IApiSubscriberFunctionErrorExecutionContext<E, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>, error: Error): Promise<void>; onBeforeGet?(context: IApiSubscriberFunctionExecutionContext<E, BeforeGetResult, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<BeforeGetResult | undefined>; onBeforeGetList?(context: IApiSubscriberFunctionExecutionContext<E, BeforeGetListResult, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<BeforeGetListResult | undefined>; onBeforeGetMany?(context: IApiSubscriberFunctionExecutionContext<E, BeforeGetManyResult, TApiSubscriberFunctionExecutionContextData<E, TTransactionExpectation>>): Promise<BeforeGetManyResult | undefined>; onBeforeUpdate?(context: IApiSubscriberFunctionExecutionContext<E, BeforeUpdateResult, IApiSubscriberFunctionExecutionContextUpdateData<E> & TApiSubscriberFunctionTransactionData<TTransactionExpectation>>): Promise<BeforeUpdateResult | undefined>; }