UNPKG

@elsikora/nestjs-crud-automator

Version:

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

30 lines (29 loc) 1.37 kB
import type { EApiFunctionType } from '../../../../enum/decorator/api/function/index'; import type { IApiBaseEntity } from '../../../api-base-entity.interface'; import type { IApiSubscriberExecutionContext } from './execution-context.interface'; /** * Execution context for function subscriber callbacks. * Extends base execution context with function type information. * @template E - Entity type extending IApiBaseEntity * @template Result - Type of the result field (mutable data payload) * @template Input - Type of the DATA field (immutable context data). Use IApiSubscriberFunctionExecutionContextData<E> for typed access. * @example * ```typescript * import type { IApiSubscriberFunctionExecutionContextData } from '@elsikora/nestjs-crud-automator'; * * async onBeforeCreate( * context: IApiSubscriberFunctionExecutionContext< * User, * TApiFunctionCreateProperties<User>, * IApiSubscriberFunctionExecutionContextData<User> * > * ): Promise<TApiFunctionCreateProperties<User>> { * const manager = context.DATA.eventManager; * const repository = context.DATA.repository; * // ... * } * ``` */ export interface IApiSubscriberFunctionExecutionContext<E extends IApiBaseEntity, Result = unknown, Input = unknown> extends IApiSubscriberExecutionContext<E, Result, Input> { readonly FUNCTION_TYPE: EApiFunctionType; }