UNPKG

@elsikora/nestjs-crud-automator

Version:

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

29 lines (28 loc) 1.63 kB
import { EApiFunctionTransactionMode } from '../../../enum/decorator/api'; import { IApiBaseEntity } from '../../../interface/api-base-entity.interface'; import { IApiFunctionStepProperties } from '../../../interface/decorator/api/function/step-properties.interface'; import { Repository } from 'typeorm'; export declare class ApiFunctionStepRuntime { /** * Executes an internal function step with Automator transaction semantics. * @template E - Entity type associated with the decorated step. * @param {object} options - Step execution options. * @param {Array<unknown>} options.functionArguments - Original method arguments. * @param {string} [options.methodName] - Decorated step method name used for transaction tracing. * @param {(...arguments_: Array<unknown>) => Promise<unknown>} options.originalMethod - Original step method. * @param {IApiFunctionStepProperties<E>} options.properties - Step configuration. * @param {{ repository?: Repository<E> }} options.target - Service instance that owns the step. * @param {EApiFunctionTransactionMode} options.transactionMode - Resolved transaction mode. * @returns {Promise<unknown>} Original step result. */ static execute<E extends IApiBaseEntity>(options: { functionArguments: Array<unknown>; methodName?: string; originalMethod: (...arguments_: Array<unknown>) => Promise<unknown>; properties: IApiFunctionStepProperties<E>; target: { repository?: Repository<E>; }; transactionMode: EApiFunctionTransactionMode; }): Promise<unknown>; }