rez_core 2.0.46 → 2.0.48

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 (53) hide show
  1. package/dist/module/auth/strategies/jwt.strategy.js +1 -1
  2. package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
  3. package/dist/module/enterprise/entity/brand.entity.d.ts +1 -0
  4. package/dist/module/enterprise/entity/brand.entity.js +7 -0
  5. package/dist/module/enterprise/entity/brand.entity.js.map +1 -1
  6. package/dist/module/enterprise/entity/organization.entity.d.ts +1 -0
  7. package/dist/module/enterprise/entity/organization.entity.js +4 -0
  8. package/dist/module/enterprise/entity/organization.entity.js.map +1 -1
  9. package/dist/module/enterprise/entity/school.entity.d.ts +1 -0
  10. package/dist/module/enterprise/entity/school.entity.js +4 -0
  11. package/dist/module/enterprise/entity/school.entity.js.map +1 -1
  12. package/dist/module/enterprise/repository/school.repository.js +5 -0
  13. package/dist/module/enterprise/repository/school.repository.js.map +1 -1
  14. package/dist/module/user/controller/login.controller.d.ts +10 -1
  15. package/dist/module/user/controller/login.controller.js +22 -3
  16. package/dist/module/user/controller/login.controller.js.map +1 -1
  17. package/dist/module/user/dto/create-user.dto.d.ts +1 -0
  18. package/dist/module/user/dto/create-user.dto.js.map +1 -1
  19. package/dist/module/user/repository/role.repository.d.ts +6 -0
  20. package/dist/module/user/repository/role.repository.js +27 -0
  21. package/dist/module/user/repository/role.repository.js.map +1 -1
  22. package/dist/module/user/repository/user-role-mapping.repository.d.ts +5 -1
  23. package/dist/module/user/repository/user-role-mapping.repository.js +37 -2
  24. package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
  25. package/dist/module/user/service/login.service.d.ts +6 -3
  26. package/dist/module/user/service/login.service.js +32 -10
  27. package/dist/module/user/service/login.service.js.map +1 -1
  28. package/dist/module/user/service/role.service.js +8 -5
  29. package/dist/module/user/service/role.service.js.map +1 -1
  30. package/dist/module/user/service/user-role-mapping.service.d.ts +3 -0
  31. package/dist/module/user/service/user-role-mapping.service.js +24 -1
  32. package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
  33. package/dist/module/user/service/user-session.service.d.ts +11 -2
  34. package/dist/module/user/service/user-session.service.js +32 -4
  35. package/dist/module/user/service/user-session.service.js.map +1 -1
  36. package/dist/module/user/service/user.service.js +57 -23
  37. package/dist/module/user/service/user.service.js.map +1 -1
  38. package/dist/tsconfig.build.tsbuildinfo +1 -1
  39. package/package.json +1 -1
  40. package/src/module/auth/strategies/jwt.strategy.ts +2 -2
  41. package/src/module/enterprise/entity/brand.entity.ts +5 -2
  42. package/src/module/enterprise/entity/organization.entity.ts +3 -0
  43. package/src/module/enterprise/entity/school.entity.ts +3 -0
  44. package/src/module/enterprise/repository/school.repository.ts +5 -0
  45. package/src/module/user/controller/login.controller.ts +33 -2
  46. package/src/module/user/dto/create-user.dto.ts +2 -0
  47. package/src/module/user/repository/role.repository.ts +46 -2
  48. package/src/module/user/repository/user-role-mapping.repository.ts +54 -1
  49. package/src/module/user/service/login.service.ts +48 -29
  50. package/src/module/user/service/role.service.ts +10 -6
  51. package/src/module/user/service/user-role-mapping.service.ts +60 -0
  52. package/src/module/user/service/user-session.service.ts +144 -4
  53. package/src/module/user/service/user.service.ts +75 -65
@@ -17,17 +17,40 @@ let UserRoleMappingService = class UserRoleMappingService {
17
17
  this.userRoleMappingRepository = userRoleMappingRepository;
18
18
  }
