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