@elsikora/nestjs-crud-automator 1.11.0-dev.1 → 1.11.1-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +293 -300
  2. package/dist/cjs/class/api/subscriber/executor.class.d.ts +6 -2
  3. package/dist/cjs/class/api/subscriber/executor.class.js +32 -4
  4. package/dist/cjs/class/api/subscriber/executor.class.js.map +1 -1
  5. package/dist/cjs/decorator/api/function/create.decorator.js +9 -4
  6. package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
  7. package/dist/cjs/decorator/api/function/delete.decorator.js +9 -4
  8. package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
  9. package/dist/cjs/decorator/api/function/get-list.decorator.js +9 -4
  10. package/dist/cjs/decorator/api/function/get-list.decorator.js.map +1 -1
  11. package/dist/cjs/decorator/api/function/get-many.decorator.js +9 -4
  12. package/dist/cjs/decorator/api/function/get-many.decorator.js.map +1 -1
  13. package/dist/cjs/decorator/api/function/get.decorator.js +9 -4
  14. package/dist/cjs/decorator/api/function/get.decorator.js.map +1 -1
  15. package/dist/cjs/decorator/api/function/update.decorator.js +9 -4
  16. package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
  17. package/dist/cjs/factory/api/controller.factory.js +42 -17
  18. package/dist/cjs/factory/api/controller.factory.js.map +1 -1
  19. package/dist/cjs/interface/class/api/subscriber/error-execution-context.interface.d.ts +15 -0
  20. package/dist/cjs/interface/class/api/subscriber/execution-context.interface.d.ts +5 -1
  21. package/dist/cjs/interface/class/api/subscriber/function-error-execution-context.interface.d.ts +10 -0
  22. package/dist/cjs/interface/class/api/subscriber/function-execution-context.interface.d.ts +4 -0
  23. package/dist/cjs/interface/class/api/subscriber/function.interface.d.ts +13 -12
  24. package/dist/cjs/interface/class/api/subscriber/index.d.ts +3 -0
  25. package/dist/cjs/interface/class/api/subscriber/route-error-execution-context.interface.d.ts +10 -0
  26. package/dist/cjs/interface/class/api/subscriber/route-execution-context.interface.d.ts +4 -0
  27. package/dist/cjs/interface/class/api/subscriber/route.interface.d.ts +13 -12
  28. package/dist/esm/class/api/subscriber/executor.class.d.ts +6 -2
  29. package/dist/esm/class/api/subscriber/executor.class.js +32 -4
  30. package/dist/esm/class/api/subscriber/executor.class.js.map +1 -1
  31. package/dist/esm/decorator/api/function/create.decorator.js +9 -4
  32. package/dist/esm/decorator/api/function/create.decorator.js.map +1 -1
  33. package/dist/esm/decorator/api/function/delete.decorator.js +9 -4
  34. package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
  35. package/dist/esm/decorator/api/function/get-list.decorator.js +9 -4
  36. package/dist/esm/decorator/api/function/get-list.decorator.js.map +1 -1
  37. package/dist/esm/decorator/api/function/get-many.decorator.js +9 -4
  38. package/dist/esm/decorator/api/function/get-many.decorator.js.map +1 -1
  39. package/dist/esm/decorator/api/function/get.decorator.js +9 -4
  40. package/dist/esm/decorator/api/function/get.decorator.js.map +1 -1
  41. package/dist/esm/decorator/api/function/update.decorator.js +9 -4
  42. package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
  43. package/dist/esm/factory/api/controller.factory.js +42 -17
  44. package/dist/esm/factory/api/controller.factory.js.map +1 -1
  45. package/dist/esm/interface/class/api/subscriber/error-execution-context.interface.d.ts +15 -0
  46. package/dist/esm/interface/class/api/subscriber/execution-context.interface.d.ts +5 -1
  47. package/dist/esm/interface/class/api/subscriber/function-error-execution-context.interface.d.ts +10 -0
  48. package/dist/esm/interface/class/api/subscriber/function-execution-context.interface.d.ts +4 -0
  49. package/dist/esm/interface/class/api/subscriber/function.interface.d.ts +13 -12
  50. package/dist/esm/interface/class/api/subscriber/index.d.ts +3 -0
  51. package/dist/esm/interface/class/api/subscriber/route-error-execution-context.interface.d.ts +10 -0
  52. package/dist/esm/interface/class/api/subscriber/route-execution-context.interface.d.ts +4 -0
  53. package/dist/esm/interface/class/api/subscriber/route.interface.d.ts +13 -12
  54. package/package.json +1 -1
