rez_core 6.5.10 → 6.5.11

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 (73) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.idea/250218_nodejs_core.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +59 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/copilot.data.migration.agent.xml +6 -0
  6. package/.idea/copilot.data.migration.ask.xml +6 -0
  7. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  8. package/.idea/copilot.data.migration.edit.xml +6 -0
  9. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  10. package/.idea/misc.xml +6 -0
  11. package/.idea/modules.xml +8 -0
  12. package/.idea/prettier.xml +6 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/dist/module/auth/strategies/jwt.strategy.d.ts +1 -0
  15. package/dist/module/auth/strategies/jwt.strategy.js +2 -1
  16. package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
  17. package/dist/module/meta/entity.module.js +3 -4
  18. package/dist/module/meta/entity.module.js.map +1 -1
  19. package/dist/module/module/controller/module-access.controller.d.ts +7 -7
  20. package/dist/module/module/controller/module-access.controller.js +20 -20
  21. package/dist/module/module/controller/module-access.controller.js.map +1 -1
  22. package/dist/module/module/entity/module-access.entity.d.ts +1 -1
  23. package/dist/module/module/entity/module-access.entity.js +1 -1
  24. package/dist/module/module/entity/module-access.entity.js.map +1 -1
  25. package/dist/module/module/module.module.js +3 -1
  26. package/dist/module/module/module.module.js.map +1 -1
  27. package/dist/module/module/repository/module-access.repository.d.ts +15 -13
  28. package/dist/module/module/repository/module-access.repository.js +68 -34
  29. package/dist/module/module/repository/module-access.repository.js.map +1 -1
  30. package/dist/module/module/service/module-access.service.d.ts +16 -15
  31. package/dist/module/module/service/module-access.service.js +34 -28
  32. package/dist/module/module/service/module-access.service.js.map +1 -1
  33. package/dist/module/user/repository/role.repository.d.ts +1 -0
  34. package/dist/module/user/repository/role.repository.js +3 -0
  35. package/dist/module/user/repository/role.repository.js.map +1 -1
  36. package/dist/module/user/repository/user-role-mapping.repository.d.ts +1 -0
  37. package/dist/module/user/repository/user-role-mapping.repository.js +3 -0
  38. package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
  39. package/dist/module/user/repository/user.repository.d.ts +2 -1
  40. package/dist/module/user/repository/user.repository.js +11 -2
  41. package/dist/module/user/repository/user.repository.js.map +1 -1
  42. package/dist/module/user/service/login.service.js +8 -2
  43. package/dist/module/user/service/login.service.js.map +1 -1
  44. package/dist/module/user/service/role.service.d.ts +1 -0
  45. package/dist/module/user/service/role.service.js +3 -0
  46. package/dist/module/user/service/role.service.js.map +1 -1
  47. package/dist/module/user/service/user-role-mapping.service.d.ts +2 -0
  48. package/dist/module/user/service/user-role-mapping.service.js +6 -0
  49. package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
  50. package/dist/module/user/service/user-session.service.d.ts +1 -1
  51. package/dist/module/user/service/user-session.service.js +2 -1
  52. package/dist/module/user/service/user-session.service.js.map +1 -1
  53. package/dist/module/user/service/user.service.d.ts +2 -1
  54. package/dist/module/user/service/user.service.js +5 -2
  55. package/dist/module/user/service/user.service.js.map +1 -1
  56. package/dist/tsconfig.build.tsbuildinfo +1 -1
  57. package/package.json +2 -2
  58. package/server.log +850 -0
  59. package/src/module/auth/strategies/jwt.strategy.ts +2 -0
  60. package/src/module/meta/entity.module.ts +4 -15
  61. package/src/module/module/controller/module-access.controller.ts +11 -11
  62. package/src/module/module/entity/module-access.entity.ts +1 -1
  63. package/src/module/module/module.module.ts +3 -1
  64. package/src/module/module/repository/module-access.repository.ts +75 -39
  65. package/src/module/module/service/module-access.service.ts +35 -31
  66. package/src/module/user/repository/role.repository.ts +6 -2
  67. package/src/module/user/repository/user-role-mapping.repository.ts +5 -1
  68. package/src/module/user/repository/user.repository.ts +18 -2
  69. package/src/module/user/service/login.service.ts +10 -2
  70. package/src/module/user/service/role.service.ts +4 -0
  71. package/src/module/user/service/user-role-mapping.service.ts +23 -1
  72. package/src/module/user/service/user-session.service.ts +2 -1
  73. package/src/module/user/service/user.service.ts +6 -1
