@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.
- package/dist/controllers/index.d.ts +1 -0
- package/dist/controllers/index.js +1 -0
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/master-bulk.controller.d.ts +10 -0
- package/dist/controllers/master-bulk.controller.js +106 -0
- package/dist/controllers/master-bulk.controller.js.map +1 -0
- package/dist/controllers/master-bulk.controller.spec.d.ts +1 -0
- package/dist/controllers/master-bulk.controller.spec.js +261 -0
- package/dist/controllers/master-bulk.controller.spec.js.map +1 -0
- package/dist/controllers/master-data.controller.d.ts +1 -1
- package/dist/controllers/master-data.controller.js +8 -2
- package/dist/controllers/master-data.controller.js.map +1 -1
- package/dist/controllers/master-data.controller.spec.js +42 -1
- package/dist/controllers/master-data.controller.spec.js.map +1 -1
- package/dist/controllers/master-setting.controller.d.ts +1 -1
- package/dist/controllers/master-setting.controller.js +7 -1
- package/dist/controllers/master-setting.controller.js.map +1 -1
- package/dist/controllers/master-setting.controller.spec.js +44 -4
- package/dist/controllers/master-setting.controller.spec.js.map +1 -1
- package/dist/dto/index.d.ts +1 -0
- package/dist/dto/index.js +1 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/master-bulk/index.d.ts +2 -0
- package/dist/dto/master-bulk/index.js +19 -0
- package/dist/dto/master-bulk/index.js.map +1 -0
- package/dist/dto/master-bulk/master-bulk-item.dto.d.ts +8 -0
- package/dist/dto/master-bulk/master-bulk-item.dto.js +85 -0
- package/dist/dto/master-bulk/master-bulk-item.dto.js.map +1 -0
- package/dist/dto/master-bulk/master-bulk.dto.d.ts +4 -0
- package/dist/dto/master-bulk/master-bulk.dto.js +36 -0
- package/dist/dto/master-bulk/master-bulk.dto.js.map +1 -0
- package/dist/dto/master-copy/master-data-create-bulk.dto.js +1 -0
- package/dist/dto/master-copy/master-data-create-bulk.dto.js.map +1 -1
- package/dist/dto/master-setting/common-setting-create-bulk.dto.js +1 -0
- package/dist/dto/master-setting/common-setting-create-bulk.dto.js.map +1 -1
- package/dist/master.module.js +1 -0
- package/dist/master.module.js.map +1 -1
- package/dist/services/master-data-upsert.integration.spec.d.ts +1 -0
- package/dist/services/master-data-upsert.integration.spec.js +301 -0
- package/dist/services/master-data-upsert.integration.spec.js.map +1 -0
- package/dist/services/master-data.service.d.ts +7 -0
- package/dist/services/master-data.service.js +42 -10
- package/dist/services/master-data.service.js.map +1 -1
- package/dist/services/master-data.service.spec.js +308 -48
- package/dist/services/master-data.service.spec.js.map +1 -1
- package/dist/services/master-setting-upsert.integration.spec.d.ts +1 -0
- package/dist/services/master-setting-upsert.integration.spec.js +282 -0
- package/dist/services/master-setting-upsert.integration.spec.js.map +1 -0
- package/dist/services/master-setting.service.d.ts +6 -0
- package/dist/services/master-setting.service.js +55 -20
- package/dist/services/master-setting.service.js.map +1 -1
- package/dist/services/master-setting.service.spec.js +245 -44
- package/dist/services/master-setting.service.spec.js.map +1 -1
- 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
|
|
128
|
-
if (
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
247
|
+
attributes['seq'] = seq;
|
|
220
248
|
}
|
|
221
|
-
return
|
|
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
|
|
254
|
+
attributes,
|
|
227
255
|
seq,
|
|
228
|
-
}
|
|
256
|
+
};
|
|
229
257
|
}
|
|
230
|
-
async
|
|
231
|
-
|
|
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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"}
|