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.
- package/.claude/settings.local.json +26 -0
- package/.idea/250218_nodejs_core.iml +9 -0
- package/.idea/codeStyles/Project.xml +59 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/copilot.data.migration.agent.xml +6 -0
- package/.idea/copilot.data.migration.ask.xml +6 -0
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/.idea/copilot.data.migration.edit.xml +6 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/vcs.xml +6 -0
- package/dist/module/auth/strategies/jwt.strategy.d.ts +1 -0
- package/dist/module/auth/strategies/jwt.strategy.js +2 -1
- package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
- package/dist/module/meta/entity.module.js +3 -4
- package/dist/module/meta/entity.module.js.map +1 -1
- package/dist/module/module/controller/module-access.controller.d.ts +7 -7
- package/dist/module/module/controller/module-access.controller.js +20 -20
- package/dist/module/module/controller/module-access.controller.js.map +1 -1
- package/dist/module/module/entity/module-access.entity.d.ts +1 -1
- package/dist/module/module/entity/module-access.entity.js +1 -1
- package/dist/module/module/entity/module-access.entity.js.map +1 -1
- package/dist/module/module/module.module.js +3 -1
- package/dist/module/module/module.module.js.map +1 -1
- package/dist/module/module/repository/module-access.repository.d.ts +15 -13
- package/dist/module/module/repository/module-access.repository.js +68 -34
- package/dist/module/module/repository/module-access.repository.js.map +1 -1
- package/dist/module/module/service/module-access.service.d.ts +16 -15
- package/dist/module/module/service/module-access.service.js +34 -28
- package/dist/module/module/service/module-access.service.js.map +1 -1
- package/dist/module/user/repository/role.repository.d.ts +1 -0
- package/dist/module/user/repository/role.repository.js +3 -0
- package/dist/module/user/repository/role.repository.js.map +1 -1
- package/dist/module/user/repository/user-role-mapping.repository.d.ts +1 -0
- package/dist/module/user/repository/user-role-mapping.repository.js +3 -0
- package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -1
- package/dist/module/user/repository/user.repository.d.ts +2 -1
- package/dist/module/user/repository/user.repository.js +11 -2
- package/dist/module/user/repository/user.repository.js.map +1 -1
- package/dist/module/user/service/login.service.js +8 -2
- package/dist/module/user/service/login.service.js.map +1 -1
- package/dist/module/user/service/role.service.d.ts +1 -0
- package/dist/module/user/service/role.service.js +3 -0
- package/dist/module/user/service/role.service.js.map +1 -1
- package/dist/module/user/service/user-role-mapping.service.d.ts +2 -0
- package/dist/module/user/service/user-role-mapping.service.js +6 -0
- package/dist/module/user/service/user-role-mapping.service.js.map +1 -1
- package/dist/module/user/service/user-session.service.d.ts +1 -1
- package/dist/module/user/service/user-session.service.js +2 -1
- package/dist/module/user/service/user-session.service.js.map +1 -1
- package/dist/module/user/service/user.service.d.ts +2 -1
- package/dist/module/user/service/user.service.js +5 -2
- package/dist/module/user/service/user.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/server.log +850 -0
- package/src/module/auth/strategies/jwt.strategy.ts +2 -0
- package/src/module/meta/entity.module.ts +4 -15
- package/src/module/module/controller/module-access.controller.ts +11 -11
- package/src/module/module/entity/module-access.entity.ts +1 -1
- package/src/module/module/module.module.ts +3 -1
- package/src/module/module/repository/module-access.repository.ts +75 -39
- package/src/module/module/service/module-access.service.ts +35 -31
- package/src/module/user/repository/role.repository.ts +6 -2
- package/src/module/user/repository/user-role-mapping.repository.ts +5 -1
- package/src/module/user/repository/user.repository.ts +18 -2
- package/src/module/user/service/login.service.ts +10 -2
- package/src/module/user/service/role.service.ts +4 -0
- package/src/module/user/service/user-role-mapping.service.ts +23 -1
- package/src/module/user/service/user-session.service.ts +2 -1
- 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
|
-
|
|
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 +
|
|
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
|
|
|
@@ -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
|
}
|