rez_core 2.0.94 → 2.0.95

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rez_core",
3
- "version": "2.0.94",
3
+ "version": "2.0.95",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -13,10 +13,6 @@ import {
13
13
  } from '@nestjs/common';
14
14
  import { ModuleAccessService } from '../service/module-access.service';
15
15
  import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard';
16
- import { ENTITYTYPE_USER } from '../../../constant/global.constant';
17
- import { UserService } from '../../user/service/user.service';
18
- import { UserData } from '../../user/entity/user.entity';
19
- import { MenuRepository } from '../repository/menu.repository';
20
16
  import { MenuService } from '../service/menu.service';
21
17
 
22
18
  @Controller('module-access')
@@ -28,15 +24,14 @@ export class ModuleAccessController {
28
24
  ) {}
29
25
 
30
26
  @Get('roles')
31
- async getRoles(@Request() req) {
32
- const appcode = req.user.userData.appcode;
33
- return this.moduleAccessService.getRoles({ appcode });
27
+ async getRoles(@Query('appcode') appcode: string, @Request() req) {
28
+ let level_type= req.user.userData.level_type
29
+ let level_id= req.user.userData.level_id
30
+ return this.moduleAccessService.getRoles({ appcode,level_type, level_id });
34
31
  }
35
32
 
36
33
  @Get('modules')
37
- async getModules(@Request() req) {
38
- const appcode = req.user.userData.appcode;
39
-
34
+ async getModules( @Query('appcode') appcode: string,@Request() req) {
40
35
  return this.moduleAccessService.getModules({
41
36
  appcode,
42
37
  });
@@ -50,9 +45,9 @@ export class ModuleAccessController {
50
45
  ) {
51
46
  const roleIdArray = roleIds.split(',').map(Number);
52
47
  const appcode = queryAppcode || req.user.userData.appcode;
53
- return this.moduleAccessService.getAccessListing(roleIdArray, appcode,"");
48
+ return this.moduleAccessService.getAccessListing(roleIdArray, appcode, '');
54
49
  }
55
-
50
+
56
51
  @Get('menu-listing')
57
52
  async getMenuListing(
58
53
  @Query('mainmod') mainModIds: string,
@@ -60,16 +55,14 @@ export class ModuleAccessController {
60
55
  @Request() req,
61
56
  ) {
62
57
  const mainModArray = mainModIds.split(',').map(String);
63
- const { level_type} = req.user.userData;
64
-
58
+ const { level_type } = req.user.userData;
59
+
65
60
  return this.moduleAccessService.getMenuListing(
66
61
  mainModArray,
67
62
  appcode,
68
- level_type
63
+ level_type,
69
64
  );
70
65
  }
71
-
72
-
73
66
 
74
67
  @Post('update')
75
68
  async updateModuleAccess(@Body() moduleAccessData: any[], @Request() req) {
@@ -22,18 +22,43 @@ export class ModuleAccessRepository {
22
22
  private readonly moduleActionRepo: Repository<ModuleAction>,
23
23
  ) {}
24
24
 
25
- async getRoles({ appcode }: { appcode: string }) {
26
- const roles = await this.roleRepo.find({ where: { appcode } });
27
- return roles.map((role) => ({ label: role.name, value: role.id }));
25
+ async getRoles({
26
+ appcode,
27
+ level_type,
28
+ level_id,
29
+ }: {
30
+ appcode: string;
31
+ level_type?: string;
32
+ level_id?: number;
33
+ }) {
34
+ const where: any = { appcode };
35
+ if (level_type) where.level_type = level_type;
36
+ if (level_id !== undefined) where.level_id = String(level_id);
37
+
38
+ const roles = await this.roleRepo.find({ where });
39
+
40
+ return roles.map((role) => ({
41
+ label: role.name,
42
+ value: role.id,
43
+ }));
28
44
  }
45
+
46
+
29
47
 
30
48
  async getModules({ appcode }: { appcode: string }) {
31
49
  const modules = await this.moduleRepo.find({
32
50
  where: { module_level: 'MAINMOD', appcode },
33
51
  });
34
- return modules.map((mod) => ({ label: mod.name, value: mod.id }));
52
+
53
+ return modules
54
+ .map((mod) => ({
55
+ label: mod.name,
56
+ value: mod.id,
57
+ group: mod.level_type,
58
+ }))
59
+ .sort((a, b) => a.group.localeCompare(b.group));
35
60
  }
36
-
61
+
37
62
  async getAccessListing(roleIds: number[], appcode: string, levelType: string) {
38
63
  const roles = await this.roleRepo.find({
39
64
  where: { id: In(roleIds), appcode },
@@ -15,8 +15,20 @@ export class ModuleAccessService {
15
15
  private readonly menuRepository: MenuRepository,
16
16
  ) {}
17
17
 
18
- async getRoles({ appcode }: { appcode: string }) {
19
- return this.moduleAccessRepository.getRoles({ appcode });
18
+ async getRoles({
19
+ appcode,
20
+ level_type,
21
+ level_id,
22
+ }: {
23
+ appcode: string;
24
+ level_type?: string;
25
+ level_id?: number;
26
+ }) {
27
+ return this.moduleAccessRepository.getRoles({
28
+ appcode,
29
+ level_type,
30
+ level_id,
31
+ });
20
32
  }
21
33
 
22
34
  async getModules({ appcode }: { appcode: string }) {
@@ -29,9 +41,13 @@ export class ModuleAccessService {
29
41
  appcode: string,
30
42
  levelType: string,
31
43
  ) {
32
- return this.moduleAccessRepository.getAccessListing(roleIds, appcode, levelType);
44
+ return this.moduleAccessRepository.getAccessListing(
45
+ roleIds,
46
+ appcode,
47
+ levelType,
48
+ );
33
49
  }
34
-
50
+
35
51
  async getMenuListing(
36
52
  mainModIds: string[],
37
53
  appcode: string,
@@ -40,11 +56,13 @@ export class ModuleAccessService {
40
56
  if (!appcode) {
41
57
  throw new BadRequestException('Appcode is required');
42
58
  }
43
-
44
- return this.moduleAccessRepository.getAllModulesByLevel(mainModIds, appcode, levelType);
59
+
60
+ return this.moduleAccessRepository.getAllModulesByLevel(
61
+ mainModIds,
62
+ appcode,
63
+ levelType,
64
+ );
45
65
  }
46
-
47
-
48
66
 
49
67
  async updateModuleAccess(
50
68
  moduleAccessData: {
@@ -60,12 +78,12 @@ export class ModuleAccessService {
60
78
  if (!moduleAccessData || moduleAccessData.length === 0) {
61
79
  return { success: false, msg: 'No data provided' };
62
80
  }
63
-
81
+
64
82
  const result = await this.moduleAccessRepository.updateModuleAccess(
65
83
  moduleAccessData,
66
84
  appcode,
67
85
  );
68
-
86
+
69
87
  if (result) {
70
88
  return { success: true, msg: 'Module access updated successfully' };
71
89
  } else {
@@ -73,7 +91,6 @@ export class ModuleAccessService {
73
91
  }
74
92
  }
75
93
 
76
-
77
94
  // src/module/module-access/service/module-access.service.ts
78
95
 
79
96
  async getModuleUIConfig(moduleCode: string, roleIds: number[]) {