@@ -110,7 +110,12 @@ class ApiControllerFactory {
110
110
  try {
111
111
  const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(body, entityMetadata);
112
112
  if (!primaryKey) {
113
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
113
+ const errorContext = {
114
+ DATA: beforeExecutionContext.DATA,
115
+ ENTITY: entityInstance,
116
+ ROUTE_TYPE: routeType_enum.EApiRouteType.CREATE,
117
+ };
118
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, errorContext, new Error("Primary key not found in entity columns"));
114
119
  throw errorException_utility.ErrorException("Primary key not found in entity columns");
115
120
  }
116
121
  transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body }, { authenticationRequest, headers, ip });
@@ -139,12 +144,12 @@ class ApiControllerFactory {
139
144
  });
140
145
  }
141
146
  catch (error) {
142
- const errorExecutionContext = {
147
+ const errorContext = {
143
148
  DATA: { ...beforeExecutionContext.DATA, authenticationRequest, body, headers, ip },
144
149
  ENTITY: entityInstance,
145
150
  ROUTE_TYPE: routeType_enum.EApiRouteType.CREATE,
146
151
  };
147
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
152
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorContext, error);
148
153
  throw error;
149
154
  }
150
155
  }, "name", { value: methodName });
@@ -168,7 +173,12 @@ class ApiControllerFactory {
168
173
  try {
169
174
  const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
170
175
  if (!primaryKey) {
171
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
176
+ const errorContext = {
177
+ DATA: beforeExecutionContext.DATA,
178
+ ENTITY: entityInstance,
179
+ ROUTE_TYPE: routeType_enum.EApiRouteType.DELETE,
180
+ };
181
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, errorContext, new Error("Primary key not found in entity columns"));
172
182
  throw errorException_utility.ErrorException("Primary key not found in entity columns");
173
183
  }
174
184
  transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
@@ -187,12 +197,12 @@ class ApiControllerFactory {
187
197
  await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.AFTER, afterExecutionContext);
188
198
  }
189
199
  catch (error) {
190
- const errorExecutionContext = {
200
+ const errorContext = {
191
201
  DATA: { ...beforeExecutionContext.DATA, authenticationRequest, headers, ip, parameters },
192
202
  ENTITY: entityInstance,
193
203
  ROUTE_TYPE: routeType_enum.EApiRouteType.DELETE,
194
204
  };
195
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
205
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorContext, error);
196
206
  throw error;
197
207
  }
198
208
  }, "name", { value: methodName });
@@ -216,7 +226,12 @@ class ApiControllerFactory {
216
226
  try {
217
227
  const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
218
228
  if (!primaryKey) {
219
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
229
+ const errorContext = {
230
+ DATA: beforeExecutionContext.DATA,
231
+ ENTITY: entityInstance,
232
+ ROUTE_TYPE: routeType_enum.EApiRouteType.GET,
233
+ };
234
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, errorContext, new Error("Primary key not found in entity columns"));
220
235
  throw errorException_utility.ErrorException("Primary key not found in entity columns");
221
236
  }
222
237
  transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
@@ -243,12 +258,12 @@ class ApiControllerFactory {
243
258
  });
244
259
  }
245
260
  catch (error) {
246
- const errorExecutionContext = {
261
+ const errorContext = {
247
262
  DATA: { ...beforeExecutionContext.DATA, authenticationRequest, headers, ip, parameters },
248
263
  ENTITY: entityInstance,
249
264
  ROUTE_TYPE: routeType_enum.EApiRouteType.GET,
250
265
  };
251
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
266
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorContext, error);
252
267
  throw error;
253
268
  }
254
269
  }, "name", { value: methodName });
@@ -301,12 +316,12 @@ class ApiControllerFactory {
301
316
  });
302
317
  }
303
318
  catch (error) {
304
- const errorExecutionContext = {
319
+ const errorContext = {
305
320
  DATA: { ...beforeExecutionContext.DATA, authenticationRequest, headers, ip, query },
306
321
  ENTITY: entityInstance,
307
322
  ROUTE_TYPE: routeType_enum.EApiRouteType.GET_LIST,
308
323
  };
309
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET_LIST, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
324
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET_LIST, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorContext, error);
310
325
  throw error;
311
326
  }
312
327
  }, "name", { value: methodName });
