rez_core 1.0.64 → 1.0.65
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/module/auth/guards/role.guard.js +3 -3
- package/dist/module/master/controller/master.controller.d.ts +11 -1
- package/dist/module/master/controller/master.controller.js +42 -4
- package/dist/module/master/controller/master.controller.js.map +1 -1
- package/dist/module/master/service/master.service.d.ts +13 -4
- package/dist/module/master/service/master.service.js +97 -23
- package/dist/module/master/service/master.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/app.controller.ts +12 -12
- package/src/app.service.ts +8 -8
- package/src/module/auth/guards/jwt.guard.ts +22 -22
- package/src/module/auth/guards/role.guard.ts +68 -68
- package/src/module/auth/services/jwt.service.ts +11 -11
- package/src/module/auth/strategies/local.strategy.ts +13 -13
- package/src/module/dev/dev.module.ts +12 -12
- package/src/module/dev/service/dev.service.ts +7 -7
- package/src/module/enterprise/entity/organization.entity.ts +80 -80
- package/src/module/master/controller/master.controller.ts +35 -11
- package/src/module/master/service/master.service.ts +144 -47
- package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
- package/src/module/meta/entity/preference.entity.ts +65 -65
- package/src/module/meta/repository/preference.repository.ts +20 -20
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/entity/module-access.entity.ts +22 -22
- package/src/module/user/controller/user.controller.ts +28 -28
- package/src/module/user/dto/update-user.dto.ts +4 -4
- package/src/module/user/entity/user-session.entity.ts +61 -61
- package/src/module/user/repository/userSession.repository.ts +33 -33
- package/src/utils/service/encryptUtil.service.ts +97 -97
- package/src/utils/service/excelUtil.service.ts +15 -15
- package/src/utils/service/reflection-helper.service.ts +53 -53
- package/.idea/250218_nodejs_core.iml +0 -12
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/dataSources.xml +0 -12
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -6
- package/.idea/vcs.xml +0 -6
|
@@ -34,9 +34,9 @@ let RolesGuard = class RolesGuard {
|
|
|
34
34
|
}
|
|
35
35
|
const requiredModule = this.reflector.get('moduleCode', context.getHandler());
|
|
36
36
|
const requiredActions = this.reflector.get('actions', context.getHandler());
|
|
37
|
-
const roleAccess = await this.entityManager.query(`SELECT *
|
|
38
|
-
FROM cr_module_access
|
|
39
|
-
WHERE role_id = ${user['role_id']}
|
|
37
|
+
const roleAccess = await this.entityManager.query(`SELECT *
|
|
38
|
+
FROM cr_module_access
|
|
39
|
+
WHERE role_id = ${user['role_id']}
|
|
40
40
|
AND module_code = '${requiredModule}'`);
|
|
41
41
|
if (!roleAccess || roleAccess.length === 0) {
|
|
42
42
|
throw new common_1.ForbiddenException('Access denied: No permissions found for this module');
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { MasterService } from '../service/master.service';
|
|
2
|
+
import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
|
|
2
3
|
export declare class MasterController {
|
|
3
4
|
private readonly masterService;
|
|
4
|
-
|
|
5
|
+
private readonly entityService;
|
|
6
|
+
constructor(masterService: MasterService, entityService: EntityServiceImpl);
|
|
7
|
+
uploadMasterMetaXls(file: Express.Multer.File): Promise<{
|
|
8
|
+
message: string;
|
|
9
|
+
}>;
|
|
5
10
|
uploadMasterDataXls(file: Express.Multer.File): Promise<{
|
|
6
11
|
message: string;
|
|
7
12
|
}>;
|
|
13
|
+
uploadEntityDataXls(entityType: string, file: Express.Multer.File, req: Request & {
|
|
14
|
+
user: any;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
message: string;
|
|
17
|
+
}>;
|
|
8
18
|
}
|
|
@@ -16,28 +16,66 @@ exports.MasterController = void 0;
|
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const platform_express_1 = require("@nestjs/platform-express");
|
|
18
18
|
const master_service_1 = require("../service/master.service");
|
|
19
|
+
const global_constant_1 = require("../../../constant/global.constant");
|
|
20
|
+
const entity_service_impl_service_1 = require("../../meta/service/entity-service-impl.service");
|
|
21
|
+
const jwt_guard_1 = require("../../auth/guards/jwt.guard");
|
|
19
22
|
let MasterController = class MasterController {
|
|
20
|
-
constructor(masterService) {
|
|
23
|
+
constructor(masterService, entityService) {
|
|
21
24
|
this.masterService = masterService;
|
|
25
|
+
this.entityService = entityService;
|
|
26
|
+
}
|
|
27
|
+
async uploadMasterMetaXls(file) {
|
|
28
|
+
if (!file) {
|
|
29
|
+
throw new common_1.BadRequestException('File is required');
|
|
30
|
+
}
|
|
31
|
+
return await this.masterService.uploadMeta(file.buffer);
|
|
22
32
|
}
|
|
23
33
|
async uploadMasterDataXls(file) {
|
|
24
34
|
if (!file) {
|
|
25
35
|
throw new common_1.BadRequestException('File is required');
|
|
26
36
|
}
|
|
27
|
-
return await this.masterService.
|
|
37
|
+
return await this.masterService.uploadData(file.buffer);
|
|
38
|
+
}
|
|
39
|
+
async uploadEntityDataXls(entityType, file, req) {
|
|
40
|
+
let requestedUser = req.user;
|
|
41
|
+
let loggedInUser = await this.entityService.getEntityData(global_constant_1.ENTITYTYPE_USER, requestedUser.id);
|
|
42
|
+
if (!file) {
|
|
43
|
+
throw new common_1.BadRequestException('File is required');
|
|
44
|
+
}
|
|
45
|
+
return await this.masterService.uploadEntityData(file.buffer, entityType, loggedInUser);
|
|
28
46
|
}
|
|
29
47
|
};
|
|
30
48
|
exports.MasterController = MasterController;
|
|
31
49
|
__decorate([
|
|
32
|
-
(0, common_1.Post)('
|
|
50
|
+
(0, common_1.Post)('uploadMeta'),
|
|
51
|
+
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
|
|
52
|
+
__param(0, (0, common_1.UploadedFile)()),
|
|
53
|
+
__metadata("design:type", Function),
|
|
54
|
+
__metadata("design:paramtypes", [Object]),
|
|
55
|
+
__metadata("design:returntype", Promise)
|
|
56
|
+
], MasterController.prototype, "uploadMasterMetaXls", null);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, common_1.Post)('uploadData'),
|
|
33
59
|
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
|
|
34
60
|
__param(0, (0, common_1.UploadedFile)()),
|
|
35
61
|
__metadata("design:type", Function),
|
|
36
62
|
__metadata("design:paramtypes", [Object]),
|
|
37
63
|
__metadata("design:returntype", Promise)
|
|
38
64
|
], MasterController.prototype, "uploadMasterDataXls", null);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, common_1.Post)('uploadEntity/:entityType'),
|
|
67
|
+
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
|
|
68
|
+
__param(0, (0, common_1.Param)('entityType')),
|
|
69
|
+
__param(1, (0, common_1.UploadedFile)()),
|
|
70
|
+
__param(2, (0, common_1.Req)()),
|
|
71
|
+
__metadata("design:type", Function),
|
|
72
|
+
__metadata("design:paramtypes", [String, Object, Object]),
|
|
73
|
+
__metadata("design:returntype", Promise)
|
|
74
|
+
], MasterController.prototype, "uploadEntityDataXls", null);
|
|
39
75
|
exports.MasterController = MasterController = __decorate([
|
|
40
76
|
(0, common_1.Controller)('master'),
|
|
41
|
-
|
|
77
|
+
(0, common_1.UseGuards)(jwt_guard_1.JwtAuthGuard),
|
|
78
|
+
__metadata("design:paramtypes", [master_service_1.MasterService,
|
|
79
|
+
entity_service_impl_service_1.EntityServiceImpl])
|
|
42
80
|
], MasterController);
|
|
43
81
|
//# sourceMappingURL=master.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master.controller.js","sourceRoot":"","sources":["../../../../src/module/master/controller/master.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"master.controller.js","sourceRoot":"","sources":["../../../../src/module/master/controller/master.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,+DAA2D;AAC3D,8DAA0D;AAG1D,uEAA+D;AAC/D,gGAAwF;AACxF,2DAAgE;AAIzD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,aAA4B,EACvC,aAAgC;QADrB,kBAAa,GAAb,aAAa,CAAe;QACvC,kBAAa,GAAb,aAAa,CAAmB;IAC/C,CAAC;IAKE,AAAN,KAAK,CAAC,mBAAmB,CAAiB,IAAyB;QACjE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAKK,AAAN,KAAK,CAAC,mBAAmB,CAAiB,IAAyB;QACjE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAKK,AAAN,KAAK,CAAC,mBAAmB,CAAsB,UAAkB,EAAkB,IAAyB,EAAQ,GAA4B;QAC9I,IAAI,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7B,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,iCAAe,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAC,UAAU,EAAC,YAAY,CAAC,CAAC;IACxF,CAAC;CACF,CAAA;AApCY,4CAAgB;AAQrB;IAHL,IAAA,aAAI,EAAC,YAAY,CAAC;IAClB,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEd,WAAA,IAAA,qBAAY,GAAE,CAAA;;;;2DAKxC;AAKK;IAHL,IAAA,aAAI,EAAC,YAAY,CAAC;IAClB,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEd,WAAA,IAAA,qBAAY,GAAE,CAAA;;;;2DAKxC;AAKK;IAHL,IAAA,aAAI,EAAC,0BAA0B,CAAC;IAChC,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEd,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IAAsB,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA4B,WAAA,IAAA,YAAG,GAAE,CAAA;;;;2DAOlH;2BAnCU,gBAAgB;IAF5B,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACpB,IAAA,kBAAS,EAAC,wBAAY,CAAC;qCAEsB,8BAAa;QACxB,+CAAiB;GAFvC,gBAAgB,CAoC5B"}
|
|
@@ -3,20 +3,29 @@ import { ExcelUtil } from 'src/utils/service/excelUtil.service';
|
|
|
3
3
|
import { EntityMasterService } from '../../meta/service/entity-master.service';
|
|
4
4
|
import { AttributeMasterService } from 'src/module/meta/service/attribute-master.service';
|
|
5
5
|
import { EntityServiceImpl } from 'src/module/meta/service/entity-service-impl.service';
|
|
6
|
+
import { ReflectionHelper } from 'src/utils/service/reflection-helper.service';
|
|
6
7
|
export declare class MasterService {
|
|
7
8
|
private readonly entityManager;
|
|
8
9
|
private readonly entityMasterService;
|
|
9
10
|
private readonly attributeMasterService;
|
|
10
11
|
private readonly excelUtil;
|
|
12
|
+
private reflectionHelper;
|
|
11
13
|
private readonly entityServiceImpl;
|
|
12
|
-
constructor(entityManager: EntityManager, entityMasterService: EntityMasterService, attributeMasterService: AttributeMasterService, excelUtil: ExcelUtil, entityServiceImpl: EntityServiceImpl);
|
|
14
|
+
constructor(entityManager: EntityManager, entityMasterService: EntityMasterService, attributeMasterService: AttributeMasterService, excelUtil: ExcelUtil, reflectionHelper: ReflectionHelper, entityServiceImpl: EntityServiceImpl);
|
|
13
15
|
private readonly metaSheets;
|
|
14
16
|
private readonly sequence;
|
|
15
17
|
private readonly dataSequence;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
uploadMeta(file: any): Promise<{
|
|
19
|
+
message: string;
|
|
20
|
+
}>;
|
|
21
|
+
uploadData(file: any): Promise<{
|
|
19
22
|
message: string;
|
|
20
23
|
}>;
|
|
24
|
+
uploadEntityData(file: any, entityType: any, loggedInUser: any): Promise<{
|
|
25
|
+
message: string;
|
|
26
|
+
}>;
|
|
27
|
+
private isMetaSheet;
|
|
28
|
+
private resolveParent;
|
|
21
29
|
upsertData(tableName: string, uniqueFields: string[], data: any[]): Promise<void>;
|
|
30
|
+
upsertViaService(entityType: string, data: any[], attributes: any[], uniqueFields: string[], loggedInUser: any): Promise<void>;
|
|
22
31
|
}
|
|
@@ -16,12 +16,14 @@ const excelUtil_service_1 = require("../../../utils/service/excelUtil.service");
|
|
|
16
16
|
const entity_master_service_1 = require("../../meta/service/entity-master.service");
|
|
17
17
|
const attribute_master_service_1 = require("../../meta/service/attribute-master.service");
|
|
18
18
|
const entity_service_impl_service_1 = require("../../meta/service/entity-service-impl.service");
|
|
19
|
+
const reflection_helper_service_1 = require("../../../utils/service/reflection-helper.service");
|
|
19
20
|
let MasterService = class MasterService {
|
|
20
|
-
constructor(entityManager, entityMasterService, attributeMasterService, excelUtil, entityServiceImpl) {
|
|
21
|
+
constructor(entityManager, entityMasterService, attributeMasterService, excelUtil, reflectionHelper, entityServiceImpl) {
|
|
21
22
|
this.entityManager = entityManager;
|
|
22
23
|
this.entityMasterService = entityMasterService;
|
|
23
24
|
this.attributeMasterService = attributeMasterService;
|
|
24
25
|
this.excelUtil = excelUtil;
|
|
26
|
+
this.reflectionHelper = reflectionHelper;
|
|
25
27
|
this.entityServiceImpl = entityServiceImpl;
|
|
26
28
|
this.metaSheets = [
|
|
27
29
|
'cr_entity_master',
|
|
@@ -70,27 +72,7 @@ let MasterService = class MasterService {
|
|
|
70
72
|
},
|
|
71
73
|
];
|
|
72
74
|
}
|
|
73
|
-
|
|
74
|
-
return this.metaSheets.includes(sheetName.toLowerCase());
|
|
75
|
-
}
|
|
76
|
-
async resolveParent(row) {
|
|
77
|
-
const parentType = row.parent_type;
|
|
78
|
-
const code = row.parent_id;
|
|
79
|
-
if (!code) {
|
|
80
|
-
throw new Error('Parent code is missing in the row');
|
|
81
|
-
}
|
|
82
|
-
const parentEntity = await this.entityMasterService.findByMappedEntityType(parentType);
|
|
83
|
-
const tableName = parentEntity?.db_table_name;
|
|
84
|
-
if (!tableName) {
|
|
85
|
-
throw new Error(`Table name not found for parent type ${parentType}`);
|
|
86
|
-
}
|
|
87
|
-
const entityData = await this.entityManager.query(`SELECT * FROM ${tableName} WHERE code = ? LIMIT 1`, [code]);
|
|
88
|
-
if (!entityData || entityData.length === 0) {
|
|
89
|
-
throw new Error(`Parent entity with code ${code} not found in table ${tableName}`);
|
|
90
|
-
}
|
|
91
|
-
row.parent_id = entityData[0].id;
|
|
92
|
-
}
|
|
93
|
-
async uploadMasterData(file) {
|
|
75
|
+
async uploadMeta(file) {
|
|
94
76
|
const data = excelUtil_service_1.ExcelUtil.readExcel(file.buffer);
|
|
95
77
|
for (let i = 0; i < this.sequence.length; i++) {
|
|
96
78
|
const { table, unique_fields } = this.sequence[i];
|
|
@@ -104,6 +86,12 @@ let MasterService = class MasterService {
|
|
|
104
86
|
await this.upsertData(table, unique_fields, sheetData);
|
|
105
87
|
}
|
|
106
88
|
}
|
|
89
|
+
return {
|
|
90
|
+
message: 'Data uploaded successfully',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
async uploadData(file) {
|
|
94
|
+
const data = excelUtil_service_1.ExcelUtil.readExcel(file.buffer);
|
|
107
95
|
for (let i = 0; i < this.dataSequence.length; i++) {
|
|
108
96
|
const { table, unique_fields } = this.dataSequence[i];
|
|
109
97
|
const sheetData = data[table];
|
|
@@ -113,7 +101,6 @@ let MasterService = class MasterService {
|
|
|
113
101
|
}
|
|
114
102
|
const entityMasterData = await this.entityMasterService.getEntityByTableName(table);
|
|
115
103
|
const attributes = await this.attributeMasterService.findAttributesByMappedEntityType(entityMasterData?.mapped_entity_type);
|
|
116
|
-
console.log(attributes, "((((((((((((((((((((((((((");
|
|
117
104
|
for (const row of sheetData) {
|
|
118
105
|
if (row.parent_type !== undefined && row.parent_id !== undefined) {
|
|
119
106
|
this.resolveParent(row);
|
|
@@ -134,6 +121,62 @@ let MasterService = class MasterService {
|
|
|
134
121
|
message: 'Data uploaded successfully',
|
|
135
122
|
};
|
|
136
123
|
}
|
|
124
|
+
async uploadEntityData(file, entityType, loggedInUser) {
|
|
125
|
+
const data = excelUtil_service_1.ExcelUtil.readExcel(file.buffer);
|
|
126
|
+
const entityMaster = await this.entityMasterService.findByMappedEntityType(entityType);
|
|
127
|
+
if (!entityMaster) {
|
|
128
|
+
throw new Error(`Entity master not found for entityType: ${entityType}`);
|
|
129
|
+
}
|
|
130
|
+
const tableName = entityMaster.db_table_name;
|
|
131
|
+
const sheetData = data[tableName];
|
|
132
|
+
if (!sheetData) {
|
|
133
|
+
throw new Error(`Sheet for ${tableName} not found in uploaded file`);
|
|
134
|
+
}
|
|
135
|
+
const attributes = await this.attributeMasterService.findAttributesByMappedEntityType(entityType);
|
|
136
|
+
const uniqueFields = attributes
|
|
137
|
+
.filter(attr => attr.is_unique)
|
|
138
|
+
.map(attr => attr.attribute_key);
|
|
139
|
+
if (uniqueFields.length === 0) {
|
|
140
|
+
throw new Error(`No unique fields found for entityType: ${entityType}`);
|
|
141
|
+
}
|
|
142
|
+
for (const row of sheetData) {
|
|
143
|
+
if (row.parent_type && row.parent_id) {
|
|
144
|
+
await this.resolveParent(row);
|
|
145
|
+
}
|
|
146
|
+
for (const attr of attributes) {
|
|
147
|
+
if (attr.data_source_type === 'entity' && row[attr.attribute_key]) {
|
|
148
|
+
const refEntity = await this.entityMasterService.getEntityData(attr.datasource_list);
|
|
149
|
+
const refData = await this.entityManager.query(`SELECT * FROM ${refEntity.db_table_name} WHERE code = ? LIMIT 1`, [row[attr.attribute_key]]);
|
|
150
|
+
if (!refData.length) {
|
|
151
|
+
throw new Error(`Reference entity not found for code: ${row[attr.attribute_key]}`);
|
|
152
|
+
}
|
|
153
|
+
row[attr.attribute_key] = refData[0].id;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
await this.upsertViaService(entityType, sheetData, attributes, uniqueFields, loggedInUser);
|
|
158
|
+
return { message: 'Entity data uploaded successfully' };
|
|
159
|
+
}
|
|
160
|
+
isMetaSheet(sheetName) {
|
|
161
|
+
return this.metaSheets.includes(sheetName.toLowerCase());
|
|
162
|
+
}
|
|
163
|
+
async resolveParent(row) {
|
|
164
|
+
const parentType = row.parent_type;
|
|
165
|
+
const code = row.parent_id;
|
|
166
|
+
if (!code) {
|
|
167
|
+
throw new Error('Parent code is missing in the row');
|
|
168
|
+
}
|
|
169
|
+
const parentEntity = await this.entityMasterService.findByMappedEntityType(parentType);
|
|
170
|
+
const tableName = parentEntity?.db_table_name;
|
|
171
|
+
if (!tableName) {
|
|
172
|
+
throw new Error(`Table name not found for parent type ${parentType}`);
|
|
173
|
+
}
|
|
174
|
+
const entityData = await this.entityManager.query(`SELECT * FROM ${tableName} WHERE code = ? LIMIT 1`, [code]);
|
|
175
|
+
if (!entityData || entityData.length === 0) {
|
|
176
|
+
throw new Error(`Parent entity with code ${code} not found in table ${tableName}`);
|
|
177
|
+
}
|
|
178
|
+
row.parent_id = entityData[0].id;
|
|
179
|
+
}
|
|
137
180
|
async upsertData(tableName, uniqueFields, data) {
|
|
138
181
|
for (const row of data) {
|
|
139
182
|
const whereClause = uniqueFields
|
|
@@ -168,6 +211,36 @@ let MasterService = class MasterService {
|
|
|
168
211
|
}
|
|
169
212
|
}
|
|
170
213
|
}
|
|
214
|
+
async upsertViaService(entityType, data, attributes, uniqueFields, loggedInUser) {
|
|
215
|
+
const entityMaster = await this.entityMasterService.findByMappedEntityType(entityType);
|
|
216
|
+
if (!entityMaster)
|
|
217
|
+
throw new Error(`Entity master not found for ${entityType}`);
|
|
218
|
+
const serviceName = entityMaster.entity_service;
|
|
219
|
+
const entityService = await this.reflectionHelper.getBean(serviceName);
|
|
220
|
+
if (!entityService)
|
|
221
|
+
throw new Error(`Entity service not found for ${entityType}`);
|
|
222
|
+
for (const row of data) {
|
|
223
|
+
const whereClause = uniqueFields.reduce((acc, field) => {
|
|
224
|
+
acc[field] = row[field];
|
|
225
|
+
return acc;
|
|
226
|
+
}, {});
|
|
227
|
+
const existing = await this.entityManager
|
|
228
|
+
.createQueryBuilder()
|
|
229
|
+
.select('*')
|
|
230
|
+
.from(entityMaster.db_table_name, entityMaster.db_table_name)
|
|
231
|
+
.where(whereClause)
|
|
232
|
+
.limit(1)
|
|
233
|
+
.getRawOne();
|
|
234
|
+
row.entity_type = entityType;
|
|
235
|
+
if (existing) {
|
|
236
|
+
row.id = existing.id;
|
|
237
|
+
await entityService.updateEntity(row, loggedInUser);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
await entityService.createEntity(row, loggedInUser);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
171
244
|
};
|
|
172
245
|
exports.MasterService = MasterService;
|
|
173
246
|
exports.MasterService = MasterService = __decorate([
|
|
@@ -176,6 +249,7 @@ exports.MasterService = MasterService = __decorate([
|
|
|
176
249
|
entity_master_service_1.EntityMasterService,
|
|
177
250
|
attribute_master_service_1.AttributeMasterService,
|
|
178
251
|
excelUtil_service_1.ExcelUtil,
|
|
252
|
+
reflection_helper_service_1.ReflectionHelper,
|
|
179
253
|
entity_service_impl_service_1.EntityServiceImpl])
|
|
180
254
|
], MasterService);
|
|
181
255
|
//# sourceMappingURL=master.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master.service.js","sourceRoot":"","sources":["../../../../src/module/master/service/master.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"master.service.js","sourceRoot":"","sources":["../../../../src/module/master/service/master.service.ts"],"names":[],"mappings":"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"}
|