@mbc-cqrs-serverless/master 1.1.0 → 1.1.2

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 (54) hide show
  1. package/dist/controllers/index.d.ts +1 -0
  2. package/dist/controllers/index.js +1 -0
  3. package/dist/controllers/index.js.map +1 -1
  4. package/dist/controllers/master-bulk.controller.d.ts +10 -0
  5. package/dist/controllers/master-bulk.controller.js +106 -0
  6. package/dist/controllers/master-bulk.controller.js.map +1 -0
  7. package/dist/controllers/master-bulk.controller.spec.d.ts +1 -0
  8. package/dist/controllers/master-bulk.controller.spec.js +261 -0
  9. package/dist/controllers/master-bulk.controller.spec.js.map +1 -0
  10. package/dist/controllers/master-data.controller.d.ts +1 -1
  11. package/dist/controllers/master-data.controller.js +8 -2
  12. package/dist/controllers/master-data.controller.js.map +1 -1
  13. package/dist/controllers/master-data.controller.spec.js +42 -1
  14. package/dist/controllers/master-data.controller.spec.js.map +1 -1
  15. package/dist/controllers/master-setting.controller.d.ts +1 -1
  16. package/dist/controllers/master-setting.controller.js +7 -1
  17. package/dist/controllers/master-setting.controller.js.map +1 -1
  18. package/dist/controllers/master-setting.controller.spec.js +44 -4
  19. package/dist/controllers/master-setting.controller.spec.js.map +1 -1
  20. package/dist/dto/index.d.ts +1 -0
  21. package/dist/dto/index.js +1 -0
  22. package/dist/dto/index.js.map +1 -1
  23. package/dist/dto/master-bulk/index.d.ts +2 -0
  24. package/dist/dto/master-bulk/index.js +19 -0
  25. package/dist/dto/master-bulk/index.js.map +1 -0
  26. package/dist/dto/master-bulk/master-bulk-item.dto.d.ts +8 -0
  27. package/dist/dto/master-bulk/master-bulk-item.dto.js +85 -0
  28. package/dist/dto/master-bulk/master-bulk-item.dto.js.map +1 -0
  29. package/dist/dto/master-bulk/master-bulk.dto.d.ts +4 -0
  30. package/dist/dto/master-bulk/master-bulk.dto.js +36 -0
  31. package/dist/dto/master-bulk/master-bulk.dto.js.map +1 -0
  32. package/dist/dto/master-copy/master-data-create-bulk.dto.js +1 -0
  33. package/dist/dto/master-copy/master-data-create-bulk.dto.js.map +1 -1
  34. package/dist/dto/master-setting/common-setting-create-bulk.dto.js +1 -0
  35. package/dist/dto/master-setting/common-setting-create-bulk.dto.js.map +1 -1
  36. package/dist/master.module.js +1 -0
  37. package/dist/master.module.js.map +1 -1
  38. package/dist/services/master-data-upsert.integration.spec.d.ts +1 -0
  39. package/dist/services/master-data-upsert.integration.spec.js +301 -0
  40. package/dist/services/master-data-upsert.integration.spec.js.map +1 -0
  41. package/dist/services/master-data.service.d.ts +7 -0
  42. package/dist/services/master-data.service.js +42 -10
  43. package/dist/services/master-data.service.js.map +1 -1
  44. package/dist/services/master-data.service.spec.js +308 -48
  45. package/dist/services/master-data.service.spec.js.map +1 -1
  46. package/dist/services/master-setting-upsert.integration.spec.d.ts +1 -0
  47. package/dist/services/master-setting-upsert.integration.spec.js +282 -0
  48. package/dist/services/master-setting-upsert.integration.spec.js.map +1 -0
  49. package/dist/services/master-setting.service.d.ts +6 -0
  50. package/dist/services/master-setting.service.js +55 -20
  51. package/dist/services/master-setting.service.js.map +1 -1
  52. package/dist/services/master-setting.service.spec.js +245 -44
  53. package/dist/services/master-setting.service.spec.js.map +1 -1
  54. package/package.json +5 -5
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const ts_jest_1 = require("@golevelup/ts-jest");
5
+ const core_1 = require("@mbc-cqrs-serverless/core");
6
+ const master_data_service_1 = require("./master-data.service");
7
+ const master_module_definition_1 = require("../master.module-definition");
8
+ const entities_1 = require("../entities");
9
+ jest.mock('@mbc-cqrs-serverless/core', () => ({
10
+ ...jest.requireActual('@mbc-cqrs-serverless/core'),
11
+ getUserContext: jest.fn(),
12
+ }));
13
+ describe('Master Data Upsert Integration', () => {
14
+ let service;
15
+ let prismaService;
16
+ let commandService;
17
+ let dataService;
18
+ const mockUserContext = {
19
+ tenantCode: 'TEST_TENANT',
20
+ userId: 'test-user-id',
21
+ tenantRole: 'ADMIN',
22
+ };
23
+ const mockInvokeContext = {
24
+ context: { awsRequestId: 'test-request-id' },
25
+ event: { requestContext: { http: { sourceIp: '127.0.0.1' } } },
26
+ };
27
+ beforeEach(async () => {
28
+ const mockPrismaService = {
29
+ master: {
30
+ findMany: jest.fn(),
31
+ count: jest.fn(),
32
+ aggregate: jest.fn().mockResolvedValue({ _max: { seq: null } }),
33
+ },
34
+ };
35
+ const mockGetUserContext = core_1.getUserContext;
36
+ mockGetUserContext.mockReturnValue(mockUserContext);
37
+ const module = await testing_1.Test.createTestingModule({
38
+ providers: [
39
+ master_data_service_1.MasterDataService,
40
+ {
41
+ provide: master_module_definition_1.PRISMA_SERVICE,
42
+ useValue: mockPrismaService,
43
+ },
44
+ {
45
+ provide: core_1.CommandService,
46
+ useValue: (0, ts_jest_1.createMock)(),
47
+ },
48
+ {
49
+ provide: core_1.DataService,
50
+ useValue: (0, ts_jest_1.createMock)(),
51
+ },
52
+ ],
53
+ }).compile();
54
+ service = module.get(master_data_service_1.MasterDataService);
55
+ prismaService = module.get(master_module_definition_1.PRISMA_SERVICE);
56
+ commandService = module.get(core_1.CommandService);
57
+ dataService = module.get(core_1.DataService);
58
+ });
59
+ afterEach(() => {
60
+ jest.clearAllMocks();
61
+ });
62
+ it('should create data via bulk endpoint when not exists', async () => {
63
+ const items = [
64
+ {
65
+ settingCode: 'SETTING_A',
66
+ name: 'Item A',
67
+ code: 'CODE_A',
68
+ seq: 1,
69
+ attributes: { field1: 'value1' },
70
+ },
71
+ {
72
+ settingCode: 'SETTING_A',
73
+ name: 'Item B',
74
+ code: 'CODE_B',
75
+ seq: 2,
76
+ attributes: { field1: 'value2' },
77
+ },
78
+ ];
79
+ dataService.getItem.mockResolvedValue(null);
80
+ commandService.publishAsync
81
+ .mockResolvedValueOnce({
82
+ id: 'MASTER#TEST_TENANT#SETTING_A#CODE_A',
83
+ pk: 'MASTER#TEST_TENANT',
84
+ sk: 'SETTING_A#CODE_A',
85
+ version: 1,
86
+ type: 'MASTER',
87
+ tenantCode: 'TEST_TENANT',
88
+ name: 'Item A',
89
+ code: 'CODE_A',
90
+ seq: 1,
91
+ attributes: { field1: 'value1' },
92
+ isDeleted: false,
93
+ createdAt: new Date(),
94
+ updatedAt: new Date(),
95
+ })
96
+ .mockResolvedValueOnce({
97
+ id: 'MASTER#TEST_TENANT#SETTING_A#CODE_B',
98
+ pk: 'MASTER#TEST_TENANT',
99
+ sk: 'SETTING_A#CODE_B',
100
+ version: 1,
101
+ type: 'MASTER',
102
+ tenantCode: 'TEST_TENANT',
103
+ name: 'Item B',
104
+ code: 'CODE_B',
105
+ seq: 2,
106
+ attributes: { field1: 'value2' },
107
+ isDeleted: false,
108
+ createdAt: new Date(),
109
+ updatedAt: new Date(),
110
+ });
111
+ const result = await service.upsertBulk({ items }, mockInvokeContext);
112
+ expect(result).toHaveLength(2);
113
+ expect(result[0]).toBeInstanceOf(entities_1.MasterDataEntity);
114
+ expect(result[1]).toBeInstanceOf(entities_1.MasterDataEntity);
115
+ expect(result[0].name).toBe('Item A');
116
+ expect(result[1].name).toBe('Item B');
117
+ expect(commandService.publishAsync).toHaveBeenCalledTimes(2);
118
+ });
119
+ it('should update data via bulk endpoint when exists with changes', async () => {
120
+ const items = [
121
+ {
122
+ settingCode: 'SETTING_A',
123
+ name: 'Updated Item',
124
+ code: 'CODE_A',
125
+ seq: 1,
126
+ attributes: { field1: 'new-value' },
127
+ },
128
+ ];
129
+ const existingData = {
130
+ id: 'existing-id',
131
+ pk: 'MASTER#TEST_TENANT',
132
+ sk: 'SETTING_A#CODE_A',
133
+ code: 'CODE_A',
134
+ name: 'Original Item',
135
+ version: 3,
136
+ type: 'MASTER',
137
+ tenantCode: 'TEST_TENANT',
138
+ isDeleted: false,
139
+ attributes: { field1: 'old-value' },
140
+ createdAt: new Date(),
141
+ updatedAt: new Date(),
142
+ };
143
+ dataService.getItem.mockResolvedValue(existingData);
144
+ commandService.publishAsync.mockResolvedValue({
145
+ id: 'MASTER#TEST_TENANT#SETTING_A#CODE_A',
146
+ pk: 'MASTER#TEST_TENANT',
147
+ sk: 'SETTING_A#CODE_A',
148
+ version: 4,
149
+ type: 'MASTER',
150
+ tenantCode: 'TEST_TENANT',
151
+ name: 'Updated Item',
152
+ code: 'CODE_A',
153
+ seq: 1,
154
+ attributes: { field1: 'new-value' },
155
+ isDeleted: false,
156
+ createdAt: new Date(),
157
+ updatedAt: new Date(),
158
+ });
159
+ const result = await service.upsertBulk({ items }, mockInvokeContext);
160
+ expect(result).toHaveLength(1);
161
+ expect(result[0].name).toBe('Updated Item');
162
+ expect(commandService.publishAsync).toHaveBeenCalledWith(expect.objectContaining({
163
+ version: 3,
164
+ }), expect.any(Object));
165
+ });
166
+ it('should skip unchanged data via bulk endpoint', async () => {
167
+ const items = [
168
+ {
169
+ settingCode: 'SETTING_A',
170
+ name: 'Same Data',
171
+ code: 'CODE_A',
172
+ seq: 1,
173
+ attributes: { field1: 'same-value' },
174
+ },
175
+ ];
176
+ const existingData = {
177
+ id: 'existing-id',
178
+ pk: 'MASTER#TEST_TENANT',
179
+ sk: 'SETTING_A#CODE_A',
180
+ code: 'CODE_A',
181
+ name: 'Same Data',
182
+ version: 2,
183
+ type: 'MASTER',
184
+ tenantCode: 'TEST_TENANT',
185
+ isDeleted: false,
186
+ attributes: { field1: 'same-value' },
187
+ createdAt: new Date(),
188
+ updatedAt: new Date(),
189
+ };
190
+ dataService.getItem.mockResolvedValue(existingData);
191
+ commandService.publishAsync.mockResolvedValue(null); // not dirty
192
+ const result = await service.upsertBulk({ items }, mockInvokeContext);
193
+ expect(result).toHaveLength(1);
194
+ expect(result[0]).toBeInstanceOf(entities_1.MasterDataEntity);
195
+ expect(result[0].name).toBe('Same Data');
196
+ });
197
+ it('should handle mixed new/existing/unchanged items', async () => {
198
+ const items = [
199
+ {
200
+ settingCode: 'SETTING_A',
201
+ name: 'New Item',
202
+ code: 'NEW_CODE',
203
+ seq: 1,
204
+ attributes: { type: 'new' },
205
+ },
206
+ {
207
+ settingCode: 'SETTING_A',
208
+ name: 'Updated Item',
209
+ code: 'EXIST_CODE',
210
+ seq: 2,
211
+ attributes: { type: 'updated' },
212
+ },
213
+ {
214
+ settingCode: 'SETTING_A',
215
+ name: 'Same Item',
216
+ code: 'SAME_CODE',
217
+ seq: 3,
218
+ attributes: { type: 'same' },
219
+ },
220
+ ];
221
+ const existingItem = {
222
+ id: 'existing-id',
223
+ pk: 'MASTER#TEST_TENANT',
224
+ sk: 'SETTING_A#EXIST_CODE',
225
+ code: 'EXIST_CODE',
226
+ name: 'Original Item',
227
+ version: 2,
228
+ type: 'MASTER',
229
+ tenantCode: 'TEST_TENANT',
230
+ isDeleted: false,
231
+ attributes: { type: 'original' },
232
+ createdAt: new Date(),
233
+ updatedAt: new Date(),
234
+ };
235
+ const unchangedItem = {
236
+ id: 'unchanged-id',
237
+ pk: 'MASTER#TEST_TENANT',
238
+ sk: 'SETTING_A#SAME_CODE',
239
+ code: 'SAME_CODE',
240
+ name: 'Same Item',
241
+ version: 1,
242
+ type: 'MASTER',
243
+ tenantCode: 'TEST_TENANT',
244
+ isDeleted: false,
245
+ attributes: { type: 'same' },
246
+ createdAt: new Date(),
247
+ updatedAt: new Date(),
248
+ };
249
+ // First call: new item (null), second: existing, third: unchanged
250
+ dataService.getItem
251
+ .mockResolvedValueOnce(null) // new
252
+ .mockResolvedValueOnce(existingItem) // existing with changes
253
+ .mockResolvedValueOnce(unchangedItem); // unchanged
254
+ commandService.publishAsync
255
+ .mockResolvedValueOnce({
256
+ id: 'new-id',
257
+ pk: 'MASTER#TEST_TENANT',
258
+ sk: 'SETTING_A#NEW_CODE',
259
+ version: 1,
260
+ type: 'MASTER',
261
+ tenantCode: 'TEST_TENANT',
262
+ name: 'New Item',
263
+ code: 'NEW_CODE',
264
+ seq: 1,
265
+ attributes: { type: 'new' },
266
+ isDeleted: false,
267
+ requestId: 'req-1',
268
+ createdAt: new Date(),
269
+ updatedAt: new Date(),
270
+ })
271
+ .mockResolvedValueOnce({
272
+ id: 'existing-id',
273
+ pk: 'MASTER#TEST_TENANT',
274
+ sk: 'SETTING_A#EXIST_CODE',
275
+ version: 3,
276
+ type: 'MASTER',
277
+ tenantCode: 'TEST_TENANT',
278
+ name: 'Updated Item',
279
+ code: 'EXIST_CODE',
280
+ seq: 2,
281
+ attributes: { type: 'updated' },
282
+ isDeleted: false,
283
+ requestId: 'req-2',
284
+ createdAt: new Date(),
285
+ updatedAt: new Date(),
286
+ })
287
+ .mockResolvedValueOnce(null); // unchanged, not dirty
288
+ const result = await service.upsertBulk({ items }, mockInvokeContext);
289
+ expect(result).toHaveLength(3);
290
+ // New item
291
+ expect(result[0].name).toBe('New Item');
292
+ expect(result[0].requestId).toBe('req-1');
293
+ // Updated item
294
+ expect(result[1].name).toBe('Updated Item');
295
+ expect(result[1].requestId).toBe('req-2');
296
+ // Unchanged item (returned existing data)
297
+ expect(result[2].name).toBe('Same Item');
298
+ expect(result[2].requestId).toBeUndefined();
299
+ });
300
+ });
301
+ //# sourceMappingURL=master-data-upsert.integration.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master-data-upsert.integration.spec.js","sourceRoot":"","sources":["../../src/services/master-data-upsert.integration.spec.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,10 @@ export declare class MasterDataService implements IMasterDataService {
23
23
  create(createDto: CreateMasterDataDto, opts: {
24
24
  invokeContext: IInvoke;
25
25
  }): Promise<MasterDataEntity>;
