@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,
|
|
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
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
|
+
"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.
|
|
47
|
-
"@mbc-cqrs-serverless/sequence": "1.2.
|
|
48
|
-
"@mbc-cqrs-serverless/task": "1.2.
|
|
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": "
|
|
51
|
+
"gitHead": "115721d0ef8c3332a29db37c31575e594163a865"
|
|
52
52
|
}
|