@@ -8,22 +8,34 @@ import { InjectRepository } from '@nestjs/typeorm';
8
8
  export class UserRepository {
9
9
  constructor(
10
10
  @InjectRepository(UserData) private userRepository: Repository<UserData>,
11
- ) {}
11
+ ) { }
12
12
 
13
13
  async findById(userId: number): Promise<UserData | null> {
14
14
  return this.userRepository.findOne({ where: { id: userId } });
15
15
  }
16
+
16
17
  async findByEmailId(
17
18
  email: string,
18
19
  enterprise_id?: number,
20
+ getLastApp?: boolean,
19
21
  ): Promise<UserData | null> {
20
22
  if (!email) return null;
21
23
 
22
24
  const where: any = { email_id: email };
25
+
23
26
  if (enterprise_id !== undefined) {
24
27
  where.enterprise_id = enterprise_id;
25
28
  }
26
- return this.userRepository.findOne({ where });
29
+
30
+ const options: any = { where };
31
+
32
+ if (getLastApp) {
33
+ options.relations = {
34
+ last_app: true,
35
+ };
36
+ }
37
+
38
+ return this.userRepository.findOne(options);
27
39
  }
28
40
 
29
41
  async findByMobile(
@@ -51,4 +63,8 @@ export class UserRepository {
51
63
  async updateUser(id: number, user: UserData) {
52
64
  return await this.userRepository.update(id, user);
53
65
  }
66
+
67
+ async find(options: any): Promise<UserData[]> {
68
+ return await this.userRepository.find(options);
69
+ }
54
70
  }
@@ -53,10 +53,11 @@ export class LoginService {
53
53
  }
54
54
  }
55
55
 
56
- // 🔹 Step 2: Find the user by email + organization check
56
+ // 🔹 Step 2: Find the user by email + enterprise check
57
57
  const user = await this.userService.findByEmailId(
58
58
  email_id,
59
59
  enterprise?.id,
60
+ true
60
61
  );
61
62
 