@@ -331,7 +346,12 @@ class ApiControllerFactory {
331
346
  try {
332
347
  const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
333
348
  if (!primaryKey) {
334
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
349
+ const errorContext = {
350
+ DATA: beforeExecutionContext.DATA,
351
+ ENTITY: entityInstance,
352
+ ROUTE_TYPE: routeType_enum.EApiRouteType.PARTIAL_UPDATE,
353
+ };
354
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, errorContext, new Error("Primary key not found in entity columns"));
335
355
  throw errorException_utility.ErrorException("Primary key not found in entity columns");
336
356
  }
337
357
  transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
@@ -357,12 +377,12 @@ class ApiControllerFactory {
357
377
  });
358
378
  }
359
379
  catch (error) {
360
- const errorExecutionContext = {
380
+ const errorContext = {
361
381
  DATA: { ...beforeExecutionContext.DATA, authenticationRequest, body, headers, ip, parameters },
362
382
  ENTITY: entityInstance,
363
383
  ROUTE_TYPE: routeType_enum.EApiRouteType.PARTIAL_UPDATE,
364
384
  };
365
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
385
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorContext, error);
366
386
  throw error;
367
387
  }
368
388
  }, "name", { value: methodName });
@@ -387,7 +407,12 @@ class ApiControllerFactory {
387
407
  try {
388
408
  const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
389
409
  if (!primaryKey) {
390
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
410
+ const errorContext = {
411
+ DATA: beforeExecutionContext.DATA,
412
+ ENTITY: entityInstance,
413
+ ROUTE_TYPE: routeType_enum.EApiRouteType.UPDATE,
414
+ };
415
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, errorContext, new Error("Primary key not found in entity columns"));
391
416
  throw errorException_utility.ErrorException("Primary key not found in entity columns");
392
417
  }
393
418
  transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
@@ -413,12 +438,12 @@ class ApiControllerFactory {
413
438
  });
414
439
  }
415
440
  catch (error) {
416
- const errorExecutionContext = {
441
+ const errorContext = {
417
442
  DATA: { ...beforeExecutionContext.DATA, authenticationRequest, body, headers, ip, parameters },
418
443
  ENTITY: entityInstance,
419
444
  ROUTE_TYPE: routeType_enum.EApiRouteType.UPDATE,
420
445
  };
421
- await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
446
+ await executor_class.ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorContext, error);
422
447
  throw error;
423
448
  }
424
449
  }, "name", { value: methodName });
