rez_core 1.0.62 → 1.0.64

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.
Files changed (80) hide show
  1. package/.idea/250218_nodejs_core.iml +12 -0
  2. package/.idea/codeStyles/Project.xml +59 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/dataSources.xml +12 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/prettier.xml +6 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/dist/constant/global.constant.d.ts +3 -0
  9. package/dist/constant/global.constant.js +4 -1
  10. package/dist/constant/global.constant.js.map +1 -1
  11. package/dist/module/auth/guards/role.guard.js +3 -3
  12. package/dist/module/listmaster/controller/list-master.controller.d.ts +1 -1
  13. package/dist/module/listmaster/controller/list-master.controller.js +3 -4
  14. package/dist/module/listmaster/controller/list-master.controller.js.map +1 -1
  15. package/dist/module/listmaster/service/list-master.service.d.ts +4 -2
  16. package/dist/module/listmaster/service/list-master.service.js +16 -14
  17. package/dist/module/listmaster/service/list-master.service.js.map +1 -1
  18. package/dist/module/meta/controller/meta.controller.d.ts +7 -0
  19. package/dist/module/meta/controller/meta.controller.js +47 -0
  20. package/dist/module/meta/controller/meta.controller.js.map +1 -0
  21. package/dist/module/meta/dto/entity-table.dto.d.ts +5 -0
  22. package/dist/module/meta/dto/entity-table.dto.js +8 -0
  23. package/dist/module/meta/dto/entity-table.dto.js.map +1 -0
  24. package/dist/module/meta/entity.module.js +2 -1
  25. package/dist/module/meta/entity.module.js.map +1 -1
  26. package/dist/module/meta/repository/entity-table-column.repository.js +1 -0
  27. package/dist/module/meta/repository/entity-table-column.repository.js.map +1 -1
  28. package/dist/module/meta/service/entity-table.service.d.ts +6 -1
  29. package/dist/module/meta/service/entity-table.service.js +18 -2
  30. package/dist/module/meta/service/entity-table.service.js.map +1 -1
  31. package/dist/module/user/entity/role.entity.d.ts +1 -0
  32. package/dist/module/user/entity/role.entity.js +5 -0
  33. package/dist/module/user/entity/role.entity.js.map +1 -1
  34. package/dist/module/user/repository/role.repository.d.ts +2 -35
  35. package/dist/module/user/repository/role.repository.js +2 -95
  36. package/dist/module/user/repository/role.repository.js.map +1 -1
  37. package/dist/module/user/service/role.service.d.ts +5 -32
  38. package/dist/module/user/service/role.service.js +71 -24
  39. package/dist/module/user/service/role.service.js.map +1 -1
  40. package/dist/module/user/user.module.js +8 -3
  41. package/dist/module/user/user.module.js.map +1 -1
  42. package/dist/tsconfig.build.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/src/app.controller.ts +12 -12
  45. package/src/app.service.ts +8 -8
  46. package/src/constant/global.constant.ts +5 -0
  47. package/src/module/auth/guards/jwt.guard.ts +22 -22
  48. package/src/module/auth/guards/role.guard.ts +68 -68
  49. package/src/module/auth/services/jwt.service.ts +11 -11
  50. package/src/module/auth/strategies/local.strategy.ts +13 -13
  51. package/src/module/dev/dev.module.ts +12 -12
  52. package/src/module/dev/service/dev.service.ts +7 -7
  53. package/src/module/enterprise/entity/organization.entity.ts +80 -80
  54. package/src/module/listmaster/controller/list-master.controller.ts +2 -2
  55. package/src/module/listmaster/service/list-master.service.ts +18 -15
  56. package/src/module/meta/controller/meta.controller.ts +22 -0
  57. package/src/module/meta/dto/entity-list-data.dto.ts +6 -6
  58. package/src/module/meta/dto/entity-table.dto.ts +6 -0
  59. package/src/module/meta/entity/preference.entity.ts +65 -65
  60. package/src/module/meta/entity.module.ts +2 -1
  61. package/src/module/meta/repository/entity-table-column.repository.ts +1 -0
  62. package/src/module/meta/repository/preference.repository.ts +20 -20
  63. package/src/module/meta/service/entity-table.service.ts +43 -3
  64. package/src/module/module/controller/menu.controller.ts +15 -15
  65. package/src/module/module/entity/module-access.entity.ts +22 -22
  66. package/src/module/user/controller/user.controller.ts +28 -28
  67. package/src/module/user/dto/update-user.dto.ts +4 -4
  68. package/src/module/user/entity/role.entity.ts +4 -0
  69. package/src/module/user/entity/user-session.entity.ts +61 -61
  70. package/src/module/user/repository/role.repository.ts +2 -142
  71. package/src/module/user/repository/userSession.repository.ts +33 -33
  72. package/src/module/user/service/role.service.ts +92 -42
  73. package/src/module/user/user.module.ts +8 -3
  74. package/src/utils/service/encryptUtil.service.ts +97 -97
  75. package/src/utils/service/excelUtil.service.ts +15 -15
  76. package/src/utils/service/reflection-helper.service.ts +53 -53
  77. package/dist/module/user/controller/role.controller.d.ts +0 -41
  78. package/dist/module/user/controller/role.controller.js +0 -63
  79. package/dist/module/user/controller/role.controller.js.map +0 -1
  80. package/src/module/user/controller/role.controller.ts +0 -55
