@tomei/sso 0.60.4 → 0.61.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.
Files changed (677) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.gitlab-ci.yml +16 -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/group/group.spec.ts +79 -79
  9. package/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.ts +88 -88
  10. package/__tests__/unit/components/group-privilege/group-privilege.spec.ts +68 -68
  11. package/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.ts +66 -66
  12. package/__tests__/unit/components/group-system-access/group-system-access.spec.ts +83 -83
  13. package/__tests__/unit/components/login-user/l.spec.ts +746 -746
  14. package/__tests__/unit/components/login-user/login.spec.ts +1164 -1164
  15. package/__tests__/unit/components/password-hash/password-hash.service.spec.ts +31 -31
  16. package/__tests__/unit/components/system/system.spec.ts +254 -254
  17. package/__tests__/unit/components/system-privilege/system-privilege.spec.ts +83 -83
  18. package/__tests__/unit/components/user-group/user-group.spec.ts +86 -86
  19. package/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.ts +78 -78
  20. package/__tests__/unit/components/user-privilege/user-privilege.spec.ts +72 -72
  21. package/__tests__/unit/components/user-system-access/user-system-access.spec.ts +89 -89
  22. package/__tests__/unit/redis-client/redis.service.spec.ts +23 -23
  23. package/__tests__/unit/session/session.service.spec.ts +47 -47
  24. package/__tests__/unit/system-privilege/system-privilage.spec.ts +91 -91
  25. package/coverage/clover.xml +1452 -1452
  26. package/coverage/coverage-final.json +47 -47
  27. package/coverage/lcov-report/base.css +224 -224
  28. package/coverage/lcov-report/block-navigation.js +87 -87
  29. package/coverage/lcov-report/components/group/group.repository.ts.html +117 -117
  30. package/coverage/lcov-report/components/group/group.ts.html +327 -327
  31. package/coverage/lcov-report/components/group/index.html +130 -130
  32. package/coverage/lcov-report/components/group-object-privilege/group-object-privilege.repository.ts.html +117 -117
  33. package/coverage/lcov-report/components/group-object-privilege/group-object-privilege.ts.html +321 -321
  34. package/coverage/lcov-report/components/group-object-privilege/index.html +130 -130
  35. package/coverage/lcov-report/components/group-privilege/group-privilege.repository.ts.html +117 -117
  36. package/coverage/lcov-report/components/group-privilege/group-privilege.ts.html +303 -303
  37. package/coverage/lcov-report/components/group-privilege/index.html +130 -130
  38. package/coverage/lcov-report/components/group-reporting-user/group-reporting-user.repository.ts.html +117 -117
  39. package/coverage/lcov-report/components/group-reporting-user/group-reporting-user.ts.html +327 -327
  40. package/coverage/lcov-report/components/group-reporting-user/index.html +130 -130
  41. package/coverage/lcov-report/components/group-system-access/group-system-access.repository.ts.html +117 -117
  42. package/coverage/lcov-report/components/group-system-access/group-system-access.ts.html +309 -309
  43. package/coverage/lcov-report/components/group-system-access/index.html +130 -130
  44. package/coverage/lcov-report/components/login-history/index.html +115 -115
  45. package/coverage/lcov-report/components/login-history/login-history.repository.ts.html +117 -117
  46. package/coverage/lcov-report/components/login-user/index.html +130 -130
  47. package/coverage/lcov-report/components/login-user/login-user.ts.html +5007 -5007
  48. package/coverage/lcov-report/components/login-user/user.repository.ts.html +117 -117
  49. package/coverage/lcov-report/components/password-hash/index.html +115 -115
  50. package/coverage/lcov-report/components/password-hash/password-hash.service.ts.html +126 -126
  51. package/coverage/lcov-report/components/system/index.html +130 -130
  52. package/coverage/lcov-report/components/system/system.repository.ts.html +117 -117
  53. package/coverage/lcov-report/components/system/system.ts.html +909 -909
  54. package/coverage/lcov-report/components/system-privilege/index.html +130 -130
  55. package/coverage/lcov-report/components/system-privilege/system-privilege.repository.ts.html +120 -120
  56. package/coverage/lcov-report/components/system-privilege/system-privilege.ts.html +390 -390
  57. package/coverage/lcov-report/components/user-group/index.html +130 -130
  58. package/coverage/lcov-report/components/user-group/user-group.repository.ts.html +117 -117
  59. package/coverage/lcov-report/components/user-group/user-group.ts.html +354 -354
  60. package/coverage/lcov-report/components/user-object-privilege/index.html +130 -130
  61. package/coverage/lcov-report/components/user-object-privilege/user-object-privilege.repository.ts.html +117 -117
  62. package/coverage/lcov-report/components/user-object-privilege/user-object-privilege.ts.html +312 -312
  63. package/coverage/lcov-report/components/user-privilege/index.html +130 -130
  64. package/coverage/lcov-report/components/user-privilege/user-privilege.repository.ts.html +117 -117
  65. package/coverage/lcov-report/components/user-privilege/user-privilege.ts.html +306 -306
  66. package/coverage/lcov-report/components/user-system-access/index.html +130 -130
  67. package/coverage/lcov-report/components/user-system-access/user-system-access.repository.ts.html +117 -117
  68. package/coverage/lcov-report/components/user-system-access/user-system-access.ts.html +312 -312
  69. package/coverage/lcov-report/enum/group-type.enum.ts.html +108 -108
  70. package/coverage/lcov-report/enum/index.html +160 -160
  71. package/coverage/lcov-report/enum/index.ts.html +93 -93
  72. package/coverage/lcov-report/enum/user-status.enum.ts.html +105 -105
  73. package/coverage/lcov-report/enum/yn.enum.ts.html +96 -96
  74. package/coverage/lcov-report/index.html +370 -370
  75. package/coverage/lcov-report/models/group-object-privilege.entity.ts.html +333 -333
  76. package/coverage/lcov-report/models/group-privilege.entity.ts.html +315 -315
  77. package/coverage/lcov-report/models/group-reporting-user.entity.ts.html +339 -339
  78. package/coverage/lcov-report/models/group-system-access.entity.ts.html +324 -324
  79. package/coverage/lcov-report/models/group.entity.ts.html +435 -435
  80. package/coverage/lcov-report/models/index.html +310 -310
  81. package/coverage/lcov-report/models/login-history.entity.ts.html +252 -252
  82. package/coverage/lcov-report/models/staff.entity.ts.html +411 -411
  83. package/coverage/lcov-report/models/system-privilege.entity.ts.html +354 -354
  84. package/coverage/lcov-report/models/system.entity.ts.html +423 -423
  85. package/coverage/lcov-report/models/user-group.entity.ts.html +354 -354
  86. package/coverage/lcov-report/models/user-object-privilege.entity.ts.html +330 -330
  87. package/coverage/lcov-report/models/user-privilege.entity.ts.html +315 -315
  88. package/coverage/lcov-report/models/user-system-access.entity.ts.html +315 -315
  89. package/coverage/lcov-report/models/user.entity.ts.html +522 -522
  90. package/coverage/lcov-report/prettify.css +1 -1
  91. package/coverage/lcov-report/prettify.js +2 -2
  92. package/coverage/lcov-report/redis-client/index.html +115 -115
  93. package/coverage/lcov-report/redis-client/redis.service.ts.html +240 -240
  94. package/coverage/lcov-report/session/index.html +115 -115
  95. package/coverage/lcov-report/session/session.service.ts.html +246 -246
  96. package/coverage/lcov-report/sorter.js +196 -196
  97. package/coverage/lcov.info +2490 -2490
  98. package/coverage/test-report.xml +128 -128
  99. package/create-sso-user.sql +39 -39
  100. package/dist/src/components/login-user/user.js +8 -0
  101. package/dist/src/components/login-user/user.js.map +1 -1
  102. package/dist/tsconfig.tsbuildinfo +1 -1
  103. package/eslint.config.mjs +58 -58
  104. package/jest.config.js +14 -14
  105. package/migrations/20240314080602-create-user-table.js +124 -124
  106. package/migrations/20240314080603-create-user-group-table.js +85 -85
  107. package/migrations/20240314080604-create-user-user-group-table.js +55 -55
  108. package/migrations/20240314080605-create-login-history-table.js +53 -53
  109. package/migrations/20240527064925-create-system-table.js +78 -78
  110. package/migrations/20240527064926-create-system-privilege-table.js +71 -71
  111. package/migrations/20240527065342-create-group-table.js +93 -93
  112. package/migrations/20240527065633-create-group-reporting-user-table.js +76 -76
  113. package/migrations/20240528011551-create-group-system-access-table.js +72 -72
  114. package/migrations/20240528023018-user-system-access-table.js +75 -75
  115. package/migrations/20240528032229-user-privilege-table.js +76 -76
  116. package/migrations/20240528063003-create-group-privilege-table.js +76 -76
  117. package/migrations/20240528063051-create-group-object-privilege-table.js +84 -84
  118. package/migrations/20240528063107-create-user-object-privilege-table.js +84 -84
  119. package/migrations/20240528063108-create-api-key-table.js +85 -85
  120. package/migrations/20241104104802-create-building-table.js +95 -95
  121. package/migrations/20250108091132-add-area-manager-user-id-to-building-table.js +14 -14
  122. package/migrations/20250108091133-add-passcode-to-user-table.js +36 -36
  123. package/migrations/20250210115636-create-user-reporting-hierarchy.js +76 -76
  124. package/migrations/20250326043818-crate-user-password-history.js +42 -42
  125. package/package.json +90 -90
  126. package/sampledotenv +7 -7
  127. package/sonar-project.properties +22 -22
  128. package/src/components/api-key/api-key.repository.ts +15 -15
  129. package/src/components/api-key/api-key.ts +448 -448
  130. package/src/components/api-key/index.ts +4 -4
  131. package/src/components/building/building.repository.ts +27 -27
  132. package/src/components/building/index.ts +2 -2
  133. package/src/components/group/group.repository.ts +26 -26
  134. package/src/components/group/group.ts +2284 -2284
  135. package/src/components/group/index.ts +3 -3
  136. package/src/components/group-object-privilege/group-object-privilege.repository.ts +25 -25
  137. package/src/components/group-object-privilege/group-object-privilege.ts +278 -278
  138. package/src/components/group-object-privilege/index.ts +2 -2
  139. package/src/components/group-privilege/group-privilege.repository.ts +29 -29
  140. package/src/components/group-privilege/group-privilege.ts +84 -84
  141. package/src/components/group-privilege/index.ts +2 -2
  142. package/src/components/group-reporting-user/group-reporting-user.repository.ts +23 -23
  143. package/src/components/group-reporting-user/group-reporting-user.ts +506 -506
  144. package/src/components/group-reporting-user/index.ts +3 -3
  145. package/src/components/group-system-access/group-system-access.repository.ts +43 -43
  146. package/src/components/group-system-access/group-system-access.ts +90 -90
  147. package/src/components/group-system-access/index.ts +2 -2
  148. package/src/components/index.ts +20 -20
  149. package/src/components/login-history/index.ts +1 -1
  150. package/src/components/login-history/login-history.repository.ts +11 -11
  151. package/src/components/login-user/index.ts +5 -5
  152. package/src/components/login-user/interfaces/check-user-info-duplicated.interface.ts +7 -7
  153. package/src/components/login-user/interfaces/index.ts +1 -1
  154. package/src/components/login-user/interfaces/system-access.interface.ts +13 -13
  155. package/src/components/login-user/interfaces/user-info.interface.ts +34 -34
  156. package/src/components/login-user/login-user.ts +362 -362
  157. package/src/components/login-user/user.repository.ts +11 -11
  158. package/src/components/login-user/user.ts +3142 -3134
  159. package/src/components/password-hash/index.ts +2 -2
  160. package/src/components/password-hash/interfaces/index.ts +1 -1
  161. package/src/components/password-hash/interfaces/password-hash-service.interface.ts +4 -4
  162. package/src/components/password-hash/password-hash.service.ts +14 -14
  163. package/src/components/staff/index.ts +2 -2
  164. package/src/components/staff/staff.repository.ts +27 -27
  165. package/src/components/system/index.ts +3 -3
  166. package/src/components/system/system.repository.ts +11 -11
  167. package/src/components/system/system.ts +456 -456
  168. package/src/components/system-privilege/index.ts +4 -4
  169. package/src/components/system-privilege/system-privilege.repository.ts +18 -18
  170. package/src/components/system-privilege/system-privilege.ts +541 -541
  171. package/src/components/user-group/index.ts +2 -2
  172. package/src/components/user-group/user-group.repository.ts +19 -19
  173. package/src/components/user-group/user-group.ts +764 -764
  174. package/src/components/user-object-privilege/index.ts +2 -2
  175. package/src/components/user-object-privilege/user-object-privilege.repository.ts +11 -11
  176. package/src/components/user-object-privilege/user-object-privilege.ts +79 -79
  177. package/src/components/user-password-history/index.ts +2 -2
  178. package/src/components/user-password-history/user-password-history.repository.ts +39 -39
  179. package/src/components/user-password-history/user-password-history.ts +187 -187
  180. package/src/components/user-privilege/index.ts +2 -2
  181. package/src/components/user-privilege/user-privilege.repository.ts +25 -25
  182. package/src/components/user-privilege/user-privilege.ts +662 -662
  183. package/src/components/user-reporting-hierarchy/index.ts +2 -2
  184. package/src/components/user-reporting-hierarchy/user-reporting-hierarchy.repository.ts +30 -30
  185. package/src/components/user-reporting-hierarchy/user-reporting-hierarchy.ts +505 -505
  186. package/src/components/user-system-access/index.ts +2 -2
  187. package/src/components/user-system-access/user-system-access.repository.ts +41 -41
  188. package/src/components/user-system-access/user-system-access.ts +717 -717
  189. package/src/database.ts +15 -15
  190. package/src/enum/api-key.enum.ts +5 -5
  191. package/src/enum/building-type.enum.ts +6 -6
  192. package/src/enum/group-type.enum.ts +8 -8
  193. package/src/enum/index.ts +6 -6
  194. package/src/enum/login-status.enum.ts +4 -4
  195. package/src/enum/object-status.enum.ts +4 -4
  196. package/src/enum/user-status.enum.ts +7 -7
  197. package/src/enum/yn.enum.ts +4 -4
  198. package/src/index.ts +8 -8
  199. package/src/interfaces/api-key-attr.interface.ts +16 -16
  200. package/src/interfaces/group-object-privilege.interface.ts +14 -14
  201. package/src/interfaces/group-privilege.interface.ts +10 -10
  202. package/src/interfaces/group-reporting-user.interface.ts +11 -11
  203. package/src/interfaces/group-search-attr.interface.ts +9 -9
  204. package/src/interfaces/group-system-access.interface.ts +10 -10
  205. package/src/interfaces/group.interface.ts +17 -17
  206. package/src/interfaces/index.ts +13 -13
  207. package/src/interfaces/system-login.interface.ts +6 -6
  208. package/src/interfaces/system-privilege-search.interface.ts +5 -5
  209. package/src/interfaces/system-privilege.interface.ts +11 -11
  210. package/src/interfaces/system-search-attr.interface.ts +5 -5
  211. package/src/interfaces/system.interface.ts +15 -15
  212. package/src/interfaces/user-group.interface.ts +12 -12
  213. package/src/interfaces/user-object-privilege.interface.ts +14 -14
  214. package/src/interfaces/user-password-history.interface.ts +6 -6
  215. package/src/interfaces/user-privilege.interface.ts +10 -10
  216. package/src/interfaces/user-reporting-hierarchy.interface.ts +11 -11
  217. package/src/interfaces/user-session.interface.ts +5 -5
  218. package/src/interfaces/user-system-access.interface.ts +10 -10
  219. package/src/models/api-key-entity.ts +101 -101
  220. package/src/models/building.entity.ts +103 -103
  221. package/src/models/group-object-privilege.entity.ts +91 -91
  222. package/src/models/group-privilege.entity.ts +78 -78
  223. package/src/models/group-reporting-user.entity.ts +95 -95
  224. package/src/models/group-system-access.entity.ts +81 -81
  225. package/src/models/group.entity.ts +127 -127
  226. package/src/models/login-history.entity.ts +63 -63
  227. package/src/models/staff.entity.ts +91 -91
  228. package/src/models/system-privilege.entity.ts +90 -90
  229. package/src/models/system.entity.ts +113 -113
  230. package/src/models/user-group.entity.ts +91 -91
  231. package/src/models/user-object-privilege.entity.ts +90 -90
  232. package/src/models/user-password-history.ts +51 -51
  233. package/src/models/user-privilege.entity.ts +78 -78
  234. package/src/models/user-reporting-hierarchy.entity.ts +102 -102
  235. package/src/models/user-system-access.entity.ts +87 -87
  236. package/src/models/user.entity.ts +193 -193
  237. package/src/redis-client/__mocks__/jest-initial-setup.ts +2 -2
  238. package/src/redis-client/__mocks__/redis-mock.ts +28 -28
  239. package/src/redis-client/index.ts +1 -1
  240. package/src/redis-client/redis.service.ts +75 -75
  241. package/src/session/index.ts +2 -2
  242. package/src/session/interfaces/index.ts +1 -1
  243. package/src/session/interfaces/session-service.interface.ts +26 -26
  244. package/src/session/session.service.ts +96 -96
  245. package/src/types/auth-context.ts +10 -10
  246. package/src/types/index.ts +1 -1
  247. package/tsconfig.build.json +5 -5
  248. package/tsconfig.json +23 -23
  249. package/dist/components/api-key/api-key.d.ts +0 -85
  250. package/dist/components/api-key/api-key.d.ts.map +0 -1
  251. package/dist/components/api-key/api-key.js +0 -245
  252. package/dist/components/api-key/api-key.js.map +0 -1
  253. package/dist/components/api-key/api-key.repository.d.ts +0 -7
  254. package/dist/components/api-key/api-key.repository.d.ts.map +0 -1
  255. package/dist/components/api-key/api-key.repository.js +0 -18
  256. package/dist/components/api-key/api-key.repository.js.map +0 -1
  257. package/dist/components/api-key/index.d.ts +0 -4
  258. package/dist/components/api-key/index.d.ts.map +0 -1
  259. package/dist/components/api-key/index.js +0 -8
  260. package/dist/components/api-key/index.js.map +0 -1
  261. package/dist/components/building/building.repository.d.ts +0 -7
  262. package/dist/components/building/building.repository.d.ts.map +0 -1
  263. package/dist/components/building/building.repository.js +0 -30
  264. package/dist/components/building/building.repository.js.map +0 -1
  265. package/dist/components/building/index.d.ts +0 -2
  266. package/dist/components/building/index.d.ts.map +0 -1
  267. package/dist/components/building/index.js +0 -18
  268. package/dist/components/building/index.js.map +0 -1
  269. package/dist/components/group/group.d.ts +0 -129
  270. package/dist/components/group/group.d.ts.map +0 -1
  271. package/dist/components/group/group.js +0 -1337
  272. package/dist/components/group/group.js.map +0 -1
  273. package/dist/components/group/group.repository.d.ts +0 -8
  274. package/dist/components/group/group.repository.d.ts.map +0 -1
  275. package/dist/components/group/group.repository.js +0 -29
  276. package/dist/components/group/group.repository.js.map +0 -1
  277. package/dist/components/group/index.d.ts +0 -3
  278. package/dist/components/group/index.d.ts.map +0 -1
  279. package/dist/components/group/index.js +0 -19
  280. package/dist/components/group/index.js.map +0 -1
  281. package/dist/components/group-object-privilege/group-object-privilege.d.ts +0 -28
  282. package/dist/components/group-object-privilege/group-object-privilege.d.ts.map +0 -1
  283. package/dist/components/group-object-privilege/group-object-privilege.js +0 -163
  284. package/dist/components/group-object-privilege/group-object-privilege.js.map +0 -1
  285. package/dist/components/group-object-privilege/group-object-privilege.repository.d.ts +0 -7
  286. package/dist/components/group-object-privilege/group-object-privilege.repository.d.ts.map +0 -1
  287. package/dist/components/group-object-privilege/group-object-privilege.repository.js +0 -26
  288. package/dist/components/group-object-privilege/group-object-privilege.repository.js.map +0 -1
  289. package/dist/components/group-object-privilege/index.d.ts +0 -3
  290. package/dist/components/group-object-privilege/index.d.ts.map +0 -1
  291. package/dist/components/group-object-privilege/index.js +0 -19
  292. package/dist/components/group-object-privilege/index.js.map +0 -1
  293. package/dist/components/group-privilege/group-privilege.d.ts +0 -25
  294. package/dist/components/group-privilege/group-privilege.d.ts.map +0 -1
  295. package/dist/components/group-privilege/group-privilege.js +0 -67
  296. package/dist/components/group-privilege/group-privilege.js.map +0 -1
  297. package/dist/components/group-privilege/group-privilege.repository.d.ts +0 -7
  298. package/dist/components/group-privilege/group-privilege.repository.d.ts.map +0 -1
  299. package/dist/components/group-privilege/group-privilege.repository.js +0 -28
  300. package/dist/components/group-privilege/group-privilege.repository.js.map +0 -1
  301. package/dist/components/group-privilege/index.d.ts +0 -3
  302. package/dist/components/group-privilege/index.d.ts.map +0 -1
  303. package/dist/components/group-privilege/index.js +0 -19
  304. package/dist/components/group-privilege/index.js.map +0 -1
  305. package/dist/components/group-reporting-user/group-reporting-user.d.ts +0 -30
  306. package/dist/components/group-reporting-user/group-reporting-user.d.ts.map +0 -1
  307. package/dist/components/group-reporting-user/group-reporting-user.js +0 -277
  308. package/dist/components/group-reporting-user/group-reporting-user.js.map +0 -1
  309. package/dist/components/group-reporting-user/group-reporting-user.repository.d.ts +0 -7
  310. package/dist/components/group-reporting-user/group-reporting-user.repository.d.ts.map +0 -1
  311. package/dist/components/group-reporting-user/group-reporting-user.repository.js +0 -23
  312. package/dist/components/group-reporting-user/group-reporting-user.repository.js.map +0 -1
  313. package/dist/components/group-reporting-user/index.d.ts +0 -3
  314. package/dist/components/group-reporting-user/index.d.ts.map +0 -1
  315. package/dist/components/group-reporting-user/index.js +0 -19
  316. package/dist/components/group-reporting-user/index.js.map +0 -1
  317. package/dist/components/group-system-access/group-system-access.d.ts +0 -28
  318. package/dist/components/group-system-access/group-system-access.d.ts.map +0 -1
  319. package/dist/components/group-system-access/group-system-access.js +0 -70
  320. package/dist/components/group-system-access/group-system-access.js.map +0 -1
  321. package/dist/components/group-system-access/group-system-access.repository.d.ts +0 -8
  322. package/dist/components/group-system-access/group-system-access.repository.d.ts.map +0 -1
  323. package/dist/components/group-system-access/group-system-access.repository.js +0 -46
  324. package/dist/components/group-system-access/group-system-access.repository.js.map +0 -1
  325. package/dist/components/group-system-access/index.d.ts +0 -3
  326. package/dist/components/group-system-access/index.d.ts.map +0 -1
  327. package/dist/components/group-system-access/index.js +0 -19
  328. package/dist/components/group-system-access/index.js.map +0 -1
  329. package/dist/components/index.d.ts +0 -18
  330. package/dist/components/index.d.ts.map +0 -1
  331. package/dist/components/index.js +0 -34
  332. package/dist/components/index.js.map +0 -1
  333. package/dist/components/login-history/index.d.ts +0 -2
  334. package/dist/components/login-history/index.d.ts.map +0 -1
  335. package/dist/components/login-history/index.js +0 -18
  336. package/dist/components/login-history/index.js.map +0 -1
  337. package/dist/components/login-history/login-history.repository.d.ts +0 -6
  338. package/dist/components/login-history/login-history.repository.d.ts.map +0 -1
  339. package/dist/components/login-history/login-history.repository.js +0 -15
  340. package/dist/components/login-history/login-history.repository.js.map +0 -1
  341. package/dist/components/login-user/index.d.ts +0 -5
  342. package/dist/components/login-user/index.d.ts.map +0 -1
  343. package/dist/components/login-user/index.js +0 -21
  344. package/dist/components/login-user/index.js.map +0 -1
  345. package/dist/components/login-user/interfaces/check-user-info-duplicated.interface.d.ts +0 -8
  346. package/dist/components/login-user/interfaces/check-user-info-duplicated.interface.d.ts.map +0 -1
  347. package/dist/components/login-user/interfaces/check-user-info-duplicated.interface.js +0 -3
  348. package/dist/components/login-user/interfaces/check-user-info-duplicated.interface.js.map +0 -1
  349. package/dist/components/login-user/interfaces/index.d.ts +0 -2
  350. package/dist/components/login-user/interfaces/index.d.ts.map +0 -1
  351. package/dist/components/login-user/interfaces/index.js +0 -18
  352. package/dist/components/login-user/interfaces/index.js.map +0 -1
  353. package/dist/components/login-user/interfaces/system-access.interface.d.ts +0 -14
  354. package/dist/components/login-user/interfaces/system-access.interface.d.ts.map +0 -1
  355. package/dist/components/login-user/interfaces/system-access.interface.js +0 -3
  356. package/dist/components/login-user/interfaces/system-access.interface.js.map +0 -1
  357. package/dist/components/login-user/interfaces/user-info.interface.d.ts +0 -31
  358. package/dist/components/login-user/interfaces/user-info.interface.d.ts.map +0 -1
  359. package/dist/components/login-user/interfaces/user-info.interface.js +0 -3
  360. package/dist/components/login-user/interfaces/user-info.interface.js.map +0 -1
  361. package/dist/components/login-user/login-user.d.ts +0 -14
  362. package/dist/components/login-user/login-user.d.ts.map +0 -1
  363. package/dist/components/login-user/login-user.js +0 -127
  364. package/dist/components/login-user/login-user.js.map +0 -1
  365. package/dist/components/login-user/user.d.ts +0 -155
  366. package/dist/components/login-user/user.d.ts.map +0 -1
  367. package/dist/components/login-user/user.js +0 -1753
  368. package/dist/components/login-user/user.js.map +0 -1
  369. package/dist/components/login-user/user.repository.d.ts +0 -6
  370. package/dist/components/login-user/user.repository.d.ts.map +0 -1
  371. package/dist/components/login-user/user.repository.js +0 -15
  372. package/dist/components/login-user/user.repository.js.map +0 -1
  373. package/dist/components/password-hash/index.d.ts +0 -3
  374. package/dist/components/password-hash/index.d.ts.map +0 -1
  375. package/dist/components/password-hash/index.js +0 -19
  376. package/dist/components/password-hash/index.js.map +0 -1
  377. package/dist/components/password-hash/interfaces/index.d.ts +0 -2
  378. package/dist/components/password-hash/interfaces/index.d.ts.map +0 -1
  379. package/dist/components/password-hash/interfaces/index.js +0 -18
  380. package/dist/components/password-hash/interfaces/index.js.map +0 -1
  381. package/dist/components/password-hash/interfaces/password-hash-service.interface.d.ts +0 -5
  382. package/dist/components/password-hash/interfaces/password-hash-service.interface.d.ts.map +0 -1
  383. package/dist/components/password-hash/interfaces/password-hash-service.interface.js +0 -3
  384. package/dist/components/password-hash/interfaces/password-hash-service.interface.js.map +0 -1
  385. package/dist/components/password-hash/password-hash.service.d.ts +0 -7
  386. package/dist/components/password-hash/password-hash.service.d.ts.map +0 -1
  387. package/dist/components/password-hash/password-hash.service.js +0 -48
  388. package/dist/components/password-hash/password-hash.service.js.map +0 -1
  389. package/dist/components/staff/index.d.ts +0 -2
  390. package/dist/components/staff/index.d.ts.map +0 -1
  391. package/dist/components/staff/index.js +0 -18
  392. package/dist/components/staff/index.js.map +0 -1
  393. package/dist/components/staff/staff.repository.d.ts +0 -7
  394. package/dist/components/staff/staff.repository.d.ts.map +0 -1
  395. package/dist/components/staff/staff.repository.js +0 -30
  396. package/dist/components/staff/staff.repository.js.map +0 -1
  397. package/dist/components/system/index.d.ts +0 -3
  398. package/dist/components/system/index.d.ts.map +0 -1
  399. package/dist/components/system/index.js +0 -19
  400. package/dist/components/system/index.js.map +0 -1
  401. package/dist/components/system/system.d.ts +0 -40
  402. package/dist/components/system/system.d.ts.map +0 -1
  403. package/dist/components/system/system.js +0 -283
  404. package/dist/components/system/system.js.map +0 -1
  405. package/dist/components/system/system.repository.d.ts +0 -6
  406. package/dist/components/system/system.repository.d.ts.map +0 -1
  407. package/dist/components/system/system.repository.js +0 -15
  408. package/dist/components/system/system.repository.js.map +0 -1
  409. package/dist/components/system-privilege/index.d.ts +0 -4
  410. package/dist/components/system-privilege/index.d.ts.map +0 -1
  411. package/dist/components/system-privilege/index.js +0 -8
  412. package/dist/components/system-privilege/index.js.map +0 -1
  413. package/dist/components/system-privilege/system-privilege.d.ts +0 -53
  414. package/dist/components/system-privilege/system-privilege.d.ts.map +0 -1
  415. package/dist/components/system-privilege/system-privilege.js +0 -315
  416. package/dist/components/system-privilege/system-privilege.js.map +0 -1
  417. package/dist/components/system-privilege/system-privilege.repository.d.ts +0 -7
  418. package/dist/components/system-privilege/system-privilege.repository.d.ts.map +0 -1
  419. package/dist/components/system-privilege/system-privilege.repository.js +0 -21
  420. package/dist/components/system-privilege/system-privilege.repository.js.map +0 -1
  421. package/dist/components/user-group/index.d.ts +0 -3
  422. package/dist/components/user-group/index.d.ts.map +0 -1
  423. package/dist/components/user-group/index.js +0 -19
  424. package/dist/components/user-group/index.js.map +0 -1
  425. package/dist/components/user-group/user-group.d.ts +0 -51
  426. package/dist/components/user-group/user-group.d.ts.map +0 -1
  427. package/dist/components/user-group/user-group.js +0 -335
  428. package/dist/components/user-group/user-group.js.map +0 -1
  429. package/dist/components/user-group/user-group.repository.d.ts +0 -6
  430. package/dist/components/user-group/user-group.repository.d.ts.map +0 -1
  431. package/dist/components/user-group/user-group.repository.js +0 -15
  432. package/dist/components/user-group/user-group.repository.js.map +0 -1
  433. package/dist/components/user-object-privilege/index.d.ts +0 -3
  434. package/dist/components/user-object-privilege/index.d.ts.map +0 -1
  435. package/dist/components/user-object-privilege/index.js +0 -19
  436. package/dist/components/user-object-privilege/index.js.map +0 -1
  437. package/dist/components/user-object-privilege/user-object-privilege.d.ts +0 -24
  438. package/dist/components/user-object-privilege/user-object-privilege.d.ts.map +0 -1
  439. package/dist/components/user-object-privilege/user-object-privilege.js +0 -59
  440. package/dist/components/user-object-privilege/user-object-privilege.js.map +0 -1
  441. package/dist/components/user-object-privilege/user-object-privilege.repository.d.ts +0 -6
  442. package/dist/components/user-object-privilege/user-object-privilege.repository.d.ts.map +0 -1
  443. package/dist/components/user-object-privilege/user-object-privilege.repository.js +0 -15
  444. package/dist/components/user-object-privilege/user-object-privilege.repository.js.map +0 -1
  445. package/dist/components/user-privilege/index.d.ts +0 -3
  446. package/dist/components/user-privilege/index.d.ts.map +0 -1
  447. package/dist/components/user-privilege/index.js +0 -19
  448. package/dist/components/user-privilege/index.js.map +0 -1
  449. package/dist/components/user-privilege/user-privilege.d.ts +0 -71
  450. package/dist/components/user-privilege/user-privilege.d.ts.map +0 -1
  451. package/dist/components/user-privilege/user-privilege.js +0 -388
  452. package/dist/components/user-privilege/user-privilege.js.map +0 -1
  453. package/dist/components/user-privilege/user-privilege.repository.d.ts +0 -7
  454. package/dist/components/user-privilege/user-privilege.repository.d.ts.map +0 -1
  455. package/dist/components/user-privilege/user-privilege.repository.js +0 -29
  456. package/dist/components/user-privilege/user-privilege.repository.js.map +0 -1
  457. package/dist/components/user-system-access/index.d.ts +0 -3
  458. package/dist/components/user-system-access/index.d.ts.map +0 -1
  459. package/dist/components/user-system-access/index.js +0 -19
  460. package/dist/components/user-system-access/index.js.map +0 -1
  461. package/dist/components/user-system-access/user-system-access.d.ts +0 -69
  462. package/dist/components/user-system-access/user-system-access.d.ts.map +0 -1
  463. package/dist/components/user-system-access/user-system-access.js +0 -413
  464. package/dist/components/user-system-access/user-system-access.js.map +0 -1
  465. package/dist/components/user-system-access/user-system-access.repository.d.ts +0 -8
  466. package/dist/components/user-system-access/user-system-access.repository.d.ts.map +0 -1
  467. package/dist/components/user-system-access/user-system-access.repository.js +0 -44
  468. package/dist/components/user-system-access/user-system-access.repository.js.map +0 -1
  469. package/dist/database.d.ts +0 -5
  470. package/dist/database.d.ts.map +0 -1
  471. package/dist/database.js +0 -14
  472. package/dist/database.js.map +0 -1
  473. package/dist/enum/api-key.enum.d.ts +0 -6
  474. package/dist/enum/api-key.enum.d.ts.map +0 -1
  475. package/dist/enum/api-key.enum.js +0 -10
  476. package/dist/enum/api-key.enum.js.map +0 -1
  477. package/dist/enum/group-type.enum.d.ts +0 -9
  478. package/dist/enum/group-type.enum.d.ts.map +0 -1
  479. package/dist/enum/group-type.enum.js +0 -13
  480. package/dist/enum/group-type.enum.js.map +0 -1
  481. package/dist/enum/index.d.ts +0 -7
  482. package/dist/enum/index.d.ts.map +0 -1
  483. package/dist/enum/index.js +0 -23
  484. package/dist/enum/index.js.map +0 -1
  485. package/dist/enum/login-status.enum.d.ts +0 -5
  486. package/dist/enum/login-status.enum.d.ts.map +0 -1
  487. package/dist/enum/login-status.enum.js +0 -9
  488. package/dist/enum/login-status.enum.js.map +0 -1
  489. package/dist/enum/object-status.enum.d.ts +0 -5
  490. package/dist/enum/object-status.enum.d.ts.map +0 -1
  491. package/dist/enum/object-status.enum.js +0 -9
  492. package/dist/enum/object-status.enum.js.map +0 -1
  493. package/dist/enum/user-status.enum.d.ts +0 -8
  494. package/dist/enum/user-status.enum.d.ts.map +0 -1
  495. package/dist/enum/user-status.enum.js +0 -12
  496. package/dist/enum/user-status.enum.js.map +0 -1
  497. package/dist/enum/yn.enum.d.ts +0 -5
  498. package/dist/enum/yn.enum.d.ts.map +0 -1
  499. package/dist/enum/yn.enum.js +0 -9
  500. package/dist/enum/yn.enum.js.map +0 -1
  501. package/dist/index.d.ts.map +0 -1
  502. package/dist/interfaces/api-key-attr.interface.d.ts +0 -16
  503. package/dist/interfaces/api-key-attr.interface.d.ts.map +0 -1
  504. package/dist/interfaces/api-key-attr.interface.js +0 -3
  505. package/dist/interfaces/api-key-attr.interface.js.map +0 -1
  506. package/dist/interfaces/group-object-privilege.interface.d.ts +0 -14
  507. package/dist/interfaces/group-object-privilege.interface.d.ts.map +0 -1
  508. package/dist/interfaces/group-object-privilege.interface.js +0 -3
  509. package/dist/interfaces/group-object-privilege.interface.js.map +0 -1
  510. package/dist/interfaces/group-privilege.interface.d.ts +0 -11
  511. package/dist/interfaces/group-privilege.interface.d.ts.map +0 -1
  512. package/dist/interfaces/group-privilege.interface.js +0 -3
  513. package/dist/interfaces/group-privilege.interface.js.map +0 -1
  514. package/dist/interfaces/group-reporting-user.interface.d.ts +0 -12
  515. package/dist/interfaces/group-reporting-user.interface.d.ts.map +0 -1
  516. package/dist/interfaces/group-reporting-user.interface.js +0 -3
  517. package/dist/interfaces/group-reporting-user.interface.js.map +0 -1
  518. package/dist/interfaces/group-search-attr.interface.d.ts +0 -9
  519. package/dist/interfaces/group-search-attr.interface.d.ts.map +0 -1
  520. package/dist/interfaces/group-search-attr.interface.js +0 -3
  521. package/dist/interfaces/group-search-attr.interface.js.map +0 -1
  522. package/dist/interfaces/group-system-access.interface.d.ts +0 -11
  523. package/dist/interfaces/group-system-access.interface.d.ts.map +0 -1
  524. package/dist/interfaces/group-system-access.interface.js +0 -3
  525. package/dist/interfaces/group-system-access.interface.js.map +0 -1
  526. package/dist/interfaces/group.interface.d.ts +0 -17
  527. package/dist/interfaces/group.interface.d.ts.map +0 -1
  528. package/dist/interfaces/group.interface.js +0 -3
  529. package/dist/interfaces/group.interface.js.map +0 -1
  530. package/dist/interfaces/index.d.ts +0 -14
  531. package/dist/interfaces/index.d.ts.map +0 -1
  532. package/dist/interfaces/index.js +0 -30
  533. package/dist/interfaces/index.js.map +0 -1
  534. package/dist/interfaces/system-login.interface.d.ts +0 -7
  535. package/dist/interfaces/system-login.interface.d.ts.map +0 -1
  536. package/dist/interfaces/system-login.interface.js +0 -3
  537. package/dist/interfaces/system-login.interface.js.map +0 -1
  538. package/dist/interfaces/system-privilege-search.interface.d.ts +0 -6
  539. package/dist/interfaces/system-privilege-search.interface.d.ts.map +0 -1
  540. package/dist/interfaces/system-privilege-search.interface.js +0 -3
  541. package/dist/interfaces/system-privilege-search.interface.js.map +0 -1
  542. package/dist/interfaces/system-privilege.interface.d.ts +0 -12
  543. package/dist/interfaces/system-privilege.interface.d.ts.map +0 -1
  544. package/dist/interfaces/system-privilege.interface.js +0 -3
  545. package/dist/interfaces/system-privilege.interface.js.map +0 -1
  546. package/dist/interfaces/system-search-attr.interface.d.ts +0 -6
  547. package/dist/interfaces/system-search-attr.interface.d.ts.map +0 -1
  548. package/dist/interfaces/system-search-attr.interface.js +0 -3
  549. package/dist/interfaces/system-search-attr.interface.js.map +0 -1
  550. package/dist/interfaces/system.interface.d.ts +0 -16
  551. package/dist/interfaces/system.interface.d.ts.map +0 -1
  552. package/dist/interfaces/system.interface.js +0 -3
  553. package/dist/interfaces/system.interface.js.map +0 -1
  554. package/dist/interfaces/user-group.interface.d.ts +0 -13
  555. package/dist/interfaces/user-group.interface.d.ts.map +0 -1
  556. package/dist/interfaces/user-group.interface.js +0 -3
  557. package/dist/interfaces/user-group.interface.js.map +0 -1
  558. package/dist/interfaces/user-object-privilege.interface.d.ts +0 -14
  559. package/dist/interfaces/user-object-privilege.interface.d.ts.map +0 -1
  560. package/dist/interfaces/user-object-privilege.interface.js +0 -3
  561. package/dist/interfaces/user-object-privilege.interface.js.map +0 -1
  562. package/dist/interfaces/user-privilege.interface.d.ts +0 -11
  563. package/dist/interfaces/user-privilege.interface.d.ts.map +0 -1
  564. package/dist/interfaces/user-privilege.interface.js +0 -3
  565. package/dist/interfaces/user-privilege.interface.js.map +0 -1
  566. package/dist/interfaces/user-session.interface.d.ts +0 -5
  567. package/dist/interfaces/user-session.interface.d.ts.map +0 -1
  568. package/dist/interfaces/user-session.interface.js +0 -3
  569. package/dist/interfaces/user-session.interface.js.map +0 -1
  570. package/dist/interfaces/user-system-access.interface.d.ts +0 -11
  571. package/dist/interfaces/user-system-access.interface.d.ts.map +0 -1
  572. package/dist/interfaces/user-system-access.interface.js +0 -3
  573. package/dist/interfaces/user-system-access.interface.js.map +0 -1
  574. package/dist/models/api-key-entity.d.ts +0 -22
  575. package/dist/models/api-key-entity.d.ts.map +0 -1
  576. package/dist/models/api-key-entity.js +0 -125
  577. package/dist/models/api-key-entity.js.map +0 -1
  578. package/dist/models/building.entity.d.ts +0 -30
  579. package/dist/models/building.entity.d.ts.map +0 -1
  580. package/dist/models/building.entity.js +0 -216
  581. package/dist/models/building.entity.js.map +0 -1
  582. package/dist/models/group-object-privilege.entity.d.ts +0 -22
  583. package/dist/models/group-object-privilege.entity.d.ts.map +0 -1
  584. package/dist/models/group-object-privilege.entity.js +0 -114
  585. package/dist/models/group-object-privilege.entity.js.map +0 -1
  586. package/dist/models/group-privilege.entity.d.ts +0 -19
  587. package/dist/models/group-privilege.entity.d.ts.map +0 -1
  588. package/dist/models/group-privilege.entity.js +0 -99
  589. package/dist/models/group-privilege.entity.js.map +0 -1
  590. package/dist/models/group-reporting-user.entity.d.ts +0 -18
  591. package/dist/models/group-reporting-user.entity.d.ts.map +0 -1
  592. package/dist/models/group-reporting-user.entity.js +0 -117
  593. package/dist/models/group-reporting-user.entity.js.map +0 -1
  594. package/dist/models/group-system-access.entity.d.ts +0 -19
  595. package/dist/models/group-system-access.entity.d.ts.map +0 -1
  596. package/dist/models/group-system-access.entity.js +0 -102
  597. package/dist/models/group-system-access.entity.js.map +0 -1
  598. package/dist/models/group.entity.d.ts +0 -33
  599. package/dist/models/group.entity.d.ts.map +0 -1
  600. package/dist/models/group.entity.js +0 -157
  601. package/dist/models/group.entity.js.map +0 -1
  602. package/dist/models/login-history.entity.d.ts +0 -15
  603. package/dist/models/login-history.entity.d.ts.map +0 -1
  604. package/dist/models/login-history.entity.js +0 -81
  605. package/dist/models/login-history.entity.js.map +0 -1
  606. package/dist/models/staff.entity.d.ts +0 -19
  607. package/dist/models/staff.entity.d.ts.map +0 -1
  608. package/dist/models/staff.entity.js +0 -113
  609. package/dist/models/staff.entity.js.map +0 -1
  610. package/dist/models/system-privilege.entity.d.ts +0 -19
  611. package/dist/models/system-privilege.entity.d.ts.map +0 -1
  612. package/dist/models/system-privilege.entity.js +0 -111
  613. package/dist/models/system-privilege.entity.js.map +0 -1
  614. package/dist/models/system.entity.d.ts +0 -26
  615. package/dist/models/system.entity.d.ts.map +0 -1
  616. package/dist/models/system.entity.js +0 -139
  617. package/dist/models/system.entity.js.map +0 -1
  618. package/dist/models/user-group.entity.d.ts +0 -20
  619. package/dist/models/user-group.entity.d.ts.map +0 -1
  620. package/dist/models/user-group.entity.js +0 -114
  621. package/dist/models/user-group.entity.js.map +0 -1
  622. package/dist/models/user-object-privilege.entity.d.ts +0 -21
  623. package/dist/models/user-object-privilege.entity.d.ts.map +0 -1
  624. package/dist/models/user-object-privilege.entity.js +0 -113
  625. package/dist/models/user-object-privilege.entity.js.map +0 -1
  626. package/dist/models/user-privilege.entity.d.ts +0 -18
  627. package/dist/models/user-privilege.entity.d.ts.map +0 -1
  628. package/dist/models/user-privilege.entity.js +0 -99
  629. package/dist/models/user-privilege.entity.js.map +0 -1
  630. package/dist/models/user-system-access.entity.d.ts +0 -18
  631. package/dist/models/user-system-access.entity.d.ts.map +0 -1
  632. package/dist/models/user-system-access.entity.js +0 -108
  633. package/dist/models/user-system-access.entity.js.map +0 -1
  634. package/dist/models/user.entity.d.ts +0 -41
  635. package/dist/models/user.entity.d.ts.map +0 -1
  636. package/dist/models/user.entity.js +0 -218
  637. package/dist/models/user.entity.js.map +0 -1
  638. package/dist/redis-client/__mocks__/jest-initial-setup.d.ts +0 -2
  639. package/dist/redis-client/__mocks__/jest-initial-setup.d.ts.map +0 -1
  640. package/dist/redis-client/__mocks__/jest-initial-setup.js +0 -8
  641. package/dist/redis-client/__mocks__/jest-initial-setup.js.map +0 -1
  642. package/dist/redis-client/__mocks__/redis-mock.d.ts +0 -3
  643. package/dist/redis-client/__mocks__/redis-mock.d.ts.map +0 -1
  644. package/dist/redis-client/__mocks__/redis-mock.js +0 -56
  645. package/dist/redis-client/__mocks__/redis-mock.js.map +0 -1
  646. package/dist/redis-client/index.d.ts +0 -2
  647. package/dist/redis-client/index.d.ts.map +0 -1
  648. package/dist/redis-client/index.js +0 -18
  649. package/dist/redis-client/index.js.map +0 -1
  650. package/dist/redis-client/redis.service.d.ts +0 -10
  651. package/dist/redis-client/redis.service.d.ts.map +0 -1
  652. package/dist/redis-client/redis.service.js +0 -69
  653. package/dist/redis-client/redis.service.js.map +0 -1
  654. package/dist/session/index.d.ts +0 -3
  655. package/dist/session/index.d.ts.map +0 -1
  656. package/dist/session/index.js +0 -19
  657. package/dist/session/index.js.map +0 -1
  658. package/dist/session/interfaces/index.d.ts +0 -2
  659. package/dist/session/interfaces/index.d.ts.map +0 -1
  660. package/dist/session/interfaces/index.js +0 -18
  661. package/dist/session/interfaces/index.js.map +0 -1
  662. package/dist/session/interfaces/session-service.interface.d.ts +0 -10
  663. package/dist/session/interfaces/session-service.interface.d.ts.map +0 -1
  664. package/dist/session/interfaces/session-service.interface.js +0 -3
  665. package/dist/session/interfaces/session-service.interface.js.map +0 -1
  666. package/dist/session/session.service.d.ts +0 -14
  667. package/dist/session/session.service.d.ts.map +0 -1
  668. package/dist/session/session.service.js +0 -73
  669. package/dist/session/session.service.js.map +0 -1
  670. package/dist/types/auth-context.d.ts +0 -7
  671. package/dist/types/auth-context.d.ts.map +0 -1
  672. package/dist/types/auth-context.js +0 -3
  673. package/dist/types/auth-context.js.map +0 -1
  674. package/dist/types/index.d.ts +0 -2
  675. package/dist/types/index.d.ts.map +0 -1
  676. package/dist/types/index.js +0 -18
  677. package/dist/types/index.js.map +0 -1