@@ -1 +1 @@
1
- {"version":3,"file":"controller.factory.js","sources":["../../../../../src/factory/api/controller.factory.ts"],"sourcesContent":[null],"names":["GenerateEntityInformation","analyzeEntityMetadata","ErrorException","Controller","ApiTags","CONTROLLER_API_DECORATOR_CONSTANT","ApiControllerWriteMethod","ApiControllerApplyMetadata","ApiControllerApplyDecorators","ApiControllerWriteDtoSwagger","EApiRouteType","ApiSubscriberExecutor","EApiSubscriberOnType","ApiControllerGetPrimaryColumn","ApiControllerTransformData","ApiControllerValidateRequest","ApiControllerHandleRequestRelations","DtoGenerate","EApiDtoType","plainToInstance","ApiControllerGetListTransformFilter","FUNCTION_API_DECORATOR_CONSTANT"],"mappings":"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"}
1
+ {"version":3,"file":"controller.factory.js","sources":["../../../../../src/factory/api/controller.factory.ts"],"sourcesContent":[null],"names":["GenerateEntityInformation","analyzeEntityMetadata","ErrorException","Controller","ApiTags","CONTROLLER_API_DECORATOR_CONSTANT","ApiControllerWriteMethod","ApiControllerApplyMetadata","ApiControllerApplyDecorators","ApiControllerWriteDtoSwagger","EApiRouteType","ApiSubscriberExecutor","EApiSubscriberOnType","ApiControllerGetPrimaryColumn","ApiControllerTransformData","ApiControllerValidateRequest","ApiControllerHandleRequestRelations","DtoGenerate","EApiDtoType","plainToInstance","ApiControllerGetListTransformFilter","FUNCTION_API_DECORATOR_CONSTANT"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { IApiBaseEntity } from '../../../api-base-entity.interface';
2
+ /**
3
+ * Execution context for error subscriber callbacks.
4
+ * Contains only entity and input data, without result field.
5
+ */
6
+ export interface IApiSubscriberErrorExecutionContext<E extends IApiBaseEntity, Input = unknown> {
7
+ /**
8
+ * An immutable container for metadata (e.g., transaction manager, HTTP headers)
9
+ */
10
+ readonly DATA: Input;
11
+ /**
12
+ * The entity instance the operation is being performed on.
13
+ */
14
+ readonly ENTITY: E;
15
+ }
@@ -1,4 +1,8 @@
1
1
  import type { IApiBaseEntity } from '../../../api-base-entity.interface';
2
+ /**
3
+ * Execution context for subscriber callbacks.
4
+ * Contains entity, input data, and mutable result field.
5
+ */
2
6
  export interface IApiSubscriberExecutionContext<E extends IApiBaseEntity, Result = unknown, Input = unknown> {
3
7
  /**
4
8
  * An immutable container for metadata (e.g., transaction manager, HTTP headers)
@@ -11,5 +15,5 @@ export interface IApiSubscriberExecutionContext<E extends IApiBaseEntity, Result
11
15
  /**
12
16
  * The mutable data payload that subscribers can modify.
13
17
  */
14
- result?: Result;
18
+ result: Result;
15
19
  }
@@ -0,0 +1,10 @@
1
+ import type { EApiFunctionType } from '../../../../enum/decorator/api/function/index';
2
+ import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
+ import type { IApiSubscriberErrorExecutionContext } from './error-execution-context.interface';
4
+ /**
5
+ * Error execution context for function subscriber callbacks.
6
+ * Contains function type information but no result field.
7
+ */
8
+ export interface IApiSubscriberFunctionErrorExecutionContext<E extends IApiBaseEntity, Input = unknown> extends IApiSubscriberErrorExecutionContext<E, Input> {
9
+ readonly FUNCTION_TYPE: EApiFunctionType;
10
+ }
@@ -1,6 +1,10 @@
1
1
  import type { EApiFunctionType } from '../../../../enum/decorator/api/function/index';
2
2
  import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
3
  import type { IApiSubscriberExecutionContext } from './execution-context.interface';
4
+ /**
5
+ * Execution context for function subscriber callbacks.
6
+ * Extends base execution context with function type information.
7
+ */
4
8
  export interface IApiSubscriberFunctionExecutionContext<E extends IApiBaseEntity, Result = unknown, Input = unknown> extends IApiSubscriberExecutionContext<E, Result, Input> {
5
9
  readonly FUNCTION_TYPE: EApiFunctionType;
6
10
  }
@@ -1,28 +1,29 @@
1
1
  import type { IApiBaseEntity } from '../../../api-base-entity.interface';
2
+ import type { IApiSubscriberFunctionErrorExecutionContext } from './function-error-execution-context.interface';
2
3
  import type { IApiSubscriberFunctionExecutionContext } from './function-execution-context.interface';
3
4
  import type { IApiSubscriber } from './interface';
4
5
  import type { TApiFunctionCreateProperties } from '../../../../type/decorator/api/function/index';
5
6
  export interface IApiSubscriberFunction<E extends IApiBaseEntity> extends IApiSubscriber {
6
7
  onAfterCreate?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
7
8
  onAfterDelete?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
8
- onAfterErrorCreate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
9
- onAfterErrorDelete?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
10
- onAfterErrorGet?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
11
- onAfterErrorGetList?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
12
- onAfterErrorGetMany?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
13
- onAfterErrorUpdate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
9
+ onAfterErrorCreate?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
10
+ onAfterErrorDelete?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
11
+ onAfterErrorGet?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
12
+ onAfterErrorGetList?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
13
+ onAfterErrorGetMany?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
14
+ onAfterErrorUpdate?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
14
15
  onAfterGet?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
15
16
  onAfterGetList?(context: IApiSubscriberFunctionExecutionContext<E, Array<E>>): Promise<Array<E> | undefined>;
16
17
  onAfterGetMany?(context: IApiSubscriberFunctionExecutionContext<E, Array<E>>): Promise<Array<E> | undefined>;
17
18
  onAfterUpdate?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
18
19
  onBeforeCreate?(context: IApiSubscriberFunctionExecutionContext<E, TApiFunctionCreateProperties<E>>): Promise<TApiFunctionCreateProperties<E> | undefined>;
19
20
  onBeforeDelete?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
20
- onBeforeErrorCreate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
21
- onBeforeErrorDelete?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
22
- onBeforeErrorGet?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
23
- onBeforeErrorGetList?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
24
- onBeforeErrorGetMany?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
25
- onBeforeErrorUpdate?(context: IApiSubscriberFunctionExecutionContext<E, never>, error: Error): Promise<void>;
21
+ onBeforeErrorCreate?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
22
+ onBeforeErrorDelete?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
23
+ onBeforeErrorGet?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
24
+ onBeforeErrorGetList?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
25
+ onBeforeErrorGetMany?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
26
+ onBeforeErrorUpdate?(context: IApiSubscriberFunctionErrorExecutionContext<E>, error: Error): Promise<void>;
26
27
  onBeforeGet?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
27
28
  onBeforeGetList?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
28
29
  onBeforeGetMany?(context: IApiSubscriberFunctionExecutionContext<E, E>): Promise<E | undefined>;
@@ -1,6 +1,9 @@
1
+ export type * from './error-execution-context.interface';
1
2
  export type * from './execution-context.interface';
3
+ export type * from './function-error-execution-context.interface';
2
4
  export type * from './function-execution-context.interface';
3
5
  export type * from './function.interface';
4
6
  export type * from './interface';
7
+ export type * from './route-error-execution-context.interface';
5
8
  export type * from './route-execution-context.interface';
6
9
  export type * from './route.interface';
@@ -0,0 +1,10 @@
1
+ import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
2
+ import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
+ import type { IApiSubscriberErrorExecutionContext } from './error-execution-context.interface';
4
+ /**
5
+ * Error execution context for route subscriber callbacks.
6
+ * Contains route type information but no result field.
7
+ */
8
+ export interface IApiSubscriberRouteErrorExecutionContext<E extends IApiBaseEntity, Input = unknown> extends IApiSubscriberErrorExecutionContext<E, Input> {
9
+ readonly ROUTE_TYPE: EApiRouteType;
10
+ }
@@ -1,6 +1,10 @@
1
1
  import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
2
2
  import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
3
  import type { IApiSubscriberExecutionContext } from './execution-context.interface';
4
+ /**
5
+ * Execution context for route subscriber callbacks.
6
+ * Extends base execution context with route type information.
7
+ */
4
8
  export interface IApiSubscriberRouteExecutionContext<E extends IApiBaseEntity, Result = unknown, Input = unknown> extends IApiSubscriberExecutionContext<E, Result, Input> {
5
9
  readonly ROUTE_TYPE: EApiRouteType;
6
10
  }
@@ -1,16 +1,17 @@
1
1
  import type { IApiBaseEntity } from '../../../api-base-entity.interface';
2
2
  import type { IApiSubscriber } from './interface';
3
+ import type { IApiSubscriberRouteErrorExecutionContext } from './route-error-execution-context.interface';
3
4
  import type { IApiSubscriberRouteExecutionContext } from './route-execution-context.interface';
4
5
  import type { DeepPartial } from "typeorm";
5
6
  export interface IApiSubscriberRoute<E extends IApiBaseEntity> extends IApiSubscriber {
6
7
  onAfterCreate?(context: IApiSubscriberRouteExecutionContext<E, E>): Promise<E | undefined>;
7
8
  onAfterDelete?(context: IApiSubscriberRouteExecutionContext<E, E>): Promise<E | undefined>;
8
- onAfterErrorCreate?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
9
- onAfterErrorDelete?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
10
- onAfterErrorGet?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
11
- onAfterErrorGetList?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
12
- onAfterErrorGetMany?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
13
- onAfterErrorUpdate?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
9
+ onAfterErrorCreate?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
10
+ onAfterErrorDelete?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
11
+ onAfterErrorGet?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
12
+ onAfterErrorGetList?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
13
+ onAfterErrorGetMany?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
14
+ onAfterErrorUpdate?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
14
15
  onAfterGet?(context: IApiSubscriberRouteExecutionContext<E, E>): Promise<E | undefined>;
15
16
  onAfterGetList?(context: IApiSubscriberRouteExecutionContext<E, Array<E>>): Promise<Array<E> | undefined>;
16
17
  onAfterGetMany?(context: IApiSubscriberRouteExecutionContext<E, Array<E>>): Promise<Array<E> | undefined>;
@@ -21,12 +22,12 @@ export interface IApiSubscriberRoute<E extends IApiBaseEntity> extends IApiSubsc
21
22
  body: DeepPartial<E>;
22
23
  } | undefined>;
23
24
  onBeforeDelete?(context: IApiSubscriberRouteExecutionContext<E, E>): Promise<E | undefined>;
24
- onBeforeErrorCreate?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
25
- onBeforeErrorDelete?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
26
- onBeforeErrorGet?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
27
- onBeforeErrorGetList?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
28
- onBeforeErrorGetMany?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
29
- onBeforeErrorUpdate?(context: IApiSubscriberRouteExecutionContext<E, never>, error: Error): Promise<void>;
25
+ onBeforeErrorCreate?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
26
+ onBeforeErrorDelete?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
27
+ onBeforeErrorGet?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
28
+ onBeforeErrorGetList?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
29
+ onBeforeErrorGetMany?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
30
+ onBeforeErrorUpdate?(context: IApiSubscriberRouteErrorExecutionContext<E>, error: Error): Promise<void>;
30
31
  onBeforeGet?(context: IApiSubscriberRouteExecutionContext<E, E>): Promise<E | undefined>;
31
32
  onBeforeGetList?(context: IApiSubscriberRouteExecutionContext<E, E>): Promise<E | undefined>;
32
33
  onBeforeGetMany?(context: IApiSubscriberRouteExecutionContext<E, E>): Promise<E | undefined>;
@@ -2,9 +2,13 @@ import type { EApiFunctionType } from '../../../enum/decorator/api/function/inde
2
2
  import type { EApiSubscriberOnType } from '../../../enum/decorator/api/on-type.enum';
3
3
  import type { EApiRouteType } from '../../../enum/decorator/api/route-type.enum';
4
4
  import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
5
+ import type { IApiSubscriberFunctionErrorExecutionContext } from '../../../interface/class/api/subscriber/function-error-execution-context.interface';
5
6
  import type { IApiSubscriberFunctionExecutionContext } from '../../../interface/class/api/subscriber/function-execution-context.interface';
7
+ import type { IApiSubscriberRouteErrorExecutionContext } from '../../../interface/class/api/subscriber/route-error-execution-context.interface';
6
8
  import type { IApiSubscriberRouteExecutionContext } from '../../../interface/class/api/subscriber/route-execution-context.interface';
7
9
  export declare class ApiSubscriberExecutor {
8
- static executeFunctionSubscribers<E extends IApiBaseEntity, TResult, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, functionType: EApiFunctionType, onType: EApiSubscriberOnType, context: IApiSubscriberFunctionExecutionContext<E, TResult, TInput>, error?: Error): Promise<TResult | undefined>;
9
- static executeRouteSubscribers<E extends IApiBaseEntity, TResult, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, routeType: EApiRouteType, onType: EApiSubscriberOnType, context: IApiSubscriberRouteExecutionContext<E, TResult, TInput>, error?: Error): Promise<TResult | undefined>;
10
+ static executeFunctionErrorSubscribers<E extends IApiBaseEntity, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, functionType: EApiFunctionType, onType: EApiSubscriberOnType, context: IApiSubscriberFunctionErrorExecutionContext<E, TInput>, error: Error): Promise<void>;
11
+ static executeFunctionSubscribers<E extends IApiBaseEntity, TResult, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, functionType: EApiFunctionType, onType: EApiSubscriberOnType, context: IApiSubscriberFunctionExecutionContext<E, TResult, TInput>): Promise<TResult | undefined>;
12
+ static executeRouteErrorSubscribers<E extends IApiBaseEntity, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, routeType: EApiRouteType, onType: EApiSubscriberOnType, context: IApiSubscriberRouteErrorExecutionContext<E, TInput>, error: Error): Promise<void>;
13
+ static executeRouteSubscribers<E extends IApiBaseEntity, TResult, TInput>(constructor: new (...arguments_: Array<unknown>) => unknown, entity: E, routeType: EApiRouteType, onType: EApiSubscriberOnType, context: IApiSubscriberRouteExecutionContext<E, TResult, TInput>): Promise<TResult | undefined>;
10
14
  }
