@mbc-cqrs-serverless/import 1.0.19 → 1.0.21

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.
@@ -62,8 +62,10 @@ let CsvImportSfnEventHandler = CsvImportSfnEventHandler_1 = class CsvImportSfnEv
62
62
  });
63
63
  if (updatedEntity.processedRows >= totalRows) {
64
64
  this.logger.log(`Job ${input.sourceId} already finished. Setting final status.`);
65
+ // Set status to FAILED if any child job failed, otherwise COMPLETED
66
+ // 子ジョブが1つでも失敗していればFAILED、そうでなければCOMPLETED
65
67
  const finalStatus = updatedEntity.failedRows > 0
66
- ? enum_1.ImportStatusEnum.COMPLETED
68
+ ? enum_1.ImportStatusEnum.FAILED
67
69
  : enum_1.ImportStatusEnum.COMPLETED;
68
70
  await this.importService.updateStatus(parentKey, finalStatus);
69
71
  }
@@ -188,7 +190,9 @@ let CsvImportSfnEventHandler = CsvImportSfnEventHandler_1 = class CsvImportSfnEv
188
190
  const { processedRows, failedRows } = updatedEntity;
189
191
  if (totalRows > 0 && processedRows >= totalRows) {
190
192
  this.logger.log(`Finalizing parent CSV job ${parentKey.pk}#${parentKey.sk}`);
191
- const finalStatus = failedRows > 0 ? enum_1.ImportStatusEnum.COMPLETED : enum_1.ImportStatusEnum.COMPLETED;
193
+ // Set status to FAILED if any child job failed, otherwise COMPLETED
194
+ // 子ジョブが1つでも失敗していればFAILED、そうでなければCOMPLETED
195
+ const finalStatus = failedRows > 0 ? enum_1.ImportStatusEnum.FAILED : enum_1.ImportStatusEnum.COMPLETED;
192
196
  await this.importService.updateStatus(parentKey, finalStatus, {
193
197
  result: {
194
198
  message: 'All child jobs have been processed.',
@@ -1 +1 @@
1
- {"version":3,"file":"csv-import.sfn.event.handler.js","sourceRoot":"","sources":["../../src/event/csv-import.sfn.event.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv-import.sfn.event.handler.js","sourceRoot":"","sources":["../../src/event/csv-import.sfn.event.handler.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { IEventHandler } from '@mbc-cqrs-serverless/core';
2
2
  import { ImportService } from '../import.service';
3
+ import { IZipFinalizationHook } from '../interface/zip-finalization-hook.interface';
3
4
  import { ZipImportSfnEvent } from './zip-import.sfn.event';
4
5
  export declare class ZipImportSfnEventHandler implements IEventHandler<ZipImportSfnEvent> {
5
6
  private readonly importService;
7
+ private readonly finalizationHooks;
6
8
  private readonly logger;
7
- constructor(importService: ImportService);
9
+ constructor(importService: ImportService, finalizationHooks: IZipFinalizationHook[]);
8
10
  execute(event: ZipImportSfnEvent): Promise<any>;
9
11
  /**
10
12
  * Handles the trigger_single_csv_and_wait state from the orchestrator.
@@ -18,4 +20,9 @@ export declare class ZipImportSfnEventHandler implements IEventHandler<ZipImport
18
20
  * status on the original ZIP_MASTER_JOB.
19
21
  */
20
22
  private finalizeZipMasterJob;
23
+ /**
24
+ * Executes all registered ZIP finalization hooks in parallel.
25
+ * Errors are logged but do not affect job completion status.
26
+ */
27
+ private executeFinalizationHooks;
21
28
  }
@@ -8,17 +8,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  var ZipImportSfnEventHandler_1;
12
15
  Object.defineProperty(exports, "__esModule", { value: true });
13
16
  exports.ZipImportSfnEventHandler = void 0;
14
17
  const core_1 = require("@mbc-cqrs-serverless/core");
15
18
  const common_1 = require("@nestjs/common");
16
19
  const enum_1 = require("../enum");
20
+ const import_module_definition_1 = require("../import.module-definition");
17
21
  const import_service_1 = require("../import.service");
18
22
  const zip_import_sfn_event_1 = require("./zip-import.sfn.event");
19
23
  let ZipImportSfnEventHandler = ZipImportSfnEventHandler_1 = class ZipImportSfnEventHandler {
20
- constructor(importService) {
24
+ constructor(importService, finalizationHooks) {
21
25
  this.importService = importService;
26
+ this.finalizationHooks = finalizationHooks;
22
27
  this.logger = new common_1.Logger(ZipImportSfnEventHandler_1.name);
23
28
  }
24
29
  async execute(event) {
@@ -82,16 +87,53 @@ let ZipImportSfnEventHandler = ZipImportSfnEventHandler_1 = class ZipImportSfnEv
82
87
  return acc;
83
88
  }, { totalRows: 0, processedRows: 0, failedRows: 0 });
84
89
  const finalStatus = enum_1.ImportStatusEnum.COMPLETED;
90
+ // Execute finalization hooks in parallel
91
+ await this.executeFinalizationHooks(event, masterJobKey, finalSummary, finalStatus);
85
92
  await this.importService.updateStatus(masterJobKey, finalStatus, {
86
93
  result: finalSummary,
87
94
  });
88
95
  this.logger.log(`Successfully finalized ZIP master job ${masterJobKey.pk}#${masterJobKey.sk} with status ${finalStatus}`);
89
96
  }
97
+ /**
98
+ * Executes all registered ZIP finalization hooks in parallel.
99
+ * Errors are logged but do not affect job completion status.
100
+ */
101
+ async executeFinalizationHooks(event, masterJobKey, results, status) {
102
+ if (!this.finalizationHooks || this.finalizationHooks.length === 0) {
103
+ this.logger.debug('No ZIP finalization hooks registered');
104
+ return;
105
+ }
106
+ this.logger.log(`Executing ${this.finalizationHooks.length} ZIP finalization hook(s)`);
107
+ const context = {
108
+ event,
109
+ masterJobKey,
110
+ results,
111
+ status,
112
+ executionInput: event.context.Execution.Input,
113
+ };
114
+ // Execute all hooks in parallel with error isolation
115
+ const hookPromises = this.finalizationHooks.map(async (hook, index) => {
116
+ try {
117
+ this.logger.log(`Executing ZIP finalization hook ${index + 1}/${this.finalizationHooks.length}`);
118
+ await hook.execute(context);
119
+ this.logger.log(`ZIP finalization hook ${index + 1} completed successfully`);
120
+ }
121
+ catch (error) {
122
+ const errorMessage = error instanceof Error ? error.message : String(error);
123
+ const errorStack = error instanceof Error ? error.stack : undefined;
124
+ this.logger.error(`ZIP finalization hook ${index + 1} failed: ${errorMessage}`, errorStack);
125
+ // Continue execution - don't propagate error
126
+ }
127
+ });
128
+ await Promise.allSettled(hookPromises);
129
+ this.logger.log(`All ZIP finalization hooks completed`);
130
+ }
90
131
  };
91
132
  exports.ZipImportSfnEventHandler = ZipImportSfnEventHandler;
92
133
  exports.ZipImportSfnEventHandler = ZipImportSfnEventHandler = ZipImportSfnEventHandler_1 = __decorate([
93
134
  (0, common_1.Injectable)(),
94
135
  (0, core_1.EventHandler)(zip_import_sfn_event_1.ZipImportSfnEvent),
95
- __metadata("design:paramtypes", [import_service_1.ImportService])
136
+ __param(1, (0, common_1.Inject)(import_module_definition_1.ZIP_FINALIZATION_HOOKS)),
137
+ __metadata("design:paramtypes", [import_service_1.ImportService, Array])
96
138
  ], ZipImportSfnEventHandler);
97
139
  //# sourceMappingURL=zip-import.sfn.event.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zip-import.sfn.event.handler.js","sourceRoot":"","sources":["../../src/event/zip-import.sfn.event.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip-import.sfn.event.handler.js","sourceRoot":"","sources":["../../src/event/zip-import.sfn.event.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAIkC;AAClC,2CAA2D;AAG3D,kCAA0D;AAC1D,0EAAoE;AACpE,sDAAiD;AAKjD,iEAA0D;AAInD,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAKnC,YACmB,aAA4B,EAE7C,iBAA0D;QAFzC,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAwB;QAL3C,WAAM,GAAW,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAA;IAMxE,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,KAAwB;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,SAAS,cAAc,CAAC,CAAA;QAE5D,IAAI,SAAS,KAAK,6BAA6B,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD,SAAS,EAAE,CAC/D,CAAA;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAAC,KAAwB;QACxD,MAAM,KAAK,GAAI,KAAK,CAAC,KAAa,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAA;QACxD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;QAC3B,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAA;QAElE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAA;QAExD,IAAI,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,2DAA2D;YAC3D,8CAA8C;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;YAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,4CAA4C,KAAK,mDAAmD,CACrG,CAAA;YACH,CAAC;YACD,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;QAED,MAAM,GAAG,GAAuB;YAC9B,cAAc,EAAE,qBAAc,CAAC,aAAa;YAC5C,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,SAAS,EAAE,SAAS;SACrB,CAAA;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAChD,GAAG,EACH,SAAS,EACT,YAAY,CACb,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,oCAAoC,SAAS,mBAAmB,CACjE,CAAA;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,oBAAoB,CAAC,KAAwB;QACzD,MAAM,mBAAmB,GACrB,KAAK,CAAC,KAAa,EAAE,iBAA2B;YACjD,KAAK,CAAC,KAAe,CAAA,CAAC,mCAAmC;QAC5D,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAA;QAEtD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,8BAA8B,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,EAAE,CACnE,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAA;QAE7D,yDAAyD;QACzD,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAC7C,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,MAAM,GAAG,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,IAAI,EAAE,CAAA;YAC1C,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,CAAA;YAChD,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,CAAA;YAC5D,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,CAAA;YACnD,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAClD,CAAA;QACD,MAAM,WAAW,GAAG,uBAAgB,CAAC,SAAS,CAAA;QAE9C,yCAAyC;QACzC,MAAM,IAAI,CAAC,wBAAwB,CACjC,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,CACZ,CAAA;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE;YAC/D,MAAM,EAAE,YAAY;SACrB,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,yCAAyC,YAAY,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,gBAAgB,WAAW,EAAE,CACzG,CAAA;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,wBAAwB,CACpC,KAAwB,EACxB,YAAuB,EACvB,OAAyE,EACzE,MAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACzD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,aAAa,IAAI,CAAC,iBAAiB,CAAC,MAAM,2BAA2B,CACtE,CAAA;QAED,MAAM,OAAO,GAA2B;YACtC,KAAK;YACL,YAAY;YACZ,OAAO;YACP,MAAM;YACN,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK;SAC9C,CAAA;QAED,qDAAqD;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACpE,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,mCAAmC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAChF,CAAA;gBACD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,yBAAyB,KAAK,GAAG,CAAC,yBAAyB,CAC5D,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACxD,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;gBACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yBAAyB,KAAK,GAAG,CAAC,YAAY,YAAY,EAAE,EAC5D,UAAU,CACX,CAAA;gBACD,6CAA6C;YAC/C,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AA1KY,4DAAwB;mCAAxB,wBAAwB;IAFpC,IAAA,mBAAU,GAAE;IACZ,IAAA,mBAAY,EAAC,wCAAiB,CAAC;IAQ3B,WAAA,IAAA,eAAM,EAAC,iDAAsB,CAAC,CAAA;qCADC,8BAAa;GANpC,wBAAwB,CA0KpC"}
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * @description Defines the configuration for the dynamic ImportModule using ConfigurableModuleBuilder.
3
3
  */
4
- import { ModuleMetadata } from '@nestjs/common';
5
- import { ImportEntityProfile } from './interface';
4
+ import { ModuleMetadata, Type } from '@nestjs/common';
5
+ import { ImportEntityProfile, IZipFinalizationHook } from './interface';
6
6
  export declare const IMPORT_STRATEGY_MAP = "ImportStrategyMapInjectToken";
7
7
  export declare const PROCESS_STRATEGY_MAP = "ProcessStrategyMapInjectToken";
8
+ export declare const ZIP_FINALIZATION_HOOKS = "ZipFinalizationHooksInjectToken";
8
9
  /**
9
10
  * The main options object for the ImportModule's `register` method.
10
11
  */
@@ -23,6 +24,11 @@ export interface ImportModuleOptions {
23
24
  * (Optional) Enables the built-in `/import` and `/import/csv` endpoints.
24
25
  */
25
26
  enableController?: boolean;
27
+ /**
28
+ * (Optional) Array of ZIP finalization hooks that execute after ZIP import completes.
29
+ * Hooks run in parallel and errors are logged without failing the job.
30
+ */
31
+ zipFinalizationHooks?: Type<IZipFinalizationHook>[];
26
32
  }
27
33
  export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<ImportModuleOptions, "register", "create", {
28
34
  profiles: ImportEntityProfile[];
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = exports.PROCESS_STRATEGY_MAP = exports.IMPORT_STRATEGY_MAP = void 0;
4
+ exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = exports.ZIP_FINALIZATION_HOOKS = exports.PROCESS_STRATEGY_MAP = exports.IMPORT_STRATEGY_MAP = void 0;
5
5
  /**
6
6
  * @description Defines the configuration for the dynamic ImportModule using ConfigurableModuleBuilder.
7
7
  */
@@ -9,6 +9,7 @@ const common_1 = require("@nestjs/common");
9
9
  // --- Injection Tokens for our internal provider maps ---
10
10
  exports.IMPORT_STRATEGY_MAP = 'ImportStrategyMapInjectToken';
11
11
  exports.PROCESS_STRATEGY_MAP = 'ProcessStrategyMapInjectToken';
12
+ exports.ZIP_FINALIZATION_HOOKS = 'ZipFinalizationHooksInjectToken';
12
13
  // --- Configurable Module Setup ---
13
14
  _a = new common_1.ConfigurableModuleBuilder()
14
15
  // The module will always be configured with the profiles array.
@@ -1 +1 @@
1
- {"version":3,"file":"import.module-definition.js","sourceRoot":"","sources":["../src/import.module-definition.ts"],"names":[],"mappings":";;;;AAAA;;GAEG;AACH,2CAA0E;AAI1E,0DAA0D;AAC7C,QAAA,mBAAmB,GAAG,8BAA8B,CAAA;AACpD,QAAA,oBAAoB,GAAG,+BAA+B,CAAA;AAwBnE,oCAAoC;AACvB,KACX,IAAI,kCAAyB,EAAuB;IAClD,gEAAgE;KAC/D,SAAS,CACR,EAAE,QAAQ,EAAE,EAAE,EAAE,EAChB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,GAAG,UAAU;IACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;CAC1B,CAAC,CACH;KACA,KAAK,EAAE,EAVG,+BAAuB,+BAAE,4BAAoB,4BAAE,oBAAY,mBAU9D"}
1
+ {"version":3,"file":"import.module-definition.js","sourceRoot":"","sources":["../src/import.module-definition.ts"],"names":[],"mappings":";;;;AAAA;;GAEG;AACH,2CAAgF;AAIhF,0DAA0D;AAC7C,QAAA,mBAAmB,GAAG,8BAA8B,CAAA;AACpD,QAAA,oBAAoB,GAAG,+BAA+B,CAAA;AACtD,QAAA,sBAAsB,GAAG,iCAAiC,CAAA;AA8BvE,oCAAoC;AACvB,KACX,IAAI,kCAAyB,EAAuB;IAClD,gEAAgE;KAC/D,SAAS,CACR,EAAE,QAAQ,EAAE,EAAE,EAAE,EAChB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,GAAG,UAAU;IACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;CAC1B,CAAC,CACH;KACA,KAAK,EAAE,EAVG,+BAAuB,+BAAE,4BAAoB,4BAAE,oBAAY,mBAU9D"}
@@ -23,12 +23,31 @@ const import_service_1 = require("./import.service");
23
23
  let ImportModule = class ImportModule extends import_module_definition_1.ConfigurableModuleClass {
24
24
  static register(options) {
25
25
  const module = super.register(options);
26
- const { enableController, profiles, imports } = options;
26
+ const { enableController, profiles, imports, zipFinalizationHooks } = options;
27
27
  module.imports = [...(module.imports || []), ...(imports || [])];
28
28
  const dynamicProviders = [
29
29
  this.createStrategyMapFactory(import_module_definition_1.IMPORT_STRATEGY_MAP, profiles, (p) => p.importStrategy),
30
30
  this.createStrategyMapFactory(import_module_definition_1.PROCESS_STRATEGY_MAP, profiles, (p) => p.processStrategy),
31
31
  ];
32
+ // Add hooks provider
33
+ if (zipFinalizationHooks && zipFinalizationHooks.length > 0) {
34
+ // Add hook classes as providers so they can be injected
35
+ zipFinalizationHooks.forEach((hookClass) => {
36
+ dynamicProviders.push(hookClass);
37
+ });
38
+ // Add the array provider that collects all hook instances
39
+ dynamicProviders.push({
40
+ provide: import_module_definition_1.ZIP_FINALIZATION_HOOKS,
41
+ useFactory: (...instances) => instances,
42
+ inject: zipFinalizationHooks,
43
+ });
44
+ }
45
+ else {
46
+ dynamicProviders.push({
47
+ provide: import_module_definition_1.ZIP_FINALIZATION_HOOKS,
48
+ useValue: [],
49
+ });
50
+ }
32
51
  module.providers = [...(module.providers || []), ...dynamicProviders];
33
52
  if (enableController) {
34
53
  module.controllers = [...(module.controllers || []), import_controller_1.ImportController];
@@ -1 +1 @@
1
- {"version":3,"file":"import.module.js","sourceRoot":"","sources":["../src/import.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAwE;AACxE,2CAAsE;AAEtE,uGAAqF;AACrF,2FAAmF;AACnF,uFAA+E;AAC/E,uEAAiE;AACjE,mFAA4E;AAC5E,iGAA+E;AAC/E,2FAAmF;AACnF,uFAA+E;AAC/E,2DAAsD;AACtD,yEAKmC;AACnC,qDAAgD;AAoBzC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,kDAAuB;IACvD,MAAM,CAAC,QAAQ,CAAC,OAA4B;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEtC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAEvD,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;QAEhE,MAAM,gBAAgB,GAAe;YACnC,IAAI,CAAC,wBAAwB,CAC3B,8CAAmB,EACnB,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CACxB;YACD,IAAI,CAAC,wBAAwB,CAC3B,+CAAoB,EACpB,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CACzB;SACF,CAAA;QAED,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAA;QAErE,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,oCAAgB,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,wBAAwB,CACrC,OAAe,EACf,QAA+B,EAC/B,cAEiE;QAEjE,yDAAyD;QACzD,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAEpD,OAAO;YACL,OAAO;YACP,UAAU,EAAE,CACV,GAAG,SAAqE,EACxE,EAAE;gBACF,MAAM,GAAG,GAAG,IAAI,GAAG,EAGhB,CAAA;gBACH,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;oBACpC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;gBAC9C,CAAC,CAAC,CAAA;gBACF,OAAO,GAAG,CAAA;YACZ,CAAC;YACD,MAAM,EAAE,eAAe;SACxB,CAAA;IACH,CAAC;CACF,CAAA;AA9DY,oCAAY;uBAAZ,YAAY;IAfxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAe,EAAE,kBAAW,CAAC;QACvC,SAAS,EAAE;YACT,8BAAa;YACb,yCAAkB;YAClB,oDAAuB;YACvB,2DAA0B;YAC1B,uDAAwB;YACxB,6DAAsB;YACtB,uDAAmB;YACnB,2DAA0B;YAC1B,uDAAwB;SACzB;QACD,OAAO,EAAE,CAAC,8BAAa,CAAC;KACzB,CAAC;GACW,YAAY,CA8DxB"}
1
+ {"version":3,"file":"import.module.js","sourceRoot":"","sources":["../src/import.module.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export * from './csv-mapping-strategy.interface';
2
2
  export * from './import-entity-profile.interface';
3
3
  export * from './import-strategy.interface';
4
4
  export * from './processing-strategy.interface';
5
+ export * from './zip-finalization-hook.interface';
@@ -18,4 +18,5 @@ __exportStar(require("./csv-mapping-strategy.interface"), exports);
18
18
  __exportStar(require("./import-entity-profile.interface"), exports);
19
19
  __exportStar(require("./import-strategy.interface"), exports);
20
20
  __exportStar(require("./processing-strategy.interface"), exports);
21
+ __exportStar(require("./zip-finalization-hook.interface"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAgD;AAChD,oEAAiD;AACjD,8DAA2C;AAC3C,kEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAgD;AAChD,oEAAiD;AACjD,8DAA2C;AAC3C,kEAA+C;AAC/C,oEAAiD"}
@@ -0,0 +1,59 @@
1
+ import { DetailKey } from '@mbc-cqrs-serverless/core';
2
+ import { ImportStatusEnum } from '../enum';
3
+ import { ZipImportSfnEvent } from '../event/zip-import.sfn.event';
4
+ /**
5
+ * Context passed to ZIP finalization hooks containing all relevant job information.
6
+ */
7
+ export interface ZipFinalizationContext {
8
+ /** The original Step Function event */
9
+ event: ZipImportSfnEvent;
10
+ /** The key of the master ZIP job */
11
+ masterJobKey: DetailKey;
12
+ /** Aggregated results from all CSV files */
13
+ results: {
14
+ totalRows: number;
15
+ processedRows: number;
16
+ failedRows: number;
17
+ };
18
+ /** Final status of the job */
19
+ status: ImportStatusEnum;
20
+ /** The original execution input from Step Functions */
21
+ executionInput: any;
22
+ }
23
+ /**
24
+ * Interface for custom hooks that execute after ZIP import processing completes.
25
+ * Implementations can perform post-processing tasks like moving files to backup,
26
+ * sending notifications, or updating external systems.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * @Injectable()
31
+ * export class BackupToS3Hook implements IZipFinalizationHook {
32
+ * constructor(private readonly s3Service: S3Service) {}
33
+ *
34
+ * async execute(context: ZipFinalizationContext): Promise<void> {
35
+ * const { executionInput } = context
36
+ * const { bucket, key } = executionInput.parameters
37
+ *
38
+ * // Move file to backup location
39
+ * const backupKey = `backup/${key}`
40
+ * await this.s3Service.copyObject({
41
+ * sourceBucket: bucket,
42
+ * sourceKey: key,
43
+ * destinationBucket: bucket,
44
+ * destinationKey: backupKey,
45
+ * })
46
+ * }
47
+ * }
48
+ * ```
49
+ */
50
+ export interface IZipFinalizationHook {
51
+ /**
52
+ * Executes custom logic after ZIP import completes.
53
+ * Hooks run in parallel and errors are logged without failing the job.
54
+ *
55
+ * @param context - Contains event data, masterJobKey, and aggregated results
56
+ * @returns Promise that resolves when hook completes
57
+ */
58
+ execute(context: ZipFinalizationContext): Promise<void>;
59
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=zip-finalization-hook.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-finalization-hook.interface.js","sourceRoot":"","sources":["../../src/interface/zip-finalization-hook.interface.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/import",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "description": "Import module",
5
5
  "keywords": [
6
6
  "mbc",
@@ -41,8 +41,8 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@mbc-cqrs-serverless/core": "1.0.19",
44
+ "@mbc-cqrs-serverless/core": "1.0.21",
45
45
  "csv-parser": "^3.2.0"
46
46
  },
47
- "gitHead": "4b8cf7208aa43febc3a2554661c4a9d7095a099e"
47
+ "gitHead": "66471d0305565977eebd51de5c23abf28d628147"
48
48
  }