@mbc-cqrs-serverless/master 1.2.3 → 1.2.4

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.
package/README.md CHANGED
@@ -26,14 +26,22 @@ npm install @mbc-cqrs-serverless/master
26
26
 
27
27
  ### 1. Register the Module
28
28
 
29
+ When `enableController` is `true`, **`MasterModule` does not register `@mbc-cqrs-serverless/task` for you.** Register `TaskModule` once in the host app (with your `ITaskQueueEventFactory` implementation) **before or alongside** `MasterModule`. `TaskModule.register()` is global, so `TaskService` is available to `MasterSettingService`, `MyTaskService`, and controllers without importing `TaskModule` into every feature module.
30
+
29
31
  ```typescript
30
32
  import { Module } from '@nestjs/common';
31
33
  import { MasterModule } from '@mbc-cqrs-serverless/master';
34
+ import { TaskModule } from '@mbc-cqrs-serverless/task';
32
35
  import { PrismaService } from './prisma/prisma.service';
33
36
  import { MasterDataSyncHandler } from './handlers/master-data-sync.handler';
37
+ import { AppTaskQueueEventFactory } from './task/app-task-queue-event.factory';
34
38
 
35
39
  @Module({
36
40
  imports: [
41
+ TaskModule.register({
42
+ taskQueueEventFactory: AppTaskQueueEventFactory,
43
+ // enableController: true, // optional: task REST API from @mbc-cqrs-serverless/task
44
+ }),
37
45
  MasterModule.register({
38
46
  enableController: true, // Optional: enable REST endpoints
39
47
  prismaService: PrismaService, // Required when enableController is true
@@ -44,6 +52,15 @@ import { MasterDataSyncHandler } from './handlers/master-data-sync.handler';
44
52
  export class AppModule {}
45
53
  ```
46
54
 
55
+ ### TaskModule requirement
56
+
57
+ | Scenario | Action |
58
+ |----------|--------|
59
+ | `MasterModule.register({ enableController: true })` | **Required:** call `TaskModule.register({ taskQueueEventFactory })` in the host. `MasterSettingService` and `CustomTaskModule` (`MyTaskService`) inject `TaskService`. |
60
+ | `enableController` omitted or `false` | `TaskModule` is still needed if you use APIs or services that inject `TaskService`; otherwise follow your app’s architecture. |
61
+
62
+ Use one factory class that implements **`ITaskQueueEventFactory`** for both app-specific tasks and master Step Functions task mapping (`transformTask` / `transformStepFunctionTask`) so only one `TASK_QUEUE_EVENT_FACTORY` binding exists. Details: [@mbc-cqrs-serverless/task README](../task/README.md#global-module-and-single-registration).
63
+
47
64
  ### 2. Use Master Data Service
48
65
 
49
66
  ```typescript
@@ -267,6 +284,7 @@ sk: SETTING#[code] (tenant/common)
267
284
  | Package | Description |
268
285
  |---------|-------------|
269
286
  | [@mbc-cqrs-serverless/core](https://www.npmjs.com/package/@mbc-cqrs-serverless/core) | Core CQRS framework |
287
+ | [@mbc-cqrs-serverless/task](https://www.npmjs.com/package/@mbc-cqrs-serverless/task) | Async tasks and `TaskService` (register once in the host when using master controllers) |
270
288
  | [@mbc-cqrs-serverless/sequence](https://www.npmjs.com/package/@mbc-cqrs-serverless/sequence) | Uses master data for sequence formats |
271
289
  | [@mbc-cqrs-serverless/tenant](https://www.npmjs.com/package/@mbc-cqrs-serverless/tenant) | Tenant management for group settings |
272
290
 
@@ -7,9 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.CustomTaskModule = void 0;
10
- const task_1 = require("@mbc-cqrs-serverless/task");
11
10
  const common_1 = require("@nestjs/common");
12
- const task_queue_event_factory_1 = require("./event/task-queue-event-factory");
13
11
  const my_task_controller_1 = require("./my-task.controller");
14
12
  const my_task_service_1 = require("./my-task.service");
15
13
  let CustomTaskModule = class CustomTaskModule {
@@ -17,14 +15,8 @@ let CustomTaskModule = class CustomTaskModule {
17
15
  exports.CustomTaskModule = CustomTaskModule;
18
16
  exports.CustomTaskModule = CustomTaskModule = __decorate([
19
17
  (0, common_1.Module)({
20
- imports: [
21
- task_1.TaskModule.register({
22
- taskQueueEventFactory: task_queue_event_factory_1.TaskQueueEventFactory,
23
- }),
24
- ],
25
18
  providers: [my_task_service_1.MyTaskService],
26
19
  controllers: [my_task_controller_1.MyTaskController],
27
- exports: [task_1.TaskModule],
28
20
  })
29
21
  ], CustomTaskModule);
30
22
  //# sourceMappingURL=custom-task.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-task.module.js","sourceRoot":"","sources":["../../src/custom-task/custom-task.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAsD;AACtD,2CAAuC;AAEvC,+EAAwE;AACxE,6DAAuD;AACvD,uDAAiD;AAY1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAV5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,iBAAU,CAAC,QAAQ,CAAC;gBAClB,qBAAqB,EAAE,gDAAqB;aAC7C,CAAC;SACH;QACD,SAAS,EAAE,CAAC,+BAAa,CAAC;QAC1B,WAAW,EAAE,CAAC,qCAAgB,CAAC;QAC/B,OAAO,EAAE,CAAC,iBAAU,CAAC;KACtB,CAAC;GACW,gBAAgB,CAAG"}
1
+ {"version":3,"file":"custom-task.module.js","sourceRoot":"","sources":["../../src/custom-task/custom-task.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuC;AAEvC,6DAAuD;AACvD,uDAAiD;AAM1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAJ5B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,+BAAa,CAAC;QAC1B,WAAW,EAAE,CAAC,qCAAgB,CAAC;KAChC,CAAC;GACW,gBAAgB,CAAG"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './controllers';
2
+ export * from './custom-task/event/task-queue-event-factory';
2
3
  export * from './decorators';
3
4
  export * from './dto';
4
5
  export * from './master.module';
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./controllers"), exports);
18
+ __exportStar(require("./custom-task/event/task-queue-event-factory"), exports);
18
19
  __exportStar(require("./decorators"), exports);
19
20
  __exportStar(require("./dto"), exports);
20
21
  __exportStar(require("./master.module"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,+CAA4B;AAC5B,wCAAqB;AACrB,kDAA+B;AAC/B,6CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,+EAA4D;AAC5D,+CAA4B;AAC5B,wCAAqB;AACrB,kDAA+B;AAC/B,6CAA0B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/master",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": " Master data management such as setting, sequence, etc.",
5
5
  "keywords": [
6
6
  "mbc",
@@ -43,10 +43,10 @@
43
43
  "access": "public"
44
44
  },
45
45
  "dependencies": {
46
- "@mbc-cqrs-serverless/core": "1.2.3",
47
- "@mbc-cqrs-serverless/sequence": "1.2.3",
48
- "@mbc-cqrs-serverless/task": "1.2.3",
46
+ "@mbc-cqrs-serverless/core": "1.2.4",
47
+ "@mbc-cqrs-serverless/sequence": "1.2.4",
48
+ "@mbc-cqrs-serverless/task": "1.2.4",
49
49
  "ulid": "^2.3.0"
50
50
  },
51
- "gitHead": "209331de04ac0c2a864b3a433a6d6b34b1c6fc05"
51
+ "gitHead": "115721d0ef8c3332a29db37c31575e594163a865"
52
52
  }