@mbc-cqrs-serverless/master 0.1.68-beta.0 → 0.1.70-beta.0

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 (109) hide show
  1. package/dist/constants/index.d.ts +1 -0
  2. package/dist/constants/index.js +2 -1
  3. package/dist/constants/index.js.map +1 -1
  4. package/dist/controllers/master-data.controller.d.ts +6 -0
  5. package/dist/controllers/master-data.controller.js +74 -0
  6. package/dist/controllers/master-data.controller.js.map +1 -1
  7. package/dist/controllers/master-setting.controller.d.ts +8 -0
  8. package/dist/controllers/master-setting.controller.js +98 -0
  9. package/dist/controllers/master-setting.controller.js.map +1 -1
  10. package/dist/custom-task/custom-task.module.d.ts +2 -0
  11. package/dist/custom-task/custom-task.module.js +30 -0
  12. package/dist/custom-task/custom-task.module.js.map +1 -0
  13. package/dist/custom-task/event/task-queue-event-factory.d.ts +6 -0
  14. package/dist/custom-task/event/task-queue-event-factory.js +23 -0
  15. package/dist/custom-task/event/task-queue-event-factory.js.map +1 -0
  16. package/dist/custom-task/my-task.controller.d.ts +9 -0
  17. package/dist/custom-task/my-task.controller.js +56 -0
  18. package/dist/custom-task/my-task.controller.js.map +1 -0
  19. package/dist/custom-task/my-task.service.d.ts +12 -0
  20. package/dist/custom-task/my-task.service.js +76 -0
  21. package/dist/custom-task/my-task.service.js.map +1 -0
  22. package/dist/decorators/index.d.ts +1 -0
  23. package/dist/decorators/index.js +18 -0
  24. package/dist/decorators/index.js.map +1 -0
  25. package/dist/decorators/key.d.ts +1 -0
  26. package/dist/decorators/key.js +34 -0
  27. package/dist/decorators/key.js.map +1 -0
  28. package/dist/dto/index.d.ts +1 -0
  29. package/dist/dto/index.js +1 -0
  30. package/dist/dto/index.js.map +1 -1
  31. package/dist/dto/master-copy/index.d.ts +8 -0
  32. package/dist/dto/master-copy/index.js +25 -0
  33. package/dist/dto/master-copy/index.js.map +1 -0
  34. package/dist/dto/master-copy/master-copy.dto.d.ts +19 -0
  35. package/dist/dto/master-copy/master-copy.dto.js +92 -0
  36. package/dist/dto/master-copy/master-copy.dto.js.map +1 -0
  37. package/dist/dto/master-copy/master-data-create.dto.d.ts +7 -0
  38. package/dist/dto/master-copy/master-data-create.dto.js +43 -0
  39. package/dist/dto/master-copy/master-data-create.dto.js.map +1 -0
  40. package/dist/dto/master-copy/master-data-search.dto.d.ts +6 -0
  41. package/dist/dto/master-copy/master-data-search.dto.js +39 -0
  42. package/dist/dto/master-copy/master-data-search.dto.js.map +1 -0
  43. package/dist/dto/master-copy/master-data-update.dto.d.ts +6 -0
  44. package/dist/dto/master-copy/master-data-update.dto.js +41 -0
  45. package/dist/dto/master-copy/master-data-update.dto.js.map +1 -0
  46. package/dist/dto/master-copy/master-rds-list.entity.d.ts +6 -0
  47. package/dist/dto/master-copy/master-rds-list.entity.js +33 -0
  48. package/dist/dto/master-copy/master-rds-list.entity.js.map +1 -0
  49. package/dist/dto/master-copy/master-rds.entity.d.ts +26 -0
  50. package/dist/dto/master-copy/master-rds.entity.js +116 -0
  51. package/dist/dto/master-copy/master-rds.entity.js.map +1 -0
  52. package/dist/dto/master-copy/master-setting-search.dto.d.ts +6 -0
  53. package/dist/dto/master-copy/master-setting-search.dto.js +39 -0
  54. package/dist/dto/master-copy/master-setting-search.dto.js.map +1 -0
  55. package/dist/dto/master-copy/master-setting-update.dto.d.ts +4 -0
  56. package/dist/dto/master-copy/master-setting-update.dto.js +31 -0
  57. package/dist/dto/master-copy/master-setting-update.dto.js.map +1 -0
  58. package/dist/handler/master-sfn-task.event.d.ts +3 -0
  59. package/dist/handler/master-sfn-task.event.js +8 -0
  60. package/dist/handler/master-sfn-task.event.js.map +1 -0
  61. package/dist/handler/master-sfn-task.handler.d.ts +24 -0
  62. package/dist/handler/master-sfn-task.handler.js +242 -0
  63. package/dist/handler/master-sfn-task.handler.js.map +1 -0
  64. package/dist/helpers/index.d.ts +7 -0
  65. package/dist/helpers/index.js +15 -0
  66. package/dist/helpers/index.js.map +1 -1
  67. package/dist/helpers/rds.d.ts +4 -0
  68. package/dist/helpers/rds.js +19 -0
  69. package/dist/helpers/rds.js.map +1 -0
  70. package/dist/index.d.ts +2 -0
  71. package/dist/index.js +2 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/interfaces/master-data.interface.d.ts +2 -2
  74. package/dist/master.module-definition.d.ts +2 -0
  75. package/dist/master.module-definition.js +2 -1
  76. package/dist/master.module-definition.js.map +1 -1
  77. package/dist/master.module.js +19 -0
  78. package/dist/master.module.js.map +1 -1
  79. package/dist/services/master-data.service.d.ts +10 -9
  80. package/dist/services/master-data.service.js +112 -4
  81. package/dist/services/master-data.service.js.map +1 -1
  82. package/dist/services/master-setting.service.d.ts +16 -3
  83. package/dist/services/master-setting.service.js +126 -3
  84. package/dist/services/master-setting.service.js.map +1 -1
  85. package/dist/services/master-setting.service.spec.js +16 -0
  86. package/dist/services/master-setting.service.spec.js.map +1 -1
  87. package/dist/update-scheme.js +2 -10
  88. package/dist/update-scheme.js.map +1 -1
  89. package/package.json +6 -4
  90. package/src/templates/master/handler/master-rds.handler.ts +0 -4
  91. package/src/templates/master/master.module.ts +6 -18
  92. package/src/templates/custom-task/custom-task.module.ts +0 -18
  93. package/src/templates/custom-task/event/task-queue-event-factory.ts +0 -26
  94. package/src/templates/custom-task/my-task.controller.ts +0 -28
  95. package/src/templates/custom-task/my-task.service.ts +0 -99
  96. package/src/templates/master/dto/master-copy.dto.ts +0 -73
  97. package/src/templates/master/dto/master-data-create.dto.ts +0 -20
  98. package/src/templates/master/dto/master-data-search.dto.ts +0 -20
  99. package/src/templates/master/dto/master-data-update.dto.ts +0 -25
  100. package/src/templates/master/dto/master-rds-list.entity.ts +0 -15
  101. package/src/templates/master/dto/master-rds.entity.ts +0 -77
  102. package/src/templates/master/dto/master-setting-search.dto.ts +0 -20
  103. package/src/templates/master/dto/master-setting-update.dto.ts +0 -11
  104. package/src/templates/master/handler/master-sfn-task.event.ts +0 -3
  105. package/src/templates/master/handler/master-sfn-task.handler.ts +0 -334
  106. package/src/templates/master/master-data.controller.ts +0 -98
  107. package/src/templates/master/master-data.service.ts +0 -181
  108. package/src/templates/master/master-setting.controller.ts +0 -103
  109. package/src/templates/master/master-setting.service.ts +0 -201
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MasterSettingUpdateDto = void 0;
13
+ const openapi = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class MasterSettingUpdateDto {
16
+ static _OPENAPI_METADATA_FACTORY() {
17
+ return { name: { required: false, type: () => String }, attributes: { required: false, type: () => Object } };
18
+ }
19
+ }
20
+ exports.MasterSettingUpdateDto = MasterSettingUpdateDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_validator_1.IsOptional)(),
24
+ __metadata("design:type", String)
25
+ ], MasterSettingUpdateDto.prototype, "name", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsObject)(),
28
+ (0, class_validator_1.IsOptional)(),
29
+ __metadata("design:type", Object)
30
+ ], MasterSettingUpdateDto.prototype, "attributes", void 0);
31
+ //# sourceMappingURL=master-setting-update.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master-setting-update.dto.js","sourceRoot":"","sources":["../../../src/dto/master-copy/master-setting-update.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qDAAgE;AAEhE,MAAa,sBAAsB;;;;CAQlC;AARD,wDAQC;AALC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;oDACA;AAIb;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACM"}
@@ -0,0 +1,3 @@
1
+ import { StepFunctionTaskEvent } from '@mbc-cqrs-serverless/task';
2
+ export declare class MasterSfnTaskEvent extends StepFunctionTaskEvent {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MasterSfnTaskEvent = void 0;
4
+ const task_1 = require("@mbc-cqrs-serverless/task");
5
+ class MasterSfnTaskEvent extends task_1.StepFunctionTaskEvent {
6
+ }
7
+ exports.MasterSfnTaskEvent = MasterSfnTaskEvent;
8
+ //# sourceMappingURL=master-sfn-task.event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master-sfn-task.event.js","sourceRoot":"","sources":["../../src/handler/master-sfn-task.event.ts"],"names":[],"mappings":";;;AAAA,oDAAiE;AAEjE,MAAa,kBAAmB,SAAQ,4BAAqB;CAAG;AAAhE,gDAAgE"}
@@ -0,0 +1,24 @@
1
+ import { DataService, DynamoDbService, IEventHandler } from '@mbc-cqrs-serverless/core';
2
+ import { SequencesService } from '@mbc-cqrs-serverless/sequence';
3
+ import { MasterDataService, MasterSettingService } from '../services';
4
+ import { MasterSfnTaskEvent } from './master-sfn-task.event';
5
+ export declare class MasterSfnTaskEventHandler implements IEventHandler<MasterSfnTaskEvent> {
6
+ private readonly dynamoDbService;
7
+ private readonly prismaService;
8
+ private readonly masterSettingService;
9
+ private readonly masterDataService;
10
+ private readonly dataService;
11
+ private readonly sequencesService;
12
+ private readonly logger;
13
+ private sequenceTableName;
14
+ constructor(dynamoDbService: DynamoDbService, prismaService: any, masterSettingService: MasterSettingService, masterDataService: MasterDataService, dataService: DataService, sequencesService: SequencesService);
15
+ execute(event: MasterSfnTaskEvent): Promise<any>;
16
+ private fetchSetting;
17
+ private fetchMasterData;
18
+ private copySettingToTenant;
19
+ private copyDataToTenant;
20
+ private shouldCopySequence;
21
+ private copySeqToTenant;
22
+ private generateSequenceKey;
23
+ private getMasterCodeFromSetting;
24
+ }
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var MasterSfnTaskEventHandler_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.MasterSfnTaskEventHandler = void 0;
17
+ const core_1 = require("@mbc-cqrs-serverless/core");
18
+ const sequence_1 = require("@mbc-cqrs-serverless/sequence");
19
+ const common_1 = require("@nestjs/common");
20
+ const lodash_1 = require("lodash");
21
+ const constants_1 = require("../constants");
22
+ const dto_1 = require("../dto");
23
+ const helpers_1 = require("../helpers");
24
+ const master_module_definition_1 = require("../master.module-definition");
25
+ const services_1 = require("../services");
26
+ const master_sfn_task_event_1 = require("./master-sfn-task.event");
27
+ const BATCH_SIZE = 100;
28
+ let MasterSfnTaskEventHandler = MasterSfnTaskEventHandler_1 = class MasterSfnTaskEventHandler {
29
+ constructor(dynamoDbService, prismaService, masterSettingService, masterDataService, dataService, sequencesService) {
30
+ this.dynamoDbService = dynamoDbService;
31
+ this.prismaService = prismaService;
32
+ this.masterSettingService = masterSettingService;
33
+ this.masterDataService = masterDataService;
34
+ this.dataService = dataService;
35
+ this.sequencesService = sequencesService;
36
+ this.logger = new common_1.Logger(MasterSfnTaskEventHandler_1.name);
37
+ this.sequenceTableName = this.dynamoDbService.getTableName('sequences');
38
+ }
39
+ async execute(event) {
40
+ const invokeContext = (0, core_1.extractInvokeContext)();
41
+ const masterCopyDto = event.input?.input;
42
+ this.logger.debug('sfn-event:masterCopyDto:', masterCopyDto);
43
+ const { masterSettingId, targetTenants, copyType, dataCopyOption } = masterCopyDto;
44
+ const targetTenant = `${targetTenants[0]}`;
45
+ const setting = await this.fetchSetting(masterSettingId);
46
+ const masterCode = this.getMasterCodeFromSetting(setting);
47
+ if (copyType === dto_1.CopyType.SETTING_ONLY || copyType === dto_1.CopyType.BOTH) {
48
+ await this.copySettingToTenant(setting, targetTenant, invokeContext);
49
+ }
50
+ if (copyType === dto_1.CopyType.DATA_ONLY || copyType === dto_1.CopyType.BOTH) {
51
+ const isCopySequence = await this.shouldCopySequence(setting, targetTenant);
52
+ if (isCopySequence) {
53
+ await this.copySeqToTenant(setting, targetTenant);
54
+ }
55
+ const dataToCopy = await this.fetchMasterData(masterCode, dataCopyOption);
56
+ await this.copyDataToTenant(dataToCopy, targetTenant, invokeContext);
57
+ }
58
+ this.logger.debug('Completed copy process for tenant:', targetTenant);
59
+ return { message: 'Copy successfully', event };
60
+ }
61
+ async fetchSetting(id) {
62
+ const setting = await this.dataService.getItem((0, helpers_1.parseId)(id));
63
+ this.logger.debug('sfn-event-setting', setting);
64
+ return setting;
65
+ }
66
+ async fetchMasterData(masterCode, dataCopyOption, tenant = 'meltec') {
67
+ const where = {
68
+ masterType: constants_1.DATA_SK_PREFIX,
69
+ masterTypeCode: masterCode,
70
+ pk: `MASTER${core_1.KEY_SEPARATOR}${tenant}`,
71
+ };
72
+ if (dataCopyOption?.mode === dto_1.DataCopyMode.PARTIAL) {
73
+ where.id = { in: dataCopyOption.id };
74
+ }
75
+ this.logger.debug('sfn-event-whereCondition', where);
76
+ const data = await this.prismaService.master.findMany({ where });
77
+ this.logger.debug('sfn-event-dataToCopy', data.length);
78
+ return data;
79
+ }
80
+ async copySettingToTenant(setting, tenantCode, invokeContext) {
81
+ const sk = setting.sk;
82
+ const pk = (0, helpers_1.generateMasterPk)(tenantCode);
83
+ const masterCode = this.getMasterCodeFromSetting(setting);
84
+ const tenantSetting = await this.dataService.getItem({ pk, sk });
85
+ this.logger.debug('sfn-event-copySettingToTenant-tenantSetting', tenantSetting);
86
+ if (tenantSetting && tenantSetting.isDeleted === false) {
87
+ this.logger.debug('sfn-event-copySettingToTenant-updateSetting', {
88
+ pk,
89
+ sk,
90
+ });
91
+ await this.masterSettingService.updateSetting({ pk, sk }, {
92
+ name: setting.name,
93
+ code: masterCode,
94
+ settingValue: setting.attributes,
95
+ tenantCode,
96
+ }, {
97
+ invokeContext,
98
+ });
99
+ }
100
+ else {
101
+ this.logger.debug('sfn-event-copySettingToTenant-createTenantSetting', {
102
+ pk,
103
+ sk,
104
+ });
105
+ await this.masterSettingService.createTenantSetting({
106
+ name: setting.name,
107
+ code: masterCode,
108
+ settingValue: setting.attributes,
109
+ tenantCode,
110
+ }, { invokeContext });
111
+ }
112
+ }
113
+ async copyDataToTenant(dataToCopy, tenantCode, invokeContext) {
114
+ const chunks = (0, lodash_1.chunk)(dataToCopy, BATCH_SIZE);
115
+ for (const batch of chunks) {
116
+ await Promise.all(batch.map(async (data) => {
117
+ const parts = data.sk.split(core_1.KEY_SEPARATOR);
118
+ const sk = parts.length > 1 && parts[1].trim() === ''
119
+ ? `${data.sk}${data.masterCode}`
120
+ : data.sk;
121
+ const pk = (0, helpers_1.generateMasterPk)(tenantCode);
122
+ const tenantData = await this.dataService.getItem({ pk, sk });
123
+ this.logger.debug('sfn-event-copyDataToTenant-tenantData', tenantData);
124
+ // des tenant data is exist and not deleted => update des data same as src data
125
+ if (tenantData && tenantData.isDeleted === false) {
126
+ this.logger.debug('sfn-event-copyDataToTenant-update', { pk, sk });
127
+ return this.masterDataService.update({ pk, sk }, {
128
+ name: data.name,
129
+ attributes: data.attributes,
130
+ isDeleted: data.isDeleted,
131
+ seq: data.seq,
132
+ }, {
133
+ invokeContext,
134
+ });
135
+ }
136
+ // src data is deleted => do nothing
137
+ if (data.isDeleted === true)
138
+ return;
139
+ // src data is exist => create des data
140
+ return this.masterDataService.create({
141
+ code: data.masterCode,
142
+ tenantCode,
143
+ name: data.name,
144
+ settingCode: data.masterTypeCode,
145
+ attributes: data.attributes,
146
+ seq: data.seq,
147
+ }, { invokeContext });
148
+ }));
149
+ }
150
+ }
151
+ async shouldCopySequence(setting, tenantCode) {
152
+ const fields = setting?.attributes?.['fields'] || [];
153
+ const codeField = fields.find((f) => f.physicalName === 'code');
154
+ if (codeField?.dataType !== 'auto_number') {
155
+ this.logger.debug('Sequence not required: code field not auto_number');
156
+ return false;
157
+ }
158
+ const jcciSeqKey = this.generateSequenceKey(tenantCode, setting);
159
+ const { seq: jcciSeq = 0 } = (await this.sequencesService.getCurrentSequence(jcciSeqKey)) ?? {};
160
+ this.logger.debug('sfn-event-shouldCopySequence-jcciSeq', {
161
+ jcciSeqKey,
162
+ jcciSeq,
163
+ });
164
+ if (jcciSeq === 0) {
165
+ this.logger.debug('Skipping sequence copy: JCCI sequence is 0');
166
+ return false;
167
+ }
168
+ const tenantSeqKey = this.generateSequenceKey(tenantCode, setting);
169
+ const { seq: tenantSeq } = (await this.sequencesService.getCurrentSequence(tenantSeqKey)) ?? {};
170
+ this.logger.debug('sfn-event-shouldCopySequence-tenantSeq', {
171
+ tenantSeqKey,
172
+ tenantSeq,
173
+ });
174
+ if (tenantSeq === undefined || tenantSeq === null) {
175
+ this.logger.debug('Tenant sequence missing: copying sequence required');
176
+ return true;
177
+ }
178
+ if (jcciSeq > tenantSeq) {
179
+ this.logger.debug('Tenant sequence is behind: copying required');
180
+ return true;
181
+ }
182
+ this.logger.debug('Tenant sequence is up to date or ahead: no copy needed');
183
+ return false;
184
+ }
185
+ async copySeqToTenant(setting, tenantCode) {
186
+ const fields = setting?.attributes?.['fields'] || [];
187
+ const codeField = fields.find((f) => f.physicalName === 'code');
188
+ const typeCode = codeField.formatCode ?? codeField.dataFormat;
189
+ const jcciSeqKey = this.generateSequenceKey(tenantCode, setting);
190
+ const { seq: jcciSeq = 0 } = (await this.sequencesService.getCurrentSequence(jcciSeqKey)) ?? {};
191
+ const tenantSeqKey = this.generateSequenceKey(tenantCode, setting);
192
+ const { seq: tenantSeq = 0 } = (await this.sequencesService.getCurrentSequence(tenantSeqKey)) ?? {};
193
+ const distance = jcciSeq - tenantSeq;
194
+ this.logger.debug('Copying sequence gap:', {
195
+ jcciSeq,
196
+ tenantSeq,
197
+ distance,
198
+ });
199
+ this.logger.debug('putItem', {
200
+ pk: tenantSeqKey.pk,
201
+ sk: tenantSeqKey.sk,
202
+ code: tenantSeqKey.sk,
203
+ name: tenantSeqKey.sk.split(core_1.KEY_SEPARATOR).at(-1),
204
+ seq: jcciSeq,
205
+ tenantCode,
206
+ type: typeCode,
207
+ });
208
+ this.logger.debug('this.sequenceTableName', this.sequenceTableName);
209
+ await this.dynamoDbService.putItem(this.sequenceTableName, {
210
+ pk: tenantSeqKey.pk,
211
+ sk: tenantSeqKey.sk,
212
+ code: tenantSeqKey.sk,
213
+ name: tenantSeqKey.sk.split(core_1.KEY_SEPARATOR).at(-1),
214
+ seq: jcciSeq,
215
+ tenantCode,
216
+ type: typeCode,
217
+ });
218
+ }
219
+ generateSequenceKey(tenantCode, setting) {
220
+ const fields = setting?.attributes?.['fields'] || [];
221
+ const codeField = fields.find((f) => f.physicalName === 'code');
222
+ const seqSk = codeField.formatCode ?? codeField.dataFormat;
223
+ const pk = (0, helpers_1.sequencePk)(tenantCode);
224
+ const masterCode = this.getMasterCodeFromSetting(setting);
225
+ const sk = (0, helpers_1.genSequenceSk)(seqSk, masterCode, sequence_1.RotateByEnum.NONE);
226
+ return { pk, sk };
227
+ }
228
+ getMasterCodeFromSetting(setting) {
229
+ const parts = setting.sk.split(core_1.KEY_SEPARATOR);
230
+ return parts[1];
231
+ }
232
+ };
233
+ exports.MasterSfnTaskEventHandler = MasterSfnTaskEventHandler;
234
+ exports.MasterSfnTaskEventHandler = MasterSfnTaskEventHandler = MasterSfnTaskEventHandler_1 = __decorate([
235
+ (0, core_1.EventHandler)(master_sfn_task_event_1.MasterSfnTaskEvent),
236
+ __param(1, (0, common_1.Inject)(master_module_definition_1.PRISMA_SERVICE)),
237
+ __metadata("design:paramtypes", [core_1.DynamoDbService, Object, services_1.MasterSettingService,
238
+ services_1.MasterDataService,
239
+ core_1.DataService,
240
+ sequence_1.SequencesService])
241
+ ], MasterSfnTaskEventHandler);
242
+ //# sourceMappingURL=master-sfn-task.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master-sfn-task.handler.js","sourceRoot":"","sources":["../../src/handler/master-sfn-task.handler.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { RotateByEnum } from '@mbc-cqrs-serverless/sequence/dist';
1
2
  export declare function generateMasterPk(tenantCode: string): string;
2
3
  export declare function generateMasterDataSk(settingCode: string, code: string): string;
3
4
  export declare function generateMasterSettingSk(code: string): string;
@@ -9,3 +10,9 @@ export declare function parsePk(pk: string): {
9
10
  type: string;
10
11
  tenantCode: string;
11
12
  };
13
+ export declare function parseId(masterId: string): {
14
+ pk: string;
15
+ sk: string;
16
+ };
17
+ export declare const genSequenceSk: (seqSettingCode: string, settingCode: string, rotateBy: RotateByEnum) => string;
18
+ export declare const sequencePk: (tenantCode: string) => string;
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sequencePk = exports.genSequenceSk = void 0;
3
4
  exports.generateMasterPk = generateMasterPk;
4
5
  exports.generateMasterDataSk = generateMasterDataSk;
5
6
  exports.generateMasterSettingSk = generateMasterSettingSk;
6
7
  exports.parseDataSettingSk = parseDataSettingSk;
7
8
  exports.parsePk = parsePk;
9
+ exports.parseId = parseId;
8
10
  const core_1 = require("@mbc-cqrs-serverless/core");
9
11
  const constants_1 = require("../constants");
10
12
  function generateMasterPk(tenantCode) {
@@ -33,4 +35,17 @@ function parsePk(pk) {
33
35
  tenantCode,
34
36
  };
35
37
  }
38
+ function parseId(masterId) {
39
+ const parts = masterId.split('#');
40
+ if (parts.length < 4 || parts[0] !== 'MASTER') {
41
+ throw new Error('Invalid masterId format');
42
+ }
43
+ const pk = `${parts[0]}#${parts[1]}`;
44
+ const sk = `${parts[2]}#${parts[3]}`;
45
+ return { pk, sk };
46
+ }
47
+ const genSequenceSk = (seqSettingCode, settingCode, rotateBy) => `${seqSettingCode}${core_1.KEY_SEPARATOR}${settingCode}${core_1.KEY_SEPARATOR}${rotateBy}`;
48
+ exports.genSequenceSk = genSequenceSk;
49
+ const sequencePk = (tenantCode) => `SEQ${core_1.KEY_SEPARATOR}${tenantCode}`;
50
+ exports.sequencePk = sequencePk;
36
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;AAIA,4CAEC;AAED,oDAEC;AAED,0DAEC;AAED,gDASC;AAED,0BASC;AApCD,oDAA+E;AAE/E,4CAAkE;AAElE,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,OAAO,GAAG,4BAAgB,GAAG,oBAAa,GAAG,UAAU,EAAE,CAAA;AAC3D,CAAC;AAED,SAAgB,oBAAoB,CAAC,WAAmB,EAAE,IAAY;IACpE,OAAO,GAAG,WAAW,GAAG,oBAAa,GAAG,IAAI,EAAE,CAAA;AAChD,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAY;IAClD,OAAO,GAAG,6BAAiB,GAAG,oBAAa,GAAG,IAAI,EAAE,CAAA;AACtD,CAAC;AAED,SAAgB,kBAAkB,CAAC,EAAU;IAI3C,IAAI,EAAE,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAA,2BAAoB,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAA;IACzE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AAC9B,CAAC;AAED,SAAgB,OAAO,CAAC,EAAU;IAChC,IAAI,EAAE,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAA;IAClD,OAAO;QACL,IAAI;QACJ,UAAU;KACX,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;AAKA,4CAEC;AAED,oDAEC;AAED,0DAEC;AAED,gDASC;AAED,0BASC;AAED,0BAWC;AAlDD,oDAA+E;AAG/E,4CAAkE;AAElE,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,OAAO,GAAG,4BAAgB,GAAG,oBAAa,GAAG,UAAU,EAAE,CAAA;AAC3D,CAAC;AAED,SAAgB,oBAAoB,CAAC,WAAmB,EAAE,IAAY;IACpE,OAAO,GAAG,WAAW,GAAG,oBAAa,GAAG,IAAI,EAAE,CAAA;AAChD,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAAY;IAClD,OAAO,GAAG,6BAAiB,GAAG,oBAAa,GAAG,IAAI,EAAE,CAAA;AACtD,CAAC;AAED,SAAgB,kBAAkB,CAAC,EAAU;IAI3C,IAAI,EAAE,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAA,2BAAoB,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAA;IACzE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AAC9B,CAAC;AAED,SAAgB,OAAO,CAAC,EAAU;IAChC,IAAI,EAAE,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAa,CAAC,CAAA;IAClD,OAAO;QACL,IAAI;QACJ,UAAU;KACX,CAAA;AACH,CAAC;AAED,SAAgB,OAAO,CAAC,QAAgB;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IACpC,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAEpC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AACnB,CAAC;AAEM,MAAM,aAAa,GAAG,CAC3B,cAAsB,EACtB,WAAmB,EACnB,QAAsB,EACtB,EAAE,CACF,GAAG,cAAc,GAAG,oBAAa,GAAG,WAAW,GAAG,oBAAa,GAAG,QAAQ,EAAE,CAAA;AALjE,QAAA,aAAa,iBAKoD;AAEvE,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CAC/C,MAAM,oBAAa,GAAG,UAAU,EAAE,CAAA;AADvB,QAAA,UAAU,cACa"}
@@ -0,0 +1,4 @@
1
+ export declare function getOrderBy(order: string): {
2
+ [x: string]: string;
3
+ };
4
+ export declare function getOrderBys<T>(orders: string[]): T[];
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrderBy = getOrderBy;
4
+ exports.getOrderBys = getOrderBys;
5
+ function getOrderBy(order) {
6
+ let orderValue = 'asc', orderKey = order;
7
+ if (order.startsWith('-')) {
8
+ orderValue = 'desc';
9
+ orderKey = order.slice(1);
10
+ }
11
+ return { [orderKey]: orderValue };
12
+ }
13
+ function getOrderBys(orders) {
14
+ if (!orders) {
15
+ return undefined;
16
+ }
17
+ return orders.map((order) => getOrderBy(order));
18
+ }
19
+ //# sourceMappingURL=rds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rds.js","sourceRoot":"","sources":["../../src/helpers/rds.ts"],"names":[],"mappings":";;AAAA,gCASC;AAED,kCAKC;AAhBD,SAAgB,UAAU,CAAC,KAAa;IACtC,IAAI,UAAU,GAAG,KAAK,EACpB,QAAQ,GAAG,KAAK,CAAA;IAClB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,UAAU,GAAG,MAAM,CAAA;QACnB,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;AACnC,CAAC;AAED,SAAgB,WAAW,CAAI,MAAgB;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAQ,CAAA;AACxD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './controllers';
2
+ export * from './decorators';
3
+ export * from './dto';
2
4
  export * from './master.module';
3
5
  export * from './services';
package/dist/index.js CHANGED
@@ -15,6 +15,8 @@ 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("./decorators"), exports);
19
+ __exportStar(require("./dto"), exports);
18
20
  __exportStar(require("./master.module"), exports);