19
19
  async assignUserRole(userRoleMapping) {
20
- const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(userRoleMapping.user_id, userRoleMapping.role_id);
20
+ const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(userRoleMapping.user_id, userRoleMapping.role_id, userRoleMapping.appcode, userRoleMapping.level_id, userRoleMapping.level_type);
21
21
  if (!existing) {
22
22
  return await this.userRoleMappingRepository.save(userRoleMapping);
23
23
  }
24
24
  }
25
+ async updateAssignedRole(userRoleMapping) {
26
+ if (userRoleMapping.id) {
27
+ const existing = await this.userRoleMappingRepository.findByUSRId(userRoleMapping.id);
28
+ if (existing) {
29
+ existing.appcode = userRoleMapping.appcode;
30
+ existing.level_id = userRoleMapping.level_id;
31
+ existing.level_type = userRoleMapping.level_type;
32
+ existing.role_id = userRoleMapping.role_id;
33
+ return await this.userRoleMappingRepository.save(existing);
34
+ }
35
+ }
36
+ const duplicate = await this.userRoleMappingRepository.findByUserIdAndRoleId(userRoleMapping.user_id, userRoleMapping.role_id, userRoleMapping.appcode, userRoleMapping.level_id, userRoleMapping.level_type);
37
+ if (duplicate) {
38
+ return duplicate;
39
+ }
40
+ return await this.userRoleMappingRepository.save(userRoleMapping);
41
+ }
25
42
  async findByUserId(userId) {
26
43
  return await this.userRoleMappingRepository.findByUserId(userId);
27
44
  }
28
45
  async deleteByUserId(userId) {
29
46
  await this.userRoleMappingRepository.deleteByUserId(userId);
30
47
  }
48
+ async getUserByIdAndAppCode(userId, appCode) {
49
+ return await this.userRoleMappingRepository.findByUserIdAndAppCode(userId, appCode);
50
+ }
51
+ async getUserByIdAppCodeAndLevel(userId, appCode, levelType, levelId) {
52
+ return await this.userRoleMappingRepository.findByUserIdAndAppCodeAndLevel(userId, appCode, levelType, levelId);
53
+ }
31
54
  };
32
55
  exports.UserRoleMappingService = UserRoleMappingService;
33
56
  exports.UserRoleMappingService = UserRoleMappingService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user-role-mapping.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user-role-mapping.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6FAAuF;AAIhF,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YACmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IACpE,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,eAAgC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,qBAAqB,CACzE,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,OAAO,CACxB,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAvBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAGmC,wDAAyB;GAF5D,sBAAsB,CAuBlC"}
1
+ {"version":3,"file":"user-role-mapping.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user-role-mapping.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6FAAuF;AAIhF,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YACmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IACpE,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,eAAgC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,qBAAqB,CACzE,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,QAAQ,EACxB,eAAe,CAAC,UAAU,CAC3B,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,eAAgC;QAEvD,IAAI,eAAe,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAC/D,eAAe,CAAC,EAAE,CACnB,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;gBAC3C,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;gBAC7C,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;gBACjD,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;gBAE3C,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAGD,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,yBAAyB,CAAC,qBAAqB,CACxD,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,QAAQ,EACxB,eAAe,CAAC,UAAU,CAC3B,CAAC;QAEJ,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,OAAe;QAEf,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,sBAAsB,CAChE,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,MAAc,EACd,OAAe,EACf,SAAiB,EACjB,OAAe;QAEf,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,8BAA8B,CACxE,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;CACF,CAAA;AAnFY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAGmC,wDAAyB;GAF5D,sBAAsB,CAmFlC"}
@@ -3,13 +3,22 @@ import { ClockIDGenService } from '../../../utils/service/clockIDGenUtil.service
3
3
  import { UserSessionRepository } from '../repository/userSession.repository';
4
4
  import { JwtAuthService } from 'src/module/auth/services/jwt.service';
5
5
  import { ConfigService } from '@nestjs/config';
