rez_core 2.1.44 → 2.1.46
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/filter/service/filter.service.js +1 -1
- package/dist/module/filter/service/filter.service.js.map +1 -1
- package/dist/module/listmaster/service/list-master.service.js.map +1 -1
- package/dist/module/module/controller/module-access.controller.js +1 -6
- package/dist/module/module/controller/module-access.controller.js.map +1 -1
- package/dist/module/module/service/module-access.service.js +1 -1
- 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/filter/service/filter.service.ts +1 -1
- package/src/module/listmaster/service/list-master.service.ts +1 -0
- package/src/module/module/controller/module-access.controller.ts +14 -20
- package/src/module/module/service/module-access.service.ts +24 -18
package/package.json
CHANGED
|
@@ -460,7 +460,7 @@ export class FilterService {
|
|
|
460
460
|
case 'date':
|
|
461
461
|
return this.buildDateCondition(attr, op, val, key);
|
|
462
462
|
case 'select':
|
|
463
|
-
return this.
|
|
463
|
+
return this.buildSelectCondition(attr, op, val, key);
|
|
464
464
|
case 'multiselect':
|
|
465
465
|
return this.buildMultiSelectCondition(attr, op, val, key);
|
|
466
466
|
case 'year':
|
|
@@ -25,15 +25,10 @@ export class ModuleAccessController {
|
|
|
25
25
|
|
|
26
26
|
@Get('roles')
|
|
27
27
|
async getRoles(@Query('appcode') appcode: string, @Request() req) {
|
|
28
|
-
let level_type
|
|
29
|
-
let level_id
|
|
28
|
+
let level_type= req.user.userData.level_type
|
|
29
|
+
let level_id= req.user.userData.level_id
|
|
30
30
|
let organization_id = req.user.userData.organization_id;
|
|
31
|
-
return this.moduleAccessService.getRoles({
|
|
32
|
-
appcode,
|
|
33
|
-
level_type,
|
|
34
|
-
level_id,
|
|
35
|
-
organization_id,
|
|
36
|
-
});
|
|
31
|
+
return this.moduleAccessService.getRoles({ appcode,level_type, level_id ,organization_id});
|
|
37
32
|
}
|
|
38
33
|
|
|
39
34
|
@Get('modules')
|
|
@@ -51,14 +46,9 @@ export class ModuleAccessController {
|
|
|
51
46
|
) {
|
|
52
47
|
const roleIdArray = roleIds.split(',').map(Number);
|
|
53
48
|
const appcode = queryAppcode || req.user.userData.appcode;
|
|
54
|
-
const level_type =
|
|
55
|
-
const level_id =
|
|
56
|
-
return this.moduleAccessService.getAccessListing(
|
|
57
|
-
roleIdArray,
|
|
58
|
-
appcode,
|
|
59
|
-
level_type,
|
|
60
|
-
level_id,
|
|
61
|
-
);
|
|
49
|
+
const level_type = req.user.userData.level_type;
|
|
50
|
+
const level_id = req.user.userData.level_id;
|
|
51
|
+
return this.moduleAccessService.getAccessListing(roleIdArray, appcode, level_type, level_id);
|
|
62
52
|
}
|
|
63
53
|
|
|
64
54
|
@Get('menu-listing')
|
|
@@ -79,7 +69,9 @@ export class ModuleAccessController {
|
|
|
79
69
|
|
|
80
70
|
@Post('update')
|
|
81
71
|
async updateModuleAccess(@Body() moduleAccessData: any[], @Request() req) {
|
|
82
|
-
return this.moduleAccessService.updateModuleAccess(
|
|
72
|
+
return this.moduleAccessService.updateModuleAccess(
|
|
73
|
+
moduleAccessData
|
|
74
|
+
);
|
|
83
75
|
}
|
|
84
76
|
|
|
85
77
|
// src/module/module-access/controller/module-access.controller.ts
|
|
@@ -106,16 +98,16 @@ export class ModuleAccessController {
|
|
|
106
98
|
@Get('user-permissions')
|
|
107
99
|
async getUserPermissions(@Request() req) {
|
|
108
100
|
const userData = req.user.userData;
|
|
109
|
-
|
|
101
|
+
|
|
110
102
|
const userId = userData?.id;
|
|
111
103
|
const appcode = userData?.appcode;
|
|
112
104
|
const level_type = userData?.level_type;
|
|
113
105
|
const level_id = userData?.level_id;
|
|
114
|
-
|
|
106
|
+
|
|
115
107
|
if (!userId || !appcode || !level_type || !level_id) {
|
|
116
108
|
throw new BadRequestException('Invalid token data');
|
|
117
109
|
}
|
|
118
|
-
|
|
110
|
+
|
|
119
111
|
return this.moduleAccessService.getUserPermissions({
|
|
120
112
|
userId,
|
|
121
113
|
appcode,
|
|
@@ -123,4 +115,6 @@ export class ModuleAccessController {
|
|
|
123
115
|
level_id,
|
|
124
116
|
});
|
|
125
117
|
}
|
|
118
|
+
|
|
119
|
+
|
|
126
120
|
}
|
|
@@ -15,6 +15,7 @@ export class ModuleAccessService {
|
|
|
15
15
|
private readonly menuRepository: MenuRepository,
|
|
16
16
|
private readonly dataSource: DataSource,
|
|
17
17
|
) {}
|
|
18
|
+
|
|
18
19
|
|
|
19
20
|
async getModules({ appcode }: { appcode: string }) {
|
|
20
21
|
return this.moduleAccessRepository.getModules({
|
|
@@ -63,7 +64,7 @@ export class ModuleAccessService {
|
|
|
63
64
|
value: role.id,
|
|
64
65
|
}));
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
+
|
|
67
68
|
async getAccessListing(
|
|
68
69
|
roleIds: number[],
|
|
69
70
|
appcode: string,
|
|
@@ -74,7 +75,7 @@ export class ModuleAccessService {
|
|
|
74
75
|
roleIds,
|
|
75
76
|
appcode,
|
|
76
77
|
levelType,
|
|
77
|
-
level_id
|
|
78
|
+
level_id
|
|
78
79
|
);
|
|
79
80
|
}
|
|
80
81
|
|
|
@@ -108,8 +109,9 @@ export class ModuleAccessService {
|
|
|
108
109
|
return { success: false, msg: 'No data provided' };
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
const result =
|
|
112
|
-
|
|
112
|
+
const result = await this.moduleAccessRepository.updateModuleAccess(
|
|
113
|
+
moduleAccessData,
|
|
114
|
+
);
|
|
113
115
|
|
|
114
116
|
if (result) {
|
|
115
117
|
return { success: true, msg: 'Module access updated successfully' };
|
|
@@ -142,36 +144,40 @@ export class ModuleAccessService {
|
|
|
142
144
|
level_type,
|
|
143
145
|
level_id,
|
|
144
146
|
);
|
|
145
|
-
|
|
147
|
+
|
|
146
148
|
if (!roleCodes || roleCodes.length === 0) {
|
|
147
149
|
return [];
|
|
148
150
|
}
|
|
149
|
-
|
|
151
|
+
|
|
150
152
|
const roleIds = roleCodes.map(Number);
|
|
151
|
-
|
|
153
|
+
|
|
152
154
|
// Step 2: Get full permissions
|
|
153
|
-
const allPermissions =
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
const allPermissions = await this.moduleAccessRepository.getModuleAccessByRoles(
|
|
156
|
+
roleIds,
|
|
157
|
+
appcode,
|
|
158
|
+
);
|
|
159
|
+
|
|
159
160
|
// Step 3: If level_type is SCH, check school status using raw query
|
|
160
161
|
if (level_type === 'SCH') {
|
|
161
162
|
const result = await this.dataSource.query(
|
|
162
163
|
`SELECT * FROM cr_school WHERE id = ${level_id}`,
|
|
163
164
|
[level_id],
|
|
164
165
|
);
|
|
165
|
-
|
|
166
|
+
|
|
166
167
|
const school = result?.[0];
|
|
167
|
-
|
|
168
|
-
if (!school || school.status ===
|
|
168
|
+
|
|
169
|
+
if (!school || school.status === "INACTIVE") {
|
|
169
170
|
// Return only VIEW permissions
|
|
170
|
-
return allPermissions.filter(
|
|
171
|
+
return allPermissions.filter(
|
|
172
|
+
(perm) => perm.action === 'VIEW'
|
|
173
|
+
);
|
|
171
174
|
}
|
|
172
175
|
}
|
|
173
|
-
|
|
176
|
+
|
|
174
177
|
// Step 4: Return all permissions normally
|
|
175
178
|
return allPermissions;
|
|
176
179
|
}
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
177
183
|
}
|