@mbc-cqrs-serverless/import 1.2.4 → 1.2.5

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.
@@ -37,6 +37,7 @@ __decorate([
37
37
  __decorate([
38
38
  (0, class_validator_1.IsArray)(),
39
39
  (0, class_validator_1.IsOptional)(),
40
+ (0, class_validator_1.ArrayMinSize)(1),
40
41
  __metadata("design:type", Array)
41
42
  ], CreateZipImportDto.prototype, "sortedFileKeys", void 0);
42
43
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"create-zip-import.dto.js","sourceRoot":"","sources":["../../src/dto/create-zip-import.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAE3E,MAAa,kBAAkB;IAA/B;QAmBE,2BAA2B;QAC3B,0DAA0D;QAG1D,cAAS,GAAY,IAAI,CAAA;IAC3B,CAAC;CAAA;AAxBD,gDAwBC;AArBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACC;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACF;AAIX;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACK;AAMlB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;0DACY;AAMzB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACY"}
1
+ {"version":3,"file":"create-zip-import.dto.js","sourceRoot":"","sources":["../../src/dto/create-zip-import.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMwB;AAExB,MAAa,kBAAkB;IAA/B;QAqBE,2BAA2B;QAC3B,0DAA0D;QAG1D,cAAS,GAAY,IAAI,CAAA;IAC3B,CAAC;CAAA;AA1BD,gDA0BC;AAvBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACC;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACF;AAIX;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACK;AAQlB;IAHC,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,EAAC,CAAC,CAAC;;0DACS;AAMzB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACY"}
@@ -26,6 +26,10 @@ let ImportEventHandler = ImportEventHandler_1 = class ImportEventHandler {
26
26
  this.logger = new common_1.Logger(ImportEventHandler_1.name);
27
27
  }
28
28
  async execute(event) {
29
+ if (event.importEntity.type === 'ZIP_MASTER_JOB') {
30
+ this.logger.debug(`Skipping SQS publish for ZIP_MASTER_JOB: ${event.importEntity.id}`);
31
+ return;
32
+ }
29
33
  const queueUrl = this.configService.get('IMPORT_QUEUE_URL');
30
34
  if (!queueUrl)
31
35
  throw new Error('IMPORT_QUEUE_URL is not configured');
@@ -1 +1 @@
1
- {"version":3,"file":"import.event.handler.js","sourceRoot":"","sources":["../../src/event/import.event.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oDAIkC;AAClC,2CAAuC;AACvC,2CAA8C;AAE9C,2DAAuE;AACvE,mEAA6D;AAC7D,sDAAiD;AACjD,iDAA4C;AAGrC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAG7B,YACmB,UAAsB,EACtB,aAA4B,EAC5B,aAA4B;QAF5B,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAL9B,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAA;IAM1D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,KAAkB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAA;QACnE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAEpE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC/B,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,2CAA4B,EAAE,GAAG,KAAK,EAAE,CAAC,CACnE,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAC1C,KAAK,CAAC,SAAS,EACf,qCAAgB,CAAC,MAAM,CACxB,CAAA;IACH,CAAC;CACF,CAAA;AAvBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAY,EAAC,0BAAW,CAAC;qCAKO,iBAAU;QACP,sBAAa;QACb,8BAAa;GANpC,kBAAkB,CAuB9B"}
1
+ {"version":3,"file":"import.event.handler.js","sourceRoot":"","sources":["../../src/event/import.event.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oDAIkC;AAClC,2CAAuC;AACvC,2CAA8C;AAE9C,2DAAuE;AACvE,mEAA6D;AAC7D,sDAAiD;AACjD,iDAA4C;AAGrC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAG7B,YACmB,UAAsB,EACtB,aAA4B,EAC5B,aAA4B;QAF5B,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAL9B,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAA;IAM1D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,KAAkB;QAC9B,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,CACpE,CAAA;YACD,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,kBAAkB,CAAC,CAAA;QACnE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAEpE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC/B,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,2CAA4B,EAAE,GAAG,KAAK,EAAE,CAAC,CACnE,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAC1C,KAAK,CAAC,SAAS,EACf,qCAAgB,CAAC,MAAM,CACxB,CAAA;IACH,CAAC;CACF,CAAA;AA7BY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAY,EAAC,0BAAW,CAAC;qCAKO,iBAAU;QACP,sBAAa;QACb,8BAAa;GANpC,kBAAkB,CA6B9B"}
@@ -8,6 +8,5 @@ export * from './import.queue.event';
8
8
  export * from './import.queue.event.handler';
9
9
  export * from './import-status.queue.event';
10
10
  export * from './import-status.queue.event.handler';
11
- export * from './zip-import.queue.event.handler';
12
11
  export * from './zip-import.sfn.event';
13
12
  export * from './zip-import.sfn.event.handler';
@@ -24,7 +24,6 @@ __exportStar(require("./import.queue.event"), exports);
24
24
  __exportStar(require("./import.queue.event.handler"), exports);
25
25
  __exportStar(require("./import-status.queue.event"), exports);
26
26
  __exportStar(require("./import-status.queue.event.handler"), exports);
27
- __exportStar(require("./zip-import.queue.event.handler"), exports);
28
27
  __exportStar(require("./zip-import.sfn.event"), exports);
29
28
  __exportStar(require("./zip-import.sfn.event.handler"), exports);
30
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/event/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAsD;AACtD,mEAAgD;AAChD,yDAAsC;AACtC,iEAA8C;AAC9C,iDAA8B;AAC9B,yDAAsC;AACtC,uDAAoC;AACpC,+DAA4C;AAC5C,8DAA2C;AAC3C,sEAAmD;AACnD,mEAAgD;AAChD,yDAAsC;AACtC,iEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/event/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAsD;AACtD,mEAAgD;AAChD,yDAAsC;AACtC,iEAA8C;AAC9C,iDAA8B;AAC9B,yDAAsC;AACtC,uDAAoC;AACpC,+DAA4C;AAC5C,8DAA2C;AAC3C,sEAAmD;AACnD,yDAAsC;AACtC,iEAA8C"}
@@ -102,14 +102,24 @@ __decorate([
102
102
  (0, common_1.Post)('zip'),
103
103
  (0, swagger_1.ApiOperation)({
104
104
  summary: 'Initiate a ZIP file import',
105
- description: 'Accepts the S3 location of a ZIP file containing multiple CSVs. This will trigger a sequential, orchestrated import process.',
105
+ description: `
106
+ Synchronously initializes a ZIP import job and triggers the Step Function orchestrator.
107
+
108
+ ⚠️ **Performance & Size Limits (API Gateway 29s Timeout):**
109
+ * **Small Files:** Send the ZIP S3 key. The backend will synchronously download, extract, and upload the individual CSVs to S3.
110
+ * **Large Files:** To prevent 504 Gateway Timeouts, the client application *must* extract the ZIP on the frontend, upload the CSVs directly to S3, and provide the \`sortedFileKeys\` array in this payload. If \`sortedFileKeys\` is provided, the backend safely bypasses in-memory extraction.
111
+ `,
106
112
  }),
107
113
  (0, swagger_1.ApiBody)({ type: create_zip_import_dto_1.CreateZipImportDto }),
108
114
  (0, swagger_1.ApiResponse)({
109
- status: 202,
110
- description: 'The zip import task has been accepted and queued for processing.',
115
+ status: 201,
116
+ description: 'The ZIP import job was successfully created and the orchestrator started.',
111
117
  }),
112
- (0, common_1.HttpCode)(common_1.HttpStatus.ACCEPTED),
118
+ (0, swagger_1.ApiResponse)({
119
+ status: 400,
120
+ description: 'Bad Request - ZIP file is empty, corrupt, or invalid.',
121
+ }),
122
+ (0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
113
123
  (0, common_1.UsePipes)(new common_1.ValidationPipe({ transform: true, whitelist: true })),
114
124
  __param(0, (0, core_1.INVOKE_CONTEXT)()),
115
125
  __param(1, (0, common_1.Body)()),
@@ -1 +1 @@
1
- {"version":3,"file":"import.controller.js","sourceRoot":"","sources":["../src/import.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.controller.js","sourceRoot":"","sources":["../src/import.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAmE;AACnE,2CASuB;AACvB,6CAA6E;AAE7E,uEAAgE;AAChE,+DAAyD;AACzD,uEAAgE;AAChE,qDAAgD;AAIzC,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAG3B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAFxC,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAA;IAEC,CAAC;IAE7D;;;;;OAKG;IAcG,AAAN,KAAK,CAAC,YAAY,CACE,aAAsB,EAChC,eAAgC;QAExC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,6CAA6C,eAAe,CAAC,SAAS,EAAE,CACzE,CAAA;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED;;;;OAIG;IAmBG,AAAN,KAAK,CAAC,eAAe,CACD,aAAsB,EAChC,kBAAsC;QAE9C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,wCAAwC,kBAAkB,CAAC,GAAG,0BAA0B,kBAAkB,CAAC,cAAc,EAAE,CAC5H,CAAA;QACD,oEAAoE;QACpE,kDAAkD;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,EAAE;YAC5D,aAAa;SACd,CAAC,CAAA;IACJ,CAAC;IAyBK,AAAN,KAAK,CAAC,eAAe,CACD,aAAsB,EAChC,kBAAsC;QAE9C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,wCAAwC,kBAAkB,CAAC,GAAG,EAAE,CACjE,CAAA;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,kBAAkB,EAAE;YACzD,aAAa;SACd,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAzGY,4CAAgB;AAwBrB;IAbL,IAAA,aAAI,GAAE;IACN,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wBAAwB;QACjC,WAAW,EACT,4HAA4H;KAC/H,CAAC;IACD,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,mCAAe,EAAE,CAAC;IAClC,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,8DAA8D;KAC5E,CAAC;IACD,IAAA,iBAAQ,EAAC,mBAAU,CAAC,QAAQ,CAAC;IAC7B,IAAA,iBAAQ,EAAC,IAAI,uBAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,WAAA,IAAA,qBAAc,GAAE,CAAA;IAChB,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAkB,mCAAe;;oDAMzC;AAyBK;IAlBL,IAAA,aAAI,EAAC,KAAK,CAAC;IACX,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,4BAA4B;QACrC,WAAW,EACT,gJAAgJ;KACnJ,CAAC;IACD,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,0CAAkB,EAAE,CAAC;IACrC,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EACT,8GAA8G;KACjH,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EACT,uFAAuF;KAC1F,CAAC;IACD,IAAA,iBAAQ,EAAC,IAAI,uBAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,WAAA,IAAA,qBAAc,GAAE,CAAA;IAChB,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAqB,0CAAkB;;uDAU/C;AAyBK;IAvBL,IAAA,aAAI,EAAC,KAAK,CAAC;IACX,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,4BAA4B;QACrC,WAAW,EAAE;;;;;;GAMd;KACA,CAAC;IACD,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,0CAAkB,EAAE,CAAC;IACrC,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EACT,2EAA2E;KAC9E,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,uDAAuD;KACrE,CAAC;IACD,IAAA,iBAAQ,EAAC,mBAAU,CAAC,OAAO,CAAC;IAC5B,IAAA,iBAAQ,EAAC,IAAI,uBAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,WAAA,IAAA,qBAAc,GAAE,CAAA;IAChB,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAqB,0CAAkB;;uDAQ/C;2BAxGU,gBAAgB;IAF5B,IAAA,iBAAO,EAAC,SAAS,CAAC;IAClB,IAAA,mBAAU,EAAC,SAAS,CAAC;qCAIwB,8BAAa;GAH9C,gBAAgB,CAyG5B"}
@@ -18,7 +18,6 @@ const import_queue_event_handler_1 = require("./event/import.queue.event.handler
18
18
  const import_status_queue_event_handler_1 = require("./event/import-status.queue.event.handler");
19
19
  const csv_batch_processor_1 = require("./event/processor/csv-batch.processor");
20
20
  const single_import_processor_1 = require("./event/processor/single-import.processor");
21
- const zip_import_queue_event_handler_1 = require("./event/zip-import.queue.event.handler");
22
21
  const zip_import_sfn_event_handler_1 = require("./event/zip-import.sfn.event.handler");
23
22
  const import_controller_1 = require("./import.controller");
24
23
  const import_module_definition_1 = require("./import.module-definition");
@@ -98,7 +97,6 @@ exports.ImportModule = ImportModule = __decorate([
98
97
  csv_import_sfn_event_handler_1.CsvImportSfnEventHandler,
99
98
  command_finished_queue_event_handler_1.CommandFinishedHandler,
100
99
  import_status_queue_event_handler_1.ImportStatusHandler,
101
- zip_import_queue_event_handler_1.ZipImportQueueEventHandler,
102
100
  zip_import_sfn_event_handler_1.ZipImportSfnEventHandler,
103
101
  csv_batch_processor_1.CsvBatchProcessor,
104
102
  single_import_processor_1.SingleImportProcessor,
@@ -1 +1 @@
1
- {"version":3,"file":"import.module.js","sourceRoot":"","sources":["../src/import.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.module.js","sourceRoot":"","sources":["../src/import.module.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DdbUpdateItem, DetailKey, DynamoDbService, ICommandOptions, IInvoke, S3Service, SnsService } from '@mbc-cqrs-serverless/core';
1
+ import { DdbUpdateItem, DetailKey, DynamoDbService, ICommandOptions, IInvoke, S3Service, SnsService, StepFunctionService } from '@mbc-cqrs-serverless/core';
2
2
  import { ConfigService } from '@nestjs/config';
3
3
  import { CreateCsvImportDto } from './dto/create-csv-import.dto';
4
4
  import { CreateImportDto } from './dto/create-import.dto';
@@ -9,13 +9,14 @@ import { IImportStrategy } from './interface';
9
9
  export declare class ImportService {
10
10
  private readonly dynamoDbService;
11
11
  private readonly snsService;
12
- private readonly config;
13
12
  private readonly s3Service;
14
13
  private readonly importStrategyMap;
14
+ private readonly configService;
15
+ private readonly sfnService;
15
16
  private readonly logger;
16
17
  private readonly tableName;
17
18
  private readonly alarmTopicArn;
18
- constructor(dynamoDbService: DynamoDbService, snsService: SnsService, config: ConfigService, s3Service: S3Service, importStrategyMap: Map<string, IImportStrategy<any, any>>);
19
+ constructor(dynamoDbService: DynamoDbService, snsService: SnsService, s3Service: S3Service, importStrategyMap: Map<string, IImportStrategy<any, any>>, configService: ConfigService, sfnService: StepFunctionService);
19
20
  /**
20
21
  * Handles a single import request from the API.
21
22
  * It uses the appropriate ImportStrategy to transform and validate the data
@@ -37,6 +38,7 @@ export declare class ImportService {
37
38
  createZipJob(dto: CreateZipImportDto, options: {
38
39
  invokeContext: IInvoke;
39
40
  }): Promise<ImportEntity>;
41
+ private streamToBuffer;
40
42
  /**
41
43
  * Creates a import job record for a single json import
42
44
  */
@@ -1,10 +1,43 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
2
18
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
20
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
23
  };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
8
41
  var __metadata = (this && this.__metadata) || function (k, v) {
9
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
43
  };
@@ -19,11 +52,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
52
  exports.ImportService = void 0;
20
53
  const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
21
54
  const client_s3_1 = require("@aws-sdk/client-s3");
55
+ const lib_storage_1 = require("@aws-sdk/lib-storage");
22
56
  const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
23
57
  const core_1 = require("@mbc-cqrs-serverless/core");
24
58
  const common_1 = require("@nestjs/common");
25
59
  const config_1 = require("@nestjs/config");
26
60
  const csv_parser_1 = __importDefault(require("csv-parser"));
61
+ const JSZip = __importStar(require("jszip"));
27
62
  const stream_1 = require("stream");
28
63
  const ulid_1 = require("ulid");
29
64
  const constant_1 = require("./constant");
@@ -31,15 +66,16 @@ const entity_1 = require("./entity");
31
66
  const enum_1 = require("./enum");
32
67
  const import_module_definition_1 = require("./import.module-definition");
33
68
  let ImportService = ImportService_1 = class ImportService {
34
- constructor(dynamoDbService, snsService, config, s3Service, importStrategyMap) {
69
+ constructor(dynamoDbService, snsService, s3Service, importStrategyMap, configService, sfnService) {
35
70
  this.dynamoDbService = dynamoDbService;
36
71
  this.snsService = snsService;
37
- this.config = config;
38
72
  this.s3Service = s3Service;
39
73
  this.importStrategyMap = importStrategyMap;
74
+ this.configService = configService;
75
+ this.sfnService = sfnService;
40
76
  this.logger = new common_1.Logger(ImportService_1.name);
41
77
  this.tableName = dynamoDbService.getTableName('import_tmp');
42
- this.alarmTopicArn = this.config.get('SNS_ALARM_TOPIC_ARN');
78
+ this.alarmTopicArn = this.configService.get('SNS_ALARM_TOPIC_ARN');
43
79
  }
44
80
  /**
45
81
  * Handles a single import request from the API.
@@ -101,11 +137,20 @@ let ImportService = ImportService_1 = class ImportService {
101
137
  return item;
102
138
  }
103
139
  async createZipJob(dto, options) {
140
+ if (dto.sortedFileKeys != null &&
141
+ Array.isArray(dto.sortedFileKeys) &&
142
+ dto.sortedFileKeys.length === 0) {
143
+ throw new common_1.BadRequestException('sortedFileKeys cannot be an empty array; omit the field to extract from the ZIP in S3.');
144
+ }
104
145
  const sourceIp = options.invokeContext?.event?.requestContext?.http?.sourceIp;
105
146
  const userContext = (0, core_1.getUserContext)(options.invokeContext);
106
147
  const taskCode = (0, ulid_1.ulid)();
107
148
  const pk = `${constant_1.ZIP_IMPORT_PK_PREFIX}${core_1.KEY_SEPARATOR}${dto.tenantCode}`;
108
149
  const sk = `ZIP#${taskCode}`;
150
+ const masterJobKey = {
151
+ pk,
152
+ sk,
153
+ };
109
154
  const item = new entity_1.ImportEntity({
110
155
  id: `${pk}#${sk}`,
111
156
  pk,
@@ -115,7 +160,7 @@ let ImportService = ImportService_1 = class ImportService {
115
160
  tenantCode: dto.tenantCode,
116
161
  type: 'ZIP_MASTER_JOB',
117
162
  name: `ZIP Import: ${dto.key.split('/').pop()}`,
118
- status: enum_1.ImportStatusEnum.CREATED,
163
+ status: enum_1.ImportStatusEnum.PROCESSING,
119
164
  attributes: dto,
120
165
  requestId: options.invokeContext?.context?.awsRequestId,
121
166
  createdAt: new Date(),
@@ -126,7 +171,81 @@ let ImportService = ImportService_1 = class ImportService {
126
171
  updatedIp: sourceIp,
127
172
  });
128
173
  await this.dynamoDbService.putItem(this.tableName, item);
129
- return item;
174
+ try {
175
+ let sortedS3Keys = dto.sortedFileKeys || [];
176
+ // 3. Extract and Upload if sorted keys are not provided
177
+ if (sortedS3Keys.length === 0) {
178
+ this.logger.debug(`Downloading and extracting ZIP from S3: ${dto.key}`);
179
+ const { Body } = await this.s3Service.client.send(new client_s3_1.GetObjectCommand({ Bucket: dto.bucket, Key: dto.key }));
180
+ // Convert stream to buffer for JSZip
181
+ const zipBuffer = await this.streamToBuffer(Body);
182
+ const zip = await JSZip.loadAsync(zipBuffer);
183
+ const extractedKeys = [];
184
+ // Upload extracted files back to S3
185
+ for (const [filename, zipEntry] of Object.entries(zip.files)) {
186
+ if (zipEntry.dir)
187
+ continue;
188
+ const fileContent = await zipEntry.async('nodebuffer');
189
+ // Use job taskCode as folder so the object basename stays the ZIP entry name.
190
+ // ZipImportSfnEventHandler parses tableName from yyyymmddHHmmss-{tableName}.csv on the final segment.
191
+ const extractedKey = `csv-imports/${dto.tenantCode}/${taskCode}/${filename}`;
192
+ const upload = new lib_storage_1.Upload({
193
+ client: this.s3Service.client,
194
+ params: {
195
+ Bucket: dto.bucket,
196
+ Key: extractedKey,
197
+ Body: fileContent,
198
+ },
199
+ });
200
+ await upload.done();
201
+ extractedKeys.push(extractedKey);
202
+ }
203
+ if (extractedKeys.length === 0) {
204
+ throw new Error('ZIP file is empty or contains no valid files.');
205
+ }
206
+ // Merge into attributes so bucket/key/tenantCode/tableName are not wiped (full map SET).
207
+ await this.updateImportJob(masterJobKey, {
208
+ set: {
209
+ attributes: { ...dto, extractedFileKeys: extractedKeys },
210
+ },
211
+ });
212
+ // Sort them automatically if the client didn't
213
+ sortedS3Keys = extractedKeys.sort();
214
+ }
215
+ // 4. Trigger the Step Function Orchestrator synchronously
216
+ const sfnArn = this.configService.get('SFN_IMPORT_ZIP_ORCHESTRATOR_ARN');
217
+ if (!sfnArn)
218
+ throw new Error('Missing SFN_IMPORT_ZIP_ORCHESTRATOR_ARN config');
219
+ const executionName = `${dto.tenantCode}-zip-import-${Date.now()}`;
220
+ await this.sfnService.startExecution(sfnArn, {
221
+ masterJobKey,
222
+ sortedS3Keys,
223
+ parameters: {
224
+ bucket: dto.bucket,
225
+ tenantCode: dto.tenantCode,
226
+ tableName: dto.tableName,
227
+ },
228
+ }, executionName);
229
+ this.logger.log(`Successfully started ZIP orchestrator: ${executionName}`);
230
+ return item;
231
+ }
232
+ catch (error) {
233
+ // 5. Synchronous Rollback: If anything fails, mark DB as FAILED and bubble error
234
+ this.logger.error(`Failed to process ZIP job: ${masterJobKey.sk}`, error);
235
+ await this.updateStatus(masterJobKey, enum_1.ImportStatusEnum.FAILED, {
236
+ error: { message: error.message },
237
+ });
238
+ throw error; // Throwing here allows your HTTP Controller to return a 400/500 to the client
239
+ }
240
+ }
241
+ // Helper method if you don't already have it
242
+ async streamToBuffer(stream) {
243
+ return new Promise((resolve, reject) => {
244
+ const chunks = [];
245
+ stream.on('data', (chunk) => chunks.push(chunk));
246
+ stream.on('error', reject);
247
+ stream.on('end', () => resolve(Buffer.concat(chunks)));
248
+ });
130
249
  }
131
250
  /**
132
251
  * Creates a import job record for a single json import
@@ -402,11 +521,12 @@ let ImportService = ImportService_1 = class ImportService {
402
521
  exports.ImportService = ImportService;
403
522
  exports.ImportService = ImportService = ImportService_1 = __decorate([
404
523
  (0, common_1.Injectable)(),
405
- __param(4, (0, common_1.Inject)(import_module_definition_1.IMPORT_STRATEGY_MAP)),
524
+ __param(3, (0, common_1.Inject)(import_module_definition_1.IMPORT_STRATEGY_MAP)),
406
525
  __metadata("design:paramtypes", [core_1.DynamoDbService,
407
526
  core_1.SnsService,
408
- config_1.ConfigService,
409
527
  core_1.S3Service,
410
- Map])
528
+ Map,
529
+ config_1.ConfigService,
530
+ core_1.StepFunctionService])
411
531
  ], ImportService);
412
532
  //# sourceMappingURL=import.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import.service.js","sourceRoot":"","sources":["../src/import.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.service.js","sourceRoot":"","sources":["../src/import.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/import",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Import module",
5
5
  "keywords": [
6
6
  "mbc",
@@ -41,12 +41,12 @@
41
41
  "access": "public"
42
42
  },
43
43
  "dependencies": {
44
- "@mbc-cqrs-serverless/core": "1.2.4",
44
+ "@mbc-cqrs-serverless/core": "1.2.5",
45
45
  "JSONStream": "^1.3.5",
46
46
  "csv-parser": "^3.2.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/jsonstream": "^0.8.33"
50
50
  },
51
- "gitHead": "115721d0ef8c3332a29db37c31575e594163a865"
51
+ "gitHead": "de2bc3ea97f9f7f6bdb2df1d00694973b8e271b5"
52
52
  }
@@ -1,25 +0,0 @@
1
- import { IEventHandler, S3Service, StepFunctionService } from '@mbc-cqrs-serverless/core';
2
- import { ConfigService } from '@nestjs/config';
3
- import { ImportService } from '../import.service';
4
- import { ImportQueueEvent } from './import.queue.event';
5
- export declare class ZipImportQueueEventHandler implements IEventHandler<ImportQueueEvent> {
6
- private readonly configService;
7
- private readonly sfnService;
8
- private readonly importService;
9
- private readonly s3Service;
10
- private readonly logger;
11
- private readonly zipOrchestratorArn;
12
- constructor(configService: ConfigService, sfnService: StepFunctionService, importService: ImportService, s3Service: S3Service);
13
- execute(event: ImportQueueEvent): Promise<any>;
14
- private getS3Stream;
15
- /**
16
- * Helper function to convert a Readable stream into a Buffer.
17
- * Required for yauzl, which operates on a complete data source.
18
- */
19
- private streamToBuffer;
20
- /**
21
- * Re-implemented using the `jszip` library, which is more tolerant
22
- * of malformed ZIP archives.
23
- */
24
- private unzipAndUpload;
25
- }
@@ -1,211 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __metadata = (this && this.__metadata) || function (k, v) {
42
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
- };
44
- var ZipImportQueueEventHandler_1;
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.ZipImportQueueEventHandler = void 0;
47
- const client_s3_1 = require("@aws-sdk/client-s3");
48
- const lib_storage_1 = require("@aws-sdk/lib-storage");
49
- const core_1 = require("@mbc-cqrs-serverless/core");
50
- const common_1 = require("@nestjs/common");
51
- const config_1 = require("@nestjs/config");
52
- const JSZip = __importStar(require("jszip"));
53
- const stream_1 = require("stream");
54
- const constant_1 = require("../constant");
55
- const enum_1 = require("../enum");
56
- const import_service_1 = require("../import.service");
57
- const import_queue_event_1 = require("./import.queue.event");
58
- let ZipImportQueueEventHandler = ZipImportQueueEventHandler_1 = class ZipImportQueueEventHandler {
59
- constructor(configService, sfnService, importService, s3Service) {
60
- this.configService = configService;
61
- this.sfnService = sfnService;
62
- this.importService = importService;
63
- this.s3Service = s3Service;
64
- this.logger = new common_1.Logger(ZipImportQueueEventHandler_1.name);
65
- this.zipOrchestratorArn = this.configService.get('SFN_IMPORT_ZIP_ORCHESTRATOR_ARN');
66
- }
67
- async execute(event) {
68
- if (event.isCsvBatch) {
69
- this.logger.debug('Skipping batch processing payload in ZipImportQueueEventHandler');
70
- return;
71
- }
72
- const importEntity = event.importEvent?.importEntity;
73
- if (!importEntity)
74
- return;
75
- if (!importEntity.id.startsWith(`${constant_1.ZIP_IMPORT_PK_PREFIX}${core_1.KEY_SEPARATOR}`)) {
76
- this.logger.debug(`Skipping other type import job in zip queue handler: ${importEntity.id}`);
77
- return;
78
- }
79
- const importKey = event.importEvent.importKey;
80
- const zipJobAttributes = importEntity.attributes;
81
- this.logger.log(`Received master ZIP job from queue: ${importEntity.id} for file ${zipJobAttributes.key}`);
82
- try {
83
- await this.importService.updateStatus(importKey, enum_1.ImportStatusEnum.PROCESSING, { result: { step: 'Unzipping archive' } });
84
- if (zipJobAttributes.sortedFileKeys &&
85
- zipJobAttributes.sortedFileKeys.length === 0) {
86
- throw new Error('Sorted file keys are required.');
87
- }
88
- if (zipJobAttributes.sortedFileKeys &&
89
- zipJobAttributes.sortedFileKeys.length > 0) {
90
- // Start the main orchestrator with the sorted list of files
91
- await this.sfnService.startExecution(this.zipOrchestratorArn, {
92
- masterJobKey: importKey,
93
- sortedS3Keys: zipJobAttributes.sortedFileKeys,
94
- // Pass through original attributes needed by the sub-workflows
95
- parameters: {
96
- bucket: zipJobAttributes.bucket,
97
- tenantCode: zipJobAttributes.tenantCode,
98
- tableName: zipJobAttributes.tableName,
99
- },
100
- }, `${zipJobAttributes.tenantCode}-zip-import-${Date.now()}`);
101
- this.logger.log(`Started ZIP Orchestrator Step Function for master job ${importEntity.id}`);
102
- return;
103
- }
104
- const s3ReadStream = await this.getS3Stream(zipJobAttributes);
105
- const extractedFileKeys = await this.unzipAndUpload(s3ReadStream, zipJobAttributes, importEntity.id);
106
- if (extractedFileKeys.length === 0) {
107
- throw new Error('No CSV files found in the ZIP archive.');
108
- }
109
- // Sort the file keys alphabetically to ensure sequential processing order
110
- extractedFileKeys.sort();
111
- await this.importService.updateImportJob(importKey, {
112
- set: {
113
- attributes: {
114
- ...zipJobAttributes,
115
- extractedFileKeys, // Save the list of files to the master job
116
- },
117
- },
118
- });
119
- // Start the main orchestrator with the sorted list of files
120
- await this.sfnService.startExecution(this.zipOrchestratorArn, {
121
- masterJobKey: importKey,
122
- sortedS3Keys: extractedFileKeys,
123
- // Pass through original attributes needed by the sub-workflows
124
- parameters: {
125
- bucket: zipJobAttributes.bucket,
126
- tenantCode: zipJobAttributes.tenantCode,
127
- tableName: zipJobAttributes.tableName,
128
- },
129
- }, `${zipJobAttributes.tenantCode}-zip-import-${Date.now()}`);
130
- this.logger.log(`Started ZIP Orchestrator Step Function for master job ${importEntity.id}`);
131
- }
132
- catch (error) {
133
- this.logger.error(`Failed to process ZIP job ${importEntity.id}`, error);
134
- await this.importService.updateStatus(importKey, enum_1.ImportStatusEnum.FAILED, {
135
- error: {
136
- message: `Failed during unzip and preparation: ${error.message}`,
137
- },
138
- });
139
- throw error;
140
- }
141
- }
142
- async getS3Stream(attributes) {
143
- const { Body: s3Stream } = await this.s3Service.client.send(new client_s3_1.GetObjectCommand({
144
- Bucket: attributes.bucket,
145
- Key: attributes.key,
146
- }));
147
- if (!(s3Stream instanceof stream_1.Readable)) {
148
- throw new Error('Failed to get a readable stream from S3 object.');
149
- }
150
- return s3Stream;
151
- }
152
- /**
153
- * Helper function to convert a Readable stream into a Buffer.
154
- * Required for yauzl, which operates on a complete data source.
155
- */
156
- streamToBuffer(stream) {
157
- return new Promise((resolve, reject) => {
158
- const chunks = [];
159
- stream.on('data', (chunk) => chunks.push(chunk));
160
- stream.on('error', reject);
161
- stream.on('end', () => resolve(Buffer.concat(chunks)));
162
- });
163
- }
164
- /**
165
- * Re-implemented using the `jszip` library, which is more tolerant
166
- * of malformed ZIP archives.
167
- */
168
- async unzipAndUpload(zipStream, attributes, jobId) {
169
- const tempS3Prefix = `unzipped/${attributes.tenantCode}/${jobId.replace(/[^a-zA-Z0-9]/g, '_')}`;
170
- // 1. JSZip operates on a buffer, so we first load the stream into memory.
171
- const zipBuffer = await this.streamToBuffer(zipStream);
172
- // 2. Load the ZIP data.
173
- const zip = await JSZip.loadAsync(zipBuffer);
174
- const uploadPromises = [];
175
- const extractedFileKeys = [];
176
- // 3. Loop through each file in the archive.
177
- for (const file of Object.values(zip.files)) {
178
- // 4. Skip directories and process only CSV files.
179
- if (!file.dir && file.name.toLowerCase().endsWith('.csv')) {
180
- this.logger.debug(`Extracting ${file.name} ...`);
181
- // 5. Decompress the file content into a buffer.
182
- const contentBuffer = await file.async('nodebuffer');
183
- const s3UploadKey = `${tempS3Prefix}/${file.name}`;
184
- extractedFileKeys.push(s3UploadKey);
185
- // 6. Create and track the S3 upload promise.
186
- const upload = new lib_storage_1.Upload({
187
- client: this.s3Service.client,
188
- params: {
189
- Bucket: attributes.bucket,
190
- Key: s3UploadKey,
191
- Body: contentBuffer,
192
- },
193
- });
194
- uploadPromises.push(upload.done());
195
- }
196
- }
197
- // 7. Wait for all files to be uploaded to S3.
198
- await Promise.all(uploadPromises);
199
- this.logger.log(`Finished unzipping with JSZip. Uploaded ${extractedFileKeys.length} CSV files.`);
200
- return extractedFileKeys;
201
- }
202
- };
203
- exports.ZipImportQueueEventHandler = ZipImportQueueEventHandler;
204
- exports.ZipImportQueueEventHandler = ZipImportQueueEventHandler = ZipImportQueueEventHandler_1 = __decorate([
205
- (0, core_1.EventHandler)(import_queue_event_1.ImportQueueEvent),
206
- __metadata("design:paramtypes", [config_1.ConfigService,
207
- core_1.StepFunctionService,
208
- import_service_1.ImportService,
209
- core_1.S3Service])
210
- ], ZipImportQueueEventHandler);
211
- //# sourceMappingURL=zip-import.queue.event.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zip-import.queue.event.handler.js","sourceRoot":"","sources":["../../src/event/zip-import.queue.event.handler.ts"],"names":[],"mappings":"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"}