26
+ upsert(createDto: CreateMasterDataDto, opts: {
27
+ invokeContext: IInvoke;
28
+ }): Promise<MasterDataEntity>;
29
+ private createOrUpsert;
26
30
  update(key: DetailDto, updateDto: UpdateDataSettingDto, opts: {
27
31
  invokeContext: IInvoke;
28
32
  }): Promise<MasterDataEntity>;
@@ -34,6 +38,9 @@ export declare class MasterDataService implements IMasterDataService {
34
38
  getDetail(key: DetailDto): Promise<MasterRdsEntity>;
35
39
  createSetting(createDto: MasterDataCreateDto, invokeContext: IInvoke): Promise<MasterDataEntity>;
36
40
  createBulk(createDto: MasterDataCreateBulkDto, invokeContext: IInvoke): Promise<MasterDataEntity[]>;
41
+ upsertSetting(createDto: MasterDataCreateDto, invokeContext: IInvoke): Promise<MasterDataEntity>;
42
+ private prepareSettingDto;
43
+ upsertBulk(createDto: MasterDataCreateBulkDto, invokeContext: IInvoke): Promise<any[]>;
37
44
  updateSetting(key: DetailDto, updateDto: MasterDataUpdateDto, invokeContext: IInvoke): Promise<MasterDataEntity>;
38
45
  deleteSetting(key: DetailDto, invokeContext: IInvoke): Promise<MasterDataEntity>;
39
46
  }
