@tomei/sso 0.50.8 → 0.51.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (431) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc +16 -16
  3. package/.eslintrc.js +35 -35
  4. package/.gitlab-ci.yml +16 -16
  5. package/.husky/commit-msg +15 -15
  6. package/.husky/pre-commit +7 -7
  7. package/.prettierrc +4 -4
  8. package/Jenkinsfile +57 -57
  9. package/README.md +23 -23
  10. package/__tests__/unit/components/group/group.spec.ts +79 -79
  11. package/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.ts +88 -88
  12. package/__tests__/unit/components/group-privilege/group-privilege.spec.ts +68 -68
  13. package/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.ts +66 -66
  14. package/__tests__/unit/components/group-system-access/group-system-access.spec.ts +83 -83
  15. package/__tests__/unit/components/login-user/l.spec.ts +746 -746
  16. package/__tests__/unit/components/login-user/login.spec.ts +1164 -1164
  17. package/__tests__/unit/components/password-hash/password-hash.service.spec.ts +31 -31
  18. package/__tests__/unit/components/system/system.spec.ts +254 -254
  19. package/__tests__/unit/components/system-privilege/system-privilege.spec.ts +83 -83
  20. package/__tests__/unit/components/user-group/user-group.spec.ts +86 -86
  21. package/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.ts +78 -78
  22. package/__tests__/unit/components/user-privilege/user-privilege.spec.ts +72 -72
  23. package/__tests__/unit/components/user-system-access/user-system-access.spec.ts +89 -89
  24. package/__tests__/unit/redis-client/redis.service.spec.ts +23 -23
  25. package/__tests__/unit/session/session.service.spec.ts +47 -47
  26. package/__tests__/unit/system-privilege/system-privilage.spec.ts +91 -91
  27. package/coverage/clover.xml +1452 -1452
  28. package/coverage/coverage-final.json +47 -47
  29. package/coverage/lcov-report/base.css +224 -224
  30. package/coverage/lcov-report/block-navigation.js +87 -87
  31. package/coverage/lcov-report/components/group/group.repository.ts.html +117 -117
  32. package/coverage/lcov-report/components/group/group.ts.html +327 -327
  33. package/coverage/lcov-report/components/group/index.html +130 -130
  34. package/coverage/lcov-report/components/group-object-privilege/group-object-privilege.repository.ts.html +117 -117
  35. package/coverage/lcov-report/components/group-object-privilege/group-object-privilege.ts.html +321 -321
  36. package/coverage/lcov-report/components/group-object-privilege/index.html +130 -130
  37. package/coverage/lcov-report/components/group-privilege/group-privilege.repository.ts.html +117 -117
  38. package/coverage/lcov-report/components/group-privilege/group-privilege.ts.html +303 -303
  39. package/coverage/lcov-report/components/group-privilege/index.html +130 -130
  40. package/coverage/lcov-report/components/group-reporting-user/group-reporting-user.repository.ts.html +117 -117
  41. package/coverage/lcov-report/components/group-reporting-user/group-reporting-user.ts.html +327 -327
  42. package/coverage/lcov-report/components/group-reporting-user/index.html +130 -130
  43. package/coverage/lcov-report/components/group-system-access/group-system-access.repository.ts.html +117 -117
  44. package/coverage/lcov-report/components/group-system-access/group-system-access.ts.html +309 -309
  45. package/coverage/lcov-report/components/group-system-access/index.html +130 -130
  46. package/coverage/lcov-report/components/login-history/index.html +115 -115
  47. package/coverage/lcov-report/components/login-history/login-history.repository.ts.html +117 -117
  48. package/coverage/lcov-report/components/login-user/index.html +130 -130
  49. package/coverage/lcov-report/components/login-user/login-user.ts.html +5007 -5007
  50. package/coverage/lcov-report/components/login-user/user.repository.ts.html +117 -117
  51. package/coverage/lcov-report/components/password-hash/index.html +115 -115
  52. package/coverage/lcov-report/components/password-hash/password-hash.service.ts.html +126 -126
  53. package/coverage/lcov-report/components/system/index.html +130 -130
  54. package/coverage/lcov-report/components/system/system.repository.ts.html +117 -117
  55. package/coverage/lcov-report/components/system/system.ts.html +909 -909
  56. package/coverage/lcov-report/components/system-privilege/index.html +130 -130
  57. package/coverage/lcov-report/components/system-privilege/system-privilege.repository.ts.html +120 -120
  58. package/coverage/lcov-report/components/system-privilege/system-privilege.ts.html +390 -390
  59. package/coverage/lcov-report/components/user-group/index.html +130 -130
  60. package/coverage/lcov-report/components/user-group/user-group.repository.ts.html +117 -117
  61. package/coverage/lcov-report/components/user-group/user-group.ts.html +354 -354
  62. package/coverage/lcov-report/components/user-object-privilege/index.html +130 -130
  63. package/coverage/lcov-report/components/user-object-privilege/user-object-privilege.repository.ts.html +117 -117
  64. package/coverage/lcov-report/components/user-object-privilege/user-object-privilege.ts.html +312 -312
  65. package/coverage/lcov-report/components/user-privilege/index.html +130 -130
  66. package/coverage/lcov-report/components/user-privilege/user-privilege.repository.ts.html +117 -117
  67. package/coverage/lcov-report/components/user-privilege/user-privilege.ts.html +306 -306
  68. package/coverage/lcov-report/components/user-system-access/index.html +130 -130
  69. package/coverage/lcov-report/components/user-system-access/user-system-access.repository.ts.html +117 -117
  70. package/coverage/lcov-report/components/user-system-access/user-system-access.ts.html +312 -312
  71. package/coverage/lcov-report/enum/group-type.enum.ts.html +108 -108
  72. package/coverage/lcov-report/enum/index.html +160 -160
  73. package/coverage/lcov-report/enum/index.ts.html +93 -93
  74. package/coverage/lcov-report/enum/user-status.enum.ts.html +105 -105
  75. package/coverage/lcov-report/enum/yn.enum.ts.html +96 -96
  76. package/coverage/lcov-report/index.html +370 -370
  77. package/coverage/lcov-report/models/group-object-privilege.entity.ts.html +333 -333
  78. package/coverage/lcov-report/models/group-privilege.entity.ts.html +315 -315
  79. package/coverage/lcov-report/models/group-reporting-user.entity.ts.html +339 -339
  80. package/coverage/lcov-report/models/group-system-access.entity.ts.html +324 -324
  81. package/coverage/lcov-report/models/group.entity.ts.html +435 -435
  82. package/coverage/lcov-report/models/index.html +310 -310
  83. package/coverage/lcov-report/models/login-history.entity.ts.html +252 -252
  84. package/coverage/lcov-report/models/staff.entity.ts.html +411 -411
  85. package/coverage/lcov-report/models/system-privilege.entity.ts.html +354 -354
  86. package/coverage/lcov-report/models/system.entity.ts.html +423 -423
  87. package/coverage/lcov-report/models/user-group.entity.ts.html +354 -354
  88. package/coverage/lcov-report/models/user-object-privilege.entity.ts.html +330 -330
  89. package/coverage/lcov-report/models/user-privilege.entity.ts.html +315 -315
  90. package/coverage/lcov-report/models/user-system-access.entity.ts.html +315 -315
  91. package/coverage/lcov-report/models/user.entity.ts.html +522 -522
  92. package/coverage/lcov-report/prettify.css +1 -1
  93. package/coverage/lcov-report/prettify.js +2 -2
  94. package/coverage/lcov-report/redis-client/index.html +115 -115
  95. package/coverage/lcov-report/redis-client/redis.service.ts.html +240 -240
  96. package/coverage/lcov-report/session/index.html +115 -115
  97. package/coverage/lcov-report/session/session.service.ts.html +246 -246
  98. package/coverage/lcov-report/sorter.js +196 -196
  99. package/coverage/lcov.info +2490 -2490
  100. package/coverage/test-report.xml +128 -128
  101. package/create-sso-user.sql +39 -39
  102. package/dist/__tests__/unit/components/group/group.spec.d.ts +1 -1
  103. package/dist/__tests__/unit/components/group/group.spec.js +71 -71
  104. package/dist/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.d.ts +1 -1
  105. package/dist/__tests__/unit/components/group-object-privilege/group-object-privilege.spec.js +85 -85
  106. package/dist/__tests__/unit/components/group-privilege/group-privilege.spec.d.ts +1 -1
  107. package/dist/__tests__/unit/components/group-privilege/group-privilege.spec.js +70 -70
  108. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.d.ts +1 -0
  109. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js +71 -0
  110. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js.map +1 -0
  111. package/dist/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.d.ts +1 -1
  112. package/dist/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.js +57 -57
  113. package/dist/__tests__/unit/components/group-system-access/group-system-access.spec.d.ts +1 -1
  114. package/dist/__tests__/unit/components/group-system-access/group-system-access.spec.js +82 -82
  115. package/dist/__tests__/unit/components/login-user/l.spec.js +5 -5
  116. package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +0 -0
  117. package/dist/__tests__/unit/components/login-user/login-user.spec.js +6 -0
  118. package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +1 -0
  119. package/dist/__tests__/unit/components/login-user/login.spec.d.ts +1 -1
  120. package/dist/__tests__/unit/components/login-user/login.spec.js +2 -2
  121. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.d.ts +1 -1
  122. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js +37 -37
  123. package/dist/__tests__/unit/components/system/system.spec.d.ts +1 -1
  124. package/dist/__tests__/unit/components/system/system.spec.js +203 -203
  125. package/dist/__tests__/unit/components/system-privilege/system-privilege.spec.d.ts +1 -1
  126. package/dist/__tests__/unit/components/system-privilege/system-privilege.spec.js +84 -84
  127. package/dist/__tests__/unit/components/user-group/user-group.spec.d.ts +1 -1
  128. package/dist/__tests__/unit/components/user-group/user-group.spec.js +81 -81
  129. package/dist/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.d.ts +1 -1
  130. package/dist/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.js +78 -78
  131. package/dist/__tests__/unit/components/user-privilege/user-privilege.spec.d.ts +1 -1
  132. package/dist/__tests__/unit/components/user-privilege/user-privilege.spec.js +75 -75
  133. package/dist/__tests__/unit/components/user-system-access/user-system-access.spec.d.ts +1 -1
  134. package/dist/__tests__/unit/components/user-system-access/user-system-access.spec.js +82 -82
  135. package/dist/__tests__/unit/components/user-system-access/user-system-access.spec.js.map +1 -1
  136. package/dist/__tests__/unit/redis-client/redis.service.spec.d.ts +1 -1
  137. package/dist/__tests__/unit/redis-client/redis.service.spec.js +31 -31
  138. package/dist/__tests__/unit/session/session.service.spec.d.ts +1 -1
  139. package/dist/__tests__/unit/session/session.service.spec.js +54 -54
  140. package/dist/__tests__/unit/system-privilege/system-privilage.spec.js +5 -5
  141. package/dist/index.d.ts +1 -1
  142. package/dist/index.js +17 -17
  143. package/dist/src/components/api-key/api-key.d.ts +84 -84
  144. package/dist/src/components/api-key/api-key.js +255 -255
  145. package/dist/src/components/api-key/api-key.js.map +1 -1
  146. package/dist/src/components/api-key/api-key.repository.d.ts +6 -6
  147. package/dist/src/components/api-key/api-key.repository.js +25 -25
  148. package/dist/src/components/api-key/index.d.ts +3 -3
  149. package/dist/src/components/api-key/index.js +7 -7
  150. package/dist/src/components/building/building.repository.d.ts +6 -6
  151. package/dist/src/components/building/building.repository.js +37 -37
  152. package/dist/src/components/building/building.repository.js.map +1 -1
  153. package/dist/src/components/building/index.d.ts +1 -1
  154. package/dist/src/components/building/index.js +17 -17
  155. package/dist/src/components/group/group.d.ts +112 -112
  156. package/dist/src/components/group/group.js +1240 -1240
  157. package/dist/src/components/group/group.js.map +1 -1
  158. package/dist/src/components/group/group.repository.d.ts +7 -7
  159. package/dist/src/components/group/group.repository.js +36 -36
  160. package/dist/src/components/group/group.repository.js.map +1 -1
  161. package/dist/src/components/group/index.d.ts +2 -2
  162. package/dist/src/components/group/index.js +18 -18
  163. package/dist/src/components/group-object-privilege/group-object-privilege.d.ts +27 -27
  164. package/dist/src/components/group-object-privilege/group-object-privilege.js +177 -177
  165. package/dist/src/components/group-object-privilege/group-object-privilege.js.map +1 -1
  166. package/dist/src/components/group-object-privilege/group-object-privilege.repository.d.ts +6 -6
  167. package/dist/src/components/group-object-privilege/group-object-privilege.repository.js +33 -33
  168. package/dist/src/components/group-object-privilege/group-object-privilege.repository.js.map +1 -1
  169. package/dist/src/components/group-object-privilege/index.d.ts +2 -2
  170. package/dist/src/components/group-object-privilege/index.js +18 -18
  171. package/dist/src/components/group-privilege/group-privilege.d.ts +24 -24
  172. package/dist/src/components/group-privilege/group-privilege.js +77 -77
  173. package/dist/src/components/group-privilege/group-privilege.js.map +1 -1
  174. package/dist/src/components/group-privilege/group-privilege.repository.d.ts +6 -6
  175. package/dist/src/components/group-privilege/group-privilege.repository.js +35 -35
  176. package/dist/src/components/group-privilege/group-privilege.repository.js.map +1 -1
  177. package/dist/src/components/group-privilege/index.d.ts +2 -2
  178. package/dist/src/components/group-privilege/index.js +18 -18
  179. package/dist/src/components/group-reporting-user/group-reporting-user.d.ts +28 -28
  180. package/dist/src/components/group-reporting-user/group-reporting-user.js +208 -208
  181. package/dist/src/components/group-reporting-user/group-reporting-user.js.map +1 -1
  182. package/dist/src/components/group-reporting-user/group-reporting-user.repository.d.ts +6 -6
  183. package/dist/src/components/group-reporting-user/group-reporting-user.repository.js +30 -30
  184. package/dist/src/components/group-reporting-user/index.d.ts +2 -2
  185. package/dist/src/components/group-reporting-user/index.js +18 -18
  186. package/dist/src/components/group-system-access/group-system-access.d.ts +27 -27
  187. package/dist/src/components/group-system-access/group-system-access.js +80 -80
  188. package/dist/src/components/group-system-access/group-system-access.js.map +1 -1
  189. package/dist/src/components/group-system-access/group-system-access.repository.d.ts +7 -7
  190. package/dist/src/components/group-system-access/group-system-access.repository.js +55 -54
  191. package/dist/src/components/group-system-access/group-system-access.repository.js.map +1 -1
  192. package/dist/src/components/group-system-access/index.d.ts +2 -2
  193. package/dist/src/components/group-system-access/index.js +18 -18
  194. package/dist/src/components/index.d.ts +17 -17
  195. package/dist/src/components/index.js +33 -33
  196. package/dist/src/components/login-history/index.d.ts +1 -1
  197. package/dist/src/components/login-history/index.js +17 -17
  198. package/dist/src/components/login-history/login-history.repository.d.ts +5 -5
  199. package/dist/src/components/login-history/login-history.repository.js +11 -11
  200. package/dist/src/components/login-user/index.d.ts +4 -4
  201. package/dist/src/components/login-user/index.js +20 -20
  202. package/dist/src/components/login-user/interfaces/check-user-info-duplicated.interface.d.ts +7 -7
  203. package/dist/src/components/login-user/interfaces/check-user-info-duplicated.interface.js +2 -2
  204. package/dist/src/components/login-user/interfaces/index.d.ts +1 -1
  205. package/dist/src/components/login-user/interfaces/index.js +17 -17
  206. package/dist/src/components/login-user/interfaces/system-access.interface.d.ts +13 -13
  207. package/dist/src/components/login-user/interfaces/system-access.interface.js +2 -2
  208. package/dist/src/components/login-user/interfaces/user-info.interface.d.ts +30 -30
  209. package/dist/src/components/login-user/interfaces/user-info.interface.js +2 -2
  210. package/dist/src/components/login-user/login-user.d.ts +13 -13
  211. package/dist/src/components/login-user/login-user.js +140 -140
  212. package/dist/src/components/login-user/login-user.js.map +1 -1
  213. package/dist/src/components/login-user/user.d.ts +143 -142
  214. package/dist/src/components/login-user/user.js +1791 -1767
  215. package/dist/src/components/login-user/user.js.map +1 -1
  216. package/dist/src/components/login-user/user.repository.d.ts +5 -5
  217. package/dist/src/components/login-user/user.repository.js +11 -11
  218. package/dist/src/components/password-hash/index.d.ts +2 -2
  219. package/dist/src/components/password-hash/index.js +18 -18
  220. package/dist/src/components/password-hash/interfaces/index.d.ts +1 -1
  221. package/dist/src/components/password-hash/interfaces/index.js +17 -17
  222. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.d.ts +4 -4
  223. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.js +2 -2
  224. package/dist/src/components/password-hash/password-hash.service.d.ts +6 -6
  225. package/dist/src/components/password-hash/password-hash.service.js +27 -27
  226. package/dist/src/components/staff/index.d.ts +1 -1
  227. package/dist/src/components/staff/index.js +17 -17
  228. package/dist/src/components/staff/staff.repository.d.ts +6 -6
  229. package/dist/src/components/staff/staff.repository.js +37 -37
  230. package/dist/src/components/staff/staff.repository.js.map +1 -1
  231. package/dist/src/components/system/index.d.ts +2 -2
  232. package/dist/src/components/system/index.js +18 -18
  233. package/dist/src/components/system/system.d.ts +39 -39
  234. package/dist/src/components/system/system.js +300 -300
  235. package/dist/src/components/system/system.js.map +1 -1
  236. package/dist/src/components/system/system.repository.d.ts +5 -5
  237. package/dist/src/components/system/system.repository.js +11 -11
  238. package/dist/src/components/system-privilege/index.d.ts +3 -3
  239. package/dist/src/components/system-privilege/index.js +7 -7
  240. package/dist/src/components/system-privilege/system-privilege.d.ts +52 -52
  241. package/dist/src/components/system-privilege/system-privilege.js +335 -335
  242. package/dist/src/components/system-privilege/system-privilege.js.map +1 -1
  243. package/dist/src/components/system-privilege/system-privilege.repository.d.ts +6 -6
  244. package/dist/src/components/system-privilege/system-privilege.repository.js +28 -28
  245. package/dist/src/components/user-group/index.d.ts +2 -2
  246. package/dist/src/components/user-group/index.js +18 -18
  247. package/dist/src/components/user-group/user-group.d.ts +50 -50
  248. package/dist/src/components/user-group/user-group.js +352 -352
  249. package/dist/src/components/user-group/user-group.js.map +1 -1
  250. package/dist/src/components/user-group/user-group.repository.d.ts +5 -5
  251. package/dist/src/components/user-group/user-group.repository.js +11 -11
  252. package/dist/src/components/user-object-privilege/index.d.ts +2 -2
  253. package/dist/src/components/user-object-privilege/index.js +18 -18
  254. package/dist/src/components/user-object-privilege/user-object-privilege.d.ts +23 -23
  255. package/dist/src/components/user-object-privilege/user-object-privilege.js +69 -69
  256. package/dist/src/components/user-object-privilege/user-object-privilege.js.map +1 -1
  257. package/dist/src/components/user-object-privilege/user-object-privilege.repository.d.ts +5 -5
  258. package/dist/src/components/user-object-privilege/user-object-privilege.repository.js +11 -11
  259. package/dist/src/components/user-privilege/index.d.ts +2 -2
  260. package/dist/src/components/user-privilege/index.js +18 -18
  261. package/dist/src/components/user-privilege/user-privilege.d.ts +64 -64
  262. package/dist/src/components/user-privilege/user-privilege.js +406 -406
  263. package/dist/src/components/user-privilege/user-privilege.js.map +1 -1
  264. package/dist/src/components/user-privilege/user-privilege.repository.d.ts +6 -6
  265. package/dist/src/components/user-privilege/user-privilege.repository.js +36 -36
  266. package/dist/src/components/user-privilege/user-privilege.repository.js.map +1 -1
  267. package/dist/src/components/user-system-access/index.d.ts +2 -2
  268. package/dist/src/components/user-system-access/index.js +18 -18
  269. package/dist/src/components/user-system-access/user-system-access.d.ts +56 -56
  270. package/dist/src/components/user-system-access/user-system-access.js +277 -277
  271. package/dist/src/components/user-system-access/user-system-access.js.map +1 -1
  272. package/dist/src/components/user-system-access/user-system-access.repository.d.ts +6 -6
  273. package/dist/src/components/user-system-access/user-system-access.repository.js +36 -36
  274. package/dist/src/components/user-system-access/user-system-access.repository.js.map +1 -1
  275. package/dist/src/database.d.ts +4 -4
  276. package/dist/src/database.js +13 -14
  277. package/dist/src/database.js.map +1 -1
  278. package/dist/src/enum/api-key.enum.d.ts +5 -5
  279. package/dist/src/enum/api-key.enum.js +9 -9
  280. package/dist/src/enum/api-key.enum.js.map +1 -1
  281. package/dist/src/enum/group-type.enum.d.ts +8 -8
  282. package/dist/src/enum/group-type.enum.js +12 -12
  283. package/dist/src/enum/group-type.enum.js.map +1 -1
  284. package/dist/src/enum/index.d.ts +6 -6
  285. package/dist/src/enum/index.js +22 -22
  286. package/dist/src/enum/login-status.enum.d.ts +4 -4
  287. package/dist/src/enum/login-status.enum.js +8 -8
  288. package/dist/src/enum/login-status.enum.js.map +1 -1
  289. package/dist/src/enum/object-status.enum.d.ts +4 -4
  290. package/dist/src/enum/object-status.enum.js +8 -8
  291. package/dist/src/enum/object-status.enum.js.map +1 -1
  292. package/dist/src/enum/user-status.enum.d.ts +7 -7
  293. package/dist/src/enum/user-status.enum.js +11 -11
  294. package/dist/src/enum/user-status.enum.js.map +1 -1
  295. package/dist/src/enum/yn.enum.d.ts +4 -4
  296. package/dist/src/enum/yn.enum.js +8 -8
  297. package/dist/src/enum/yn.enum.js.map +1 -1
  298. package/dist/src/index.d.ts +6 -6
  299. package/dist/src/index.js +24 -24
  300. package/dist/src/interfaces/api-key-attr.interface.d.ts +15 -15
  301. package/dist/src/interfaces/api-key-attr.interface.js +2 -2
  302. package/dist/src/interfaces/group-object-privilege.interface.d.ts +13 -13
  303. package/dist/src/interfaces/group-object-privilege.interface.js +2 -2
  304. package/dist/src/interfaces/group-privilege.interface.d.ts +10 -10
  305. package/dist/src/interfaces/group-privilege.interface.js +2 -2
  306. package/dist/src/interfaces/group-reporting-user.interface.d.ts +11 -11
  307. package/dist/src/interfaces/group-reporting-user.interface.js +2 -2
  308. package/dist/src/interfaces/group-search-attr.interface.d.ts +8 -8
  309. package/dist/src/interfaces/group-search-attr.interface.js +2 -2
  310. package/dist/src/interfaces/group-system-access.interface.d.ts +10 -10
  311. package/dist/src/interfaces/group-system-access.interface.js +2 -2
  312. package/dist/src/interfaces/group.interface.d.ts +16 -16
  313. package/dist/src/interfaces/group.interface.js +2 -2
  314. package/dist/src/interfaces/index.d.ts +13 -13
  315. package/dist/src/interfaces/index.js +29 -29
  316. package/dist/src/interfaces/system-login.interface.d.ts +6 -6
  317. package/dist/src/interfaces/system-login.interface.js +2 -2
  318. package/dist/src/interfaces/system-privilege-search.interface.d.ts +5 -5
  319. package/dist/src/interfaces/system-privilege-search.interface.js +2 -2
  320. package/dist/src/interfaces/system-privilege.interface.d.ts +11 -11
  321. package/dist/src/interfaces/system-privilege.interface.js +2 -2
  322. package/dist/src/interfaces/system-search-attr.interface.d.ts +5 -5
  323. package/dist/src/interfaces/system-search-attr.interface.js +2 -2
  324. package/dist/src/interfaces/system.interface.d.ts +15 -15
  325. package/dist/src/interfaces/system.interface.js +2 -2
  326. package/dist/src/interfaces/user-group.interface.d.ts +12 -12
  327. package/dist/src/interfaces/user-group.interface.js +2 -2
  328. package/dist/src/interfaces/user-object-privilege.interface.d.ts +13 -13
  329. package/dist/src/interfaces/user-object-privilege.interface.js +2 -2
  330. package/dist/src/interfaces/user-privilege.interface.d.ts +10 -10
  331. package/dist/src/interfaces/user-privilege.interface.js +2 -2
  332. package/dist/src/interfaces/user-session.interface.d.ts +4 -4
  333. package/dist/src/interfaces/user-session.interface.js +2 -2
  334. package/dist/src/interfaces/user-system-access.interface.d.ts +10 -10
  335. package/dist/src/interfaces/user-system-access.interface.js +2 -2
  336. package/dist/src/models/api-key-entity.d.ts +21 -21
  337. package/dist/src/models/api-key-entity.js +121 -121
  338. package/dist/src/models/api-key-entity.js.map +1 -1
  339. package/dist/src/models/building.entity.d.ts +29 -29
  340. package/dist/src/models/building.entity.js +212 -212
  341. package/dist/src/models/building.entity.js.map +1 -1
  342. package/dist/src/models/group-object-privilege.entity.d.ts +21 -21
  343. package/dist/src/models/group-object-privilege.entity.js +110 -110
  344. package/dist/src/models/group-object-privilege.entity.js.map +1 -1
  345. package/dist/src/models/group-privilege.entity.d.ts +18 -18
  346. package/dist/src/models/group-privilege.entity.js +95 -95
  347. package/dist/src/models/group-privilege.entity.js.map +1 -1
  348. package/dist/src/models/group-reporting-user.entity.d.ts +17 -17
  349. package/dist/src/models/group-reporting-user.entity.js +113 -113
  350. package/dist/src/models/group-reporting-user.entity.js.map +1 -1
  351. package/dist/src/models/group-system-access.entity.d.ts +18 -18
  352. package/dist/src/models/group-system-access.entity.js +98 -98
  353. package/dist/src/models/group-system-access.entity.js.map +1 -1
  354. package/dist/src/models/group.entity.d.ts +32 -32
  355. package/dist/src/models/group.entity.js +153 -154
  356. package/dist/src/models/group.entity.js.map +1 -1
  357. package/dist/src/models/login-history.entity.d.ts +14 -14
  358. package/dist/src/models/login-history.entity.js +77 -77
  359. package/dist/src/models/login-history.entity.js.map +1 -1
  360. package/dist/src/models/staff.entity.d.ts +18 -18
  361. package/dist/src/models/staff.entity.js +109 -109
  362. package/dist/src/models/staff.entity.js.map +1 -1
  363. package/dist/src/models/system-privilege.entity.d.ts +18 -18
  364. package/dist/src/models/system-privilege.entity.js +107 -107
  365. package/dist/src/models/system-privilege.entity.js.map +1 -1
  366. package/dist/src/models/system.entity.d.ts +25 -25
  367. package/dist/src/models/system.entity.js +135 -135
  368. package/dist/src/models/system.entity.js.map +1 -1
  369. package/dist/src/models/user-group.entity.d.ts +19 -19
  370. package/dist/src/models/user-group.entity.js +110 -110
  371. package/dist/src/models/user-group.entity.js.map +1 -1
  372. package/dist/src/models/user-object-privilege.entity.d.ts +20 -20
  373. package/dist/src/models/user-object-privilege.entity.js +109 -109
  374. package/dist/src/models/user-object-privilege.entity.js.map +1 -1
  375. package/dist/src/models/user-privilege.entity.d.ts +17 -17
  376. package/dist/src/models/user-privilege.entity.js +95 -95
  377. package/dist/src/models/user-privilege.entity.js.map +1 -1
  378. package/dist/src/models/user-system-access.entity.d.ts +17 -17
  379. package/dist/src/models/user-system-access.entity.js +104 -104
  380. package/dist/src/models/user-system-access.entity.js.map +1 -1
  381. package/dist/src/models/user.entity.d.ts +40 -40
  382. package/dist/src/models/user.entity.js +214 -215
  383. package/dist/src/models/user.entity.js.map +1 -1
  384. package/dist/src/redis-client/__mocks__/jest-initial-setup.d.ts +1 -1
  385. package/dist/src/redis-client/__mocks__/jest-initial-setup.js +4 -4
  386. package/dist/src/redis-client/__mocks__/redis-mock.d.ts +2 -2
  387. package/dist/src/redis-client/__mocks__/redis-mock.js +22 -22
  388. package/dist/src/redis-client/index.d.ts +1 -1
  389. package/dist/src/redis-client/index.js +17 -17
  390. package/dist/src/redis-client/redis.service.d.ts +9 -9
  391. package/dist/src/redis-client/redis.service.js +87 -87
  392. package/dist/src/redis-client/redis.service.js.map +1 -1
  393. package/dist/src/session/index.d.ts +2 -2
  394. package/dist/src/session/index.js +18 -18
  395. package/dist/src/session/interfaces/index.d.ts +1 -1
  396. package/dist/src/session/interfaces/index.js +17 -17
  397. package/dist/src/session/interfaces/session-service.interface.d.ts +9 -9
  398. package/dist/src/session/interfaces/session-service.interface.js +2 -2
  399. package/dist/src/session/session.service.d.ts +13 -13
  400. package/dist/src/session/session.service.js +95 -95
  401. package/dist/src/session/session.service.js.map +1 -1
  402. package/dist/tsconfig.tsbuildinfo +1 -1
  403. package/jest.config.js +14 -14
  404. package/migrations/20240314080602-create-user-table.js +124 -124
  405. package/migrations/20240314080603-create-user-group-table.js +85 -85
  406. package/migrations/20240314080604-create-user-user-group-table.js +55 -55
  407. package/migrations/20240314080605-create-login-history-table.js +53 -53
  408. package/migrations/20240527064925-create-system-table.js +78 -78
  409. package/migrations/20240527064926-create-system-privilege-table.js +71 -71
  410. package/migrations/20240527065342-create-group-table.js +93 -93
  411. package/migrations/20240527065633-create-group-reporting-user-table.js +76 -76
  412. package/migrations/20240528011551-create-group-system-access-table.js +72 -72
  413. package/migrations/20240528023018-user-system-access-table.js +75 -75
  414. package/migrations/20240528032229-user-privilege-table.js +76 -76
  415. package/migrations/20240528063003-create-group-privilege-table.js +76 -76
  416. package/migrations/20240528063051-create-group-object-privilege-table.js +84 -84
  417. package/migrations/20240528063107-create-user-object-privilege-table.js +84 -84
  418. package/migrations/20240528063108-create-api-key-table.js +85 -85
  419. package/migrations/20241104104802-create-building-table.js +95 -95
  420. package/package.json +88 -89
  421. package/sampledotenv +7 -7
  422. package/sonar-project.properties +22 -22
  423. package/src/components/group/group.ts +2 -3
  424. package/src/components/group-system-access/group-system-access.repository.ts +2 -3
  425. package/src/components/login-user/login-user.ts +2 -3
  426. package/src/components/login-user/user.ts +44 -6
  427. package/src/components/system-privilege/system-privilege.ts +2 -3
  428. package/src/components/user-privilege/user-privilege.ts +2 -3
  429. package/src/components/user-system-access/user-system-access.ts +2 -3
  430. package/tsconfig.build.json +5 -5
  431. package/tsconfig.json +22 -22