@@ -1,362 +1,362 @@
1
- import { ILoginUser } from '@tomei/general';
2
- import { User } from './user';
3
- import { ISystemLogin } from '../../../src/interfaces/system-login.interface';
4
- import GroupModel from '../../models/group.entity';
5
- import { ISessionService } from '../../session/interfaces/session-service.interface';
6
- import { RedisService } from '../../redis-client/redis.service';
7
- import { UserRepository } from './user.repository';
8
- import { IUserAttr, IUserInfo } from './interfaces/user-info.interface';
9
- import Staff from '../../models/staff.entity';
10
- import UserModel from '../../models/user.entity';
11
- import { createHash, randomBytes, randomUUID } from 'crypto';
12
- import { UserGroupRepository } from '../user-group/user-group.repository';
13
- import GroupSystemAccessModel from '../../models/group-system-access.entity';
14
- import SystemModel from '../../models/system.entity';
15
- import { ApplicationConfig } from '@tomei/config';
16
-
17
- export class LoginUser extends User implements ILoginUser {
18
- session = {
19
- Id: null,
20
- };
21
-
22
- static async init(
23
- sessionService: ISessionService,
24
- userId?: number,
25
- dbTransaction = null,
26
- ): Promise<LoginUser> {
27
- User._RedisService = await RedisService.init();
28
- if (userId) {
29
- if (dbTransaction) {
30
- User._Repository = new UserRepository();
31
- }
32
- const user = await User._Repository.findOne({
33
- where: {
34
- UserId: userId,
35
- },
36
- include: [
37
- {
38
- model: Staff,
39
- },
40
- ],
41
- transaction: dbTransaction,
42
- });
43
-
44
- if (!user) {
45
- throw new Error('Invalid credentials.');
46
- }
47
-
48
- if (user) {
49
- const userAttr: IUserAttr = {
50
- UserId: user.UserId,
51
- UserName: user.UserName,
52
- FullName: user?.FullName || null,
53
- IDNo: user?.IdNo || null,
54
- IDType: user?.IdType || null,
55
- ContactNo: user?.ContactNo || null,
56
- Email: user.Email,
57
- Password: user.Password,
58
- Status: user.Status,
59
- DefaultPasswordChangedYN: user.DefaultPasswordChangedYN,
60
- FirstLoginAt: user.FirstLoginAt,
61
- LastLoginAt: user.LastLoginAt,
62
- MFAEnabled: user.MFAEnabled,
63
- MFAConfig: user.MFAConfig,
64
- RecoveryEmail: user.RecoveryEmail,
65
- FailedLoginAttemptCount: user.FailedLoginAttemptCount,
66
- LastFailedLoginAt: user.LastFailedLoginAt,
67
- LastPasswordChangedAt: user.LastPasswordChangedAt,
68
- NeedToChangePasswordYN: user.NeedToChangePasswordYN,
69
- PasscodeHash: user.PasscodeHash,
70
- PasscodeUpdatedAt: user.PasscodeUpdatedAt,
71
- CreatedById: user.CreatedById,
72
- CreatedAt: user.CreatedAt,
73
- UpdatedById: user.UpdatedById,
74
- UpdatedAt: user.UpdatedAt,
75
- staffs: user?.Staff,
76
- };
77
-
78
- return new LoginUser(sessionService, dbTransaction, userAttr);
79
- } else {
80
- throw new Error('User not found');
81
- }
82
- }
83
- return new LoginUser(sessionService, dbTransaction);
84
- }
85
-
86
- async checkPrivileges(
87
- systemCode: string,
88
- privilegeName: string,
89
- ): Promise<boolean> {
90
- try {
91
- if (!this.ObjectId) {
92
- throw new Error('ObjectId(UserId) is not set');
93
- }
94
-
95
- const sessionName =
96
- ApplicationConfig.getComponentConfigValue('sessionName');
97
- if (!sessionName) {
98
- throw new Error('Session name is not set');
99
- }
100
-
101
- const userSession = await this._SessionService.retrieveUserSession(
102
- this.ObjectId,
103
- sessionName,
104
- );
105
-
106
- const systemLogin = userSession.systemLogins.find(
107
- (system) => system.code === systemCode,
108
- );
109
-
110
- if (!systemLogin) {
111
- return false;
112
- }
113
-
114
- const privileges = systemLogin.privileges;
115
- const hasPrivilege = privileges.includes(privilegeName);
116
- return hasPrivilege;
117
- } catch (error) {
118
- throw error;
119
- }
120
- }
121
-
122
- async checkSession(
123
- systemCode: string,
124
- sessionId: string,
125
- userId: string,
126
- ): Promise<ISystemLogin> {
127
- try {
128
- const sessionName =
129
- ApplicationConfig.getComponentConfigValue('sessionName');
130
- if (!sessionName) {
131
- throw new Error('Session name is not set');
132
- }
133
- const userSession = await this._SessionService.retrieveUserSession(
134
- userId,
135
- sessionName,
136
- );
137
-
138
- if (userSession.systemLogins.length === 0) {
139
- throw new Error('Session expired.');
140
- }
141
-
142
- const systemLogin = userSession.systemLogins.find(
143
- (sl) => sl.code === systemCode,
144
- );
145
-
146
- if (!systemLogin) {
147
- throw new Error('Session expired.');
148
- }
149
-
150
- if (systemLogin.sessionId !== sessionId) {
151
- throw new Error('Session expired.');
152
- }
153
-
154
- await this._SessionService.refreshDuration(userId, sessionName);
155
-
156
- return systemLogin;
157
- } catch (error) {
158
- throw error;
159
- }
160
- }
161
-
162
- async logout(systemCode: string) {
163
- try {
164
- if (!this.ObjectId) {
165
- throw new Error('ObjectId(UserId) is not set');
166
- }
167
-
168
- const sessionName =
169
- ApplicationConfig.getComponentConfigValue('sessionName');
170
- if (!sessionName) {
171
- throw new Error('Session name is not set');
172
- }
173
-
174
- const userSession = await this._SessionService.retrieveUserSession(
175
- this.ObjectId,
176
- sessionName,
177
- );
178
- const index = userSession.systemLogins.findIndex(
179
- (system) => system.code === systemCode,
180
- );
181
- userSession.systemLogins.splice(index, 1);
182
- this._SessionService.setUserSession(
183
- this.ObjectId,
184
- userSession,
185
- sessionName,
186
- );
187
- } catch (error) {
188
- throw error;
189
- }
190
- }
191
-
192
- async getProfile(dbTransaction: any) {
193
- const user = await User._Repository.findOne({
194
- where: {
195
- UserId: this.UserId,
196
- Status: 'Active',
197
- },
198
- include: [
199
- {
200
- model: Staff,
201
- },
202
- ],
203
- transaction: dbTransaction,
204
- });
205
- return user;
206
- }
207
-
208
- public static async getGroups(loginUser: User, dbTransaction: any) {
209
- // This method will retrieve all user groups.
210
-
211
- // Part 2: Retrieve User Groups & Returns
212
- const userGroups = await User._UserGroupRepo.findAll({
213
- where: {
214
- UserId: loginUser.ObjectId,
215
- Status: 'Active',
216
- },
217
- include: [{ model: UserModel, as: 'User' }, { model: GroupModel }],
218
- transaction: dbTransaction,
219
- });
220
-
221
- return userGroups;
222
- }
223
-
224
- public static async getSystems(loginUser: User, dbTransaction: any) {
225
- // This method will retrieve all system records which user has accessed to.
226
-
227
- // Part 2: Retrieve System Access
228
- const groups = await this.getGroups(loginUser, dbTransaction);
229
- const systemAccess = await User.combineSystemAccess(
230
- loginUser,
231
- dbTransaction,
232
- groups,
233
- );
234
- const output = [];
235
- if (systemAccess) {
236
- for (let i = 0; i < systemAccess.length; i++) {
237
- const system = await User._SystemRepository.findOne({
238
- where: {
239
- SystemCode: systemAccess[i].SystemCode,
240
- Status: 'Active',
241
- },
242
- });
243
- output.push({
244
- UserSystemAccessId: systemAccess[i].UserSystemAccessId,
245
- UserId: systemAccess[i].UserId,
246
- SystemCode: systemAccess[i].SystemCode,
247
- Status: systemAccess[i].Status,
248
- CreatedById: systemAccess[i].CreatedById,
249
- UpdatedById: systemAccess[i].UpdatedById,
250
- CreatedAt: systemAccess[i].CreatedAt,
251
- UpdatedAt: systemAccess[i].UpdatedAt,
252
- inheritedBy: ['OWN'],
253
- System: system,
254
- });
255
- }
256
- }
257
-
258
- let userGroupRepository = new UserGroupRepository();
259
- const userGroups = await userGroupRepository.findAll({
260
- where: {
261
- UserId: loginUser.UserId,
262
- Status: 'Active',
263
- },
264
- include: [
265
- {
266
- model: GroupModel,
267
- required: true,
268
- where: {
269
- Status: 'Active',
270
- },
271
- include: [
272
- {
273
- model: GroupSystemAccessModel,
274
- where: {
275
- Status: 'Active',
276
- },
277
- include: [
278
- {
279
- model: SystemModel,
280
- },
281
- ],
282
- },
283
- ],
284
- },
285
- ],
286
- transaction: dbTransaction,
287
- });
288
-
289
- if (userGroups) {
290
- for (let i = 0; i < userGroups.length; i++) {
291
- let systemAccessList = userGroups[i].Group.GroupSystemAccesses;
292
- for (let j = 0; j < systemAccessList.length; j++) {
293
- let systemDetails = systemAccessList[j];
294
- let isFound = output.findIndex(
295
- (e) => e.SystemCode === systemDetails.SystemCode,
296
- );
297
- if (isFound > -1) {
298
- output[isFound].inheritedBy.push(userGroups[i].GroupCode);
299
- } else {
300
- output.push({
301
- UserSystemAccessId: systemDetails.GroupSystemAccessId,
302
- UserId: systemDetails.GroupSystemAccessId,
303
- SystemCode: systemDetails.SystemCode,
304
- Status: systemDetails.Status,
305
- CreatedById: systemDetails.CreatedById,
306
- UpdatedById: systemDetails.UpdatedById,
307
- CreatedAt: systemDetails.CreatedAt,
308
- UpdatedAt: systemDetails.UpdatedAt,
309
- inheritedBy: [userGroups[i].GroupCode],
310
- System: systemDetails.System,
311
- });
312
- }
313
- }
314
- }
315
- }
316
-
317
- // Part 3: Map Result to System Object
318
- return output;
319
- }
320
-
321
- async setSession(systemCode: string, sessionId: string, dbTransaction: any) {
322
- // fetch user session if exists
323
- const sessionName =
324
- ApplicationConfig.getComponentConfigValue('sessionName');
325
-
326
- if (!sessionName) {
327
- throw new Error('Session name is not set in the configuration');
328
- }
329
-
330
- const userSession = await this._SessionService.retrieveUserSession(
331
- this.ObjectId,
332
- sessionName,
333
- );
334
- const systemLogin = userSession.systemLogins.find(
335
- (system) => system.code === systemCode,
336
- );
337
-
338
- if (systemLogin) {
339
- const privileges = await this.getPrivileges(systemCode, dbTransaction);
340
- systemLogin.sessionId = sessionId;
341
- systemLogin.privileges = privileges;
342
- userSession.systemLogins.map((system) =>
343
- system.code === systemCode ? systemLogin : system,
344
- );
345
- } else {
346
- // if not, add new system login into the userSession
347
- const newLogin = {
348
- id: systemCode,
349
- code: systemCode,
350
- sessionId: sessionId,
351
- privileges: await this.getPrivileges(systemCode, dbTransaction),
352
- };
353
- userSession.systemLogins.push(newLogin);
354
- }
355
- // then update userSession inside the redis storage with 1 day duration of time-to-live
356
- this._SessionService.setUserSession(
357
- this.ObjectId,
358
- userSession,
359
- sessionName,
360
- );
361
- }
362
- }
1
+ import { ILoginUser } from '@tomei/general';
2
+ import { User } from './user';
3
+ import { ISystemLogin } from '../../../src/interfaces/system-login.interface';
4
+ import GroupModel from '../../models/group.entity';
5
+ import { ISessionService } from '../../session/interfaces/session-service.interface';
6
+ import { RedisService } from '../../redis-client/redis.service';
7
+ import { UserRepository } from './user.repository';
8
+ import { IUserAttr, IUserInfo } from './interfaces/user-info.interface';
9
+ import Staff from '../../models/staff.entity';
10
+ import UserModel from '../../models/user.entity';
11
+ import { createHash, randomBytes, randomUUID } from 'crypto';
12
+ import { UserGroupRepository } from '../user-group/user-group.repository';
13
+ import GroupSystemAccessModel from '../../models/group-system-access.entity';
14
+ import SystemModel from '../../models/system.entity';
15
+ import { ApplicationConfig } from '@tomei/config';
16
+
17
+ export class LoginUser extends User implements ILoginUser {
18
+ session = {
19
+ Id: null,
20
+ };
21
+
22
+ static async init(
23
+ sessionService: ISessionService,
24
+ userId?: number,
25
+ dbTransaction = null,
26
+ ): Promise<LoginUser> {
27
+ User._RedisService = await RedisService.init();
28
+ if (userId) {
29
+ if (dbTransaction) {
30
+ User._Repository = new UserRepository();
31
+ }
32
+ const user = await User._Repository.findOne({
33
+ where: {
34
+ UserId: userId,
35
+ },
36
+ include: [
37
+ {
38
+ model: Staff,
39
+ },
40
+ ],
41
+ transaction: dbTransaction,
42
+ });
43
+
44
+ if (!user) {
45
+ throw new Error('Invalid credentials.');
46
+ }
47
+
48
+ if (user) {
49
+ const userAttr: IUserAttr = {
50
+ UserId: user.UserId,
51
+ UserName: user.UserName,
52
+ FullName: user?.FullName || null,
53
+ IDNo: user?.IdNo || null,
54
+ IDType: user?.IdType || null,
55
+ ContactNo: user?.ContactNo || null,
56
+ Email: user.Email,
57
+ Password: user.Password,
58
+ Status: user.Status,
59
+ DefaultPasswordChangedYN: user.DefaultPasswordChangedYN,
60
+ FirstLoginAt: user.FirstLoginAt,
61
+ LastLoginAt: user.LastLoginAt,
62
+ MFAEnabled: user.MFAEnabled,
63
+ MFAConfig: user.MFAConfig,
64
+ RecoveryEmail: user.RecoveryEmail,
65
+ FailedLoginAttemptCount: user.FailedLoginAttemptCount,
66
+ LastFailedLoginAt: user.LastFailedLoginAt,
67
+ LastPasswordChangedAt: user.LastPasswordChangedAt,
68
+ NeedToChangePasswordYN: user.NeedToChangePasswordYN,
69
+ PasscodeHash: user.PasscodeHash,
70
+ PasscodeUpdatedAt: user.PasscodeUpdatedAt,
71
+ CreatedById: user.CreatedById,
72
+ CreatedAt: user.CreatedAt,
73
+ UpdatedById: user.UpdatedById,
74
+ UpdatedAt: user.UpdatedAt,
75
+ staffs: user?.Staff,
76
+ };
77
+
78
+ return new LoginUser(sessionService, dbTransaction, userAttr);
79
+ } else {
80
+ throw new Error('User not found');
81
+ }
82
+ }
83
+ return new LoginUser(sessionService, dbTransaction);
84
+ }
85
+
86
+ async checkPrivileges(
87
+ systemCode: string,
88
+ privilegeName: string,
89
+ ): Promise<boolean> {
90
+ try {
91
+ if (!this.ObjectId) {
92
+ throw new Error('ObjectId(UserId) is not set');
93
+ }
94
+
95
+ const sessionName =
96
+ ApplicationConfig.getComponentConfigValue('sessionName');
97
+ if (!sessionName) {
98
+ throw new Error('Session name is not set');
99
+ }
100
+
101
+ const userSession = await this._SessionService.retrieveUserSession(
102
+ this.ObjectId,
103
+ sessionName,
104
+ );
105
+
106
+ const systemLogin = userSession.systemLogins.find(
107
+ (system) => system.code === systemCode,
108
+ );
109
+
110
+ if (!systemLogin) {
111
+ return false;
112
+ }
113
+
114
+ const privileges = systemLogin.privileges;
115
+ const hasPrivilege = privileges.includes(privilegeName);
116
+ return hasPrivilege;
117
+ } catch (error) {
118
+ throw error;
119
+ }
120
+ }
121
+
122
+ async checkSession(
123
+ systemCode: string,
124
+ sessionId: string,
125
+ userId: string,
126
+ ): Promise<ISystemLogin> {
127
+ try {
128
+ const sessionName =
129
+ ApplicationConfig.getComponentConfigValue('sessionName');
130
+ if (!sessionName) {
131
+ throw new Error('Session name is not set');
132
+ }
133
+ const userSession = await this._SessionService.retrieveUserSession(
134
+ userId,
135
+ sessionName,
136
+ );
137
+
138
+ if (userSession.systemLogins.length === 0) {
139
+ throw new Error('Session expired.');
140
+ }
141
+
142
+ const systemLogin = userSession.systemLogins.find(
143
+ (sl) => sl.code === systemCode,
144
+ );
145
+
146
+ if (!systemLogin) {
147
+ throw new Error('Session expired.');
148
+ }
149
+
150
+ if (systemLogin.sessionId !== sessionId) {
151
+ throw new Error('Session expired.');
152
+ }
153
+
154
+ await this._SessionService.refreshDuration(userId, sessionName);
155
+
156
+ return systemLogin;
157
+ } catch (error) {
158
+ throw error;
159
+ }
160
+ }
161
+
162
+ async logout(systemCode: string) {
163
+ try {
164
+ if (!this.ObjectId) {
165
+ throw new Error('ObjectId(UserId) is not set');
166
+ }
167
+
168
+ const sessionName =
169
+ ApplicationConfig.getComponentConfigValue('sessionName');
170
+ if (!sessionName) {
171
+ throw new Error('Session name is not set');
172
+ }
173
+
174
+ const userSession = await this._SessionService.retrieveUserSession(
175
+ this.ObjectId,
176
+ sessionName,
177
+ );
178
+ const index = userSession.systemLogins.findIndex(
179
+ (system) => system.code === systemCode,
180
+ );
181
+ userSession.systemLogins.splice(index, 1);
182
+ this._SessionService.setUserSession(
183
+ this.ObjectId,
184
+ userSession,
185
+ sessionName,
186
+ );
187
+ } catch (error) {
188
+ throw error;
189
+ }
190
+ }
191
+
192
+ async getProfile(dbTransaction: any) {
193
+ const user = await User._Repository.findOne({
194
+ where: {
195
+ UserId: this.UserId,
196
+ Status: 'Active',
197
+ },
198
+ include: [
199
+ {
200
+ model: Staff,
201
+ },
202
+ ],
203
+ transaction: dbTransaction,
204
+ });
205
+ return user;
206
+ }
207
+
208
+ public static async getGroups(loginUser: User, dbTransaction: any) {
209
+ // This method will retrieve all user groups.
210
+
211
+ // Part 2: Retrieve User Groups & Returns
212
+ const userGroups = await User._UserGroupRepo.findAll({
213
+ where: {
214
+ UserId: loginUser.ObjectId,
215
+ Status: 'Active',
216
+ },
217
+ include: [{ model: UserModel, as: 'User' }, { model: GroupModel }],
218
+ transaction: dbTransaction,
219
+ });
220
+
221
+ return userGroups;
222
+ }
223
+
224
+ public static async getSystems(loginUser: User, dbTransaction: any) {
225
+ // This method will retrieve all system records which user has accessed to.
226
+
227
+ // Part 2: Retrieve System Access
228
+ const groups = await this.getGroups(loginUser, dbTransaction);
229
+ const systemAccess = await User.combineSystemAccess(
230
+ loginUser,
231
+ dbTransaction,
232
+ groups,
233
+ );
234
+ const output = [];
235
+ if (systemAccess) {
236
+ for (let i = 0; i < systemAccess.length; i++) {
237
+ const system = await User._SystemRepository.findOne({
238
+ where: {
239
+ SystemCode: systemAccess[i].SystemCode,
240
+ Status: 'Active',
241
+ },
242
+ });
243
+ output.push({
244
+ UserSystemAccessId: systemAccess[i].UserSystemAccessId,
245
+ UserId: systemAccess[i].UserId,
246
+ SystemCode: systemAccess[i].SystemCode,
247
+ Status: systemAccess[i].Status,
248
+ CreatedById: systemAccess[i].CreatedById,
249
+ UpdatedById: systemAccess[i].UpdatedById,
250
+ CreatedAt: systemAccess[i].CreatedAt,
251
+ UpdatedAt: systemAccess[i].UpdatedAt,
252
+ inheritedBy: ['OWN'],
253
+ System: system,
254
+ });
255
+ }
256
+ }
257
+
258
+ let userGroupRepository = new UserGroupRepository();
259
+ const userGroups = await userGroupRepository.findAll({
260
+ where: {
261
+ UserId: loginUser.UserId,
262
+ Status: 'Active',
263
+ },
264
+ include: [
265
+ {
266
+ model: GroupModel,
267
+ required: true,
268
+ where: {
269
+ Status: 'Active',
270
+ },
271
+ include: [
272
+ {
273
+ model: GroupSystemAccessModel,
274
+ where: {
275
+ Status: 'Active',
276
+ },
277
+ include: [
278
+ {
279
+ model: SystemModel,
280
+ },
281
+ ],
282
+ },
283
+ ],
284
+ },
285
+ ],
286
+ transaction: dbTransaction,
287
+ });
288
+
289
+ if (userGroups) {
290
+ for (let i = 0; i < userGroups.length; i++) {
291
+ let systemAccessList = userGroups[i].Group.GroupSystemAccesses;
292
+ for (let j = 0; j < systemAccessList.length; j++) {
293
+ let systemDetails = systemAccessList[j];
294
+ let isFound = output.findIndex(
295
+ (e) => e.SystemCode === systemDetails.SystemCode,
296
+ );
297
+ if (isFound > -1) {
298
+ output[isFound].inheritedBy.push(userGroups[i].GroupCode);
299
+ } else {
300
+ output.push({
301
+ UserSystemAccessId: systemDetails.GroupSystemAccessId,
302
+ UserId: systemDetails.GroupSystemAccessId,
303
+ SystemCode: systemDetails.SystemCode,
304
+ Status: systemDetails.Status,
305
+ CreatedById: systemDetails.CreatedById,
306
+ UpdatedById: systemDetails.UpdatedById,
307
+ CreatedAt: systemDetails.CreatedAt,
308
+ UpdatedAt: systemDetails.UpdatedAt,
309
+ inheritedBy: [userGroups[i].GroupCode],
310
+ System: systemDetails.System,
311
+ });
312
+ }
313
+ }
314
+ }
315
+ }
316
+
317
+ // Part 3: Map Result to System Object
318
+ return output;
319
+ }
320
+
321
+ async setSession(systemCode: string, sessionId: string, dbTransaction: any) {
322
+ // fetch user session if exists
323
+ const sessionName =
324
+ ApplicationConfig.getComponentConfigValue('sessionName');
325
+
326
+ if (!sessionName) {
327
+ throw new Error('Session name is not set in the configuration');
328
+ }
329
+
330
+ const userSession = await this._SessionService.retrieveUserSession(
331
+ this.ObjectId,
332
+ sessionName,
333
+ );
334
+ const systemLogin = userSession.systemLogins.find(
335
+ (system) => system.code === systemCode,
336
+ );
337
+
338
+ if (systemLogin) {
339
+ const privileges = await this.getPrivileges(systemCode, dbTransaction);
340
+ systemLogin.sessionId = sessionId;
341
+ systemLogin.privileges = privileges;
342
+ userSession.systemLogins.map((system) =>
343
+ system.code === systemCode ? systemLogin : system,
344
+ );
345
+ } else {
346
+ // if not, add new system login into the userSession
347
+ const newLogin = {
348
+ id: systemCode,
349
+ code: systemCode,
350
+ sessionId: sessionId,
351
+ privileges: await this.getPrivileges(systemCode, dbTransaction),
352
+ };
353
+ userSession.systemLogins.push(newLogin);
354
+ }
355
+ // then update userSession inside the redis storage with 1 day duration of time-to-live
356
+ this._SessionService.setUserSession(
357
+ this.ObjectId,
358
+ userSession,
359
+ sessionName,
360
+ );
361
+ }
362
+ }