@uxland/primary-shell 7.13.2 → 7.14.0
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/dist/{component-C26_oeb6.js → component-B25VrLkq.js} +2 -2
- package/dist/{component-C26_oeb6.js.map → component-B25VrLkq.js.map} +1 -1
- package/dist/{index-BzY8_3e-.js → index-DdsMjYI8.js} +536 -526
- package/dist/index-DdsMjYI8.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/index.umd.cjs.map +1 -1
- package/dist/primary/shell/src/api/user-manager/user-manager.d.ts +2 -0
- package/package.json +1 -1
- package/src/api/user-manager/user-manager.ts +28 -2
- package/dist/index-BzY8_3e-.js.map +0 -1
|
@@ -2,11 +2,13 @@ import { TokenManager } from '../token-manager/token-manager';
|
|
|
2
2
|
export interface UserManager {
|
|
3
3
|
getRole: () => string | undefined;
|
|
4
4
|
isUserRoleAdministrative: () => boolean;
|
|
5
|
+
getFullName: () => string | undefined;
|
|
5
6
|
}
|
|
6
7
|
export declare class UserManagerImpl implements UserManager {
|
|
7
8
|
private tokenManager;
|
|
8
9
|
constructor(tokenManager: TokenManager);
|
|
9
10
|
getRole: () => string | undefined;
|
|
10
11
|
isUserRoleAdministrative: () => boolean;
|
|
12
|
+
getFullName: () => string | undefined;
|
|
11
13
|
}
|
|
12
14
|
export declare const createUserManager: (tokenManager: TokenManager) => UserManager;
|
package/package.json
CHANGED
|
@@ -4,12 +4,15 @@ import { TokenManager } from "../token-manager/token-manager";
|
|
|
4
4
|
interface JWTPayload {
|
|
5
5
|
access_info?: {
|
|
6
6
|
role_type?: string;
|
|
7
|
+
trace_user_given_name?: string;
|
|
8
|
+
trace_user_family_name?: string;
|
|
7
9
|
};
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
export interface UserManager {
|
|
11
13
|
getRole: () => string | undefined;
|
|
12
14
|
isUserRoleAdministrative: () => boolean;
|
|
15
|
+
getFullName: () => string | undefined;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
export class UserManagerImpl implements UserManager {
|
|
@@ -20,7 +23,7 @@ export class UserManagerImpl implements UserManager {
|
|
|
20
23
|
if (!token) {
|
|
21
24
|
return undefined;
|
|
22
25
|
}
|
|
23
|
-
|
|
26
|
+
|
|
24
27
|
try {
|
|
25
28
|
const payload = jwtDecode<JWTPayload>(token);
|
|
26
29
|
const role = payload.access_info?.role_type;
|
|
@@ -35,6 +38,29 @@ export class UserManagerImpl implements UserManager {
|
|
|
35
38
|
const userRole = this.getRole();
|
|
36
39
|
return userRole === "ADM";
|
|
37
40
|
};
|
|
41
|
+
|
|
42
|
+
getFullName = (): string | undefined => {
|
|
43
|
+
const token = this.tokenManager.getToken();
|
|
44
|
+
if (!token) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
try {
|
|
49
|
+
const payload = jwtDecode<JWTPayload>(token);
|
|
50
|
+
const givenName = payload.access_info?.trace_user_given_name;
|
|
51
|
+
const familyName = payload.access_info?.trace_user_family_name;
|
|
52
|
+
|
|
53
|
+
if (!givenName && !familyName) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const fullName = [familyName, givenName].filter(Boolean).join(" ");
|
|
58
|
+
return fullName;
|
|
59
|
+
} catch (error) {
|
|
60
|
+
console.error("Error decoding JWT token:", error);
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
38
64
|
}
|
|
39
65
|
|
|
40
66
|
let userManager: UserManager;
|
|
@@ -42,4 +68,4 @@ export const createUserManager = (tokenManager: TokenManager): UserManager => {
|
|
|
42
68
|
if (userManager) return userManager;
|
|
43
69
|
userManager = new UserManagerImpl(tokenManager);
|
|
44
70
|
return userManager;
|
|
45
|
-
};
|
|
71
|
+
};
|