rez_core 1.0.40 → 1.0.42
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/.idea/250218_nodejs_core.iml +12 -0
- package/.idea/codeStyles/Project.xml +59 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/dataSources.xml +12 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/vcs.xml +6 -0
- package/dist/module/auth/guards/role.guard.js +3 -3
- package/dist/module/master/controller/master.controller.d.ts +3 -2
- package/dist/module/master/controller/master.controller.js +0 -18
- package/dist/module/master/controller/master.controller.js.map +1 -1
- package/dist/module/master/service/master.service.d.ts +14 -6
- package/dist/module/master/service/master.service.js +100 -23
- package/dist/module/master/service/master.service.js.map +1 -1
- package/dist/module/meta/service/media-data.service.js +1 -1
- package/dist/module/meta/service/media-data.service.js.map +1 -1
- package/dist/module/module/controller/module-access.controller.d.ts +14 -0
- package/dist/module/module/controller/module-access.controller.js +10 -0
- package/dist/module/module/controller/module-access.controller.js.map +1 -1
- package/dist/module/module/repository/module-access.repository.d.ts +17 -1
- package/dist/module/module/repository/module-access.repository.js +47 -3
- package/dist/module/module/repository/module-access.repository.js.map +1 -1
- package/dist/module/module/service/module-access.service.d.ts +14 -0
- package/dist/module/module/service/module-access.service.js +3 -0
- package/dist/module/module/service/module-access.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- 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/enterprise.entity.ts +37 -37
- package/src/module/enterprise/entity/organization.entity.ts +80 -80
- package/src/module/master/controller/master.controller.ts +1 -15
- package/src/module/master/service/master.service.ts +131 -27
- 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/meta/service/media-data.service.ts +1 -1
- package/src/module/module/controller/menu.controller.ts +15 -15
- package/src/module/module/controller/module-access.controller.ts +12 -0
- package/src/module/module/entity/module-access.entity.ts +22 -22
- package/src/module/module/entity/module-action.entity.ts +19 -19
- package/src/module/module/repository/module-access.repository.ts +62 -4
- package/src/module/module/service/module-access.service.ts +10 -0
- 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-role-mapping.entity.ts +21 -21
- 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
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="WEB_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager">
|
|
4
|
+
<content url="file://$MODULE_DIR$">
|
|
5
|
+
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
|
6
|
+
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
|
7
|
+
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
|
8
|
+
</content>
|
|
9
|
+
<orderEntry type="inheritedJdk" />
|
|
10
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
11
|
+
</component>
|
|
12
|
+
</module>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
+
<code_scheme name="Project" version="173">
|
|
3
|
+
<HTMLCodeStyleSettings>
|
|
4
|
+
<option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
|
|
5
|
+
</HTMLCodeStyleSettings>
|
|
6
|
+
<JSCodeStyleSettings version="0">
|
|
7
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
8
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
9
|
+
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
10
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
11
|
+
<option name="ENFORCE_TRAILING_COMMA" value="WhenMultiline" />
|
|
12
|
+
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
13
|
+
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
14
|
+
</JSCodeStyleSettings>
|
|
15
|
+
<TypeScriptCodeStyleSettings version="0">
|
|
16
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
17
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
18
|
+
<option name="USE_DOUBLE_QUOTES" value="false" />
|
|
19
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
20
|
+
<option name="ENFORCE_TRAILING_COMMA" value="WhenMultiline" />
|
|
21
|
+
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
22
|
+
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
23
|
+
</TypeScriptCodeStyleSettings>
|
|
24
|
+
<VueCodeStyleSettings>
|
|
25
|
+
<option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
|
|
26
|
+
<option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
|
|
27
|
+
</VueCodeStyleSettings>
|
|
28
|
+
<codeStyleSettings language="HTML">
|
|
29
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
30
|
+
<indentOptions>
|
|
31
|
+
<option name="INDENT_SIZE" value="2" />
|
|
32
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
33
|
+
<option name="TAB_SIZE" value="2" />
|
|
34
|
+
</indentOptions>
|
|
35
|
+
</codeStyleSettings>
|
|
36
|
+
<codeStyleSettings language="JavaScript">
|
|
37
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
38
|
+
<indentOptions>
|
|
39
|
+
<option name="INDENT_SIZE" value="2" />
|
|
40
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
41
|
+
<option name="TAB_SIZE" value="2" />
|
|
42
|
+
</indentOptions>
|
|
43
|
+
</codeStyleSettings>
|
|
44
|
+
<codeStyleSettings language="TypeScript">
|
|
45
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
46
|
+
<indentOptions>
|
|
47
|
+
<option name="INDENT_SIZE" value="2" />
|
|
48
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
49
|
+
<option name="TAB_SIZE" value="2" />
|
|
50
|
+
</indentOptions>
|
|
51
|
+
</codeStyleSettings>
|
|
52
|
+
<codeStyleSettings language="Vue">
|
|
53
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
54
|
+
<indentOptions>
|
|
55
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
56
|
+
</indentOptions>
|
|
57
|
+
</codeStyleSettings>
|
|
58
|
+
</code_scheme>
|
|
59
|
+
</component>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
|
4
|
+
<data-source source="LOCAL" name="@localhost" uuid="9a102608-c415-4802-970e-769555981800">
|
|
5
|
+
<driver-ref>mysql.8</driver-ref>
|
|
6
|
+
<synchronize>true</synchronize>
|
|
7
|
+
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
|
8
|
+
<jdbc-url>jdbc:mysql://localhost:3306</jdbc-url>
|
|
9
|
+
<working-dir>$ProjectFileDir$</working-dir>
|
|
10
|
+
</data-source>
|
|
11
|
+
</component>
|
|
12
|
+
</project>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/250218_nodejs_core.iml" filepath="$PROJECT_DIR$/.idea/250218_nodejs_core.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
package/.idea/vcs.xml
ADDED
|
@@ -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');
|
|
@@ -2,6 +2,7 @@ import { MasterService } from '../service/master.service';
|
|
|
2
2
|
export declare class MasterController {
|
|
3
3
|
private readonly masterService;
|
|
4
4
|
constructor(masterService: MasterService);
|
|
5
|
-
uploadFile(file: any): Promise<
|
|
6
|
-
|
|
5
|
+
uploadFile(file: any): Promise<{
|
|
6
|
+
message: string;
|
|
7
|
+
}>;
|
|
7
8
|
}
|
|
@@ -26,16 +26,6 @@ let MasterController = class MasterController {
|
|
|
26
26
|
}
|
|
27
27
|
return this.masterService.processExcel(file);
|
|
28
28
|
}
|
|
29
|
-
async uploadMasterDataXls(file) {
|
|
30
|
-
if (!file) {
|
|
31
|
-
throw new common_1.BadRequestException('File is required');
|
|
32
|
-
}
|
|
33
|
-
try {
|
|
34
|
-
await this.masterService.uploadMasterData(file.buffer);
|
|
35
|
-
}
|
|
36
|
-
finally {
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
29
|
};
|
|
40
30
|
exports.MasterController = MasterController;
|
|
41
31
|
__decorate([
|
|
@@ -46,14 +36,6 @@ __decorate([
|
|
|
46
36
|
__metadata("design:paramtypes", [Object]),
|
|
47
37
|
__metadata("design:returntype", Promise)
|
|
48
38
|
], MasterController.prototype, "uploadFile", null);
|
|
49
|
-
__decorate([
|
|
50
|
-
(0, common_1.Post)('uploadMasterData'),
|
|
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, "uploadMasterDataXls", null);
|
|
57
39
|
exports.MasterController = MasterController = __decorate([
|
|
58
40
|
(0, common_1.Controller)('master'),
|
|
59
41
|
__metadata("design:paramtypes", [master_service_1.MasterService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master.controller.js","sourceRoot":"","sources":["../../../../src/module/master/controller/master.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAMwB;AACxB,+DAA2D;AAC3D,8DAA0D;AAInD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAIvD,AAAN,KAAK,CAAC,UAAU,CAAiB,IAAI;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"master.controller.js","sourceRoot":"","sources":["../../../../src/module/master/controller/master.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAMwB;AACxB,+DAA2D;AAC3D,8DAA0D;AAInD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAIvD,AAAN,KAAK,CAAC,UAAU,CAAiB,IAAI;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CAGF,CAAA;AAbY,4CAAgB;AAKrB;IAFL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IACvB,WAAA,IAAA,qBAAY,GAAE,CAAA;;;;kDAK/B;2BAVU,gBAAgB;IAD5B,IAAA,mBAAU,EAAC,QAAQ,CAAC;qCAEyB,8BAAa;GAD9C,gBAAgB,CAa5B"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
import { ExcelUtil } from '../../../utils/service/excelUtil.service';
|
|
2
1
|
import { EntityManager } from 'typeorm';
|
|
2
|
+
import { ExcelUtil } from 'src/utils/service/excelUtil.service';
|
|
3
3
|
import { EntityMasterService } from '../../meta/service/entity-master.service';
|
|
4
4
|
export declare class MasterService {
|
|
5
5
|
private readonly entityManager;
|
|
6
6
|
private readonly entityMasterService;
|
|
7
|
-
private
|
|
8
|
-
constructor(entityManager: EntityManager, entityMasterService: EntityMasterService,
|
|
9
|
-
|
|
7
|
+
private readonly excelUtil;
|
|
8
|
+
constructor(entityManager: EntityManager, entityMasterService: EntityMasterService, excelUtil: ExcelUtil);
|
|
9
|
+
private readonly metaSheets;
|
|
10
|
+
private isMetaSheet;
|
|
11
|
+
processExcel(file: any): Promise<{
|
|
12
|
+
message: string;
|
|
13
|
+
}>;
|
|
14
|
+
private processEntityData;
|
|
15
|
+
private getEntityMeta;
|
|
16
|
+
private getAttributeMap;
|
|
17
|
+
private transformRow;
|
|
18
|
+
private resolveParentId;
|
|
19
|
+
private insertEntityRow;
|
|
10
20
|
private upsertData;
|
|
11
|
-
uploadMasterData(file: any): Promise<void>;
|
|
12
|
-
private importEntityMasterData;
|
|
13
21
|
}
|
|
@@ -11,25 +11,115 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.MasterService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const excelUtil_service_1 = require("../../../utils/service/excelUtil.service");
|
|
15
14
|
const typeorm_1 = require("typeorm");
|
|
15
|
+
const excelUtil_service_1 = require("../../../utils/service/excelUtil.service");
|
|
16
16
|
const entity_master_service_1 = require("../../meta/service/entity-master.service");
|
|
17
17
|
let MasterService = class MasterService {
|
|
18
|
-
constructor(entityManager, entityMasterService,
|
|
18
|
+
constructor(entityManager, entityMasterService, excelUtil) {
|
|
19
19
|
this.entityManager = entityManager;
|
|
20
20
|
this.entityMasterService = entityMasterService;
|
|
21
|
-
this.
|
|
21
|
+
this.excelUtil = excelUtil;
|
|
22
|
+
this.metaSheets = [
|
|
23
|
+
'entity_master',
|
|
24
|
+
'attribute_master',
|
|
25
|
+
'list_master',
|
|
26
|
+
'list_master_items',
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
isMetaSheet(sheetName) {
|
|
30
|
+
return this.metaSheets.includes(sheetName.toLowerCase());
|
|
22
31
|
}
|
|
23
32
|
async processExcel(file) {
|
|
33
|
+
console.log('📥 Reading Excel file...');
|
|
24
34
|
const data = excelUtil_service_1.ExcelUtil.readExcel(file.buffer);
|
|
25
|
-
for (const [
|
|
26
|
-
|
|
35
|
+
for (const [sheetName, records] of Object.entries(data)) {
|
|
36
|
+
if (!records.length)
|
|
37
|
+
continue;
|
|
38
|
+
const isMeta = this.isMetaSheet(sheetName);
|
|
39
|
+
console.log(`📄 Processing sheet: ${sheetName} | Meta: ${isMeta}`);
|
|
40
|
+
if (isMeta) {
|
|
41
|
+
await this.upsertData(sheetName, records);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
await this.processEntityData(records);
|
|
45
|
+
}
|
|
27
46
|
}
|
|
28
|
-
return { message: 'Data processed successfully' };
|
|
47
|
+
return { message: '✅ Data processed successfully' };
|
|
48
|
+
}
|
|
49
|
+
async processEntityData(records) {
|
|
50
|
+
for (const row of records) {
|
|
51
|
+
const entityType = row['entity_type'];
|
|
52
|
+
if (!entityType) {
|
|
53
|
+
console.warn('⚠️ Skipping row without entity_type:', row);
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
const { tableName } = await this.getEntityMeta(entityType);
|
|
57
|
+
const attrMap = await this.getAttributeMap(entityType);
|
|
58
|
+
const transformed = this.transformRow(row, attrMap);
|
|
59
|
+
if (row['parent_id'] && row['parent_type']) {
|
|
60
|
+
transformed['parent_id'] = await this.resolveParentId(row['parent_type'], row['parent_id']);
|
|
61
|
+
transformed['parent_type'] = row['parent_type'];
|
|
62
|
+
}
|
|
63
|
+
await this.insertEntityRow(tableName, transformed);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async getEntityMeta(entityType) {
|
|
67
|
+
const result = await this.entityManager.query(`SELECT db_table_name, mapped_entity_type FROM entity_master WHERE mapped_entity_type = ? LIMIT 1`, [entityType]);
|
|
68
|
+
if (!result.length || !result[0].db_table_name) {
|
|
69
|
+
throw new Error(`❌ Entity metadata not found for entity_type: ${entityType}`);
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
tableName: result[0].db_table_name,
|
|
73
|
+
mappedEntityType: result[0].mapped_entity_type,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
async getAttributeMap(mappedEntityType) {
|
|
77
|
+
const attributes = await this.entityManager.query('SELECT attribute_key FROM attribute_master WHERE mapped_entity_type = ? AND status = "ACTIVE"', [mappedEntityType]);
|
|
78
|
+
return attributes.reduce((acc, attr) => {
|
|
79
|
+
acc[attr.attribute_key] = attr.attribute_key;
|
|
80
|
+
return acc;
|
|
81
|
+
}, {});
|
|
82
|
+
}
|
|
83
|
+
transformRow(row, attrMap) {
|
|
84
|
+
const transformed = {};
|
|
85
|
+
for (const key of Object.keys(row)) {
|
|
86
|
+
if (attrMap[key]) {
|
|
87
|
+
transformed[attrMap[key]] = row[key];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return transformed;
|
|
91
|
+
}
|
|
92
|
+
async resolveParentId(parentType, parentCode) {
|
|
93
|
+
const { tableName } = await this.getEntityMeta(parentType);
|
|
94
|
+
const parent = await this.entityManager.findOne(tableName, {
|
|
95
|
+
where: { code: parentCode },
|
|
96
|
+
});
|
|
97
|
+
if (!parent) {
|
|
98
|
+
throw new Error(`❌ Parent with code "${parentCode}" not found in "${tableName}"`);
|
|
99
|
+
}
|
|
100
|
+
return parent.id;
|
|
101
|
+
}
|
|
102
|
+
async insertEntityRow(tableName, data) {
|
|
103
|
+
const keys = Object.keys(data);
|
|
104
|
+
if (!keys.length) {
|
|
105
|
+
console.warn('⚠️ Empty data, skipping insert');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
await this.entityManager
|
|
109
|
+
.createQueryBuilder()
|
|
110
|
+
.insert()
|
|
111
|
+
.into(tableName)
|
|
112
|
+
.values(data)
|
|
113
|
+
.orUpdate({
|
|
114
|
+
overwrite: keys,
|
|
115
|
+
conflict_target: ['code'],
|
|
116
|
+
})
|
|
117
|
+
.execute();
|
|
29
118
|
}
|
|
30
119
|
async upsertData(tableName, records) {
|
|
31
120
|
if (!records.length)
|
|
32
121
|
return;
|
|
122
|
+
const keys = Object.keys(records[0]);
|
|
33
123
|
await this.entityManager.transaction(async (manager) => {
|
|
34
124
|
for (const record of records) {
|
|
35
125
|
await manager
|
|
@@ -37,27 +127,14 @@ let MasterService = class MasterService {
|
|
|
37
127
|
.insert()
|
|
38
128
|
.into(tableName)
|
|
39
129
|
.values(record)
|
|
40
|
-
.orUpdate(
|
|
130
|
+
.orUpdate({
|
|
131
|
+
overwrite: keys,
|
|
132
|
+
conflict_target: ['id'],
|
|
133
|
+
})
|
|
41
134
|
.execute();
|
|
42
135
|
}
|
|
43
136
|
});
|
|
44
137
|
}
|
|
45
|
-
async uploadMasterData(file) {
|
|
46
|
-
const data = excelUtil_service_1.ExcelUtil.readExcel(file.buffer);
|
|
47
|
-
await this.importEntityMasterData(data['cr_entity_master']);
|
|
48
|
-
}
|
|
49
|
-
async importEntityMasterData(entityMasterList) {
|
|
50
|
-
for (let entityMaster of entityMasterList) {
|
|
51
|
-
let existingData = await this.entityMasterService.findByMappedEntityType(entityMaster.mapped_entity_type);
|
|
52
|
-
if (existingData) {
|
|
53
|
-
entityMaster.id = existingData.id;
|
|
54
|
-
await this.entityMasterService.update(existingData.id, entityMaster);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
await this.entityMasterService.save(entityMaster);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
138
|
};
|
|
62
139
|
exports.MasterService = MasterService;
|
|
63
140
|
exports.MasterService = MasterService = __decorate([
|
|
@@ -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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"}
|
|
@@ -40,7 +40,7 @@ let MediaDataService = class MediaDataService extends entity_service_impl_servic
|
|
|
40
40
|
}
|
|
41
41
|
const ext = fileName.split('.').pop()?.toLowerCase() ?? '';
|
|
42
42
|
const id = (0, uuid_1.v4)();
|
|
43
|
-
const s3Key = `uploads/${
|
|
43
|
+
const s3Key = `uploads/${id}.${ext}`;
|
|
44
44
|
console.log(s3Key);
|
|
45
45
|
const uploadUrl = await this.s3.getSignedUrlPromise('putObject', {
|
|
46
46
|
Bucket: this.bucketName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-data.service.js","sourceRoot":"","sources":["../../../../src/module/meta/service/media-data.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+EAAkE;AAClE,+EAA0E;AAC1E,2CAA+C;AAC/C,qCAA6B;AAC7B,mEAAwD;AACxD,uEAAmE;AACnE,+BAAoC;AAG7B,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,+CAAiB;IAGrD,YACmB,aAA4B,EAC5B,eAAoC;QAErD,KAAK,EAAE,CAAC;QAHS,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAqB;QAKvD,kBAAa,GAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAChE,sBAAiB,GAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACjE,aAAQ,GAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QACpD,eAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,oBAAoB,CAAC,CAAC;QAElE,OAAE,GAAG,IAAI,YAAE,CAAC;YACV,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,eAAe,EAAE,IAAI,CAAC,iBAAiB;YACvC,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IAZH,CAAC;IAeD,KAAK,CAAC,0BAA0B,CAC9B,QAAgB,EAChB,kBAA0B,EAC1B,gBAAyB,EACzB,cAAuB;QAGvB,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAE3D,MAAM,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QACpB,MAAM,KAAK,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"media-data.service.js","sourceRoot":"","sources":["../../../../src/module/meta/service/media-data.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,4 +32,18 @@ export declare class ModuleAccessController {
|
|
|
32
32
|
success: boolean;
|
|
33
33
|
msg: string;
|
|
34
34
|
}>;
|
|
35
|
+
createRole(body: {
|
|
36
|
+
name: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
status?: 'ACTIVE' | 'INACTIVE';
|
|
39
|
+
copyFromRoleId?: number;
|
|
40
|
+
}): Promise<{
|
|
41
|
+
success: boolean;
|
|
42
|
+
msg: string;
|
|
43
|
+
role: {
|
|
44
|
+
id: number;
|
|
45
|
+
name: string;
|
|
46
|
+
code: string;
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
35
49
|
}
|
|
@@ -37,6 +37,9 @@ let ModuleAccessController = class ModuleAccessController {
|
|
|
37
37
|
async updateModuleAccess(moduleAccessData) {
|
|
38
38
|
return this.moduleAccessService.updateModuleAccess(moduleAccessData);
|
|
39
39
|
}
|
|
40
|
+
async createRole(body) {
|
|
41
|
+
return this.moduleAccessService.createRole(body);
|
|
42
|
+
}
|
|
40
43
|
};
|
|
41
44
|
exports.ModuleAccessController = ModuleAccessController;
|
|
42
45
|
__decorate([
|
|
@@ -72,6 +75,13 @@ __decorate([
|
|
|
72
75
|
__metadata("design:paramtypes", [Array]),
|
|
73
76
|
__metadata("design:returntype", Promise)
|
|
74
77
|
], ModuleAccessController.prototype, "updateModuleAccess", null);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, common_1.Post)('create-role'),
|
|
80
|
+
__param(0, (0, common_1.Body)()),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [Object]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], ModuleAccessController.prototype, "createRole", null);
|
|
75
85
|
exports.ModuleAccessController = ModuleAccessController = __decorate([
|
|
76
86
|
(0, common_1.Controller)('module-access'),
|
|
77
87
|
(0, common_1.UseGuards)(jwt_guard_1.JwtAuthGuard),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-access.controller.js","sourceRoot":"","sources":["../../../../src/module/module/controller/module-access.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+E;AAC/E,4EAAuE;AACvE,2DAAgE;AAIzD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAInE,AAAN,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CAAiB,OAAe;QACpD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAmB,UAAkB;QACvD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAS,gBAAuB;QACtD,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;
|
|
1
|
+
{"version":3,"file":"module-access.controller.js","sourceRoot":"","sources":["../../../../src/module/module/controller/module-access.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+E;AAC/E,4EAAuE;AACvE,2DAAgE;AAIzD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAInE,AAAN,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CAAiB,OAAe;QACpD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAmB,UAAkB;QACvD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAS,gBAAuB;QACtD,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAGG,AAAN,KAAK,CAAC,UAAU,CAAS,IAKxB;QACC,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;CAGA,CAAA;AA1CY,wDAAsB;AAK3B;IADL,IAAA,YAAG,EAAC,OAAO,CAAC;;;;sDAGZ;AAGK;IADL,IAAA,YAAG,EAAC,SAAS,CAAC;;;;wDAGd;AAGK;IADL,IAAA,YAAG,EAAC,gBAAgB,CAAC;IACE,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;8DAGrC;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IACE,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;;;;4DAGrC;AAGK;IADL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACW,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gEAE/B;AAGG;IADH,IAAA,aAAI,EAAC,aAAa,CAAC;IACJ,WAAA,IAAA,aAAI,GAAE,CAAA;;;;wDAOvB;iCAvCY,sBAAsB;IAFlC,IAAA,mBAAU,EAAC,eAAe,CAAC;IAC3B,IAAA,kBAAS,EAAC,wBAAY,CAAC;qCAE4B,2CAAmB;GAD1D,sBAAsB,CA0ClC"}
|
|
@@ -3,12 +3,14 @@ import { Role } from 'src/module/user/entity/role.entity';
|
|
|
3
3
|
import { ModuleAccess } from '../entity/module-access.entity';
|
|
4
4
|
import { ModuleAction } from '../entity/module-action.entity';
|
|
5
5
|
import { ModuleData } from '../entity/module.entity';
|
|
6
|
+
import { ClockIDGenService } from 'src/utils/service/clockIDGenUtil.service';
|
|
6
7
|
export declare class ModuleAccessRepository {
|
|
7
8
|
private readonly roleRepo;
|
|
8
9
|
private readonly moduleRepo;
|
|
9
10
|
private readonly moduleAccessRepo;
|
|
10
11
|
private readonly moduleActionRepo;
|
|
11
|
-
|
|
12
|
+
private readonly clockIDGenService;
|
|
13
|
+
constructor(roleRepo: Repository<Role>, moduleRepo: Repository<ModuleData>, moduleAccessRepo: Repository<ModuleAccess>, moduleActionRepo: Repository<ModuleAction>, clockIDGenService: ClockIDGenService);
|
|
12
14
|
getRoles(): Promise<{
|
|
13
15
|
label: string;
|
|
14
16
|
value: number;
|
|
@@ -36,4 +38,18 @@ export declare class ModuleAccessRepository {
|
|
|
36
38
|
submod: any;
|
|
37
39
|
}[]>;
|
|
38
40
|
updateModuleAccess(moduleAccessData: any[]): Promise<boolean>;
|
|
41
|
+
createRole(body: {
|
|
42
|
+
name: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
status?: 'ACTIVE' | 'INACTIVE';
|
|
45
|
+
copyFromRoleId?: number;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
success: boolean;
|
|
48
|
+
msg: string;
|
|
49
|
+
role: {
|
|
50
|
+
id: number;
|
|
51
|
+
name: string;
|
|
52
|
+
code: string;
|
|
53
|
+
};
|
|
54
|
+
}>;
|
|
39
55
|
}
|
|
@@ -20,12 +20,14 @@ const role_entity_1 = require("../../user/entity/role.entity");
|
|
|
20
20
|
const module_access_entity_1 = require("../entity/module-access.entity");
|
|
21
21
|
const module_action_entity_1 = require("../entity/module-action.entity");
|
|
22
22
|
const module_entity_1 = require("../entity/module.entity");
|
|
23
|
+
const clockIDGenUtil_service_1 = require("../../../utils/service/clockIDGenUtil.service");
|
|
23
24
|
let ModuleAccessRepository = class ModuleAccessRepository {
|
|
24
|
-
constructor(roleRepo, moduleRepo, moduleAccessRepo, moduleActionRepo) {
|
|
25
|
+
constructor(roleRepo, moduleRepo, moduleAccessRepo, moduleActionRepo, clockIDGenService) {
|
|
25
26
|
this.roleRepo = roleRepo;
|
|
26
27
|
this.moduleRepo = moduleRepo;
|
|
27
28
|
this.moduleAccessRepo = moduleAccessRepo;
|
|
28
29
|
this.moduleActionRepo = moduleActionRepo;
|
|
30
|
+
this.clockIDGenService = clockIDGenService;
|
|
29
31
|
}
|
|
30
32
|
async getRoles() {
|
|
31
33
|
const roles = await this.roleRepo.find();
|
|
@@ -75,7 +77,10 @@ let ModuleAccessRepository = class ModuleAccessRepository {
|
|
|
75
77
|
const moduleActions = await this.moduleActionRepo.find();
|
|
76
78
|
const buildHierarchy = (parentWbs) => {
|
|
77
79
|
return modules
|
|
78
|
-
.filter(
|
|
80
|
+
.filter(mod => {
|
|
81
|
+
return mod.wbs_code.startsWith(parentWbs + '.') &&
|
|
82
|
+
mod.wbs_code.split('.').length === parentWbs.split('.').length + 1;
|
|
83
|
+
})
|
|
79
84
|
.map((mod) => ({
|
|
80
85
|
name: mod.name,
|
|
81
86
|
code: mod.module_code,
|
|
@@ -128,6 +133,44 @@ let ModuleAccessRepository = class ModuleAccessRepository {
|
|
|
128
133
|
return false;
|
|
129
134
|
}
|
|
130
135
|
}
|
|
136
|
+
async createRole(body) {
|
|
137
|
+
const { name, description, status, copyFromRoleId } = body;
|
|
138
|
+
const code = this.clockIDGenService.idGenerator('ROL');
|
|
139
|
+
;
|
|
140
|
+
const newRole = this.roleRepo.create({
|
|
141
|
+
name,
|
|
142
|
+
code,
|
|
143
|
+
description,
|
|
144
|
+
status: status || 'ACTIVE',
|
|
145
|
+
});
|
|
146
|
+
const savedRole = await this.roleRepo.save(newRole);
|
|
147
|
+
if (copyFromRoleId) {
|
|
148
|
+
const sourceRole = await this.roleRepo.findOne({ where: { id: copyFromRoleId } });
|
|
149
|
+
if (!sourceRole) {
|
|
150
|
+
throw new Error('Source role not found');
|
|
151
|
+
}
|
|
152
|
+
const sourcePermissions = await this.moduleAccessRepo.find({
|
|
153
|
+
where: { role_code: sourceRole.code },
|
|
154
|
+
});
|
|
155
|
+
const clonedPermissions = sourcePermissions.map((perm) => this.moduleAccessRepo.create({
|
|
156
|
+
role_code: code,
|
|
157
|
+
module_code: perm.module_code,
|
|
158
|
+
action_type: perm.action_type,
|
|
159
|
+
access_flag: perm.access_flag,
|
|
160
|
+
app_code: perm.app_code,
|
|
161
|
+
}));
|
|
162
|
+
await this.moduleAccessRepo.save(clonedPermissions);
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
success: true,
|
|
166
|
+
msg: 'Role created successfully',
|
|
167
|
+
role: {
|
|
168
|
+
id: savedRole.id,
|
|
169
|
+
name: savedRole.name,
|
|
170
|
+
code: savedRole.code,
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
}
|
|
131
174
|
};
|
|
132
175
|
exports.ModuleAccessRepository = ModuleAccessRepository;
|
|
133
176
|
exports.ModuleAccessRepository = ModuleAccessRepository = __decorate([
|
|
@@ -139,6 +182,7 @@ exports.ModuleAccessRepository = ModuleAccessRepository = __decorate([
|
|
|
139
182
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
140
183
|
typeorm_2.Repository,
|
|
141
184
|
typeorm_2.Repository,
|
|
142
|
-
typeorm_2.Repository
|
|
185
|
+
typeorm_2.Repository,
|
|
186
|
+
clockIDGenUtil_service_1.ClockIDGenService])
|
|
143
187
|
], ModuleAccessRepository);
|
|
144
188
|
//# sourceMappingURL=module-access.repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-access.repository.js","sourceRoot":"","sources":["../../../../src/module/module/repository/module-access.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAyC;AACzC,+DAA0D;AAC1D,yEAA8D;AAC9D,yEAA8D;AAC9D,2DAAqD;
|
|
1
|
+
{"version":3,"file":"module-access.repository.js","sourceRoot":"","sources":["../../../../src/module/module/repository/module-access.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,4 +32,18 @@ export declare class ModuleAccessService {
|
|
|
32
32
|
success: boolean;
|
|
33
33
|
msg: string;
|
|
34
34
|
}>;
|
|
35
|
+
createRole(body: {
|
|
36
|
+
name: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
status?: 'ACTIVE' | 'INACTIVE';
|
|
39
|
+
copyFromRoleId?: number;
|
|
40
|
+
}): Promise<{
|
|
41
|
+
success: boolean;
|
|
42
|
+
msg: string;
|
|
43
|
+
role: {
|
|
44
|
+
id: number;
|
|
45
|
+
name: string;
|
|
46
|
+
code: string;
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
35
49
|
}
|