rez_core 1.0.56 → 1.0.57
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/listmaster/controller/list-master.controller.d.ts +4 -1
- package/dist/module/listmaster/service/list-master.service.d.ts +4 -1
- package/dist/module/listmaster/service/list-master.service.js +11 -5
- package/dist/module/listmaster/service/list-master.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/listmaster/service/list-master.service.ts +15 -5
- 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/module/entity/module-action.entity.ts +19 -19
- 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
|
@@ -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,5 +2,8 @@ import { ListMasterService } from '../service/list-master.service';
|
|
|
2
2
|
export declare class ListMasterController {
|
|
3
3
|
private readonly service;
|
|
4
4
|
constructor(service: ListMasterService);
|
|
5
|
-
getDropdownData(type: string, params: any): Promise<
|
|
5
|
+
getDropdownData(type: string, params: any): Promise<{
|
|
6
|
+
label: any;
|
|
7
|
+
value: any;
|
|
8
|
+
}[]>;
|
|
6
9
|
}
|
|
@@ -9,7 +9,10 @@ export declare class ListMasterService extends EntityServiceImpl {
|
|
|
9
9
|
private readonly apiRegistryService;
|
|
10
10
|
private readonly httpService;
|
|
11
11
|
constructor(listMasterRepo: ListMasterRepository, listItemsRepo: ListMasterItemsRepository, apiRegistryService: ApiRegistryService, httpService: HttpService);
|
|
12
|
-
getDropdownOptions(type: string, params: Record<string, string>): Promise<
|
|
12
|
+
getDropdownOptions(type: string, params: Record<string, string>): Promise<{
|
|
13
|
+
label: any;
|
|
14
|
+
value: any;
|
|
15
|
+
}[]>;
|
|
13
16
|
private fetchFromEntity;
|
|
14
17
|
private fetchFromExternalSource;
|
|
15
18
|
private injectDynamicParams;
|
|
@@ -58,7 +58,7 @@ let ListMasterService = class ListMasterService extends entity_service_impl_serv
|
|
|
58
58
|
let apiRegistry = await this.apiRegistryService.findById(customSourceId);
|
|
59
59
|
if (!apiRegistry)
|
|
60
60
|
return [];
|
|
61
|
-
const url = `${apiRegistry.base_url}${apiRegistry.endpoint}`;
|
|
61
|
+
const url = `${apiRegistry.base_url}${apiRegistry.endpoint.replace(/{{(.*?)}}/g, (_, key) => params?.[key.trim()] || '')}`;
|
|
62
62
|
const payload = this.injectDynamicParams(apiRegistry.request_payload_schema, params);
|
|
63
63
|
const response = await (0, rxjs_1.firstValueFrom)(this.httpService.request({
|
|
64
64
|
url,
|
|
@@ -67,7 +67,10 @@ let ListMasterService = class ListMasterService extends entity_service_impl_serv
|
|
|
67
67
|
headers: apiRegistry.headers ? apiRegistry.headers : undefined,
|
|
68
68
|
}));
|
|
69
69
|
const data = this.extractByPath(response.data, apiRegistry.response_data_path);
|
|
70
|
-
if (Array.isArray(data)
|
|
70
|
+
if (!Array.isArray(data)) {
|
|
71
|
+
return [{ label: data, value: data }];
|
|
72
|
+
}
|
|
73
|
+
if (typeof data[0] === 'string') {
|
|
71
74
|
return data.map((item) => ({ label: item, value: item }));
|
|
72
75
|
}
|
|
73
76
|
return data.map((item) => ({
|
|
@@ -86,10 +89,13 @@ let ListMasterService = class ListMasterService extends entity_service_impl_serv
|
|
|
86
89
|
if (!path || !obj)
|
|
87
90
|
return obj;
|
|
88
91
|
return path.split('.').reduce((acc, key) => {
|
|
89
|
-
if (acc
|
|
90
|
-
return
|
|
92
|
+
if (acc == null)
|
|
93
|
+
return undefined;
|
|
94
|
+
const index = Number(key);
|
|
95
|
+
if (!isNaN(index) && Array.isArray(acc)) {
|
|
96
|
+
return acc[index];
|
|
91
97
|
}
|
|
92
|
-
return
|
|
98
|
+
return acc[key];
|
|
93
99
|
}, obj);
|
|
94
100
|
}
|
|
95
101
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-master.service.js","sourceRoot":"","sources":["../../../../src/module/listmaster/service/list-master.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gGAAmF;AACnF,2CAIwB;AACxB,6FAAuF;AACvF,iFAA4E;AAC5E,gGAA2F;AAC3F,+BAAsC;AACtC,yCAA4C;AAGrC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,+CAAiB;IACtD,YACmB,cAAoC,EACpC,aAAwC,EACxC,kBAAsC,EACtC,WAAwB;QAEzC,KAAK,EAAE,CAAC;QALS,mBAAc,GAAd,cAAc,CAAsB;QACpC,kBAAa,GAAb,aAAa,CAA2B;QACxC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAa;IAG3C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,MAA8B;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,0BAAiB,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;QAEnE,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEpC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAElD,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAEvE;gBACE,MAAM,IAAI,4BAAmB,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,UAAkB;QAC9C,IAAI,MAAM,GAAuC,EAAE,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAE3D,IAAI,YAAY,GAAG,MAAM,KAAK,CAAC,aAAa,CAC1C,YAAY,CAAC,kBAAkB,CAChC,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC9B,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,MAAM,CAAC,IAAI;oBAClB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,cAAsB,EACtB,MAA+B;QAE/B,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"list-master.service.js","sourceRoot":"","sources":["../../../../src/module/listmaster/service/list-master.service.ts"],"names":[],"mappings":"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"}
|