@@ -17,104 +17,13 @@ const common_1 = require("@nestjs/common");
17
17
  const typeorm_1 = require("typeorm");
18
18
  const typeorm_2 = require("@nestjs/typeorm");
19
19
  const role_entity_1 = require("../entity/role.entity");
20
- const module_access_entity_1 = require("../../module/entity/module-access.entity");
21
20
  let RoleRepository = class RoleRepository {
22
- constructor(roleRepo, moduleAccessRepo) {
21
+ constructor(roleRepo) {
23
22
  this.roleRepo = roleRepo;
24
- this.moduleAccessRepo = moduleAccessRepo;
25
23
  }
26
24
  async findByCode(code) {
27
25
  return this.roleRepo.findOne({ where: { code } });
28
26
  }
29
- async createRole({ name, description, status = 'ACTIVE', copyFromRoleId, }, loggedInUser) {
30
- if (await this.isRoleNameExists(name)) {
31
- throw new common_1.BadRequestException('Role name already exists.');
32
- }
33
- const sourceRole = copyFromRoleId
34
- ? await this.roleRepo.findOne({ where: { id: copyFromRoleId } })
35
- : null;
36
- if (copyFromRoleId && !sourceRole) {
37
- throw new common_1.BadRequestException('Source role not found.');
38
- }
39
- const newRole = this.roleRepo.create({
40
- name,
41
- description,
42
- status,
43
- created_by: loggedInUser.id,
44
- created_date: new Date(),
45
- });
46
- const savedRole = await this.roleRepo.save(newRole);
47
- savedRole.code = `ROL${savedRole.id}`;
48
- await this.roleRepo.save(savedRole);
49
- if (sourceRole) {
50
- const sourcePermissions = await this.moduleAccessRepo.find({
51
- where: { role_code: sourceRole.code },
52
- });
53
- const clonedPermissions = sourcePermissions.map(perm => this.moduleAccessRepo.create({
54
- role_code: savedRole.code,
55
- module_code: perm.module_code,
56
- action_type: perm.action_type,
57
- access_flag: perm.access_flag,
58
- app_code: perm.app_code,
59
- }));
60
- await this.moduleAccessRepo.save(clonedPermissions);
61
- }
62
- return {
63
- success: true,
64
- msg: 'Role created successfully',
65
- role: {
66
- id: savedRole.id,
67
- name: savedRole.name,
68
- status: savedRole.status,
69
- code: savedRole.code,
70
- },
71
- };
72
- }
73
- async updateRole(roleId, { name, description, status = 'ACTIVE', copyFromRoleId, }, loggedInUser) {
74
- if (await this.isRoleNameExists(name, roleId)) {
75
- throw new common_1.BadRequestException('Role name already exists.');
76
- }
77
- const role = await this.roleRepo.findOne({ where: { id: roleId } });
78
- if (!role) {
79
- throw new common_1.BadRequestException('Role not found');
80
- }
81
- Object.assign(role, {
82
- name,
83
- description: description || '',
84
- status,
85
- modified_by: loggedInUser.id,
86
- modified_date: new Date(),
87
- });
88
- await this.roleRepo.save(role);
89
- if (copyFromRoleId) {
90
- const sourceRole = await this.roleRepo.findOne({ where: { id: copyFromRoleId } });
91
- if (!sourceRole) {
92
- throw new common_1.BadRequestException('Source role not found');
93
- }
94
- await this.moduleAccessRepo.delete({ role_code: role.code });
95
- const sourcePermissions = await this.moduleAccessRepo.find({
96
- where: { role_code: sourceRole.code },
97
- });
98
- const clonedPermissions = sourcePermissions.map(perm => this.moduleAccessRepo.create({
99
- role_code: role.code,
100
- module_code: perm.module_code,
101
- action_type: perm.action_type,
102
- access_flag: perm.access_flag,
103
- app_code: perm.app_code,
104
- }));
105
- await this.moduleAccessRepo.save(clonedPermissions);
106
- }
107
- return {
108
- success: true,
109
- msg: 'Role updated successfully',
110
- role: {
111
- id: role.id,
112
- name: role.name,
113
- status: role.status,
114
- code: role.code,
115
- },
116
- };
117
- }
118
27
  async isRoleNameExists(name, excludeRoleId) {
119
28
  const query = this.roleRepo
120
29
  .createQueryBuilder('role')
@@ -130,8 +39,6 @@ exports.RoleRepository = RoleRepository;
130
39
  exports.RoleRepository = RoleRepository = __decorate([
131
40
  (0, common_1.Injectable)(),
132
41
  __param(0, (0, typeorm_2.InjectRepository)(role_entity_1.Role)),
133
- __param(1, (0, typeorm_2.InjectRepository)(module_access_entity_1.ModuleAccess)),
134
- __metadata("design:paramtypes", [typeorm_1.Repository,
135
- typeorm_1.Repository])
42
+ __metadata("design:paramtypes", [typeorm_1.Repository])
136
43
  ], RoleRepository);
137
44
  //# sourceMappingURL=role.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"role.repository.js","sourceRoot":"","sources":["../../../../src/module/user/repository/role.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.repository.js","sourceRoot":"","sources":["../../../../src/module/user/repository/role.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAiE;AACjE,qCAAqC;AACrC,6CAAmD;AACnD,uDAA6C;AAKtC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAEmB,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAC1C,CAAC;IAEJ,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAGM,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,aAAsB;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;aACxB,kBAAkB,CAAC,MAAM,CAAC;aAC1B,KAAK,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAExC,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,CAAC,CAAC,YAAY,CAAC;IACxB,CAAC;CACF,CAAA;AAvBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;qCACI,oBAAU;GAH5B,cAAc,CAuB1B"}
@@ -2,40 +2,13 @@ import { EntityServiceImpl } from '../../meta/service/entity-service-impl.servic
2
2
  import { BaseEntity } from '../../meta/entity/base-entity.entity';
3
3
  import { UserData } from '../entity/user.entity';
4
4
  import { RoleRepository } from '../repository/role.repository';
5
- import { EntityManager } from 'typeorm';
5
+ import { EntityManager, Repository } from 'typeorm';
6
+ import { ModuleAccess } from '../../module/entity/module-access.entity';
6
7
  export declare class RoleService extends EntityServiceImpl {
7
8
  private readonly roleRepository;
8
9
  private readonly entityManager;
9
- constructor(roleRepository: RoleRepository, entityManager: EntityManager);
10
+ private readonly moduleAccessRepo;
11
+ constructor(roleRepository: RoleRepository, entityManager: EntityManager, moduleAccessRepo: Repository<ModuleAccess>);
10
12
  createEntity(entityData: BaseEntity, loggedInUser: UserData | null): Promise<BaseEntity>;
11
- createRole(body: {
12
- name: string;
13
- description?: string;
14
- status?: 'ACTIVE' | 'INACTIVE';
15
- copyFromRoleId?: number;
16
- }, loggedInUser: UserData): Promise<{
17
- success: boolean;
18
- msg: string;
19
- role: {
20
- id: number;
21
- name: string;
22
- status: string;
23
- code: string;
24
- };
25
- }>;
26
- updateRole(id: number, body: {
27
- name?: string;
28
- description?: string;
29
- status?: 'ACTIVE' | 'INACTIVE';
30
- copyFromRoleId?: number;
31
- }, loggedInUser: UserData): Promise<{
32
- success: boolean;
33
- msg: string;
34
- role: {
35
- id: number;
36
- name: string;
37
- status: string;
38
- code: string;
39
- };
40
- }>;
13
+ updateEntity(entityData: BaseEntity, loggedInUser: UserData | null): Promise<BaseEntity>;
41
14
  }
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.RoleService = void 0;
13
16
  const common_1 = require("@nestjs/common");
@@ -15,52 +18,96 @@ const entity_service_impl_service_1 = require("../../meta/service/entity-service
15
18
  const global_constant_1 = require("../../../constant/global.constant");
16
19
  const role_repository_1 = require("../repository/role.repository");
17
20
  const typeorm_1 = require("typeorm");
21
+ const typeorm_2 = require("@nestjs/typeorm");
22
+ const module_access_entity_1 = require("../../module/entity/module-access.entity");
18
23
  let RoleService = class RoleService extends entity_service_impl_service_1.EntityServiceImpl {
19
- constructor(roleRepository, entityManager) {
24
+ constructor(roleRepository, entityManager, moduleAccessRepo) {
20
25
  super();
21
26
  this.roleRepository = roleRepository;
22
27
  this.entityManager = entityManager;
28
+ this.moduleAccessRepo = moduleAccessRepo;
23
29
  }
24
30
  async createEntity(entityData, loggedInUser) {
25
31
  let role = entityData;
26
- return await super.createEntity(role, loggedInUser);
27
- }
28
- async createRole(body, loggedInUser) {
29
- return this.roleRepository.createRole(body, loggedInUser);
32
+ if (await this.roleRepository.isRoleNameExists(role.name)) {
33
+ throw new common_1.BadRequestException('Role name already exists.');
34
+ }
35
+ const sourceRole = role.copy_from_role_id
36
+ ? await this.getEntityData(global_constant_1.ENTITYTYPE_ROLE, role.copy_from_role_id)
37
+ : null;
38
+ if (role.copy_from_role_id && !sourceRole) {
39
+ throw new common_1.BadRequestException('Source role not found.');
40
+ }
41
+ const savedRole = await super.createEntity(role, loggedInUser);
42
+ if (sourceRole) {
43
+ const sourcePermissions = await this.moduleAccessRepo.find({
44
+ where: { role_code: sourceRole.code },
45
+ });
46
+ const clonedPermissions = sourcePermissions.map((perm) => this.moduleAccessRepo.create({
47
+ role_code: savedRole.code,
48
+ module_code: perm.module_code,
49
+ action_type: perm.action_type,
50
+ access_flag: perm.access_flag,
51
+ app_code: perm.app_code,
52
+ }));
53
+ await this.moduleAccessRepo.save(clonedPermissions);
54
+ }
55
+ return savedRole;
30
56
  }
31
- async updateRole(id, body, loggedInUser) {
32
- if (!body.name) {
57
+ async updateEntity(entityData, loggedInUser) {
58
+ if (!entityData.name) {
33
59
  throw new common_1.BadRequestException('Role name is required');
34
60
  }
35
- if (body.status === 'INACTIVE') {
36
- const entityData = await super.getEntityData(global_constant_1.ENTITYTYPE_ROLE, id);
37
- const associatedUsers = await this.entityManager.query(`SELECT map.*
38
- FROM cr_user_role_mapping map
39
- JOIN cr_user usr ON map.user_id = usr.id
40
- WHERE usr.status = 'ACTIVE' and map.role_id = ${entityData?.id}`);
61
+ const role = entityData;
62
+ if (entityData.status === 'INACTIVE') {
63
+ const existingRole = await this.getEntityData(global_constant_1.ENTITYTYPE_ROLE, entityData.id);
64
+ if (!existingRole) {
65
+ throw new common_1.BadRequestException('Role not found');
66
+ }
67
+ const associatedUsers = await this.entityManager.query(`SELECT map.*
68
+ FROM cr_user_role_mapping map
69
+ JOIN cr_user usr ON map.user_id = usr.id
70
+ WHERE usr.status = 'ACTIVE'
71
+ and map.role_id = ${existingRole?.id}`);
41
72
  if (associatedUsers.length > 0) {
42
73
  throw new common_1.BadRequestException('Cannot deactivate role as it is associated with active users');
43
74
  }
44
- if (!entityData) {
45
- throw new common_1.BadRequestException('Role not found');
46
- }
47
- const role = entityData;
48
75
  if (role.is_system === 1) {
49
76
  throw new common_1.BadRequestException('Cannot deactivate system role');
50
77
  }
51
78
  }
52
- return this.roleRepository.updateRole(id, {
53
- name: body.name,
54
- description: body.description,
55
- status: body.status,
56
- copyFromRoleId: body.copyFromRoleId,
57
- }, loggedInUser);
79
+ if (await this.roleRepository.isRoleNameExists(entityData.name, entityData.id)) {
80
+ throw new common_1.BadRequestException('Role name already exists.');
81
+ }
82
+ const { copy_from_role_id, ...persistableData } = role;
83
+ const updatedRole = await super.updateEntity(persistableData, loggedInUser);
84
+ if (role.copy_from_role_id) {
85
+ const sourceRole = await this.getEntityData(global_constant_1.ENTITYTYPE_ROLE, role.copy_from_role_id);
86
+ if (!sourceRole) {
87
+ throw new common_1.BadRequestException('Source role not found');
88
+ }
89
+ await this.moduleAccessRepo.delete({ role_code: role.code });
90
+ const sourcePermissions = await this.moduleAccessRepo.find({
91
+ where: { role_code: sourceRole.code },
92
+ });
93
+ const clonedPermissions = sourcePermissions.map((perm) => this.moduleAccessRepo.create({
94
+ role_code: role.code,
95
+ module_code: perm.module_code,
96
+ action_type: perm.action_type,
97
+ access_flag: perm.access_flag,
98
+ app_code: perm.app_code,
99
+ }));
100
+ await this.moduleAccessRepo.save(clonedPermissions);
101
+ }
102
+ return updatedRole;
58
103
  }
59
104
  };
60
105
  exports.RoleService = RoleService;
61
106
  exports.RoleService = RoleService = __decorate([
62
107
  (0, common_1.Injectable)(),
108
+ __param(2, (0, typeorm_2.InjectRepository)(module_access_entity_1.ModuleAccess)),
63
109
  __metadata("design:paramtypes", [role_repository_1.RoleRepository,
64
- typeorm_1.EntityManager])
110
+ typeorm_1.EntityManager,
111
+ typeorm_1.Repository])
65
112
  ], RoleService);
66
113
  //# sourceMappingURL=role.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/role.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiE;AACjE,gGAAmF;AAInF,uEAA+D;AAC/D,mEAA+D;AAC/D,qCAAwC;AAGjC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,+CAAiB;IAChD,YACmB,cAA8B,EAC9B,aAA4B;QAG7C,KAAK,EAAE,CAAC;QAJS,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;IAI/C,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAsB,EACtB,YAA6B;QAE7B,IAAI,IAAI,GAAG,UAAkB,CAAC;QAE9B,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAKC,EACD,YAAsB;QAEtB,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,UAAU,CACd,EAAU,EACV,IAKC,EACD,YAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAE/B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,CAC1C,iCAAe,EACf,EAAE,CACH,CAAC;YAEF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;;sDAGP,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;YAElE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,4BAAmB,CAC3B,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,IAAI,GAAG,UAAkB,CAAC;YAChC,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC;CACF,CAAA;AA9EY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGwB,gCAAc;QACf,uBAAa;GAHpC,WAAW,CA8EvB"}
1
+ {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/role.service.ts"],"names":[],"mappings":"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"}
@@ -29,14 +29,19 @@ const user_role_mapping_repository_1 = require("./repository/user-role-mapping.r
29
29
  const user_role_mapping_service_1 = require("./service/user-role-mapping.service");
30
30
  const role_repository_1 = require("./repository/role.repository");
31
31
  const module_access_entity_1 = require("../module/entity/module-access.entity");
32
- const role_controller_1 = require("./controller/role.controller");
33
32
  let UserModule = class UserModule {
34
33
  };
35
34
  exports.UserModule = UserModule;
36
35
  exports.UserModule = UserModule = __decorate([
37
36
  (0, common_1.Module)({
38
37
  imports: [
39
- typeorm_1.TypeOrmModule.forFeature([user_entity_1.UserData, user_session_entity_1.UserSession, role_entity_1.Role, user_role_mapping_entity_1.UserRoleMapping, module_access_entity_1.ModuleAccess]),
38
+ typeorm_1.TypeOrmModule.forFeature([
39
+ user_entity_1.UserData,
40
+ user_session_entity_1.UserSession,
41
+ role_entity_1.Role,
42
+ user_role_mapping_entity_1.UserRoleMapping,
43
+ module_access_entity_1.ModuleAccess,
44
+ ]),
40
45
  entity_module_1.EntityModule,
41
46
  utils_module_1.UtilsModule,
42
47
  auth_module_1.AuthModule,
@@ -61,7 +66,7 @@ exports.UserModule = UserModule = __decorate([
61
66
  role_repository_1.RoleRepository,
62
67
  login_service_1.LoginService,
63
68
  ],
64
- controllers: [login_controller_1.LoginController, user_controller_1.UserController, role_controller_1.RoleController],
69
+ controllers: [login_controller_1.LoginController, user_controller_1.UserController],
65
70
  })
66
71
  ], UserModule);
67
72
  //# sourceMappingURL=user.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../src/module/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,sDAAgD;AAChD,yDAAqD;AACrD,2DAAuD;AACvD,yDAAqD;AACrD,kEAA8D;AAC9D,yEAAoE;AACpE,sEAA2D;AAC3D,oEAAgE;AAChE,2DAAuD;AACvD,gFAA4E;AAC5E,qCAAyC;AACzC,qDAAiD;AACjD,kEAA8D;AAC9D,sDAA4C;AAC5C,yDAAqD;AACrD,gFAAoE;AACpE,4FAAsF;AACtF,mFAA6E;AAC7E,kEAA8D;AAC9D,gFAAqE;AACrE,kEAA8D;AA+BvD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IA7BtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,sBAAQ,EAAE,iCAAW,EAAE,kBAAI,EAAE,0CAAe,EAAC,mCAAY,CAAC,CAAC;YACrF,4BAAY;YACZ,0BAAW;YACX,wBAAU;SACX;QACD,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,0BAAW,EAAE;YACjD,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,0BAAW,EAAE;YACjD,gCAAc;YACd,yCAAkB;YAClB,4BAAY;YACZ,8CAAqB;YACrB,gBAAU;YACV,wDAAyB;YACzB,kDAAsB;YACtB,gCAAc;SACf;QACD,OAAO,EAAE;YACP,aAAa;YACb,yCAAkB;YAClB,aAAa;YACb,kDAAsB;YACtB,gCAAc;YACd,4BAAY;SACb;QACD,WAAW,EAAE,CAAC,kCAAe,EAAE,gCAAc,EAAC,gCAAc,CAAC;KAC9D,CAAC;GACW,UAAU,CAAG"}
1
+ {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../src/module/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,sDAAgD;AAChD,yDAAqD;AACrD,2DAAuD;AACvD,yDAAqD;AACrD,kEAA8D;AAC9D,yEAAoE;AACpE,sEAA2D;AAC3D,oEAAgE;AAChE,2DAAuD;AACvD,gFAA4E;AAC5E,qCAAyC;AACzC,qDAAiD;AACjD,kEAA8D;AAC9D,sDAA4C;AAC5C,yDAAqD;AACrD,gFAAoE;AACpE,4FAAsF;AACtF,mFAA6E;AAC7E,kEAA8D;AAC9D,gFAAqE;AAqC9D,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAnCtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,sBAAQ;gBACR,iCAAW;gBACX,kBAAI;gBACJ,0CAAe;gBACf,mCAAY;aACb,CAAC;YACF,4BAAY;YACZ,0BAAW;YACX,wBAAU;SACX;QACD,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,0BAAW,EAAE;YACjD,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,0BAAW,EAAE;YACjD,gCAAc;YACd,yCAAkB;YAClB,4BAAY;YACZ,8CAAqB;YACrB,gBAAU;YACV,wDAAyB;YACzB,kDAAsB;YACtB,gCAAc;SACf;QACD,OAAO,EAAE;YACP,aAAa;YACb,yCAAkB;YAClB,aAAa;YACb,kDAAsB;YACtB,gCAAc;YACd,4BAAY;SACb;QACD,WAAW,EAAE,CAAC,kCAAe,EAAE,gCAAc,CAAC;KAC/C,CAAC;GACW,UAAU,CAAG"}