@uxland/primary-shell 7.36.3 → 7.36.4

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.
@@ -3,12 +3,15 @@ export interface UserManager {
3
3
  getRole: () => string | undefined;
4
4
  isUserRoleAdministrative: () => boolean;
5
5
  getFullName: () => string | undefined;
6
+ getSector: () => string | undefined;
6
7
  }
7
8
  export declare class UserManagerImpl implements UserManager {
8
9
  private tokenManager;
9
10
  constructor(tokenManager: TokenManager);
11
+ private getAccessInfo;
10
12
  getRole: () => string | undefined;
11
13
  isUserRoleAdministrative: () => boolean;
12
14
  getFullName: () => string | undefined;
15
+ getSector: () => string | undefined;
13
16
  }
14
17
  export declare const createUserManager: (tokenManager: TokenManager) => UserManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxland/primary-shell",
3
- "version": "7.36.3",
3
+ "version": "7.36.4",
4
4
  "description": "Primaria Shell",
5
5
  "author": "UXLand <dev@uxland.es>",
6
6
  "homepage": "https://github.com/uxland/harmonix/tree/app#readme",
@@ -6,6 +6,7 @@ interface JWTPayload {
6
6
  role_type?: string;
7
7
  trace_user_given_name?: string;
8
8
  trace_user_family_name?: string;
9
+ module_code?: string;
9
10
  };
10
11
  }
11
12
 
@@ -13,53 +14,45 @@ export interface UserManager {
13
14
  getRole: () => string | undefined;
14
15
  isUserRoleAdministrative: () => boolean;
15
16
  getFullName: () => string | undefined;
17
+ getSector: () => string | undefined;
16
18
  }
17
19
 
18
20
  export class UserManagerImpl implements UserManager {
19
21
  constructor(private tokenManager: TokenManager) {}
20
22
 
21
- getRole = (): string | undefined => {
23
+ private getAccessInfo(): JWTPayload["access_info"] | undefined {
22
24
  const token = this.tokenManager.getToken();
23
- if (!token) {
24
- return undefined;
25
- }
26
-
25
+ if (!token) return undefined;
27
26
  try {
28
- const payload = jwtDecode<JWTPayload>(token);
29
- const role = payload.access_info?.role_type;
30
- return role;
27
+ return jwtDecode<JWTPayload>(token).access_info;
31
28
  } catch (error) {
32
29
  console.error("Error decoding JWT token:", error);
33
30
  return undefined;
34
31
  }
32
+ }
33
+
34
+ getRole = (): string | undefined => {
35
+ return this.getAccessInfo()?.role_type;
35
36
  };
36
37
 
37
38
  isUserRoleAdministrative = (): boolean => {
38
- const userRole = this.getRole();
39
- return userRole === "ADM";
39
+ return this.getRole() === "ADM";
40
40
  };
41
41
 
42
42
  getFullName = (): string | undefined => {
43
- const token = this.tokenManager.getToken();
44
- if (!token) {
45
- return undefined;
46
- }
43
+ const accessInfo = this.getAccessInfo();
44
+ if (!accessInfo) return undefined;
47
45
 
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;
46
+ const givenName = accessInfo.trace_user_given_name;
47
+ const familyName = accessInfo.trace_user_family_name;
52
48
 
53
- if (!givenName && !familyName) {
54
- return undefined;
55
- }
49
+ if (!givenName && !familyName) return undefined;
56
50
 
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
- }
51
+ return [familyName, givenName].filter(Boolean).join(" ");
52
+ };
53
+
54
+ getSector = (): string | undefined => {
55
+ return this.getAccessInfo()?.module_code;
63
56
  };
64
57
  }
65
58