UNPKG

@elsikora/nestjs-crud-automator

Version:

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

30 lines (29 loc) 1.38 kB
import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum'; import type { IApiBaseEntity } from '../../../api-base-entity.interface'; import type { IApiSubscriberExecutionContext } from './execution-context.interface'; /** * Execution context for route subscriber callbacks. * Extends base execution context with route 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 IApiSubscriberRouteExecutionContextData<E> or IApiSubscriberRouteExecutionContextDataExtended<E> for typed access. * @example * ```typescript * import type { IApiSubscriberRouteExecutionContextData } from '@elsikora/nestjs-crud-automator'; * * async onBeforeCreate( * context: IApiSubscriberRouteExecutionContext< * User, * { body: DeepPartial<User> }, * IApiSubscriberRouteExecutionContextData<User> * > * ): Promise<{ body: DeepPartial<User> }> { * const entityMetadata = context.DATA.entityMetadata; * const method = context.DATA.method; * // ... * } * ``` */ export interface IApiSubscriberRouteExecutionContext<E extends IApiBaseEntity, Result = unknown, Input = unknown> extends IApiSubscriberExecutionContext<E, Result, Input> { readonly ROUTE_TYPE: EApiRouteType; }