@tomei/sso 0.61.0 → 0.61.1

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 (134) hide show
  1. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.d.ts +1 -0
  2. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js +71 -0
  3. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js.map +1 -0
  4. package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +0 -0
  5. package/dist/__tests__/unit/components/login-user/login-user.spec.js +6 -0
  6. package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +1 -0
  7. package/dist/src/components/login-history/login-history.d.ts +23 -0
  8. package/dist/src/components/login-history/login-history.js +88 -0
  9. package/dist/src/components/login-history/login-history.js.map +1 -0
  10. package/dist/src/components/login-user/user.js +3 -2
  11. package/dist/src/components/login-user/user.js.map +1 -1
  12. package/dist/src/interfaces/login-history-search-attr.interface.d.ts +8 -0
  13. package/dist/src/interfaces/login-history-search-attr.interface.js +3 -0
  14. package/dist/src/interfaces/login-history-search-attr.interface.js.map +1 -0
  15. package/dist/src/interfaces/login-history.interface.d.ts +11 -0
  16. package/dist/src/interfaces/login-history.interface.js +3 -0
  17. package/dist/src/interfaces/login-history.interface.js.map +1 -0
  18. package/dist/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +1 -1
  20. package/src/components/api-key/api-key.repository.ts +15 -15
  21. package/src/components/api-key/api-key.ts +448 -448
  22. package/src/components/api-key/index.ts +4 -4
  23. package/src/components/building/building.repository.ts +27 -27
  24. package/src/components/building/index.ts +2 -2
  25. package/src/components/group/group.repository.ts +26 -26
  26. package/src/components/group/group.ts +2284 -2284
  27. package/src/components/group/index.ts +3 -3
  28. package/src/components/group-object-privilege/group-object-privilege.repository.ts +25 -25
  29. package/src/components/group-object-privilege/group-object-privilege.ts +278 -278
  30. package/src/components/group-object-privilege/index.ts +2 -2
  31. package/src/components/group-privilege/group-privilege.repository.ts +29 -29
  32. package/src/components/group-privilege/group-privilege.ts +84 -84
  33. package/src/components/group-privilege/index.ts +2 -2
  34. package/src/components/group-reporting-user/group-reporting-user.repository.ts +23 -23
  35. package/src/components/group-reporting-user/group-reporting-user.ts +506 -506
  36. package/src/components/group-reporting-user/index.ts +3 -3
  37. package/src/components/group-system-access/group-system-access.repository.ts +43 -43
  38. package/src/components/group-system-access/group-system-access.ts +90 -90
  39. package/src/components/group-system-access/index.ts +2 -2
  40. package/src/components/index.ts +20 -20
  41. package/src/components/login-user/index.ts +5 -5
  42. package/src/components/login-user/interfaces/check-user-info-duplicated.interface.ts +7 -7
  43. package/src/components/login-user/interfaces/index.ts +1 -1
  44. package/src/components/login-user/interfaces/system-access.interface.ts +13 -13
  45. package/src/components/login-user/interfaces/user-info.interface.ts +34 -34
  46. package/src/components/login-user/login-user.ts +362 -362
  47. package/src/components/login-user/user.repository.ts +11 -11
  48. package/src/components/login-user/user.ts +3 -2
  49. package/src/components/password-hash/index.ts +2 -2
  50. package/src/components/password-hash/interfaces/index.ts +1 -1
  51. package/src/components/password-hash/interfaces/password-hash-service.interface.ts +4 -4
  52. package/src/components/password-hash/password-hash.service.ts +14 -14
  53. package/src/components/staff/index.ts +2 -2
  54. package/src/components/staff/staff.repository.ts +27 -27
  55. package/src/components/system/index.ts +3 -3
  56. package/src/components/system/system.repository.ts +11 -11
  57. package/src/components/system/system.ts +456 -456
  58. package/src/components/system-privilege/index.ts +4 -4
  59. package/src/components/system-privilege/system-privilege.repository.ts +18 -18
  60. package/src/components/system-privilege/system-privilege.ts +541 -541
  61. package/src/components/user-group/index.ts +2 -2
  62. package/src/components/user-group/user-group.repository.ts +19 -19
  63. package/src/components/user-group/user-group.ts +764 -764
  64. package/src/components/user-object-privilege/index.ts +2 -2
  65. package/src/components/user-object-privilege/user-object-privilege.repository.ts +11 -11
  66. package/src/components/user-object-privilege/user-object-privilege.ts +79 -79
  67. package/src/components/user-password-history/index.ts +2 -2
  68. package/src/components/user-password-history/user-password-history.repository.ts +39 -39
  69. package/src/components/user-password-history/user-password-history.ts +187 -187
  70. package/src/components/user-privilege/index.ts +2 -2
  71. package/src/components/user-privilege/user-privilege.repository.ts +25 -25
  72. package/src/components/user-privilege/user-privilege.ts +662 -662
  73. package/src/components/user-reporting-hierarchy/index.ts +2 -2
  74. package/src/components/user-reporting-hierarchy/user-reporting-hierarchy.repository.ts +30 -30
  75. package/src/components/user-reporting-hierarchy/user-reporting-hierarchy.ts +505 -505
  76. package/src/components/user-system-access/index.ts +2 -2
  77. package/src/components/user-system-access/user-system-access.repository.ts +41 -41
  78. package/src/database.ts +15 -15
  79. package/src/enum/api-key.enum.ts +5 -5
  80. package/src/enum/building-type.enum.ts +6 -6
  81. package/src/enum/group-type.enum.ts +8 -8
  82. package/src/enum/index.ts +6 -6
  83. package/src/enum/login-status.enum.ts +4 -4
  84. package/src/enum/object-status.enum.ts +4 -4
  85. package/src/enum/user-status.enum.ts +7 -7
  86. package/src/enum/yn.enum.ts +4 -4
  87. package/src/index.ts +8 -8
  88. package/src/interfaces/api-key-attr.interface.ts +16 -16
  89. package/src/interfaces/group-object-privilege.interface.ts +14 -14
  90. package/src/interfaces/group-privilege.interface.ts +10 -10
  91. package/src/interfaces/group-reporting-user.interface.ts +11 -11
  92. package/src/interfaces/group-search-attr.interface.ts +9 -9
  93. package/src/interfaces/group-system-access.interface.ts +10 -10
  94. package/src/interfaces/group.interface.ts +17 -17
  95. package/src/interfaces/index.ts +13 -13
  96. package/src/interfaces/system-login.interface.ts +6 -6
  97. package/src/interfaces/system-privilege-search.interface.ts +5 -5
  98. package/src/interfaces/system-privilege.interface.ts +11 -11
  99. package/src/interfaces/system-search-attr.interface.ts +5 -5
  100. package/src/interfaces/system.interface.ts +15 -15
  101. package/src/interfaces/user-group.interface.ts +12 -12
  102. package/src/interfaces/user-object-privilege.interface.ts +14 -14
  103. package/src/interfaces/user-password-history.interface.ts +6 -6
  104. package/src/interfaces/user-privilege.interface.ts +10 -10
  105. package/src/interfaces/user-reporting-hierarchy.interface.ts +11 -11
  106. package/src/interfaces/user-session.interface.ts +5 -5
  107. package/src/interfaces/user-system-access.interface.ts +10 -10
  108. package/src/models/api-key-entity.ts +101 -101
  109. package/src/models/building.entity.ts +103 -103
  110. package/src/models/group-object-privilege.entity.ts +91 -91
  111. package/src/models/group-privilege.entity.ts +78 -78
  112. package/src/models/group-reporting-user.entity.ts +95 -95
  113. package/src/models/group-system-access.entity.ts +81 -81
  114. package/src/models/group.entity.ts +127 -127
  115. package/src/models/staff.entity.ts +91 -91
  116. package/src/models/system-privilege.entity.ts +90 -90
  117. package/src/models/system.entity.ts +113 -113
  118. package/src/models/user-group.entity.ts +91 -91
  119. package/src/models/user-object-privilege.entity.ts +90 -90
  120. package/src/models/user-password-history.ts +51 -51
  121. package/src/models/user-privilege.entity.ts +78 -78
  122. package/src/models/user-reporting-hierarchy.entity.ts +102 -102
  123. package/src/models/user-system-access.entity.ts +87 -87
  124. package/src/models/user.entity.ts +193 -193
  125. package/src/redis-client/__mocks__/jest-initial-setup.ts +2 -2
  126. package/src/redis-client/__mocks__/redis-mock.ts +28 -28
  127. package/src/redis-client/index.ts +1 -1
  128. package/src/redis-client/redis.service.ts +75 -75
  129. package/src/session/index.ts +2 -2
  130. package/src/session/interfaces/index.ts +1 -1
  131. package/src/session/interfaces/session-service.interface.ts +26 -26
  132. package/src/session/session.service.ts +96 -96
  133. package/src/types/auth-context.ts +10 -10
  134. package/src/types/index.ts +1 -1
