@tomei/sso 0.66.0 → 0.66.1-test.2

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 (96) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.gitlab-ci.yml +237 -16
  3. package/.husky/commit-msg +15 -15
  4. package/.husky/pre-commit +7 -7
  5. package/.prettierrc +4 -4
  6. package/Jenkinsfile +57 -57
  7. package/README.md +23 -23
  8. package/__tests__/unit/components/api-key/api-key.spec.ts +201 -0
  9. package/__tests__/unit/components/group/group.spec.ts +85 -79
  10. package/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.ts +88 -88
  11. package/__tests__/unit/components/group-privilege/group-privilege.spec.ts +68 -68
  12. package/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.ts +74 -66
  13. package/__tests__/unit/components/group-system-access/group-system-access.spec.ts +83 -83
  14. package/__tests__/unit/components/login-user/l.spec.ts +746 -746
  15. package/__tests__/unit/components/login-user/login.spec.ts +2358 -1164
  16. package/__tests__/unit/components/password-hash/password-hash.service.spec.ts +31 -31
  17. package/__tests__/unit/components/system/system.spec.ts +255 -254
  18. package/__tests__/unit/components/system-privilege/system-privilege.spec.ts +83 -83
  19. package/__tests__/unit/components/user-group/user-group.spec.ts +86 -86
  20. package/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.ts +78 -78
  21. package/__tests__/unit/components/user-password-history/user-password-history.spec.ts +165 -0
  22. package/__tests__/unit/components/user-privilege/user-privilege.spec.ts +72 -72
  23. package/__tests__/unit/components/user-reporting-hierarchy/user-reporting-hierarchy.spec.ts +233 -0
  24. package/__tests__/unit/components/user-system-access/user-system-access.spec.ts +89 -89
  25. package/__tests__/unit/redis-client/redis.service.spec.ts +23 -23
  26. package/__tests__/unit/session/session.service.spec.ts +47 -47
  27. package/__tests__/unit/system-privilege/system-privilage.spec.ts +91 -91
  28. package/coverage/cobertura-coverage.xml +6837 -0
  29. package/coverage/test-report.xml +161 -0
  30. package/create-sso-user.sql +39 -39
  31. package/dist/__tests__/unit/components/{group-privilege/group-privilege.test.d.ts → api-key/api-key.spec.d.ts} +1 -1
  32. package/dist/__tests__/unit/components/api-key/api-key.spec.js +158 -0
  33. package/dist/__tests__/unit/components/api-key/api-key.spec.js.map +1 -0
  34. package/dist/__tests__/unit/components/group/group.spec.js +4 -0
  35. package/dist/__tests__/unit/components/group/group.spec.js.map +1 -1
  36. package/dist/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.js +9 -1
  37. package/dist/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.js.map +1 -1
  38. package/dist/__tests__/unit/components/login-user/login.spec.js +703 -0
  39. package/dist/__tests__/unit/components/login-user/login.spec.js.map +1 -1
  40. package/dist/__tests__/unit/components/system/system.spec.js +1 -0
  41. package/dist/__tests__/unit/components/system/system.spec.js.map +1 -1
  42. package/dist/__tests__/unit/components/user-password-history/user-password-history.spec.d.ts +1 -0
  43. package/dist/__tests__/unit/components/user-password-history/user-password-history.spec.js +138 -0
  44. package/dist/__tests__/unit/components/user-password-history/user-password-history.spec.js.map +1 -0
  45. package/dist/__tests__/unit/components/user-reporting-hierarchy/user-reporting-hierarchy.spec.d.ts +1 -0
  46. package/dist/__tests__/unit/components/user-reporting-hierarchy/user-reporting-hierarchy.spec.js +182 -0
  47. package/dist/__tests__/unit/components/user-reporting-hierarchy/user-reporting-hierarchy.spec.js.map +1 -0
  48. package/dist/src/components/login-user/login-user.js +64 -63
  49. package/dist/src/components/login-user/login-user.js.map +1 -1
  50. package/dist/src/components/login-user/user.d.ts +5 -0
  51. package/dist/src/components/login-user/user.js +39 -0
  52. package/dist/src/components/login-user/user.js.map +1 -1
  53. package/dist/src/components/user-password-history/user-password-history.d.ts +1 -0
  54. package/dist/src/components/user-password-history/user-password-history.js +41 -2
  55. package/dist/src/components/user-password-history/user-password-history.js.map +1 -1
  56. package/dist/src/index.d.ts +0 -1
  57. package/dist/src/index.js +0 -1
  58. package/dist/src/index.js.map +1 -1
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/eslint.config.mjs +58 -58
  61. package/jest.config.js +16 -14
  62. package/migrations/20240314080602-create-user-table.js +124 -124
  63. package/migrations/20240314080603-create-user-group-table.js +85 -85
  64. package/migrations/20240314080604-create-user-user-group-table.js +55 -55
  65. package/migrations/20240314080605-create-login-history-table.js +53 -53
  66. package/migrations/20240527064925-create-system-table.js +78 -78
  67. package/migrations/20240527064926-create-system-privilege-table.js +71 -71
  68. package/migrations/20240527065342-create-group-table.js +93 -93
  69. package/migrations/20240527065633-create-group-reporting-user-table.js +76 -76
  70. package/migrations/20240528011551-create-group-system-access-table.js +72 -72
  71. package/migrations/20240528023018-user-system-access-table.js +75 -75
  72. package/migrations/20240528032229-user-privilege-table.js +76 -76
  73. package/migrations/20240528063003-create-group-privilege-table.js +76 -76
  74. package/migrations/20240528063051-create-group-object-privilege-table.js +84 -84
  75. package/migrations/20240528063107-create-user-object-privilege-table.js +84 -84
  76. package/migrations/20240528063108-create-api-key-table.js +85 -85
  77. package/migrations/20241104104802-create-building-table.js +95 -95
  78. package/migrations/20250108091132-add-area-manager-user-id-to-building-table.js +14 -14
  79. package/migrations/20250108091133-add-passcode-to-user-table.js +36 -36
  80. package/migrations/20250210115636-create-user-reporting-hierarchy.js +76 -76
  81. package/migrations/20250326043818-crate-user-password-history.js +42 -42
  82. package/migrations/20250610070720-added-MFBypassYN-to-sso-user.js +30 -30
  83. package/migrations/20250805085707-add-bulk-approval-code-to-sso-user.js +29 -0
  84. package/package.json +87 -90
  85. package/sampledotenv +7 -7
  86. package/src/components/login-user/login-user.ts +89 -90
  87. package/src/components/login-user/user.ts +68 -0
  88. package/src/components/user-password-history/user-password-history.ts +57 -6
  89. package/src/index.ts +0 -1
  90. package/tsconfig.build.json +5 -5
  91. package/tsconfig.json +23 -23
  92. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js +0 -71
  93. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js.map +0 -1
  94. package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +0 -0
  95. package/dist/__tests__/unit/components/login-user/login-user.spec.js +0 -6
  96. package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +0 -1