6
+ import { UserRoleMappingService } from './user-role-mapping.service';
7
+ import { DataSource } from 'typeorm';
6
8
  export declare class UserSessionService {
7
9
  private readonly userSessionRepository;
8
10
  private readonly jwtAuthService;
9
11
  private readonly clockIDGenService;
10
12
  private configService;
11
- constructor(userSessionRepository: UserSessionRepository, jwtAuthService: JwtAuthService, clockIDGenService: ClockIDGenService, configService: ConfigService);
12
- createSession(user: any, appcode?: string): Promise<string>;
13
+ private readonly userRoleMappingService;
14
+ private readonly dataSource;
15
+ constructor(userSessionRepository: UserSessionRepository, jwtAuthService: JwtAuthService, clockIDGenService: ClockIDGenService, configService: ConfigService, userRoleMappingService: UserRoleMappingService, dataSource: DataSource);
16
+ createSession(user: any, appcode?: string, accessInfo?: any): Promise<string>;
13
17
  findBySessionKey(sessionKey: string): Promise<UserSession | null>;
14
18
  updateSession(userSession: UserSession): Promise<void>;
19
+ switchCurrentLevelService(userId: number, currentUserLevelType: string, currentUserLevelId: string, currentUserOrgId: number, data: any): Promise<{
20
+ success: boolean;
21
+ access_token: string;
22
+ appcode: string;
23
+ }>;
15
24
  }
@@ -16,14 +16,18 @@ const common_1 = require("@nestjs/common");
16
16
  const userSession_repository_1 = require("../repository/userSession.repository");
17
17
  const jwt_service_1 = require("../../auth/services/jwt.service");
18
18
  const config_1 = require("@nestjs/config");