@@ -120,19 +120,25 @@ let MasterDataService = MasterDataService_1 = class MasterDataService {
120
120
  return new entities_1.MasterDataEntity(res);
121
121
  }
122
122
  async create(createDto, opts) {
123
+ return this.createOrUpsert(createDto, opts, { throwIfExists: true });
124
+ }
125
+ async upsert(createDto, opts) {
126
+ return this.createOrUpsert(createDto, opts, { throwIfExists: false });
127
+ }
128
+ async createOrUpsert(createDto, opts, { throwIfExists }) {
123
129
  const { settingCode, code, tenantCode } = createDto;
124
130
  const pk = (0, helpers_1.generateMasterPk)(tenantCode);
125
131
  const sk = (0, helpers_1.generateMasterDataSk)(settingCode, code);
126
132
  const id = (0, core_1.generateId)(pk, sk);
127
- const dataSetting = await this.dataService.getItem({ pk, sk });
128
- if (dataSetting && dataSetting.isDeleted == false) {
133
+ const existingData = await this.dataService.getItem({ pk, sk });
134
+ if (throwIfExists && existingData && existingData.isDeleted === false) {
129
135
  throw new common_1.BadRequestException('Master data already exists');
130
136
  }
131
137
  const createCmd = {
132
138
  id,
133
139
  pk,
134
140
  sk,
135
- version: dataSetting?.version ?? core_1.VERSION_FIRST,
141
+ version: existingData?.version ?? core_1.VERSION_FIRST,
136
142
  type: constants_1.MASTER_PK_PREFIX,
137
143
  tenantCode,
138
144
  isDeleted: false,
@@ -141,6 +147,16 @@ let MasterDataService = MasterDataService_1 = class MasterDataService {
141
147
  const item = await this.commandService.publishAsync(createCmd, {
142
148
  invokeContext: opts.invokeContext,
143
149
  });
150
+ if (!item) {
151
+ // No changes detected - return existing data without requestId
152
+ // to indicate that no new command was created
153
+ if (!existingData) {
154
+ throw new common_1.NotFoundException('Master data not found');
155
+ }
156
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
157
+ const { requestId, ...rest } = existingData;
158
+ return new entities_1.MasterDataEntity(rest);
159
+ }
144
160
  return new entities_1.MasterDataEntity(item);
145
161
  }
146
162
  async update(key, updateDto, opts) {
@@ -202,9 +218,21 @@ let MasterDataService = MasterDataService_1 = class MasterDataService {
202
218
  return new dto_1.MasterRdsEntity(data);
203
219
  }
204
220
  async createSetting(createDto, invokeContext) {
221
+ const prepared = await this.prepareSettingDto(createDto, invokeContext);
222
+ return this.create(prepared, { invokeContext });
223
+ }
224
+ async createBulk(createDto, invokeContext) {
225
+ return Promise.all(createDto.items.map((item) => this.createSetting(item, invokeContext)));
226
+ }
227
+ async upsertSetting(createDto, invokeContext) {
228
+ const prepared = await this.prepareSettingDto(createDto, invokeContext);
229
+ return this.upsert(prepared, { invokeContext });
230
+ }
231
+ async prepareSettingDto(createDto, invokeContext) {
205
232
  const userContext = (0, core_1.getUserContext)(invokeContext);
206
233
  let seq = createDto?.seq;
207
- if (!seq) {
234
+ const attributes = { ...(createDto.attributes ?? {}) };
235
+ if (seq == null) {
208
236
  const maxSeq = await this.prismaService.master.aggregate({
209
237
  _max: {
210
238
  seq: true,
@@ -216,19 +244,23 @@ let MasterDataService = MasterDataService_1 = class MasterDataService {
216
244
  },
217
245
  });
218
246
  seq = (maxSeq._max.seq ?? 0) + 1;
219
- createDto.attributes['seq'] = seq;
247
+ attributes['seq'] = seq;
220
248
  }
221
- return await this.create({
249
+ return {
222
250
  code: createDto.code ?? (0, ulid_1.ulid)(),
223
251
  tenantCode: createDto.tenantCode ?? userContext.tenantCode,
224
252
  name: createDto.name,
225
253
  settingCode: createDto.settingCode,
226
- attributes: createDto.attributes ?? {},
254
+ attributes,
227
255
  seq,
228
- }, { invokeContext });
256
+ };
229
257
  }
230
- async createBulk(createDto, invokeContext) {
231
- return Promise.all(createDto.items.map((item) => this.createSetting(item, invokeContext)));
258
+ async upsertBulk(createDto, invokeContext) {
259
+ const results = [];
260
+ for (const item of createDto.items) {
261
+ results.push(await this.upsertSetting(item, invokeContext));
262
+ }
263
+ return results;
232
264
  }
233
265
  async updateSetting(key, updateDto, invokeContext) {
234
266
  return await this.update(key, {
@@ -1 +1 @@
1
- {"version":3,"file":"master-data.service.js","sourceRoot":"","sources":["../../src/services/master-data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"master-data.service.js","sourceRoot":"","sources":["../../src/services/master-data.service.ts"],"names":[],"mappings":"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"}