19
21
  __exportStar(require("./services"), exports);
20
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,kDAA+B;AAC/B,6CAA0B"}
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,8 +1,8 @@
1
1
  import { DetailDto, IInvoke } from '@mbc-cqrs-serverless/core';
2
- import { CreateMasterDataDto, MasterDataSearchDto, UpdateDataSettingDto } from '../dto';
2
+ import { CreateMasterDataDto, CustomMasterDataSearchDto, MasterDataSearchDto, UpdateDataSettingDto } from '../dto';
3
3
  import { MasterDataEntity, MasterDataListEntity } from '../entities';
4
4
  export interface IMasterDataService {
5
- listByRds(searchDto: MasterDataSearchDto, context: {
5
+ listByRds(searchDto: CustomMasterDataSearchDto, context: {
6
6
  invokeContext: IInvoke;
7
7
  }): any;
8
8
  list(searchDto: MasterDataSearchDto): Promise<MasterDataListEntity>;
@@ -1,7 +1,9 @@
1
1
  import { IDataSyncHandler } from '@mbc-cqrs-serverless/core';
2
2
  import { Type } from '@nestjs/common';
3
+ export declare const PRISMA_SERVICE = "PrismaServiceInjectToken";
3
4
  export interface MasterModuleOptions {
4
5
  enableController?: boolean;
5
6
  dataSyncHandlers?: Type<IDataSyncHandler>[];
7
+ prismaService?: Type<any>;
6
8
  }
7
9
  export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<MasterModuleOptions, "register", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol, OPTIONS_TYPE: MasterModuleOptions & Partial<{}>;
@@ -1,7 +1,8 @@
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 = void 0;
4
+ exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = exports.PRISMA_SERVICE = void 0;
5
5
  const common_1 = require("@nestjs/common");
6
+ exports.PRISMA_SERVICE = 'PrismaServiceInjectToken';
6
7
  _a = new common_1.ConfigurableModuleBuilder().build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN, exports.OPTIONS_TYPE = _a.OPTIONS_TYPE;
7
8
  //# sourceMappingURL=master.module-definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"master.module-definition.js","sourceRoot":"","sources":["../src/master.module-definition.ts"],"names":[],"mappings":";;;;AACA,2CAA0D;AAQ7C,KACX,IAAI,kCAAyB,EAAuB,CAAC,KAAK,EAAE,EAD/C,+BAAuB,+BAAE,4BAAoB,4BAAE,oBAAY,mBACZ"}
1
+ {"version":3,"file":"master.module-definition.js","sourceRoot":"","sources":["../src/master.module-definition.ts"],"names":[],"mappings":";;;;AACA,2CAA0D;AAG7C,QAAA,cAAc,GAAG,0BAA0B,CAAA;AAQ3C,KACX,IAAI,kCAAyB,EAAuB,CAAC,KAAK,EAAE,EAD/C,+BAAuB,+BAAE,4BAAoB,4BAAE,oBAAY,mBACZ"}
@@ -8,20 +8,39 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.MasterModule = void 0;
10
10
  const core_1 = require("@mbc-cqrs-serverless/core");
11
+ const sequence_1 = require("@mbc-cqrs-serverless/sequence");
11
12
  const common_1 = require("@nestjs/common");
12
13
  const constants_1 = require("./constants");
13
14
  const controllers_1 = require("./controllers");
15
+ const custom_task_module_1 = require("./custom-task/custom-task.module");
16
+ const master_sfn_task_handler_1 = require("./handler/master-sfn-task.handler");
14
17
  const master_module_definition_1 = require("./master.module-definition");
15
18
  const services_1 = require("./services");
16
19
  let MasterModule = class MasterModule extends master_module_definition_1.ConfigurableModuleClass {
17
20
  static register(options) {
18
21
  const module = super.register(options);
19
22
  if (options.enableController) {
23
+ if (!options.prismaService) {
24
+ throw new Error('PrismaService must be provided when enableController is true.');
25
+ }
20
26
  if (!module.controllers) {
21
27
  module.controllers = [];
22
28
  }
23
29
  module.controllers.push(controllers_1.MasterDataController);
24
30
  module.controllers.push(controllers_1.MasterSettingController);
31
+ if (!module.providers) {
32
+ module.providers = [];
33
+ }
34
+ module.providers.push({
35
+ provide: master_module_definition_1.PRISMA_SERVICE,
36
+ useClass: options.prismaService,
37
+ });
38
+ module.providers.push(master_sfn_task_handler_1.MasterSfnTaskEventHandler);
39
+ if (!module.imports) {
40
+ module.imports = [];
41
+ }
42
+ module.imports.push(custom_task_module_1.CustomTaskModule);
43
+ module.imports.push(sequence_1.SequencesModule);
25
44
  }
26
45
  const imports = [...(module.imports ?? [])];
27
46
  imports.push(core_1.CommandModule.register({
@@ -1 +1 @@
1
- {"version":3,"file":"master.module.js","sourceRoot":"","sources":["../src/master.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAIkC;AAClC,2CAAsD;AAEtD,2CAAwC;AACxC,+CAA6E;AAC7E,yEAGmC;AACnC,yCAAoE;AAO7D,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,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;YACzB,CAAC;YACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kCAAoB,CAAC,CAAA;YAC7C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,qCAAuB,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;QAE3C,OAAO,CAAC,IAAI,CACV,oBAAa,CAAC,QAAQ,CAAC;YACrB,SAAS,EAAE,sBAAU;YACrB,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;SAC5C,CAAC,CACH,CAAA;QAED,OAAO;YACL,GAAG,MAAM;YACT,OAAO;SACR,CAAA;IACH,CAAC;CACF,CAAA;AAzBY,oCAAY;uBAAZ,YAAY;IALxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAe,EAAE,kBAAW,CAAC;QACvC,SAAS,EAAE,CAAC,4BAAiB,EAAE,+BAAoB,CAAC;QACpD,OAAO,EAAE,CAAC,4BAAiB,EAAE,+BAAoB,CAAC;KACnD,CAAC;GACW,YAAY,CAyBxB"}
1
+ {"version":3,"file":"master.module.js","sourceRoot":"","sources":["../src/master.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAIkC;AAClC,4DAA+D;AAC/D,2CAAsD;AAEtD,2CAAwC;AACxC,+CAA6E;AAC7E,yEAAmE;AACnE,+EAA6E;AAC7E,yEAImC;AACnC,yCAAoE;AAO7D,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,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;YACzB,CAAC;YACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kCAAoB,CAAC,CAAA;YAC7C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,qCAAuB,CAAC,CAAA;YAEhD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAA;YACvB,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,yCAAc;gBACvB,QAAQ,EAAE,OAAO,CAAC,aAAa;aAChC,CAAC,CAAA;YACF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,mDAAyB,CAAC,CAAA;YAEhD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;YACrB,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAgB,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAAe,CAAC,CAAA;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;QAE3C,OAAO,CAAC,IAAI,CACV,oBAAa,CAAC,QAAQ,CAAC;YACrB,SAAS,EAAE,sBAAU;YACrB,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;SAC5C,CAAC,CACH,CAAA;QAED,OAAO;YACL,GAAG,MAAM;YACT,OAAO;SACR,CAAA;IACH,CAAC;CACF,CAAA;AA9CY,oCAAY;uBAAZ,YAAY;IALxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAe,EAAE,kBAAW,CAAC;QACvC,SAAS,EAAE,CAAC,4BAAiB,EAAE,+BAAoB,CAAC;QACpD,OAAO,EAAE,CAAC,4BAAiB,EAAE,+BAAoB,CAAC;KACnD,CAAC;GACW,YAAY,CA8CxB"}
@@ -1,26 +1,22 @@
1
1
  import { CommandService, DataService, DetailDto, IInvoke } from '@mbc-cqrs-serverless/core';
2
- import { CreateMasterDataDto, MasterDataSearchDto, UpdateDataSettingDto } from '../dto';
2
+ import { CreateMasterDataDto, CustomMasterDataSearchDto, MasterDataCreateDto, MasterDataSearchDto, MasterDataUpdateDto, MasterRdsEntity, MasterRdsListEntity, UpdateDataSettingDto } from '../dto';
3
3
  import { MasterDataEntity, MasterDataListEntity } from '../entities';
4
4
  import { IMasterDataService } from '../interfaces';
5
5
  export declare class MasterDataService implements IMasterDataService {
6
+ private readonly prismaService;
6
7
  private readonly commandService;
7
8
  private readonly dataService;
8
9
  private readonly logger;
9
- constructor(commandService: CommandService, dataService: DataService);
10
+ constructor(prismaService: any, commandService: CommandService, dataService: DataService);
10
11
  /**
11
12
  * List master data by RDS
12
13
  * @param searchDto - Search criteria for master data
13
14
  * @param context - Context containing invoke information
14
15
  * @returns A promise that resolves to the search results
15
16
  */
16
- listByRds(searchDto: MasterDataSearchDto, context: {
17
+ listByRds(searchDto: CustomMasterDataSearchDto, context: {
17
18
  invokeContext: IInvoke;
18
- }): Promise<{
19
- searchDto: MasterDataSearchDto;
20
- context: {
21
- invokeContext: IInvoke;
22
- };
23
- }>;
19
+ }): Promise<MasterRdsListEntity>;
24
20
  list(searchDto: MasterDataSearchDto): Promise<MasterDataListEntity>;
25
21
  get(key: DetailDto): Promise<MasterDataEntity>;
26
22
  create(createDto: CreateMasterDataDto, opts: {
@@ -33,4 +29,9 @@ export declare class MasterDataService implements IMasterDataService {
33
29
  invokeContext: IInvoke;
34
30
  }): Promise<MasterDataEntity>;
35
31
  checkExistCode(tenantCode: string, type: string, code: string): Promise<boolean>;
32
+ private getTenantCode;
33
+ getDetail(key: DetailDto): Promise<MasterRdsEntity>;
34
+ createSetting(createDto: MasterDataCreateDto, invokeContext: IInvoke): Promise<MasterDataEntity>;
35
+ updateSetting(key: DetailDto, updateDto: MasterDataUpdateDto, invokeContext: IInvoke): Promise<MasterDataEntity>;
36
+ deleteSetting(key: DetailDto, invokeContext: IInvoke): Promise<MasterDataEntity>;
36
37
  }