@@ -13,13 +13,13 @@ exports.LoginUser = void 0;
13
13
  const user_1 = require("./user");
14
14
  const group_entity_1 = require("../../models/group.entity");
15
15
  const redis_service_1 = require("../../redis-client/redis.service");
16
+ const user_repository_1 = require("./user.repository");
16
17
  const staff_entity_1 = require("../../models/staff.entity");
17
18
  const user_entity_1 = require("../../models/user.entity");
18
19
  const user_group_repository_1 = require("../user-group/user-group.repository");
19
20
  const group_system_access_entity_1 = require("../../models/group-system-access.entity");
20
21
  const system_entity_1 = require("../../models/system.entity");
21
22
  const config_1 = require("@tomei/config");
22
- const axios_1 = require("axios");
23
23
  class LoginUser extends user_1.User {
24
24
  constructor() {
25
25
  super(...arguments);
@@ -31,15 +31,20 @@ class LoginUser extends user_1.User {
31
31
  return __awaiter(this, arguments, void 0, function* (sessionService, userId, dbTransaction = null) {
32
32
  user_1.User._RedisService = yield redis_service_1.RedisService.init();
33
33
  if (userId) {
34
- const loginApiEndpoint = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'loginApiEndpoint');
35
- let payload = { UserId: userId };
36
- const { data } = yield axios_1.default.post(`${loginApiEndpoint.baseUrl}${loginApiEndpoint.getProfile}`, payload, {
37
- headers: {
38
- 'Content-Type': 'application/json',
39
- 'x-api-key': loginApiEndpoint.apiKey,
34
+ if (dbTransaction) {
35
+ user_1.User._Repository = new user_repository_1.UserRepository();
36
+ }
37
+ const user = yield user_1.User._Repository.findOne({
38
+ where: {
39
+ UserId: userId,
40
40
  },
41
+ include: [
42
+ {
43
+ model: staff_entity_1.default,
44
+ },
45
+ ],
46
+ transaction: dbTransaction,
41
47
  });
42
- const user = data.loginUser;
43
48
  if (!user) {
44
49
  throw new Error('Invalid credentials.');
45
50
  }
@@ -52,21 +57,21 @@ class LoginUser extends user_1.User {
52
57
  IDType: (user === null || user === void 0 ? void 0 : user.IdType) || null,
53
58
  ContactNo: (user === null || user === void 0 ? void 0 : user.ContactNo) || null,
54
59
  Email: user.Email,
55
- Password: null,
60
+ Password: user.Password,
56
61
  Status: user.Status,
57
- DefaultPasswordChangedYN: null,
58
- FirstLoginAt: null,
59
- LastLoginAt: null,
60
- MFAEnabled: null,
61
- MFAConfig: null,
62
- MFABypassYN: null,
63
- RecoveryEmail: null,
64
- FailedLoginAttemptCount: null,
65
- LastFailedLoginAt: null,
66
- LastPasswordChangedAt: null,
67
- NeedToChangePasswordYN: null,
68
- PasscodeHash: null,
69
- PasscodeUpdatedAt: null,
62
+ DefaultPasswordChangedYN: user.DefaultPasswordChangedYN,
63
+ FirstLoginAt: user.FirstLoginAt,
64
+ LastLoginAt: user.LastLoginAt,
65
+ MFAEnabled: user.MFAEnabled,
66
+ MFAConfig: user.MFAConfig,
67
+ MFABypassYN: user.MFABypassYN,
68
+ RecoveryEmail: user.RecoveryEmail,
69
+ FailedLoginAttemptCount: user.FailedLoginAttemptCount,
70
+ LastFailedLoginAt: user.LastFailedLoginAt,
71
+ LastPasswordChangedAt: user.LastPasswordChangedAt,
72
+ NeedToChangePasswordYN: user.NeedToChangePasswordYN,
73
+ PasscodeHash: user.PasscodeHash,
74
+ PasscodeUpdatedAt: user.PasscodeUpdatedAt,
70
75
  CreatedById: user.CreatedById,
71
76
  CreatedAt: user.CreatedAt,
72
77
  UpdatedById: user.UpdatedById,
@@ -92,20 +97,13 @@ class LoginUser extends user_1.User {
92
97
  if (!sessionName) {
93
98
  throw new Error('Session name is not set');
94
99
  }
95
- const loginApiEndpoint = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'loginApiEndpoint');
96
- let payload = {
97
- SystemCode: systemCode,
98
- SessionName: sessionName,
99
- PrivilegeName: privilegeName,
100
- UserId: this.ObjectId,
101
- };
102
- const { data } = yield axios_1.default.post(`${loginApiEndpoint.baseUrl}${loginApiEndpoint.checkPrivileges}`, payload, {
103
- headers: {
104
- 'Content-Type': 'application/json',
105
- 'x-api-key': loginApiEndpoint.apiKey,
106
- },
107
- });
108
- const hasPrivilege = data.hasPrivilege;
100
+ const userSession = yield this._SessionService.retrieveUserSession(this.ObjectId, sessionName);
101
+ const systemLogin = userSession.systemLogins.find((system) => system.code === systemCode);
102
+ if (!systemLogin) {
103
+ return false;
104
+ }
105
+ const privileges = systemLogin.privileges;
106
+ const hasPrivilege = privileges.includes(privilegeName);
109
107
  return hasPrivilege;
110
108
  }
111
109
  catch (error) {
@@ -120,20 +118,18 @@ class LoginUser extends user_1.User {
120
118
  if (!sessionName) {
121
119
  throw new Error('Session name is not set');
122
120
  }
123
- const loginApiEndpoint = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'loginApiEndpoint');
124
- let payload = {
125
- SystemCode: systemCode,
126
- SessionName: sessionName,
127
- SessionId: sessionId,
128
- UserId: userId,
129
- };
130
- const { data } = yield axios_1.default.post(`${loginApiEndpoint.baseUrl}${loginApiEndpoint.checkSession}`, payload, {
131
- headers: {
132
- 'Content-Type': 'application/json',
133
- 'x-api-key': loginApiEndpoint.apiKey,
134
- },
135
- });
136
- const systemLogin = data.systemLogin;
121
+ const userSession = yield this._SessionService.retrieveUserSession(userId, sessionName);
122
+ if (userSession.systemLogins.length === 0) {
123
+ throw new Error('Session expired.');
124
+ }
125
+ const systemLogin = userSession.systemLogins.find((sl) => sl.code === systemCode);
126
+ if (!systemLogin) {
127
+ throw new Error('Session expired.');
128
+ }
129
+ if (systemLogin.sessionId !== sessionId) {
130
+ throw new Error('Session expired.');
131
+ }
132
+ yield this._SessionService.refreshDuration(userId, sessionName);
137
133
  return systemLogin;
138
134
  }
139
135
  catch (error) {
@@ -283,19 +279,24 @@ class LoginUser extends user_1.User {
283
279
  if (!sessionName) {
284
280
  throw new Error('Session name is not set in the configuration');
285
281
  }
286
- const loginApiEndpoint = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'loginApiEndpoint');
287
- let payload = {
288
- SystemCode: systemCode,
289
- SessionName: sessionName,
290
- SessionId: sessionId,
291
- UserId: this.ObjectId,
292
- };
293
- yield axios_1.default.post(`${loginApiEndpoint.baseUrl}${loginApiEndpoint.setSession}`, payload, {
294
- headers: {
295
- 'Content-Type': 'application/json',
296
- 'x-api-key': loginApiEndpoint.apiKey,
297
- },
298
- });
282
+ const userSession = yield this._SessionService.retrieveUserSession(this.ObjectId, sessionName);
283
+ const systemLogin = userSession.systemLogins.find((system) => system.code === systemCode);
284
+ if (systemLogin) {
285
+ const privileges = yield this.getPrivileges(systemCode, dbTransaction);
286
+ systemLogin.sessionId = sessionId;
287
+ systemLogin.privileges = privileges;
288
+ userSession.systemLogins.map((system) => system.code === systemCode ? systemLogin : system);
289
+ }
290
+ else {
291
+ const newLogin = {
292
+ id: systemCode,
293
+ code: systemCode,
294
+ sessionId: sessionId,
295
+ privileges: yield this.getPrivileges(systemCode, dbTransaction),
296
+ };
297
+ userSession.systemLogins.push(newLogin);
298
+ }
299
+ this._SessionService.setUserSession(this.ObjectId, userSession, sessionName);
299
300
  });
300
301
  }
301
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"login-user.js","sourceRoot":"","sources":["../../../../src/components/login-user/login-user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login-user.js","sourceRoot":"","sources":["../../../../src/components/login-user/login-user.ts"],"names":[],"mappings":"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"}
@@ -176,6 +176,11 @@ export declare class User extends UserBase {
176
176
  static findByEmail(AuthContext: AuthContext, dbTransaction: any, Email: string): Promise<User>;
177
177
  updatePasscode(loginUser: User, passcode: string, dbTransaction: any): Promise<void>;
178
178
  updatePassword(loginUser: User, oldPassword: string, newPassword: string, dbTransaction: any): Promise<void>;
179
+ getPasswordExpiryStatus(dbTransaction?: any): Promise<{
180
+ expired: boolean;
181
+ expiringSoon: boolean;
182
+ expiresInDays: number | null;
183
+ }>;
179
184
  verifyPasscode(passcode: string): Promise<void>;
180
185
  getReportingUser(dbTransaction: any): Promise<{
181
186
  Email: string;
@@ -2042,6 +2042,7 @@ class User extends general_1.UserBase {
2042
2042
  };
2043
2043
  this.Password = passwordHash;
2044
2044
  this.LastPasswordChangedAt = new Date();
2045
+ this.NeedToChangePasswordYN = yn_enum_1.YN.No;
2045
2046
  const entityValueAfter = {
2046
2047
  UserId: this.UserId,
2047
2048
  UserName: this.UserName,
@@ -2073,6 +2074,7 @@ class User extends general_1.UserBase {
2073
2074
  yield User._Repository.update({
2074
2075
  Password: this.Password,
2075
2076
  LastPasswordChangedAt: this.LastPasswordChangedAt,
2077
+ NeedToChangePasswordYN: this.NeedToChangePasswordYN,
2076
2078
  }, {
2077
2079
  where: {
2078
2080
  UserId: this.UserId,
@@ -2095,6 +2097,43 @@ class User extends general_1.UserBase {
2095
2097
  }
2096
2098
  });
2097
2099
  }
2100
+ getPasswordExpiryStatus(dbTransaction) {
2101
+ return __awaiter(this, void 0, void 0, function* () {
2102
+ try {
2103
+ const expiryMonthsRaw = Number(process.env.PASSWORD_EXPIRY_MONTHS);
2104
+ const expiryMonths = Number.isFinite(expiryMonthsRaw)
2105
+ ? Math.max(0, Math.floor(expiryMonthsRaw))
2106
+ : 0;
2107
+ if (expiryMonths === 0) {
2108
+ return { expired: false, expiringSoon: false, expiresInDays: null };
2109
+ }
2110
+ if (this.NeedToChangePasswordYN === yn_enum_1.YN.Yes) {
2111
+ return { expired: true, expiringSoon: false, expiresInDays: null };
2112
+ }
2113
+ const warningDaysRaw = Number(process.env.PASSWORD_EXPIRY_WARNING_DAYS);
2114
+ const warningDays = Number.isFinite(warningDaysRaw)
2115
+ ? Math.max(0, Math.floor(warningDaysRaw))
2116
+ : 14;
2117
+ const latestHistory = yield user_password_history_1.UserPasswordHistory.getLatestByUserId(dbTransaction, this.UserId);
2118
+ if (!latestHistory) {
2119
+ return { expired: true, expiringSoon: false, expiresInDays: null };
2120
+ }
2121
+ const createdAt = latestHistory.CreatedAt;
2122
+ const expiryDate = new Date(Date.UTC(createdAt.getUTCFullYear(), createdAt.getUTCMonth() + expiryMonths, createdAt.getUTCDate(), createdAt.getUTCHours(), createdAt.getUTCMinutes(), createdAt.getUTCSeconds()));
2123
+ const now = new Date();
2124
+ if (now.getTime() >= expiryDate.getTime()) {
2125
+ return { expired: true, expiringSoon: false, expiresInDays: null };
2126
+ }
2127
+ const msPerDay = 24 * 60 * 60 * 1000;
2128
+ const expiringSoon = now.getTime() >= expiryDate.getTime() - warningDays * msPerDay;
2129
+ const expiresInDays = Math.ceil((expiryDate.getTime() - now.getTime()) / msPerDay);
2130
+ return { expired: false, expiringSoon, expiresInDays };
2131
+ }
2132
+ catch (error) {
2133
+ throw error;
2134
+ }
2135
+ });
2136
+ }
2098
2137
  verifyPasscode(passcode) {
2099
2138
  return __awaiter(this, void 0, void 0, function* () {
2100
2139
  try {