@@ -1,96 +1,96 @@
1
- import { RedisService } from '../redis-client/redis.service';
2
- import { ISessionService } from './interfaces/session-service.interface';
3
- import { IUserSession } from '../interfaces/user-session.interface';
4
-
5
- export class SessionService implements ISessionService {
6
- private static _RedisService: RedisService;
7
- private environment: string = '';
8
-
9
- private constructor() {}
10
-
11
- static async init(redisClient?: any): Promise<SessionService> {
12
- const sessionService = new SessionService();
13
- SessionService._RedisService = await RedisService.init(redisClient);
14
- if (process.env.NODE_ENV == 'test') {
15
- sessionService.environment = 'test:';
16
- } else if (process.env.NODE_ENV == 'staging') {
17
- sessionService.environment = 'staging:';
18
- }
19
- return sessionService;
20
- }
21
-
22
- async setUserSession(
23
- userId: string,
24
- sessionData: IUserSession,
25
- sessionName: string = 'tomei-sid',
26
- duration: number = 60 * 60, //1 hour
27
- ): Promise<void> {
28
- try {
29
- const key = `${this.environment}${sessionName}:${userId}`;
30
- await SessionService._RedisService.set(key, sessionData, duration);
31
- } catch (error) {
32
- throw error;
33
- }
34
- }
35
-
36
- async retrieveUserSession(
37
- userId: string,
38
- sessionName: string = 'tomei-sid',
39
- ): Promise<IUserSession> {
40
- try {
41
- const key = `${this.environment}${sessionName}:${userId}`;
42
- const stringData = await SessionService._RedisService.get(key);
43
- if (!stringData)
44
- return {
45
- systemLogins: [],
46
- };
47
- return JSON.parse(stringData);
48
- } catch (error) {
49
- throw error;
50
- }
51
- }
52
-
53
- async refreshDuration(
54
- userid: string,
55
- sessionName: string = 'tomei-sid',
56
- duration: number = 60 * 60,
57
- ): Promise<void> {
58
- try {
59
- const userSession = await this.retrieveUserSession(userid, sessionName);
60
- await this.setUserSession(userid, userSession, sessionName, duration);
61
- } catch (error) {
62
- throw error;
63
- }
64
- }
65
-
66
- async setAuthorizationCode(
67
- token: string,
68
- value: string,
69
- expire: number,
70
- ): Promise<void> {
71
- try {
72
- const key = `${this.environment}tomei-auth-code:${token}`;
73
- await SessionService._RedisService.set(key, value, expire);
74
- } catch (error) {
75
- throw error;
76
- }
77
- }
78
-
79
- async retrieveAuthorizationCode(token: string): Promise<string> {
80
- try {
81
- const key = `${this.environment}tomei-auth-code:${token}`;
82
- return await SessionService._RedisService.get(key);
83
- } catch (error) {
84
- throw error;
85
- }
86
- }
87
-
88
- async deleteAuthorizationCode(token: string): Promise<void> {
89
- try {
90
- const key = `${this.environment}tomei-auth-code:${token}`;
91
- await SessionService._RedisService.del(key);
92
- } catch (error) {
93
- throw error;
94
- }
95
- }
96
- }
1
+ import { RedisService } from '../redis-client/redis.service';
2
+ import { ISessionService } from './interfaces/session-service.interface';
3
+ import { IUserSession } from '../interfaces/user-session.interface';
4
+
5
+ export class SessionService implements ISessionService {
6
+ private static _RedisService: RedisService;
7
+ private environment: string = '';
8
+
9
+ private constructor() {}
10
+
11
+ static async init(redisClient?: any): Promise<SessionService> {
12
+ const sessionService = new SessionService();
13
+ SessionService._RedisService = await RedisService.init(redisClient);
14
+ if (process.env.NODE_ENV == 'test') {
15
+ sessionService.environment = 'test:';
16
+ } else if (process.env.NODE_ENV == 'staging') {
17
+ sessionService.environment = 'staging:';
18
+ }
19
+ return sessionService;
20
+ }
21
+
22
+ async setUserSession(
23
+ userId: string,
24
+ sessionData: IUserSession,
25
+ sessionName: string = 'tomei-sid',
26
+ duration: number = 60 * 60, //1 hour
27
+ ): Promise<void> {
28
+ try {
29
+ const key = `${this.environment}${sessionName}:${userId}`;
30
+ await SessionService._RedisService.set(key, sessionData, duration);
31
+ } catch (error) {
32
+ throw error;
33
+ }
34
+ }
35
+
36
+ async retrieveUserSession(
37
+ userId: string,
38
+ sessionName: string = 'tomei-sid',
39
+ ): Promise<IUserSession> {
40
+ try {
41
+ const key = `${this.environment}${sessionName}:${userId}`;
42
+ const stringData = await SessionService._RedisService.get(key);
43
+ if (!stringData)
44
+ return {
45
+ systemLogins: [],
46
+ };
47
+ return JSON.parse(stringData);
48
+ } catch (error) {
49
+ throw error;
50
+ }
51
+ }
52
+
53
+ async refreshDuration(
54
+ userid: string,
55
+ sessionName: string = 'tomei-sid',
56
+ duration: number = 60 * 60,
57
+ ): Promise<void> {
58
+ try {
59
+ const userSession = await this.retrieveUserSession(userid, sessionName);
60
+ await this.setUserSession(userid, userSession, sessionName, duration);
61
+ } catch (error) {
62
+ throw error;
63
+ }
64
+ }
65
+
66
+ async setAuthorizationCode(
67
+ token: string,
68
+ value: string,
69
+ expire: number,
70
+ ): Promise<void> {
71
+ try {
72
+ const key = `${this.environment}tomei-auth-code:${token}`;
73
+ await SessionService._RedisService.set(key, value, expire);
74
+ } catch (error) {
75
+ throw error;
76
+ }
77
+ }
78
+
79
+ async retrieveAuthorizationCode(token: string): Promise<string> {
80
+ try {
81
+ const key = `${this.environment}tomei-auth-code:${token}`;
82
+ return await SessionService._RedisService.get(key);
83
+ } catch (error) {
84
+ throw error;
85
+ }
86
+ }
87
+
88
+ async deleteAuthorizationCode(token: string): Promise<void> {
89
+ try {
90
+ const key = `${this.environment}tomei-auth-code:${token}`;
91
+ await SessionService._RedisService.del(key);
92
+ } catch (error) {
93
+ throw error;
94
+ }
95
+ }
96
+ }
@@ -1,10 +1,10 @@
1
- import { IAPIKeyAttr } from '../interfaces/api-key-attr.interface';
2
- import { LoginUser } from '../components/login-user/login-user';
3
-
4
- export type AuthContext =
5
- | {
6
- loginUser: LoginUser;
7
- }
8
- | {
9
- apiKey: IAPIKeyAttr;
10
- };
1
+ import { IAPIKeyAttr } from '../interfaces/api-key-attr.interface';
2
+ import { LoginUser } from '../components/login-user/login-user';
3
+
4
+ export type AuthContext =
5
+ | {
6
+ loginUser: LoginUser;
7
+ }
8
+ | {
9
+ apiKey: IAPIKeyAttr;
10
+ };
@@ -1 +1 @@
1
- export * from './auth-context';
1
+ export * from './auth-context';