@@ -1,353 +1,353 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UserGroup = void 0;
13
- const general_1 = require("@tomei/general");
14
- const user_group_repository_1 = require("./user-group.repository");
15
- const config_1 = require("@tomei/config");
16
- const activity_history_1 = require("@tomei/activity-history");
17
- const group_system_access_entity_1 = require("../../models/group-system-access.entity");
18
- const group_entity_1 = require("../../models/group.entity");
19
- const system_entity_1 = require("../../models/system.entity");
20
- const user_entity_1 = require("../../models/user.entity");
21
- class UserGroup extends general_1.ObjectBase {
22
- get CreatedAt() {
23
- return this._CreatedAt;
24
- }
25
- get UpdatedAt() {
26
- return this._UpdatedAt;
27
- }
28
- get CreatedById() {
29
- return this._CreatedById;
30
- }
31
- get UpdatedById() {
32
- return this._UpdatedById;
33
- }
34
- constructor(userGroupAttr) {
35
- super();
36
- this.ObjectType = 'UserGroup';
37
- this.TableName = 'sso_UserGroup';
38
- this.InheritGroupPrivilegeYN = 'Y';
39
- this.InheritGroupSystemAccessYN = 'Y';
40
- if (userGroupAttr) {
41
- this.UserGroupId = userGroupAttr.UserGroupId;
42
- this.UserId = userGroupAttr.UserId;
43
- this.GroupCode = userGroupAttr.GroupCode;
44
- this.Status = userGroupAttr.Status;
45
- this.InheritGroupPrivilegeYN = userGroupAttr.InheritGroupPrivilegeYN;
46
- this.InheritGroupSystemAccessYN =
47
- userGroupAttr.InheritGroupSystemAccessYN;
48
- this._CreatedById = userGroupAttr.CreatedById;
49
- this._CreatedAt = userGroupAttr.CreatedAt;
50
- this._UpdatedById = userGroupAttr.UpdatedById;
51
- this._UpdatedAt = userGroupAttr.UpdatedAt;
52
- }
53
- }
54
- static init(dbTransaction, UserGroupId) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- try {
57
- const userGroup = new UserGroup();
58
- if (UserGroupId) {
59
- const userGroupAttr = yield this._Repository.findOne({
60
- where: { UserGroupId },
61
- transaction: dbTransaction,
62
- });
63
- if (userGroupAttr) {
64
- userGroup.UserGroupId = userGroupAttr.UserGroupId;
65
- userGroup.UserId = userGroupAttr.UserId;
66
- userGroup.GroupCode = userGroupAttr.GroupCode;
67
- userGroup.Status = userGroupAttr.Status;
68
- userGroup.InheritGroupPrivilegeYN =
69
- userGroupAttr.InheritGroupPrivilegeYN;
70
- userGroup.InheritGroupSystemAccessYN =
71
- userGroupAttr.InheritGroupSystemAccessYN;
72
- userGroup._CreatedById = userGroupAttr.CreatedById;
73
- userGroup._CreatedAt = userGroupAttr.CreatedAt;
74
- userGroup._UpdatedById = userGroupAttr.UpdatedById;
75
- userGroup._UpdatedAt = userGroupAttr.UpdatedAt;
76
- }
77
- else {
78
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg00', 'UserGroup Not Found');
79
- }
80
- }
81
- return userGroup;
82
- }
83
- catch (error) {
84
- throw error;
85
- }
86
- });
87
- }
88
- create(loginUser, dbTransaction, group, user) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- try {
91
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
92
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_CREATE');
93
- if (!isPrivileged) {
94
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to create user group.');
95
- }
96
- if (!group.GroupCode) {
97
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg02', 'GroupCode is required.');
98
- }
99
- if (!user.UserId) {
100
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg03', 'UserId is required.');
101
- }
102
- const userGroup = yield UserGroup.findOne(dbTransaction, loginUser, group.GroupCode, user.UserId);
103
- if (userGroup) {
104
- return userGroup;
105
- }
106
- this.UserId = user.UserId;
107
- this.GroupCode = group.GroupCode;
108
- this.Status = 'Active';
109
- this._CreatedById = loginUser.UserId;
110
- this._CreatedAt = new Date();
111
- this._UpdatedById = loginUser.UserId;
112
- this._UpdatedAt = new Date();
113
- const userData = yield UserGroup._Repository.create({
114
- UserId: this.UserId,
115
- GroupCode: this.GroupCode,
116
- Status: this.Status,
117
- CreatedById: this._CreatedById,
118
- CreatedAt: this._CreatedAt,
119
- UpdatedById: this._UpdatedById,
120
- UpdatedAt: this._UpdatedAt,
121
- InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
122
- InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
123
- }, {
124
- transaction: dbTransaction,
125
- });
126
- this.UserGroupId = userData.UserGroupId;
127
- const EntityValueAfter = {
128
- UserGroupId: this.UserGroupId,
129
- UserId: this.UserId,
130
- GroupCode: this.GroupCode,
131
- Status: this.Status,
132
- CreatedById: this._CreatedById,
133
- CreatedAt: this._CreatedAt,
134
- UpdatedById: this._UpdatedById,
135
- UpdatedAt: this._UpdatedAt,
136
- InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
137
- InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
138
- };
139
- const activity = new activity_history_1.Activity();
140
- activity.ActivityId = activity.createId();
141
- activity.Action = activity_history_1.ActionEnum.CREATE;
142
- activity.Description = 'Assign user to group.';
143
- activity.EntityType = 'UserGroup';
144
- activity.EntityId = this.UserGroupId.toString();
145
- activity.EntityValueBefore = JSON.stringify({});
146
- activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
147
- yield activity.create(loginUser.ObjectId, dbTransaction);
148
- return this;
149
- }
150
- catch (error) {
151
- throw error;
152
- }
153
- });
154
- }
155
- static findOne(dbTransaction, loginUser, GroupCode, UserId) {
156
- return __awaiter(this, void 0, void 0, function* () {
157
- try {
158
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
159
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_VIEW');
160
- if (!isPrivileged) {
161
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to view user group.');
162
- }
163
- const userGroupAttr = yield UserGroup._Repository.findOne({
164
- where: {
165
- UserId,
166
- GroupCode,
167
- },
168
- transaction: dbTransaction,
169
- });
170
- if (userGroupAttr) {
171
- return new UserGroup(userGroupAttr.get({ plain: true }));
172
- }
173
- return null;
174
- }
175
- catch (error) {
176
- throw error;
177
- }
178
- });
179
- }
180
- static getUser(dbTransaction, loginUser, GroupCode) {
181
- return __awaiter(this, void 0, void 0, function* () {
182
- try {
183
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
184
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_VIEW');
185
- if (!isPrivileged) {
186
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to view user group.');
187
- }
188
- const userGroup = yield UserGroup._Repository.findAll({
189
- where: {
190
- GroupCode,
191
- },
192
- include: [
193
- {
194
- model: user_entity_1.default,
195
- as: 'User',
196
- attributes: ['UserId', 'FullName', 'Email'],
197
- },
198
- ],
199
- transaction: dbTransaction,
200
- });
201
- return userGroup;
202
- return null;
203
- }
204
- catch (error) {
205
- throw error;
206
- }
207
- });
208
- }
209
- static findAllInheritedSystemAccesses(UserId, loginUser, dbTransaction) {
210
- return __awaiter(this, void 0, void 0, function* () {
211
- try {
212
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
213
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_SYSTEM_ACCESS_LIST');
214
- if (!isPrivileged) {
215
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to view user system access.', 'findAllInheritedSystemAccesses', 403);
216
- }
217
- const userGroups = yield UserGroup._Repository.findAll({
218
- where: {
219
- UserId,
220
- Status: 'Active',
221
- },
222
- include: [
223
- {
224
- model: group_entity_1.default,
225
- required: true,
226
- where: {
227
- Status: 'Active',
228
- },
229
- include: [
230
- {
231
- model: group_system_access_entity_1.default,
232
- where: {
233
- Status: 'Active',
234
- },
235
- include: [
236
- {
237
- model: system_entity_1.default,
238
- },
239
- ],
240
- },
241
- ],
242
- },
243
- ],
244
- transaction: dbTransaction,
245
- });
246
- const result = [];
247
- for (const userGroup of userGroups) {
248
- const groupData = {
249
- UserGroupId: userGroup.UserGroupId,
250
- GroupCode: userGroup.GroupCode,
251
- GroupName: userGroup.Group.Name,
252
- InheritGroupSystemAccessYN: userGroup.InheritGroupSystemAccessYN,
253
- CreatedAt: userGroup.CreatedAt,
254
- UpdatedAt: userGroup.UpdatedAt,
255
- Systems: [],
256
- };
257
- if (userGroup.InheritGroupSystemAccessYN === 'Y') {
258
- groupData.Systems = userGroup.Group.GroupSystemAccesses.map((groupSystemAccess) => {
259
- return {
260
- SystemCode: groupSystemAccess.System.SystemCode,
261
- SystemName: groupSystemAccess.System.Name,
262
- AccessStatus: groupSystemAccess.Status,
263
- CreatedAt: groupSystemAccess.CreatedAt,
264
- UpdatedAt: groupSystemAccess.UpdatedAt,
265
- };
266
- });
267
- }
268
- result.push(groupData);
269
- }
270
- return result;
271
- }
272
- catch (error) {
273
- throw error;
274
- }
275
- });
276
- }
277
- update(loginUser, dbTransaction, UpdatedProperties) {
278
- return __awaiter(this, void 0, void 0, function* () {
279
- try {
280
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
281
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_UPDATE');
282
- if (!isPrivileged) {
283
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to update user group.', 'update', 403);
284
- }
285
- if (!UpdatedProperties.InheritGroupPrivilegeYN &&
286
- !UpdatedProperties.InheritGroupSystemAccessYN) {
287
- throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg04', 'At least one of the properties to update is required.', 'update', 400);
288
- }
289
- const entityValueBefore = {
290
- UserGroupId: this.UserGroupId,
291
- UserId: this.UserId,
292
- GroupCode: this.GroupCode,
293
- Status: this.Status,
294
- CreatedById: this._CreatedById,
295
- CreatedAt: this._CreatedAt,
296
- UpdatedById: this._UpdatedById,
297
- UpdatedAt: this._UpdatedAt,
298
- InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
299
- InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
300
- };
301
- this._UpdatedById = loginUser.UserId;
302
- this._UpdatedAt = new Date();
303
- if (UpdatedProperties.InheritGroupPrivilegeYN) {
304
- this.InheritGroupPrivilegeYN =
305
- UpdatedProperties.InheritGroupPrivilegeYN;
306
- }
307
- if (UpdatedProperties.InheritGroupSystemAccessYN) {
308
- this.InheritGroupSystemAccessYN =
309
- UpdatedProperties.InheritGroupSystemAccessYN;
310
- }
311
- yield UserGroup._Repository.update({
312
- InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
313
- InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
314
- UpdatedById: this._UpdatedById,
315
- UpdatedAt: this._UpdatedAt,
316
- }, {
317
- where: {
318
- UserGroupId: this.UserGroupId,
319
- },
320
- transaction: dbTransaction,
321
- });
322
- const entityValueAfter = {
323
- UserGroupId: this.UserGroupId,
324
- UserId: this.UserId,
325
- GroupCode: this.GroupCode,
326
- Status: this.Status,
327
- CreatedById: this._CreatedById,
328
- CreatedAt: this._CreatedAt,
329
- UpdatedById: this._UpdatedById,
330
- UpdatedAt: this._UpdatedAt,
331
- InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
332
- InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
333
- };
334
- const activity = new activity_history_1.Activity();
335
- activity.ActivityId = activity.createId();
336
- activity.Action = activity_history_1.ActionEnum.UPDATE;
337
- activity.Description = 'Update User Group';
338
- activity.EntityType = 'UserGroup';
339
- activity.EntityId = this.UserGroupId.toString();
340
- activity.EntityValueBefore = JSON.stringify(entityValueBefore);
341
- activity.EntityValueAfter = JSON.stringify(entityValueAfter);
342
- yield activity.create(loginUser.ObjectId, dbTransaction);
343
- return this;
344
- }
345
- catch (error) {
346
- throw error;
347
- }
348
- });
349
- }
350
- }
351
- exports.UserGroup = UserGroup;
352
- UserGroup._Repository = new user_group_repository_1.UserGroupRepository();
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserGroup = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const user_group_repository_1 = require("./user-group.repository");
15
+ const config_1 = require("@tomei/config");
16
+ const activity_history_1 = require("@tomei/activity-history");
17
+ const group_system_access_entity_1 = require("../../models/group-system-access.entity");
18
+ const group_entity_1 = require("../../models/group.entity");
19
+ const system_entity_1 = require("../../models/system.entity");
20
+ const user_entity_1 = require("../../models/user.entity");
21
+ class UserGroup extends general_1.ObjectBase {
22
+ get CreatedAt() {
23
+ return this._CreatedAt;
24
+ }
25
+ get UpdatedAt() {
26
+ return this._UpdatedAt;
27
+ }
28
+ get CreatedById() {
29
+ return this._CreatedById;
30
+ }
31
+ get UpdatedById() {
32
+ return this._UpdatedById;
33
+ }
34
+ constructor(userGroupAttr) {
35
+ super();
36
+ this.ObjectType = 'UserGroup';
37
+ this.TableName = 'sso_UserGroup';
38
+ this.InheritGroupPrivilegeYN = 'Y';
39
+ this.InheritGroupSystemAccessYN = 'Y';
40
+ if (userGroupAttr) {
41
+ this.UserGroupId = userGroupAttr.UserGroupId;
42
+ this.UserId = userGroupAttr.UserId;
43
+ this.GroupCode = userGroupAttr.GroupCode;
44
+ this.Status = userGroupAttr.Status;
45
+ this.InheritGroupPrivilegeYN = userGroupAttr.InheritGroupPrivilegeYN;
46
+ this.InheritGroupSystemAccessYN =
47
+ userGroupAttr.InheritGroupSystemAccessYN;
48
+ this._CreatedById = userGroupAttr.CreatedById;
49
+ this._CreatedAt = userGroupAttr.CreatedAt;
50
+ this._UpdatedById = userGroupAttr.UpdatedById;
51
+ this._UpdatedAt = userGroupAttr.UpdatedAt;
52
+ }
53
+ }
54
+ static init(dbTransaction, UserGroupId) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ try {
57
+ const userGroup = new UserGroup();
58
+ if (UserGroupId) {
59
+ const userGroupAttr = yield this._Repository.findOne({
60
+ where: { UserGroupId },
61
+ transaction: dbTransaction,
62
+ });
63
+ if (userGroupAttr) {
64
+ userGroup.UserGroupId = userGroupAttr.UserGroupId;
65
+ userGroup.UserId = userGroupAttr.UserId;
66
+ userGroup.GroupCode = userGroupAttr.GroupCode;
67
+ userGroup.Status = userGroupAttr.Status;
68
+ userGroup.InheritGroupPrivilegeYN =
69
+ userGroupAttr.InheritGroupPrivilegeYN;
70
+ userGroup.InheritGroupSystemAccessYN =
71
+ userGroupAttr.InheritGroupSystemAccessYN;
72
+ userGroup._CreatedById = userGroupAttr.CreatedById;
73
+ userGroup._CreatedAt = userGroupAttr.CreatedAt;
74
+ userGroup._UpdatedById = userGroupAttr.UpdatedById;
75
+ userGroup._UpdatedAt = userGroupAttr.UpdatedAt;
76
+ }
77
+ else {
78
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg00', 'UserGroup Not Found');
79
+ }
80
+ }
81
+ return userGroup;
82
+ }
83
+ catch (error) {
84
+ throw error;
85
+ }
86
+ });
87
+ }
88
+ create(loginUser, dbTransaction, group, user) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ try {
91
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
92
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_CREATE');
93
+ if (!isPrivileged) {
94
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to create user group.');
95
+ }
96
+ if (!group.GroupCode) {
97
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg02', 'GroupCode is required.');
98
+ }
99
+ if (!user.UserId) {
100
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg03', 'UserId is required.');
101
+ }
102
+ const userGroup = yield UserGroup.findOne(dbTransaction, loginUser, group.GroupCode, user.UserId);
103
+ if (userGroup) {
104
+ return userGroup;
105
+ }
106
+ this.UserId = user.UserId;
107
+ this.GroupCode = group.GroupCode;
108
+ this.Status = 'Active';
109
+ this._CreatedById = loginUser.UserId;
110
+ this._CreatedAt = new Date();
111
+ this._UpdatedById = loginUser.UserId;
112
+ this._UpdatedAt = new Date();
113
+ const userData = yield UserGroup._Repository.create({
114
+ UserId: this.UserId,
115
+ GroupCode: this.GroupCode,
116
+ Status: this.Status,
117
+ CreatedById: this._CreatedById,
118
+ CreatedAt: this._CreatedAt,
119
+ UpdatedById: this._UpdatedById,
120
+ UpdatedAt: this._UpdatedAt,
121
+ InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
122
+ InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
123
+ }, {
124
+ transaction: dbTransaction,
125
+ });
126
+ this.UserGroupId = userData.UserGroupId;
127
+ const EntityValueAfter = {
128
+ UserGroupId: this.UserGroupId,
129
+ UserId: this.UserId,
130
+ GroupCode: this.GroupCode,
131
+ Status: this.Status,
132
+ CreatedById: this._CreatedById,
133
+ CreatedAt: this._CreatedAt,
134
+ UpdatedById: this._UpdatedById,
135
+ UpdatedAt: this._UpdatedAt,
136
+ InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
137
+ InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
138
+ };
139
+ const activity = new activity_history_1.Activity();
140
+ activity.ActivityId = activity.createId();
141
+ activity.Action = activity_history_1.ActionEnum.CREATE;
142
+ activity.Description = 'Assign user to group.';
143
+ activity.EntityType = 'UserGroup';
144
+ activity.EntityId = this.UserGroupId.toString();
145
+ activity.EntityValueBefore = JSON.stringify({});
146
+ activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
147
+ yield activity.create(loginUser.ObjectId, dbTransaction);
148
+ return this;
149
+ }
150
+ catch (error) {
151
+ throw error;
152
+ }
153
+ });
154
+ }
155
+ static findOne(dbTransaction, loginUser, GroupCode, UserId) {
156
+ return __awaiter(this, void 0, void 0, function* () {
157
+ try {
158
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
159
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_VIEW');
160
+ if (!isPrivileged) {
161
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to view user group.');
162
+ }
163
+ const userGroupAttr = yield UserGroup._Repository.findOne({
164
+ where: {
165
+ UserId,
166
+ GroupCode,
167
+ },
168
+ transaction: dbTransaction,
169
+ });
170
+ if (userGroupAttr) {
171
+ return new UserGroup(userGroupAttr.get({ plain: true }));
172
+ }
173
+ return null;
174
+ }
175
+ catch (error) {
176
+ throw error;
177
+ }
178
+ });
179
+ }
180
+ static getUser(dbTransaction, loginUser, GroupCode) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ try {
183
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
184
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_VIEW');
185
+ if (!isPrivileged) {
186
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to view user group.');
187
+ }
188
+ const userGroup = yield UserGroup._Repository.findAll({
189
+ where: {
190
+ GroupCode,
191
+ },
192
+ include: [
193
+ {
194
+ model: user_entity_1.default,
195
+ as: 'User',
196
+ attributes: ['UserId', 'FullName', 'Email'],
197
+ },
198
+ ],
199
+ transaction: dbTransaction,
200
+ });
201
+ return userGroup;
202
+ return null;
203
+ }
204
+ catch (error) {
205
+ throw error;
206
+ }
207
+ });
208
+ }
209
+ static findAllInheritedSystemAccesses(UserId, loginUser, dbTransaction) {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ try {
212
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
213
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_SYSTEM_ACCESS_LIST');
214
+ if (!isPrivileged) {
215
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to view user system access.', 'findAllInheritedSystemAccesses', 403);
216
+ }
217
+ const userGroups = yield UserGroup._Repository.findAll({
218
+ where: {
219
+ UserId,
220
+ Status: 'Active',
221
+ },
222
+ include: [
223
+ {
224
+ model: group_entity_1.default,
225
+ required: true,
226
+ where: {
227
+ Status: 'Active',
228
+ },
229
+ include: [
230
+ {
231
+ model: group_system_access_entity_1.default,
232
+ where: {
233
+ Status: 'Active',
234
+ },
235
+ include: [
236
+ {
237
+ model: system_entity_1.default,
238
+ },
239
+ ],
240
+ },
241
+ ],
242
+ },
243
+ ],
244
+ transaction: dbTransaction,
245
+ });
246
+ const result = [];
247
+ for (const userGroup of userGroups) {
248
+ const groupData = {
249
+ UserGroupId: userGroup.UserGroupId,
250
+ GroupCode: userGroup.GroupCode,
251
+ GroupName: userGroup.Group.Name,
252
+ InheritGroupSystemAccessYN: userGroup.InheritGroupSystemAccessYN,
253
+ CreatedAt: userGroup.CreatedAt,
254
+ UpdatedAt: userGroup.UpdatedAt,
255
+ Systems: [],
256
+ };
257
+ if (userGroup.InheritGroupSystemAccessYN === 'Y') {
258
+ groupData.Systems = userGroup.Group.GroupSystemAccesses.map((groupSystemAccess) => {
259
+ return {
260
+ SystemCode: groupSystemAccess.System.SystemCode,
261
+ SystemName: groupSystemAccess.System.Name,
262
+ AccessStatus: groupSystemAccess.Status,
263
+ CreatedAt: groupSystemAccess.CreatedAt,
264
+ UpdatedAt: groupSystemAccess.UpdatedAt,
265
+ };
266
+ });
267
+ }
268
+ result.push(groupData);
269
+ }
270
+ return result;
271
+ }
272
+ catch (error) {
273
+ throw error;
274
+ }
275
+ });
276
+ }
277
+ update(loginUser, dbTransaction, UpdatedProperties) {
278
+ return __awaiter(this, void 0, void 0, function* () {
279
+ try {
280
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
281
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'USER_GROUP_UPDATE');
282
+ if (!isPrivileged) {
283
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg0X', 'User does not have privilege to update user group.', 'update', 403);
284
+ }
285
+ if (!UpdatedProperties.InheritGroupPrivilegeYN &&
286
+ !UpdatedProperties.InheritGroupSystemAccessYN) {
287
+ throw new general_1.ClassError('UserGroup', 'UserGroupErrMsg04', 'At least one of the properties to update is required.', 'update', 400);
288
+ }
289
+ const entityValueBefore = {
290
+ UserGroupId: this.UserGroupId,
291
+ UserId: this.UserId,
292
+ GroupCode: this.GroupCode,
293
+ Status: this.Status,
294
+ CreatedById: this._CreatedById,
295
+ CreatedAt: this._CreatedAt,
296
+ UpdatedById: this._UpdatedById,
297
+ UpdatedAt: this._UpdatedAt,
298
+ InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
299
+ InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
300
+ };
301
+ this._UpdatedById = loginUser.UserId;
302
+ this._UpdatedAt = new Date();
303
+ if (UpdatedProperties.InheritGroupPrivilegeYN) {
304
+ this.InheritGroupPrivilegeYN =
305
+ UpdatedProperties.InheritGroupPrivilegeYN;
306
+ }
307
+ if (UpdatedProperties.InheritGroupSystemAccessYN) {
308
+ this.InheritGroupSystemAccessYN =
309
+ UpdatedProperties.InheritGroupSystemAccessYN;
310
+ }
311
+ yield UserGroup._Repository.update({
312
+ InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
313
+ InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
314
+ UpdatedById: this._UpdatedById,
315
+ UpdatedAt: this._UpdatedAt,
316
+ }, {
317
+ where: {
318
+ UserGroupId: this.UserGroupId,
319
+ },
320
+ transaction: dbTransaction,
321
+ });
322
+ const entityValueAfter = {
323
+ UserGroupId: this.UserGroupId,
324
+ UserId: this.UserId,
325
+ GroupCode: this.GroupCode,
326
+ Status: this.Status,
327
+ CreatedById: this._CreatedById,
328
+ CreatedAt: this._CreatedAt,
329
+ UpdatedById: this._UpdatedById,
330
+ UpdatedAt: this._UpdatedAt,
331
+ InheritGroupPrivilegeYN: this.InheritGroupPrivilegeYN,
332
+ InheritGroupSystemAccessYN: this.InheritGroupSystemAccessYN,
333
+ };
334
+ const activity = new activity_history_1.Activity();
335
+ activity.ActivityId = activity.createId();
336
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
337
+ activity.Description = 'Update User Group';
338
+ activity.EntityType = 'UserGroup';
339
+ activity.EntityId = this.UserGroupId.toString();
340
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
341
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
342
+ yield activity.create(loginUser.ObjectId, dbTransaction);
343
+ return this;
344
+ }
345
+ catch (error) {
346
+ throw error;
347
+ }
348
+ });
349
+ }
350
+ }
351
+ exports.UserGroup = UserGroup;
352
+ UserGroup._Repository = new user_group_repository_1.UserGroupRepository();
353
353
  //# sourceMappingURL=user-group.js.map