@@ -6,7 +6,21 @@ import { apiSubscriberRegistry } from './registry.class.js';
6
6
 
7
7
  const subscriberLogger = LoggerUtility.getLogger("ApiSubscriberExecutor");
8
8
  class ApiSubscriberExecutor {
9
- static async executeFunctionSubscribers(constructor, entity, functionType, onType, context, error) {
9
+ static async executeFunctionErrorSubscribers(constructor, entity, functionType, onType, context, error) {
10
+ if (!Reflect.hasMetadata(SERVICE_API_DECORATOR_CONSTANT.OBSERVABLE_METADATA_KEY, constructor)) {
11
+ return;
12
+ }
13
+ const subscribers = apiSubscriberRegistry.getFunctionSubscribers(entity.constructor.name);
14
+ for (const subscriber of subscribers) {
15
+ const hookName = `on${onType}${CapitalizeString(functionType)}`;
16
+ const hook = subscriber[hookName];
17
+ if (typeof hook === "function") {
18
+ subscriberLogger.verbose(`Executing function error hook ${hookName} from ${subscriber.constructor.name} for entity ${entity.constructor.name}`);
19
+ await hook.call(subscriber, context, error);
20
+ }
21
+ }
22
+ }
23
+ static async executeFunctionSubscribers(constructor, entity, functionType, onType, context) {
10
24
  if (!Reflect.hasMetadata(SERVICE_API_DECORATOR_CONSTANT.OBSERVABLE_METADATA_KEY, constructor)) {
11
25
  return context.result;
12
26
  }
@@ -17,7 +31,7 @@ class ApiSubscriberExecutor {
17
31
  const hook = subscriber[hookName];
18
32
  if (typeof hook === "function") {
19
33
  subscriberLogger.verbose(`Executing function hook ${hookName} from ${subscriber.constructor.name} for entity ${entity.constructor.name}`);
20
- const hookResult = (await hook.call(subscriber, { ...context, result }, error));
34
+ const hookResult = (await hook.call(subscriber, { ...context, result }));
21
35
  if (hookResult !== undefined) {
22
36
  result = hookResult;
23
37
  }
@@ -25,7 +39,21 @@ class ApiSubscriberExecutor {
25
39
  }
26
40
  return result;
27
41
  }
28
- static async executeRouteSubscribers(constructor, entity, routeType, onType, context, error) {
42
+ static async executeRouteErrorSubscribers(constructor, entity, routeType, onType, context, error) {
43
+ if (!Reflect.hasMetadata(CONTROLLER_API_DECORATOR_CONSTANT.OBSERVABLE_METADATA_KEY, constructor)) {
44
+ return;
45
+ }
46
+ const subscribers = apiSubscriberRegistry.getRouteSubscribers(entity.constructor.name);
47
+ for (const subscriber of subscribers) {
48
+ const hookName = `on${onType}${CapitalizeString(routeType)}`;
49
+ const hook = subscriber[hookName];
50
+ if (typeof hook === "function") {
51
+ subscriberLogger.verbose(`Executing route error hook ${hookName} from ${subscriber.constructor.name} for entity ${entity.constructor.name}`);
52
+ await hook.call(subscriber, context, error);
53
+ }
54
+ }
55
+ }
56
+ static async executeRouteSubscribers(constructor, entity, routeType, onType, context) {
29
57
  if (!Reflect.hasMetadata(CONTROLLER_API_DECORATOR_CONSTANT.OBSERVABLE_METADATA_KEY, constructor)) {
30
58
  return context.result;
31
59
  }
@@ -36,7 +64,7 @@ class ApiSubscriberExecutor {
36
64
  const hook = subscriber[hookName];
37
65
  if (typeof hook === "function") {
38
66
  subscriberLogger.verbose(`Executing route hook ${hookName} from ${subscriber.constructor.name} for entity ${entity.constructor.name}`);
39
- const hookResult = (await hook.call(subscriber, { ...context, result }, error));
67
+ const hookResult = (await hook.call(subscriber, { ...context, result }));
40
68
  if (hookResult !== undefined) {
41
69
  result = hookResult;
42
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.class.js","sources":["../../../../../../src/class/api/subscriber/executor.class.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAeA,MAAM,gBAAgB,GAAkB,aAAa,CAAC,SAAS,CAAC,uBAAuB,CAAC;MAE3E,qBAAqB,CAAA;AAC1B,IAAA,aAAa,0BAA0B,CAA4C,WAA2D,EAAE,MAAS,EAAE,YAA8B,EAAE,MAA4B,EAAE,OAAmE,EAAE,KAAa,EAAA;AACjT,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,8BAA8B,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE;YAC9F,OAAO,OAAO,CAAC,MAAiB;QACjC;AAEA,QAAA,MAAM,WAAW,GAAkD,qBAAqB,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;AACxI,QAAA,IAAI,MAAM,GAAwB,OAAO,CAAC,MAAM;AAEhD,QAAA,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACrC,MAAM,QAAQ,GAAW,CAAA,EAAA,EAAK,MAAM,CAAA,EAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA,CAAE;AACvE,YAAA,MAAM,IAAI,GAAY,UAAU,CAAC,QAAwD,CAAC;AAE1F,YAAA,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAC/B,gBAAA,gBAAgB,CAAC,OAAO,CAAC,2BAA2B,QAAQ,CAAA,MAAA,EAAS,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,YAAA,EAAe,MAAM,CAAC,WAAW,CAAC,IAAI,CAAA,CAAE,CAAC;gBACzI,MAAM,UAAU,IAAyB,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,CAAwB;AAE3H,gBAAA,IAAI,UAAU,KAAK,SAAS,EAAE;oBAC7B,MAAM,GAAG,UAAqB;gBAC/B;YACD;QACD;AAEA,QAAA,OAAO,MAAM;IACd;AAEO,IAAA,aAAa,uBAAuB,CAA4C,WAA2D,EAAE,MAAS,EAAE,SAAwB,EAAE,MAA4B,EAAE,OAAgE,EAAE,KAAa,EAAA;AACrS,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iCAAiC,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE;YACjG,OAAO,OAAO,CAAC,MAAiB;QACjC;AAEA,QAAA,MAAM,WAAW,GAA+C,qBAAqB,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;AAClI,QAAA,IAAI,MAAM,GAAwB,OAAO,CAAC,MAAM;AAEhD,QAAA,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACrC,MAAM,QAAQ,GAAW,CAAA,EAAA,EAAK,MAAM,CAAA,EAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA,CAAE;AACpE,YAAA,MAAM,IAAI,GAAY,UAAU,CAAC,QAAqD,CAAC;AAEvF,YAAA,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAC/B,gBAAA,gBAAgB,CAAC,OAAO,CAAC,wBAAwB,QAAQ,CAAA,MAAA,EAAS,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,YAAA,EAAe,MAAM,CAAC,WAAW,CAAC,IAAI,CAAA,CAAE,CAAC;gBACtI,MAAM,UAAU,IAAyB,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,CAAwB;AAE3H,gBAAA,IAAI,UAAU,KAAK,SAAS,EAAE;oBAC7B,MAAM,GAAG,UAAU;gBACpB;YACD;QACD;AAEA,QAAA,OAAO,MAAM;IACd;AACA;;;;"}
1
+ {"version":3,"file":"executor.class.js","sources":["../../../../../../src/class/api/subscriber/executor.class.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -31,7 +31,12 @@ function ApiFunctionCreate(properties) {
31
31
  }
32
32
  const repository = this.repository;
33
33
  if (!repository) {
34
- await ApiSubscriberExecutor.executeFunctionSubscribers(this.constructor, entityInstance, EApiFunctionType.CREATE, EApiSubscriberOnType.BEFORE_ERROR, executionContext, new Error("Repository is not available in this context"));
34
+ const errorExecutionContext = {
35
+ DATA: { eventManager, repository: this.repository },
36
+ ENTITY: entityInstance,
37
+ FUNCTION_TYPE: EApiFunctionType.CREATE,
38
+ };
39
+ await ApiSubscriberExecutor.executeFunctionErrorSubscribers(this.constructor, entityInstance, EApiFunctionType.CREATE, EApiSubscriberOnType.BEFORE_ERROR, errorExecutionContext, new Error("Repository is not available in this context"));
35
40
  throw ErrorException("Repository is not available in this context");
36
41
  }
37
42
  return executor({ constructor: this.constructor, entity, eventManager, properties: executionContext.result ?? {}, repository });
@@ -72,17 +77,17 @@ async function executor(options) {
72
77
  }
73
78
  catch (error) {
74
79
  const entityInstance = new entity();
75
- const executionContext = {
80
+ const errorExecutionContext = {
76
81
  DATA: { eventManager, properties, repository },
77
82
  ENTITY: entityInstance,
78
83
  FUNCTION_TYPE: EApiFunctionType.CREATE,
79
84
  };
80
85
  if (error instanceof HttpException) {
81
- await ApiSubscriberExecutor.executeFunctionSubscribers(constructor, entityInstance, EApiFunctionType.CREATE, EApiSubscriberOnType.AFTER_ERROR, executionContext, error);
86
+ await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.CREATE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
82
87
  throw error;
83
88
  }
84
89
  LoggerUtility.getLogger("ApiFunctionCreate").verbose(`Error creating entity ${entity.name}:`, error);
85
- await ApiSubscriberExecutor.executeFunctionSubscribers(constructor, entityInstance, EApiFunctionType.CREATE, EApiSubscriberOnType.AFTER_ERROR, executionContext, error);
90
+ await ApiSubscriberExecutor.executeFunctionErrorSubscribers(constructor, entityInstance, EApiFunctionType.CREATE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
86
91
  throw new InternalServerErrorException(ErrorString({
87
92
  entity: entity,
88
93
  type: EErrorStringAction.CREATING_ERROR,
@@ -1 +1 @@
1
- {"version":3,"file":"create.decorator.js","sources":["../../../../../../src/decorator/api/function/create.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.decorator.js","sources":["../../../../../../src/decorator/api/function/create.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}