@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,407 +1,407 @@
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.UserPrivilege = void 0;
13
- const general_1 = require("@tomei/general");
14
- const user_privilege_repository_1 = require("./user-privilege.repository");
15
- const config_1 = require("@tomei/config");
16
- const system_privilege_entity_1 = require("../../models/system-privilege.entity");
17
- const system_entity_1 = require("../../models/system.entity");
18
- const user_group_repository_1 = require("../user-group/user-group.repository");
19
- const group_entity_1 = require("../../models/group.entity");
20
- const user_entity_1 = require("../../models/user.entity");
21
- const group_privilege_repository_1 = require("../group-privilege/group-privilege.repository");
22
- const system_privilege_repository_1 = require("../system-privilege/system-privilege.repository");
23
- const sequelize_1 = require("sequelize");
24
- const activity_history_1 = require("@tomei/activity-history");
25
- class UserPrivilege extends general_1.ObjectBase {
26
- get CreatedById() {
27
- return this._CreatedById;
28
- }
29
- get UpdatedById() {
30
- return this._UpdatedById;
31
- }
32
- get CreatedAt() {
33
- return this._CreatedAt;
34
- }
35
- get UpdatedAt() {
36
- return this._UpdatedAt;
37
- }
38
- constructor(userPrivilegeAttr) {
39
- super();
40
- this.TableName = 'sso_UserPrivilege';
41
- this.ObjectType = 'UserPrivilege';
42
- if (userPrivilegeAttr) {
43
- this.UserPrivilegeId = userPrivilegeAttr.UserPrivilegeId;
44
- this.UserId = userPrivilegeAttr.UserId;
45
- this.SystemPrivilegeId = userPrivilegeAttr.SystemPrivilegeId;
46
- this.Status = userPrivilegeAttr.Status;
47
- this._CreatedById = userPrivilegeAttr.CreatedById;
48
- this._UpdatedById = userPrivilegeAttr.UpdatedById;
49
- this._CreatedAt = userPrivilegeAttr.CreatedAt;
50
- this._UpdatedAt = userPrivilegeAttr.UpdatedAt;
51
- }
52
- }
53
- static init(dbTransaction, UserPrivilegeId) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- try {
56
- let userPrivilege = new UserPrivilege();
57
- if (UserPrivilegeId) {
58
- const userPrivilegeAttr = yield this._Repository.findOne({
59
- where: { UserPrivilegeId },
60
- transaction: dbTransaction,
61
- });
62
- if (userPrivilegeAttr) {
63
- userPrivilege = new UserPrivilege(userPrivilegeAttr);
64
- }
65
- else {
66
- throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg00', 'UserPrivilege not found');
67
- }
68
- }
69
- return userPrivilege;
70
- }
71
- catch (error) {
72
- throw error;
73
- }
74
- });
75
- }
76
- static findAll(loginUser, dbTransaction, whereOption, pagination) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- try {
79
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
80
- const privilegeCode = 'USER_PRIVILEGE_LIST';
81
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
82
- if (!isPrivileged) {
83
- throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg01', 'You do not have permission to access this resource.');
84
- }
85
- const options = {
86
- where: {
87
- UserId: whereOption.UserId,
88
- },
89
- offset: (pagination.page - 1) * pagination.limit,
90
- limit: pagination.limit,
91
- transaction: dbTransaction,
92
- include: [
93
- {
94
- model: system_privilege_entity_1.default,
95
- attributes: ['PrivilegeCode'],
96
- include: [
97
- {
98
- model: system_entity_1.default,
99
- attributes: ['Name'],
100
- },
101
- ],
102
- },
103
- {
104
- model: user_entity_1.default,
105
- as: 'CreatedByUser',
106
- attributes: ['FullName'],
107
- },
108
- {
109
- model: user_entity_1.default,
110
- as: 'UpdatedByUser',
111
- attributes: ['FullName'],
112
- },
113
- ],
114
- };
115
- const { count, rows } = yield this._Repository.findAllWithPagination(options);
116
- return {
117
- records: rows.map((record) => {
118
- return {
119
- UserPrivilegeId: record.UserPrivilegeId,
120
- SystemPrivilegeId: record.SystemPrivilegeId,
121
- PrivilegeCode: record.Privilege.PrivilegeCode,
122
- SystemName: record.Privilege.System.Name,
123
- Status: record.Status,
124
- CreatedBy: record.CreatedByUser.FullName,
125
- CreatedAt: record.CreatedAt,
126
- UpdatedBy: record.UpdatedByUser.FullName,
127
- UpdatedAt: record.UpdatedAt,
128
- };
129
- }),
130
- pagination: {
131
- currentPage: pagination.page,
132
- pageSize: pagination.limit,
133
- totalRecords: count,
134
- },
135
- };
136
- }
137
- catch (error) {
138
- throw error;
139
- }
140
- });
141
- }
142
- static findAllInheritedPrivileges(UserId, loginUser, dbTransaction) {
143
- return __awaiter(this, void 0, void 0, function* () {
144
- try {
145
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
146
- const privilegeCode = 'USER_PRIVILEGE_LIST';
147
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
148
- if (!isPrivileged) {
149
- throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg01', 'You do not have permission to access this resource.');
150
- }
151
- const userGroups = yield UserPrivilege._UserGroupRepository.findAll({
152
- where: {
153
- UserId,
154
- },
155
- include: [
156
- {
157
- model: group_entity_1.default,
158
- attributes: ['GroupCode', 'Name', 'InheritParentPrivilegeYN'],
159
- },
160
- ],
161
- transaction: dbTransaction,
162
- });
163
- const listOfGroups = userGroups.map((groups) => {
164
- let inheritPrivilegeYN = groups.InheritGroupPrivilegeYN;
165
- if (inheritPrivilegeYN !== 'Y') {
166
- inheritPrivilegeYN = 'N';
167
- }
168
- return {
169
- UserGroupId: groups.UserGroupId,
170
- GroupCode: groups.GroupCode,
171
- GroupName: groups.Group.Name,
172
- InheritPrivilegeYN: inheritPrivilegeYN,
173
- Status: groups.Status,
174
- };
175
- });
176
- const userGroupPrivilege = [];
177
- for (let i = 0; i < listOfGroups.length; i++) {
178
- const group = yield listOfGroups[i];
179
- const data = {
180
- UserGroupId: group.UserGroupId,
181
- GroupCode: group.GroupCode,
182
- GroupName: group.GroupName,
183
- InheritPrivilegeYN: group.InheritPrivilegeYN,
184
- systems: [],
185
- };
186
- if (group.InheritPrivilegeYN === 'Y') {
187
- if (group.Status === 'Active') {
188
- const options = {
189
- where: {
190
- GroupCode: group.GroupCode,
191
- Status: 'Active',
192
- },
193
- transaction: dbTransaction,
194
- include: [
195
- {
196
- model: system_privilege_entity_1.default,
197
- attributes: ['PrivilegeCode'],
198
- include: [
199
- {
200
- model: system_entity_1.default,
201
- attributes: ['Name'],
202
- },
203
- ],
204
- },
205
- {
206
- model: user_entity_1.default,
207
- as: 'CreatedByUser',
208
- attributes: ['FullName'],
209
- },
210
- {
211
- model: user_entity_1.default,
212
- as: 'UpdatedByUser',
213
- attributes: ['FullName'],
214
- },
215
- ],
216
- };
217
- const systemPrivilege = yield this._GroupPrivilegeRepository.findAll(options);
218
- const privilegeDetails = systemPrivilege.map((record) => {
219
- return {
220
- GroupPrivilegeId: record.GroupPrivilegeId,
221
- SystemPrivilegeId: record.SystemPrivilegeId,
222
- PrivilegeCode: record.Privilege.PrivilegeCode,
223
- Status: record.Status,
224
- CreatedBy: record.CreatedByUser.FullName,
225
- CreatedAt: record.CreatedAt,
226
- UpdatedBy: record.UpdatedByUser.FullName,
227
- UpdatedAt: record.UpdatedAt,
228
- };
229
- });
230
- data.systems = privilegeDetails;
231
- }
232
- }
233
- userGroupPrivilege.push(data);
234
- }
235
- return userGroupPrivilege;
236
- }
237
- catch (error) {
238
- throw error;
239
- }
240
- });
241
- }
242
- static assignPrivileges(loginUser, dbTransaction, UserId, SystemPrivilegeId, Status) {
243
- var _a;
244
- return __awaiter(this, void 0, void 0, function* () {
245
- try {
246
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
247
- const privilegeCode = 'USER_PRIVILEGE_CREATE';
248
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
249
- if (!isPrivileged) {
250
- throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg01', 'You do not have permission to access this resource.');
251
- }
252
- const isExist = yield UserPrivilege._SystemPrivilegeRepository.findAll({
253
- where: { SystemPrivilegeId: SystemPrivilegeId },
254
- transaction: dbTransaction,
255
- });
256
- if ((isExist === null || isExist === void 0 ? void 0 : isExist.length) < 1) {
257
- throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg02', "system privileges don't exist");
258
- }
259
- const isUserAlreadyAssign = yield UserPrivilege._Repository.findAll({
260
- where: {
261
- [sequelize_1.Op.and]: [
262
- { UserId: UserId },
263
- { SystemPrivilegeId: SystemPrivilegeId },
264
- ],
265
- },
266
- transaction: dbTransaction,
267
- });
268
- if ((isUserAlreadyAssign === null || isUserAlreadyAssign === void 0 ? void 0 : isUserAlreadyAssign.length) > 0) {
269
- throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg03', 'User already have access to this privilege');
270
- }
271
- const newUserPrivilege = new UserPrivilege();
272
- newUserPrivilege.UserId = parseInt(UserId);
273
- newUserPrivilege.SystemPrivilegeId = SystemPrivilegeId;
274
- newUserPrivilege.Status = Status;
275
- newUserPrivilege._CreatedById = loginUser.UserId;
276
- newUserPrivilege._CreatedAt = new Date();
277
- newUserPrivilege._UpdatedById = loginUser.UserId;
278
- newUserPrivilege._UpdatedAt = new Date();
279
- const payload = {
280
- UserId: newUserPrivilege.UserId,
281
- SystemPrivilegeId: newUserPrivilege.SystemPrivilegeId,
282
- Status: newUserPrivilege.Status,
283
- CreatedById: newUserPrivilege.CreatedById,
284
- CreatedAt: newUserPrivilege.CreatedAt,
285
- UpdatedById: newUserPrivilege.UpdatedById,
286
- UpdatedAt: newUserPrivilege.UpdatedAt,
287
- };
288
- const userPrivilege = yield UserPrivilege._Repository.create(payload, {
289
- transaction: dbTransaction,
290
- });
291
- const entityValueBefore = {};
292
- const activity = new activity_history_1.Activity();
293
- activity.ActivityId = activity.createId();
294
- activity.Action = activity_history_1.ActionEnum.CREATE;
295
- activity.Description = 'Create User Privilege';
296
- activity.EntityType = 'UserPrivilege';
297
- activity.EntityId = (_a = userPrivilege.UserPrivilegeId) === null || _a === void 0 ? void 0 : _a.toString();
298
- activity.EntityValueBefore = JSON.stringify(entityValueBefore);
299
- activity.EntityValueAfter = JSON.stringify(payload);
300
- yield activity.create(loginUser.ObjectId, dbTransaction);
301
- newUserPrivilege.UserPrivilegeId = userPrivilege.UserPrivilegeId;
302
- return newUserPrivilege;
303
- }
304
- catch (error) {
305
- throw error;
306
- }
307
- });
308
- }
309
- update(loginUser, dbTransaction, Status) {
310
- return __awaiter(this, void 0, void 0, function* () {
311
- try {
312
- const entityValueBefore = {
313
- UserPrivilegeId: this.UserPrivilegeId,
314
- UserId: this.UserId,
315
- SystemPrivilegeId: this.SystemPrivilegeId,
316
- Status: this.Status,
317
- CreatedById: this.CreatedById,
318
- CreatedAt: this.CreatedAt,
319
- UpdatedById: this.UpdatedById,
320
- UpdatedAt: this.UpdatedAt,
321
- };
322
- yield UserPrivilege._Repository.update({
323
- Status: Status,
324
- UpdatedById: loginUser.UserId,
325
- UpdatedAt: new Date(),
326
- }, {
327
- where: {
328
- UserPrivilegeId: this.UserPrivilegeId,
329
- },
330
- transaction: dbTransaction,
331
- });
332
- const entityValueAfter = {
333
- UserPrivilegeId: this.UserPrivilegeId,
334
- UserId: this.UserId,
335
- SystemPrivilegeId: this.SystemPrivilegeId,
336
- Status: Status,
337
- CreatedById: this.CreatedById,
338
- CreatedAt: this.CreatedAt,
339
- UpdatedById: loginUser.UserId,
340
- UpdatedAt: new Date(),
341
- };
342
- const activity = new activity_history_1.Activity();
343
- activity.ActivityId = activity.createId();
344
- activity.Action = activity_history_1.ActionEnum.UPDATE;
345
- activity.Description = 'Update User Privilege';
346
- activity.EntityType = 'UserPrivilege';
347
- activity.EntityId = this.SystemPrivilegeId + '';
348
- activity.EntityValueBefore = JSON.stringify(entityValueBefore);
349
- activity.EntityValueAfter = JSON.stringify(entityValueAfter);
350
- yield activity.create(loginUser.ObjectId, dbTransaction);
351
- return entityValueAfter;
352
- }
353
- catch (error) {
354
- throw error;
355
- }
356
- });
357
- }
358
- static remove(loginUser, dbTransaction, UserPrivilegeId) {
359
- return __awaiter(this, void 0, void 0, function* () {
360
- try {
361
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
362
- const privilegeCode = 'USER_PRIVILEGE_REMOVE';
363
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
364
- if (!isPrivileged) {
365
- throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg01', 'You do not have permission to access this resource.');
366
- }
367
- const userPrivilege = yield UserPrivilege._Repository.findOne({
368
- where: {
369
- UserPrivilegeId: UserPrivilegeId,
370
- },
371
- transaction: dbTransaction,
372
- });
373
- if (!userPrivilege) {
374
- throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg01', 'User Privilege not Found');
375
- }
376
- yield UserPrivilege._Repository.delete(UserPrivilegeId, dbTransaction);
377
- const entityValueBefore = {
378
- UserId: userPrivilege.UserId,
379
- SystemPrivilegeId: userPrivilege.SystemPrivilegeId,
380
- Status: userPrivilege.Status,
381
- CreatedById: userPrivilege.CreatedById,
382
- CreatedAt: userPrivilege.CreatedAt,
383
- UpdatedById: userPrivilege.UpdatedById,
384
- UpdatedAt: userPrivilege.UpdatedAt,
385
- };
386
- const activity = new activity_history_1.Activity();
387
- activity.ActivityId = activity.createId();
388
- activity.Action = activity_history_1.ActionEnum.DELETE;
389
- activity.Description = 'Delete User Privilege';
390
- activity.EntityType = 'UserPrivilege';
391
- activity.EntityId = UserPrivilegeId === null || UserPrivilegeId === void 0 ? void 0 : UserPrivilegeId.toString();
392
- activity.EntityValueBefore = JSON.stringify(entityValueBefore);
393
- activity.EntityValueAfter = JSON.stringify({});
394
- yield activity.create(loginUser.ObjectId, dbTransaction);
395
- }
396
- catch (error) {
397
- throw error;
398
- }
399
- });
400
- }
401
- }
402
- exports.UserPrivilege = UserPrivilege;
403
- UserPrivilege._Repository = new user_privilege_repository_1.UserPrivilegeRepository();
404
- UserPrivilege._UserGroupRepository = new user_group_repository_1.UserGroupRepository();
405
- UserPrivilege._GroupPrivilegeRepository = new group_privilege_repository_1.GroupPrivilegeRepository();
406
- UserPrivilege._SystemPrivilegeRepository = new system_privilege_repository_1.SystemPrivilegeRepository();
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.UserPrivilege = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const user_privilege_repository_1 = require("./user-privilege.repository");
15
+ const config_1 = require("@tomei/config");
16
+ const system_privilege_entity_1 = require("../../models/system-privilege.entity");
17
+ const system_entity_1 = require("../../models/system.entity");
18
+ const user_group_repository_1 = require("../user-group/user-group.repository");
19
+ const group_entity_1 = require("../../models/group.entity");
20
+ const user_entity_1 = require("../../models/user.entity");
21
+ const group_privilege_repository_1 = require("../group-privilege/group-privilege.repository");
22
+ const system_privilege_repository_1 = require("../system-privilege/system-privilege.repository");
23
+ const sequelize_1 = require("sequelize");
24
+ const activity_history_1 = require("@tomei/activity-history");
25
+ class UserPrivilege extends general_1.ObjectBase {
26
+ get CreatedById() {
27
+ return this._CreatedById;
28
+ }
29
+ get UpdatedById() {
30
+ return this._UpdatedById;
31
+ }
32
+ get CreatedAt() {
33
+ return this._CreatedAt;
34
+ }
35
+ get UpdatedAt() {
36
+ return this._UpdatedAt;
37
+ }
38
+ constructor(userPrivilegeAttr) {
39
+ super();
40
+ this.TableName = 'sso_UserPrivilege';
41
+ this.ObjectType = 'UserPrivilege';
42
+ if (userPrivilegeAttr) {
43
+ this.UserPrivilegeId = userPrivilegeAttr.UserPrivilegeId;
44
+ this.UserId = userPrivilegeAttr.UserId;
45
+ this.SystemPrivilegeId = userPrivilegeAttr.SystemPrivilegeId;
46
+ this.Status = userPrivilegeAttr.Status;
47
+ this._CreatedById = userPrivilegeAttr.CreatedById;
48
+ this._UpdatedById = userPrivilegeAttr.UpdatedById;
49
+ this._CreatedAt = userPrivilegeAttr.CreatedAt;
50
+ this._UpdatedAt = userPrivilegeAttr.UpdatedAt;
51
+ }
52
+ }
53
+ static init(dbTransaction, UserPrivilegeId) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ try {
56
+ let userPrivilege = new UserPrivilege();
57
+ if (UserPrivilegeId) {
58
+ const userPrivilegeAttr = yield this._Repository.findOne({
59
+ where: { UserPrivilegeId },
60
+ transaction: dbTransaction,
61
+ });
62
+ if (userPrivilegeAttr) {
63
+ userPrivilege = new UserPrivilege(userPrivilegeAttr);
64
+ }
65
+ else {
66
+ throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg00', 'UserPrivilege not found');
67
+ }
68
+ }
69
+ return userPrivilege;
70
+ }
71
+ catch (error) {
72
+ throw error;
73
+ }
74
+ });
75
+ }
76
+ static findAll(loginUser, dbTransaction, whereOption, pagination) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ try {
79
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
80
+ const privilegeCode = 'USER_PRIVILEGE_LIST';
81
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
82
+ if (!isPrivileged) {
83
+ throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg01', 'You do not have permission to access this resource.');
84
+ }
85
+ const options = {
86
+ where: {
87
+ UserId: whereOption.UserId,
88
+ },
89
+ offset: (pagination.page - 1) * pagination.limit,
90
+ limit: pagination.limit,
91
+ transaction: dbTransaction,
92
+ include: [
93
+ {
94
+ model: system_privilege_entity_1.default,
95
+ attributes: ['PrivilegeCode'],
96
+ include: [
97
+ {
98
+ model: system_entity_1.default,
99
+ attributes: ['Name'],
100
+ },
101
+ ],
102
+ },
103
+ {
104
+ model: user_entity_1.default,
105
+ as: 'CreatedByUser',
106
+ attributes: ['FullName'],
107
+ },
108
+ {
109
+ model: user_entity_1.default,
110
+ as: 'UpdatedByUser',
111
+ attributes: ['FullName'],
112
+ },
113
+ ],
114
+ };
115
+ const { count, rows } = yield this._Repository.findAllWithPagination(options);
116
+ return {
117
+ records: rows.map((record) => {
118
+ return {
119
+ UserPrivilegeId: record.UserPrivilegeId,
120
+ SystemPrivilegeId: record.SystemPrivilegeId,
121
+ PrivilegeCode: record.Privilege.PrivilegeCode,
122
+ SystemName: record.Privilege.System.Name,
123
+ Status: record.Status,
124
+ CreatedBy: record.CreatedByUser.FullName,
125
+ CreatedAt: record.CreatedAt,
126
+ UpdatedBy: record.UpdatedByUser.FullName,
127
+ UpdatedAt: record.UpdatedAt,
128
+ };
129
+ }),
130
+ pagination: {
131
+ currentPage: pagination.page,
132
+ pageSize: pagination.limit,
133
+ totalRecords: count,
134
+ },
135
+ };
136
+ }
137
+ catch (error) {
138
+ throw error;
139
+ }
140
+ });
141
+ }
142
+ static findAllInheritedPrivileges(UserId, loginUser, dbTransaction) {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ try {
145
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
146
+ const privilegeCode = 'USER_PRIVILEGE_LIST';
147
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
148
+ if (!isPrivileged) {
149
+ throw new general_1.ClassError('UserPrivilege', 'UserPrivilegeErrMsg01', 'You do not have permission to access this resource.');
150
+ }
151
+ const userGroups = yield UserPrivilege._UserGroupRepository.findAll({
152
+ where: {
153
+ UserId,
154
+ },
155
+ include: [
156
+ {
157
+ model: group_entity_1.default,
158
+ attributes: ['GroupCode', 'Name', 'InheritParentPrivilegeYN'],
159
+ },
160
+ ],
161
+ transaction: dbTransaction,
162
+ });
163
+ const listOfGroups = userGroups.map((groups) => {
164
+ let inheritPrivilegeYN = groups.InheritGroupPrivilegeYN;
165
+ if (inheritPrivilegeYN !== 'Y') {
166
+ inheritPrivilegeYN = 'N';
167
+ }
168
+ return {
169
+ UserGroupId: groups.UserGroupId,
170
+ GroupCode: groups.GroupCode,
171
+ GroupName: groups.Group.Name,
172
+ InheritPrivilegeYN: inheritPrivilegeYN,
173
+ Status: groups.Status,
174
+ };
175
+ });
176
+ const userGroupPrivilege = [];
177
+ for (let i = 0; i < listOfGroups.length; i++) {
178
+ const group = yield listOfGroups[i];
179
+ const data = {
180
+ UserGroupId: group.UserGroupId,
181
+ GroupCode: group.GroupCode,
182
+ GroupName: group.GroupName,
183
+ InheritPrivilegeYN: group.InheritPrivilegeYN,
184
+ systems: [],
185
+ };
186
+ if (group.InheritPrivilegeYN === 'Y') {
187
+ if (group.Status === 'Active') {
188
+ const options = {
189
+ where: {
190
+ GroupCode: group.GroupCode,
191
+ Status: 'Active',
192
+ },
193
+ transaction: dbTransaction,
194
+ include: [
195
+ {
196
+ model: system_privilege_entity_1.default,
197
+ attributes: ['PrivilegeCode'],
198
+ include: [
199
+ {
200
+ model: system_entity_1.default,
201
+ attributes: ['Name'],
202
+ },
203
+ ],
204
+ },
205
+ {
206
+ model: user_entity_1.default,
207
+ as: 'CreatedByUser',
208
+ attributes: ['FullName'],
209
+ },
210
+ {
211
+ model: user_entity_1.default,
212
+ as: 'UpdatedByUser',
213
+ attributes: ['FullName'],
214
+ },
215
+ ],
216
+ };
217
+ const systemPrivilege = yield this._GroupPrivilegeRepository.findAll(options);
218
+ const privilegeDetails = systemPrivilege.map((record) => {
219
+ return {
220
+ GroupPrivilegeId: record.GroupPrivilegeId,
221
+ SystemPrivilegeId: record.SystemPrivilegeId,
222
+ PrivilegeCode: record.Privilege.PrivilegeCode,
223
+ Status: record.Status,
224
+ CreatedBy: record.CreatedByUser.FullName,
225
+ CreatedAt: record.CreatedAt,
226
+ UpdatedBy: record.UpdatedByUser.FullName,
227
+ UpdatedAt: record.UpdatedAt,
228
+ };
229
+ });
230
+ data.systems = privilegeDetails;
231
+ }
232
+ }
233
+ userGroupPrivilege.push(data);
234
+ }
235
+ return userGroupPrivilege;
236
+ }
237
+ catch (error) {
238
+ throw error;
239
+ }
240
+ });
241
+ }
242
+ static assignPrivileges(loginUser, dbTransaction, UserId, SystemPrivilegeId, Status) {
243
+ return __awaiter(this, void 0, void 0, function* () {
244
+ var _a;
245
+ try {
246
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
247
+ const privilegeCode = 'USER_PRIVILEGE_CREATE';
248
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
249
+ if (!isPrivileged) {
250
+ throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg01', 'You do not have permission to access this resource.');
251
+ }
252
+ const isExist = yield UserPrivilege._SystemPrivilegeRepository.findAll({
253
+ where: { SystemPrivilegeId: SystemPrivilegeId },
254
+ transaction: dbTransaction,
255
+ });
256
+ if ((isExist === null || isExist === void 0 ? void 0 : isExist.length) < 1) {
257
+ throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg02', "system privileges don't exist");
258
+ }
259
+ const isUserAlreadyAssign = yield UserPrivilege._Repository.findAll({
260
+ where: {
261
+ [sequelize_1.Op.and]: [
262
+ { UserId: UserId },
263
+ { SystemPrivilegeId: SystemPrivilegeId },
264
+ ],
265
+ },
266
+ transaction: dbTransaction,
267
+ });
268
+ if ((isUserAlreadyAssign === null || isUserAlreadyAssign === void 0 ? void 0 : isUserAlreadyAssign.length) > 0) {
269
+ throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg03', 'User already have access to this privilege');
270
+ }
271
+ const newUserPrivilege = new UserPrivilege();
272
+ newUserPrivilege.UserId = parseInt(UserId);
273
+ newUserPrivilege.SystemPrivilegeId = SystemPrivilegeId;
274
+ newUserPrivilege.Status = Status;
275
+ newUserPrivilege._CreatedById = loginUser.UserId;
276
+ newUserPrivilege._CreatedAt = new Date();
277
+ newUserPrivilege._UpdatedById = loginUser.UserId;
278
+ newUserPrivilege._UpdatedAt = new Date();
279
+ const payload = {
280
+ UserId: newUserPrivilege.UserId,
281
+ SystemPrivilegeId: newUserPrivilege.SystemPrivilegeId,
282
+ Status: newUserPrivilege.Status,
283
+ CreatedById: newUserPrivilege.CreatedById,
284
+ CreatedAt: newUserPrivilege.CreatedAt,
285
+ UpdatedById: newUserPrivilege.UpdatedById,
286
+ UpdatedAt: newUserPrivilege.UpdatedAt,
287
+ };
288
+ const userPrivilege = yield UserPrivilege._Repository.create(payload, {
289
+ transaction: dbTransaction,
290
+ });
291
+ const entityValueBefore = {};
292
+ const activity = new activity_history_1.Activity();
293
+ activity.ActivityId = activity.createId();
294
+ activity.Action = activity_history_1.ActionEnum.CREATE;
295
+ activity.Description = 'Create User Privilege';
296
+ activity.EntityType = 'UserPrivilege';
297
+ activity.EntityId = (_a = userPrivilege.UserPrivilegeId) === null || _a === void 0 ? void 0 : _a.toString();
298
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
299
+ activity.EntityValueAfter = JSON.stringify(payload);
300
+ yield activity.create(loginUser.ObjectId, dbTransaction);
301
+ newUserPrivilege.UserPrivilegeId = userPrivilege.UserPrivilegeId;
302
+ return newUserPrivilege;
303
+ }
304
+ catch (error) {
305
+ throw error;
306
+ }
307
+ });
308
+ }
309
+ update(loginUser, dbTransaction, Status) {
310
+ return __awaiter(this, void 0, void 0, function* () {
311
+ try {
312
+ const entityValueBefore = {
313
+ UserPrivilegeId: this.UserPrivilegeId,
314
+ UserId: this.UserId,
315
+ SystemPrivilegeId: this.SystemPrivilegeId,
316
+ Status: this.Status,
317
+ CreatedById: this.CreatedById,
318
+ CreatedAt: this.CreatedAt,
319
+ UpdatedById: this.UpdatedById,
320
+ UpdatedAt: this.UpdatedAt,
321
+ };
322
+ yield UserPrivilege._Repository.update({
323
+ Status: Status,
324
+ UpdatedById: loginUser.UserId,
325
+ UpdatedAt: new Date(),
326
+ }, {
327
+ where: {
328
+ UserPrivilegeId: this.UserPrivilegeId,
329
+ },
330
+ transaction: dbTransaction,
331
+ });
332
+ const entityValueAfter = {
333
+ UserPrivilegeId: this.UserPrivilegeId,
334
+ UserId: this.UserId,
335
+ SystemPrivilegeId: this.SystemPrivilegeId,
336
+ Status: Status,
337
+ CreatedById: this.CreatedById,
338
+ CreatedAt: this.CreatedAt,
339
+ UpdatedById: loginUser.UserId,
340
+ UpdatedAt: new Date(),
341
+ };
342
+ const activity = new activity_history_1.Activity();
343
+ activity.ActivityId = activity.createId();
344
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
345
+ activity.Description = 'Update User Privilege';
346
+ activity.EntityType = 'UserPrivilege';
347
+ activity.EntityId = this.SystemPrivilegeId + '';
348
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
349
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
350
+ yield activity.create(loginUser.ObjectId, dbTransaction);
351
+ return entityValueAfter;
352
+ }
353
+ catch (error) {
354
+ throw error;
355
+ }
356
+ });
357
+ }
358
+ static remove(loginUser, dbTransaction, UserPrivilegeId) {
359
+ return __awaiter(this, void 0, void 0, function* () {
360
+ try {
361
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
362
+ const privilegeCode = 'USER_PRIVILEGE_REMOVE';
363
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, privilegeCode);
364
+ if (!isPrivileged) {
365
+ throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg01', 'You do not have permission to access this resource.');
366
+ }
367
+ const userPrivilege = yield UserPrivilege._Repository.findOne({
368
+ where: {
369
+ UserPrivilegeId: UserPrivilegeId,
370
+ },
371
+ transaction: dbTransaction,
372
+ });
373
+ if (!userPrivilege) {
374
+ throw new general_1.ClassError('UserSystemPrivilege', 'UserSystemPrivilegeErrMsg01', 'User Privilege not Found');
375
+ }
376
+ yield UserPrivilege._Repository.delete(UserPrivilegeId, dbTransaction);
377
+ const entityValueBefore = {
378
+ UserId: userPrivilege.UserId,
379
+ SystemPrivilegeId: userPrivilege.SystemPrivilegeId,
380
+ Status: userPrivilege.Status,
381
+ CreatedById: userPrivilege.CreatedById,
382
+ CreatedAt: userPrivilege.CreatedAt,
383
+ UpdatedById: userPrivilege.UpdatedById,
384
+ UpdatedAt: userPrivilege.UpdatedAt,
385
+ };
386
+ const activity = new activity_history_1.Activity();
387
+ activity.ActivityId = activity.createId();
388
+ activity.Action = activity_history_1.ActionEnum.DELETE;
389
+ activity.Description = 'Delete User Privilege';
390
+ activity.EntityType = 'UserPrivilege';
391
+ activity.EntityId = UserPrivilegeId === null || UserPrivilegeId === void 0 ? void 0 : UserPrivilegeId.toString();
392
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
393
+ activity.EntityValueAfter = JSON.stringify({});
394
+ yield activity.create(loginUser.ObjectId, dbTransaction);
395
+ }
396
+ catch (error) {
397
+ throw error;
398
+ }
399
+ });
400
+ }
401
+ }
402
+ exports.UserPrivilege = UserPrivilege;
403
+ UserPrivilege._Repository = new user_privilege_repository_1.UserPrivilegeRepository();
404
+ UserPrivilege._UserGroupRepository = new user_group_repository_1.UserGroupRepository();
405
+ UserPrivilege._GroupPrivilegeRepository = new group_privilege_repository_1.GroupPrivilegeRepository();
406
+ UserPrivilege._SystemPrivilegeRepository = new system_privilege_repository_1.SystemPrivilegeRepository();
407
407
  //# sourceMappingURL=user-privilege.js.map