19
+ const user_role_mapping_service_1 = require("./user-role-mapping.service");
20
+ const typeorm_1 = require("typeorm");
19
21
  let UserSessionService = class UserSessionService {
20
- constructor(userSessionRepository, jwtAuthService, clockIDGenService, configService) {
22
+ constructor(userSessionRepository, jwtAuthService, clockIDGenService, configService, userRoleMappingService, dataSource) {
21
23
  this.userSessionRepository = userSessionRepository;
22
24
  this.jwtAuthService = jwtAuthService;
23
25
  this.clockIDGenService = clockIDGenService;
24
26
  this.configService = configService;
27
+ this.userRoleMappingService = userRoleMappingService;
28
+ this.dataSource = dataSource;
25
29
  }
26
- async createSession(user, appcode) {
30
+ async createSession(user, appcode, accessInfo) {
27
31
  const sessionToken = this.clockIDGenService.idGenerator('SES');
28
32
  const userSession = new user_session_entity_1.UserSession();
29
33
  userSession.user_id = user.id;
@@ -36,11 +40,19 @@ let UserSessionService = class UserSessionService {
36
40
  const payload = {
37
41
  userId: user.id,
38
42
  sessionToken,
39
- appcode: appcode,
43
+ appcode,
40
44
  email_id: user.email_id,
45
+ level_type: user.level_type,
46
+ level_id: user.level_id,
41
47
  organization_id: user.organization_id,
42
48
  enterprise_id: user.enterprise_id,
43
49
  };
50
+ if (accessInfo) {
51
+ payload.level_type = accessInfo.level_type;
52
+ payload.level_id = accessInfo.level_id;
53
+ payload.role_id = accessInfo.role_id;
54
+ payload.role_code = accessInfo.role_code;
55
+ }
44
56
  const accessToken = this.jwtAuthService.generateJwt(payload);
45
57
  userSession.access_token = accessToken;
46
58
  await this.userSessionRepository.saveSession(userSession);
@@ -52,6 +64,20 @@ let UserSessionService = class UserSessionService {
52
64
  async updateSession(userSession) {
53
65
  await this.userSessionRepository.saveSession(userSession);
54
66
  }
67
+ async switchCurrentLevelService(userId, currentUserLevelType, currentUserLevelId, currentUserOrgId, data) {
68
+ let payload;
69
+ payload = {
70
+ id: userId,
71
+ level_id: currentUserLevelId,
72
+ level_type: currentUserLevelType,
73
+ appcode: data.appcode,
74
+ };
75
+ return {
76
+ success: true,
77
+ access_token: this.jwtAuthService.generateJwt(payload),
78
+ appcode: data.appcode,
79
+ };
80
+ }
55
81
  };
56
82
  exports.UserSessionService = UserSessionService;
57
83
  exports.UserSessionService = UserSessionService = __decorate([
@@ -59,6 +85,8 @@ exports.UserSessionService = UserSessionService = __decorate([
59
85
  __metadata("design:paramtypes", [userSession_repository_1.UserSessionRepository,
60
86
  jwt_service_1.JwtAuthService,
61
87
  clockIDGenUtil_service_1.ClockIDGenService,
62
- config_1.ConfigService])
88
+ config_1.ConfigService,
89
+ user_role_mapping_service_1.UserRoleMappingService,
90
+ typeorm_1.DataSource])
63
91
  ], UserSessionService);
64
92
  //# sourceMappingURL=user-session.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-session.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user-session.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAA4D;AAC5D,0FAAkF;AAClF,2CAA4C;AAC5C,iFAA6E;AAC7E,iEAAsE;AACtE,2CAA+C;AAGxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,qBAA4C,EAC5C,cAA8B,EAC9B,iBAAoC,EAC7C,aAA4B;QAHnB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC7C,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IACJ,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAgB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAQ,IAAI,iCAAW,EAAE,CAAC;QAC3C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC;QACvC,WAAW,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACrC,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvE,WAAW,CAAC,WAAW,GAAG,IAAI,IAAI,CAChC,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACjD,CAAC;QAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,YAAY;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7D,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC;QACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAwB;QAC1C,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA7CY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAG+B,8CAAqB;QAC5B,4BAAc;QACX,0CAAiB;QAC9B,sBAAa;GAL3B,kBAAkB,CA6C9B"}
1
+ {"version":3,"file":"user-session.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user-session.service.ts"],"names":[],"mappings":"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"}
@@ -16,14 +16,12 @@ exports.UserService = void 0;
16
16
  const role_service_1 = require("./role.service");
17
17
  const common_1 = require("@nestjs/common");
18
18
  const entity_service_impl_service_1 = require("../../meta/service/entity-service-impl.service");
19
- const user_entity_1 = require("../entity/user.entity");
20
19
  const user_repository_1 = require("../repository/user.repository");
21
20
  const encryptUtil_service_1 = require("../../../utils/service/encryptUtil.service");
22
21
  const clockIDGenUtil_service_1 = require("../../../utils/service/clockIDGenUtil.service");
23
22
  const global_constant_1 = require("../../../constant/global.constant");
24
23
  const user_role_mapping_service_1 = require("./user-role-mapping.service");
25
24
  const user_role_mapping_entity_1 = require("../entity/user-role-mapping.entity");
26
- const class_transformer_1 = require("class-transformer");
27
25
  const config_1 = require("@nestjs/config");
28
26
  const user_app_mapping_service_1 = require("../../meta/service/user-app-mapping.service");
29
27
  let UserService = class UserService extends entity_service_impl_service_1.EntityServiceImpl {
@@ -64,21 +62,34 @@ let UserService = class UserService extends entity_service_impl_service_1.Entity
64
62
  userData.invitation_status = 'SENT';
65
63
  userData.status = global_constant_1.STATUS_ACTIVE;
66
64
  const savedData = await super.createEntity(userData, loggedInUser);
67
- userData.roles.push('1');
68
- userData.roles.push('2');
69
- if (userData.roles) {
70
- let roles = userData.roles;
71
- await this.userRoleMappingService.deleteByUserId(userData.id);
72
- for (const role in roles) {
73
- let userRoleMapping = new user_role_mapping_entity_1.UserRoleMapping(savedData.id, Number(roles[role]));
74
- await this.userRoleMappingService.assignUserRole(userRoleMapping);
65
+ const insertPromises = [];
66
+ for (const entry of userData.access || []) {
67
+ const { level_type, level_ids, app_code, role_id } = entry;
68
+ if (!level_type ||
69
+ !Array.isArray(level_ids) ||
70
+ !level_ids.length ||
71
+ !app_code ||
72
+ !role_id) {
73
+ throw new common_1.BadRequestException('Invalid access level entry');
74
+ }
75
+ for (const levelId of level_ids) {
76
+ const userRoleMapping = new user_role_mapping_entity_1.UserRoleMapping(savedData.id, role_id);
77
+ userRoleMapping.level_type = level_type;
78
+ userRoleMapping.level_id = String(levelId);
79
+ userRoleMapping.appcode = app_code;
80
+ userRoleMapping.organization_id = loggedInUser?.organization_id || 0;
81
+ insertPromises.push(this.userRoleMappingService.assignUserRole(userRoleMapping));
75
82
  }
76
83
  }
77
- const appcodedata = ['CRM', 'ERP'];
78
- if (savedData.id) {
79
- for (const app of appcodedata) {
80
- await this.userAppMappingService.assignUserAppMapping(savedData.id, app);
84
+ try {
85
+ if (insertPromises.length > 0) {
86
+ await Promise.all(insertPromises);
81
87
  }
88
+ console.log('Access levels added successfully');
89
+ }
90
+ catch (error) {
91
+ console.error('Error adding access levels:', error);
92
+ throw new common_1.BadRequestException('Failed to add access levels');
82
93
  }
83
94
  return savedData;
84
95
  }
@@ -112,16 +123,39 @@ let UserService = class UserService extends entity_service_impl_service_1.Entity
112
123
  if (decryptedPassword === userDto.password) {
113
124
  throw new common_1.BadRequestException('New password cannot be the same as the current password');
114
125
  }
115
- const encryptedPassword = encryptUtil_service_1.EncryptUtilService.encryptGCM(userDto.password, this.masterKey, this.masterIv);
116
- userDto.password = encryptedPassword;
126
+ userDto.password = encryptUtil_service_1.EncryptUtilService.encryptGCM(userDto.password, this.masterKey, this.masterIv);
117
127
  }
118
- const userData = (0, class_transformer_1.plainToInstance)(user_entity_1.UserData, userDto);
119
- const savedData = await super.updateEntity(userData, loggedInUserData);
120
- if (userDto.roles) {
121
- await this.userRoleMappingService.deleteByUserId(savedData.id);
122
- for (const role of userDto.roles) {
123
- const userRoleMapping = new user_role_mapping_entity_1.UserRoleMapping(savedData.id, Number(role));
124
- await this.userRoleMappingService.assignUserRole(userRoleMapping);
128
+ const updatedUserData = { ...userDto };
129
+ delete updatedUserData.access;
130
+ const savedData = await super.updateEntity(updatedUserData, loggedInUserData);
131
+ if (userDto.access && userDto.access.length > 0) {
132
+ const insertPromises = [];
133
+ for (const entry of userDto.access) {
134
+ const { id, level_type, level_ids, app_code, role_id } = entry;
135
+ if (!level_type ||
136
+ typeof level_ids !== 'number' ||
137
+ !app_code ||
138
+ !role_id) {
139
+ throw new common_1.BadRequestException('Invalid access level entry');
140
+ }
141
+ const userRoleMapping = new user_role_mapping_entity_1.UserRoleMapping(savedData.id, role_id);
142
+ if (id) {
143
+ userRoleMapping.id = id;
144
+ }
145
+ userRoleMapping.role_id = role_id;
146
+ userRoleMapping.appcode = app_code;
147
+ userRoleMapping.level_id = String(level_ids);
148
+ userRoleMapping.level_type = level_type;
149
+ userRoleMapping.organization_id = loggedInUserData.organization_id || 0;
150
+ insertPromises.push(this.userRoleMappingService.updateAssignedRole(userRoleMapping));
151
+ }
152
+ try {
153
+ await Promise.all(insertPromises);
154
+ console.log('Access levels updated successfully');
155
+ }
156
+ catch (error) {
157
+ console.error('Error updating access levels:', error);
158
+ throw new common_1.BadRequestException('Failed to update access levels');
125
159
  }
126
160
  }
127
161
  return savedData;
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user.service.ts"],"names":[],"mappings":"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"}