@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
49 lines (48 loc) • 7.99 kB
TypeScript
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>;
}