62
63
  if (!user || (enterprise && user.enterprise_id !== enterprise.id)) {
@@ -114,6 +115,9 @@ export class LoginService {
114
115
 
115
116
  const roleMappings = await this.userRoleMappingRepository.find({
116
117
  where: whereCondition,
118
+ relations: {
119
+ app: true
120
+ }
117
121
  });
118
122
 
119
123
  if (!roleMappings.length) {
@@ -137,6 +141,7 @@ export class LoginService {
137
141
  user,
138
142
  defaultAccess.app_id,
139
143
  defaultAccess,
144
+ defaultAccess.appcode
140
145
  );
141
146
 
142
147
  // 🔹 Step 7: Update first login + invitation status
@@ -170,6 +175,7 @@ export class LoginService {
170
175
  level_type: defaultAccess.level_type,
171
176
  level_id: defaultAccess.level_id,
172
177
  slug: slug,
178
+ appcode: defaultAccess.appcode
173
179
  };
174
180
  }
175
181
 
@@ -204,7 +210,7 @@ export class LoginService {
204
210
  private async getDefaultAccess(
205
211
  user: any,
206
212
  roleMappings: any[],
207
- ): Promise<{ level_type: string; level_id: string; app_id: number }> {
213
+ ): Promise<{ level_type: string; level_id: string; app_id: number; appcode?:string }> {
208
214
  const orgAccess = roleMappings.find((r) => r.level_type === 'ORG');
209
215
  const brnAccesses = roleMappings.filter((r) => r.level_type === 'BRN');
210
216
  const schAccesses = roleMappings.filter((r) => r.level_type === 'SCH');
@@ -228,6 +234,7 @@ export class LoginService {
228
234
  level_type: user.last_level_type,
229
235
  level_id: user.last_level_id,
230
236
  app_id: user.last_app_access_id,
237
+ appcode: user.last_app.code
231
238
  };
232
239
  }
233
240
 
@@ -236,6 +243,7 @@ export class LoginService {
236
243
  level_type: 'ORG',
237
244
  level_id: orgAccess.level_id,
238
245
  app_id: orgAccess.app_id,
246
+ appcode: orgAccess.app.code
239
247
  };
240
248
  }
241
249
 
@@ -183,4 +183,8 @@ export class RoleService {
183
183
  async findById(id: number) {
184
184
  return await this.roleRepository.findById(id);
185
185
  }
186
+
187
+ async find(options: any): Promise<Role[]> {
188
+ return await this.roleRepository.findRoles(options);
189
+ }
186
190
  }
@@ -7,7 +7,7 @@ import { UserRoleMapping } from '../entity/user-role-mapping.entity';
7
7
  export class UserRoleMappingService {
8
8
  constructor(
9
9
  private readonly userRoleMappingRepository: UserRoleMappingRepository,
10
- ) {}
10
+ ) { }
11
11
 
12
12
  async assignUserRole(userRoleMapping: UserRoleMapping) {
13
13
  const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(
@@ -95,4 +95,26 @@ export class UserRoleMappingService {
95
95
  levelId,
96
96
  );
97
97
  }
98
+
99
+ async find(options: any): Promise<UserRoleMapping[]> {
100
+ return await this.userRoleMappingRepository.find(options);
101
+ }
102
+
103
+ async create(data: any, loggedInUser: any) {
104
+ // Assuming data maps to UserRoleMapping or needs transformation
105
+ // Based on usage in controller: this.roleMappingService.createEntity(data.userRoleMappingData, data.loggedInUserData)
106
+
107
+ // If data is already a UserRoleMapping object or similar
108
+ // We might need to adjust this based on actual DTO structure, but for now passing it through or saving
109
+
110
+ // If it's a direct save:
111
+ // return await this.userRoleMappingRepository.save(data);
112
+
113
+ // However, assignUserRole seems to be the main method for creating/assigning.
114
+ // Let's use assignUserRole if data matches, or save if it's a raw entity.
115
+ // The controller passes `data.userRoleMappingData`.
116
+
117
+ // Let's assume it's a UserRoleMapping compatible object.
118
+ return await this.assignUserRole(data);
119
+ }
98
120
  }
@@ -24,7 +24,7 @@ export class UserSessionService {
24
24
  private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
25
25
  private readonly reflectionHelper: ReflectionHelper,
26
26
  ) {}
27
- async createSession(user, app_id?: number, accessInfo?: any) {
27
+ async createSession(user, app_id?: number, accessInfo?: any, appcode?:string) {
28
28
  const sessionToken = this.clockIDGenService.idGenerator('SES');
29
29
 
30
30
  const userSession: any = new UserSession();
@@ -47,6 +47,7 @@ export class UserSessionService {
47
47
  email_id: user.email_id,
48
48
  organization_id: user.organization_id,
49
49
  enterprise_id: user.enterprise_id,
50
+ appcode
50
51
  };
51
52
 
52
53
  // ✅ Add role access details
@@ -230,8 +230,9 @@ export class UserService implements Action {
230
230
  async findByEmailId(
231
231
  email_id: string,
232
232
  enterprise_id?: number,
233
+ getLastApp?: boolean
233
234
  ): Promise<UserData | null> {
234
- return await this.userRepository.findByEmailId(email_id, enterprise_id);
235
+ return await this.userRepository.findByEmailId(email_id, enterprise_id, getLastApp);
235
236
  }
236
237
 
237
238
  async findByMobile(
@@ -333,4 +334,8 @@ export class UserService implements Action {
333
334
  };
334
335
  }
335
336
  }
337
+
338
+ async find(options: any): Promise<UserData[]> {
339
+ return await this.userRepository.find(options);
340
+ }
336
341
  }