@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,336 +1,336 @@
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.SystemPrivilege = void 0;
13
- const general_1 = require("@tomei/general");
14
- const system_repository_1 = require("../system/system.repository");
15
- const system_privilege_repository_1 = require("./system-privilege.repository");
16
- const config_1 = require("@tomei/config");
17
- const system_1 = require("../system/system");
18
- const activity_history_1 = require("@tomei/activity-history");
19
- const sequelize_1 = require("sequelize");
20
- class SystemPrivilege extends general_1.ObjectBase {
21
- get SystemPrivilegeId() {
22
- return this.ObjectId;
23
- }
24
- set SystemPrivilegeId(value) {
25
- this.ObjectId = value;
26
- }
27
- get CreatedAt() {
28
- return this._CreatedAt;
29
- }
30
- get UpdatedAt() {
31
- return this._UpdatedAt;
32
- }
33
- get CreatedById() {
34
- return this._CreatedById;
35
- }
36
- get UpdatedById() {
37
- return this._UpdatedById;
38
- }
39
- constructor(systemPrivilegeAttr) {
40
- super();
41
- this.ObjectType = 'SystemPrivilege';
42
- this.TableName = 'sso_SystemPrivilege';
43
- if (systemPrivilegeAttr) {
44
- this.SystemPrivilegeId = systemPrivilegeAttr.SystemPrivilegeId;
45
- this.PrivilegeCode = systemPrivilegeAttr.PrivilegeCode;
46
- this.SystemCode = systemPrivilegeAttr.SystemCode;
47
- this.Description = systemPrivilegeAttr.Description;
48
- this.Status = systemPrivilegeAttr.Status;
49
- this._CreatedById = systemPrivilegeAttr.CreatedById;
50
- this._CreatedAt = systemPrivilegeAttr.CreatedAt;
51
- this._UpdatedById = systemPrivilegeAttr.UpdatedById;
52
- this._UpdatedAt = systemPrivilegeAttr.UpdatedAt;
53
- }
54
- }
55
- setAttributes(systemPrivilegeAttr) {
56
- this.PrivilegeCode = systemPrivilegeAttr.PrivilegeCode;
57
- this.SystemPrivilegeId = systemPrivilegeAttr.SystemPrivilegeId;
58
- this.SystemCode = systemPrivilegeAttr.SystemCode;
59
- this.Description = systemPrivilegeAttr.Description;
60
- this.Status = systemPrivilegeAttr.Status;
61
- this._CreatedAt = systemPrivilegeAttr.CreatedAt;
62
- this._UpdatedAt = systemPrivilegeAttr.UpdatedAt;
63
- this._CreatedById = systemPrivilegeAttr.CreatedById;
64
- this._UpdatedById = systemPrivilegeAttr.UpdatedById;
65
- }
66
- static init(dbTransaction, SystemPrivilegeId) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- try {
69
- const systemPrivilege = new SystemPrivilege();
70
- if (SystemPrivilegeId) {
71
- const systemPrivilegeAttr = yield this._Repository.findByPk(SystemPrivilegeId, {
72
- transaction: dbTransaction,
73
- });
74
- if (systemPrivilegeAttr) {
75
- systemPrivilege.PrivilegeCode = systemPrivilegeAttr.PrivilegeCode;
76
- systemPrivilege.ObjectId = systemPrivilegeAttr.SystemPrivilegeId;
77
- systemPrivilege.SystemCode = systemPrivilegeAttr.SystemCode;
78
- systemPrivilege.Description = systemPrivilegeAttr.Description;
79
- systemPrivilege.Status = systemPrivilegeAttr.Status;
80
- systemPrivilege._CreatedById = systemPrivilegeAttr.CreatedById;
81
- systemPrivilege._CreatedAt = systemPrivilegeAttr.CreatedAt;
82
- systemPrivilege._UpdatedById = systemPrivilegeAttr.UpdatedById;
83
- systemPrivilege._UpdatedAt = systemPrivilegeAttr.UpdatedAt;
84
- }
85
- else {
86
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg00', 'System Privilege Not Found');
87
- }
88
- }
89
- return systemPrivilege;
90
- }
91
- catch (error) {
92
- throw error;
93
- }
94
- });
95
- }
96
- static create(loginUser, dbTransaction, systemPrivilege) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- try {
99
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
100
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'PRIVILEGE_CREATE');
101
- if (!isPrivileged) {
102
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg01', 'You do not have permission to create system privileges');
103
- }
104
- if (!systemPrivilege.SystemCode) {
105
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg02', 'System Code is required');
106
- }
107
- if (!systemPrivilege.PrivilegeCode) {
108
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg02', 'Privilege Code is required');
109
- }
110
- yield system_1.System.init(dbTransaction, systemPrivilege.SystemCode);
111
- const existingSystemPrivilege = yield this._Repository.findByPk(systemPrivilege.PrivilegeCode, {
112
- transaction: dbTransaction,
113
- });
114
- if (existingSystemPrivilege) {
115
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg03', 'System Privilege already exists');
116
- }
117
- const newSystemPrivilege = new SystemPrivilege();
118
- newSystemPrivilege.ObjectId = newSystemPrivilege.createId();
119
- newSystemPrivilege.PrivilegeCode = systemPrivilege.PrivilegeCode;
120
- newSystemPrivilege.SystemCode = systemPrivilege.SystemCode;
121
- newSystemPrivilege.Description = systemPrivilege.Description;
122
- newSystemPrivilege.Status = 'Active';
123
- newSystemPrivilege._CreatedById = loginUser.UserId;
124
- newSystemPrivilege._UpdatedById = loginUser.UserId;
125
- newSystemPrivilege._CreatedAt = new Date();
126
- newSystemPrivilege._UpdatedAt = new Date();
127
- yield this._Repository.create({
128
- SystemPrivilegeId: newSystemPrivilege.ObjectId,
129
- PrivilegeCode: newSystemPrivilege.PrivilegeCode,
130
- SystemCode: newSystemPrivilege.SystemCode,
131
- Description: newSystemPrivilege.Description,
132
- Status: newSystemPrivilege.Status,
133
- CreatedById: newSystemPrivilege._CreatedById,
134
- UpdatedById: newSystemPrivilege._UpdatedById,
135
- CreatedAt: newSystemPrivilege._CreatedAt,
136
- UpdatedAt: newSystemPrivilege._UpdatedAt,
137
- }, {
138
- transaction: dbTransaction,
139
- });
140
- const EntityValueBefore = {};
141
- const EntityValueAfter = newSystemPrivilege;
142
- const activity = new activity_history_1.Activity();
143
- activity.ActivityId = activity.createId();
144
- activity.Action = activity_history_1.ActionEnum.CREATE;
145
- activity.Description = 'Add System Privilege';
146
- activity.EntityType = 'SystemPrivilege';
147
- activity.EntityId = newSystemPrivilege.SystemPrivilegeId;
148
- activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
149
- activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
150
- yield activity.create(loginUser.ObjectId, dbTransaction);
151
- return newSystemPrivilege;
152
- }
153
- catch (error) {
154
- throw error;
155
- }
156
- });
157
- }
158
- static findAll(loginUser, dbTransaction, page, row, search) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- try {
161
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
162
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'PRIVILEGE_LIST');
163
- if (!isPrivileged) {
164
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg01', 'You do not have permission to list system privileges');
165
- }
166
- const options = {
167
- order: [['createdAt', 'DESC']],
168
- transaction: dbTransaction,
169
- };
170
- if (page && row) {
171
- const offset = row * (page - 1);
172
- const limit = row;
173
- options.offset = offset;
174
- options.limit = limit;
175
- }
176
- if (search) {
177
- const queryObj = {};
178
- Object.entries(search).forEach(([key, value]) => {
179
- queryObj[key] = {
180
- [sequelize_1.Op.substring]: value,
181
- };
182
- });
183
- options.where = queryObj;
184
- }
185
- const result = yield SystemPrivilege._Repository.findAllWithPagination(options);
186
- const systemPrivileges = [];
187
- for (const systemPrivilegeAttr of result.rows) {
188
- systemPrivileges.push(new SystemPrivilege(systemPrivilegeAttr.get({ plain: true })));
189
- }
190
- return {
191
- count: result.count,
192
- SystemPrivileges: systemPrivileges,
193
- };
194
- }
195
- catch (error) {
196
- throw error;
197
- }
198
- });
199
- }
200
- static loadAllPrivileges(dbTransaction, systemCode) {
201
- return __awaiter(this, void 0, void 0, function* () {
202
- try {
203
- yield system_1.System.init(dbTransaction, systemCode);
204
- config_1.ComponentConfig.loadComponentConfig('./component-config/sso-config.json');
205
- const privilegesConfig = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'privileges');
206
- const systemConfig = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'system');
207
- const systemUserId = systemConfig.userId;
208
- const existingSystemPrivileges = yield this._Repository.findAll({
209
- where: {
210
- SystemCode: systemCode,
211
- },
212
- transaction: dbTransaction,
213
- });
214
- const tobeCreatePrivileges = privilegesConfig.filter((privilegeConfig) => !existingSystemPrivileges.find((existingPrivilege) => existingPrivilege.PrivilegeCode === privilegeConfig.privilegeCode));
215
- const np = new SystemPrivilege();
216
- for (const privilegeConfig of tobeCreatePrivileges) {
217
- yield this._Repository.create({
218
- SystemPrivilegeId: np.createId(),
219
- PrivilegeCode: privilegeConfig.privilegeCode,
220
- SystemCode: systemCode,
221
- Description: privilegeConfig.description,
222
- Status: 'Active',
223
- CreatedById: parseInt(systemUserId),
224
- UpdatedById: parseInt(systemUserId),
225
- CreatedAt: new Date(),
226
- UpdatedAt: new Date(),
227
- }, {
228
- transaction: dbTransaction,
229
- });
230
- }
231
- return 'Privileges Loaded';
232
- }
233
- catch (error) {
234
- throw error;
235
- }
236
- });
237
- }
238
- update(loginUser, dbTransaction, privilege) {
239
- return __awaiter(this, void 0, void 0, function* () {
240
- try {
241
- const entityValueBefore = {
242
- SystemPrivilegeId: this.SystemPrivilegeId,
243
- Description: this.Description,
244
- PrivilegeCode: this.PrivilegeCode,
245
- SystemCode: this.SystemCode,
246
- Status: this.Status,
247
- CreatedById: this.CreatedById,
248
- CreatedAt: this.CreatedAt,
249
- UpdatedById: this.UpdatedById,
250
- UpdatedAt: this.UpdatedAt,
251
- };
252
- yield SystemPrivilege._Repository.update({
253
- PrivilegeCode: privilege.PrivilegeCode || this.PrivilegeCode,
254
- Description: privilege.Description || this.Description,
255
- SystemCode: privilege.SystemCode || this.SystemCode,
256
- Status: privilege.Status || this.Status,
257
- UpdatedById: loginUser.UserId,
258
- UpdatedAt: new Date(),
259
- }, {
260
- where: {
261
- SystemPrivilegeId: this.SystemPrivilegeId,
262
- },
263
- transaction: dbTransaction,
264
- });
265
- const entityValueAfter = {
266
- SystemPrivilegeId: this.SystemPrivilegeId,
267
- PrivilegeCode: privilege.PrivilegeCode || this.PrivilegeCode,
268
- Description: privilege.Description || this.Description,
269
- SystemCode: privilege.SystemCode || this.SystemCode,
270
- Status: privilege.Status || this.Status,
271
- CreatedById: this.CreatedById,
272
- CreatedAt: this.CreatedAt,
273
- UpdatedById: this.UpdatedById,
274
- UpdatedAt: this.UpdatedAt,
275
- };
276
- const activity = new activity_history_1.Activity();
277
- activity.ActivityId = activity.createId();
278
- activity.Action = activity_history_1.ActionEnum.UPDATE;
279
- activity.Description = 'Update System Privilege';
280
- activity.EntityType = 'SystemPrivilege';
281
- activity.EntityId = this.SystemPrivilegeId + '';
282
- activity.EntityValueBefore = JSON.stringify(entityValueBefore);
283
- activity.EntityValueAfter = JSON.stringify(entityValueAfter);
284
- yield activity.create(loginUser.ObjectId, dbTransaction);
285
- return entityValueAfter;
286
- }
287
- catch (error) {
288
- throw error;
289
- }
290
- });
291
- }
292
- delete(dbTransaction, loginUser) {
293
- return __awaiter(this, void 0, void 0, function* () {
294
- try {
295
- const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
296
- const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'PRIVILEGE_DELETE');
297
- if (!isPrivileged) {
298
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg0X', 'You do not have permission to delete system privileges');
299
- }
300
- if (!this.SystemPrivilegeId) {
301
- throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg02', 'System Privilege Id is required');
302
- }
303
- yield SystemPrivilege._Repository.delete(this.SystemPrivilegeId, dbTransaction);
304
- const EntityValueBefore = {
305
- SystemPrivilegeId: this.ObjectId,
306
- PrivilegeCode: this.PrivilegeCode,
307
- SystemCode: this.SystemCode,
308
- Description: this.Description,
309
- Status: this.Status,
310
- CreatedById: this._CreatedById,
311
- UpdatedById: this._UpdatedById,
312
- CreatedAt: this._CreatedAt,
313
- UpdatedAt: this._UpdatedAt,
314
- };
315
- const EntityValueAfter = {};
316
- const activity = new activity_history_1.Activity();
317
- activity.ActivityId = activity.createId();
318
- activity.Action = activity_history_1.ActionEnum.DELETE;
319
- activity.Description = 'Delete System Privilege';
320
- activity.EntityType = 'SystemPrivilege';
321
- activity.EntityId = this.SystemPrivilegeId;
322
- activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
323
- activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
324
- yield activity.create(loginUser.ObjectId, dbTransaction);
325
- return this;
326
- }
327
- catch (error) {
328
- throw error;
329
- }
330
- });
331
- }
332
- }
333
- exports.SystemPrivilege = SystemPrivilege;
334
- SystemPrivilege._Repository = new system_privilege_repository_1.SystemPrivilegeRepository();
335
- SystemPrivilege._SystemRepository = new system_repository_1.SystemRepository();
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.SystemPrivilege = void 0;
13
+ const general_1 = require("@tomei/general");
14
+ const system_repository_1 = require("../system/system.repository");
15
+ const system_privilege_repository_1 = require("./system-privilege.repository");
16
+ const config_1 = require("@tomei/config");
17
+ const system_1 = require("../system/system");
18
+ const activity_history_1 = require("@tomei/activity-history");
19
+ const sequelize_1 = require("sequelize");
20
+ class SystemPrivilege extends general_1.ObjectBase {
21
+ get SystemPrivilegeId() {
22
+ return this.ObjectId;
23
+ }
24
+ set SystemPrivilegeId(value) {
25
+ this.ObjectId = value;
26
+ }
27
+ get CreatedAt() {
28
+ return this._CreatedAt;
29
+ }
30
+ get UpdatedAt() {
31
+ return this._UpdatedAt;
32
+ }
33
+ get CreatedById() {
34
+ return this._CreatedById;
35
+ }
36
+ get UpdatedById() {
37
+ return this._UpdatedById;
38
+ }
39
+ constructor(systemPrivilegeAttr) {
40
+ super();
41
+ this.ObjectType = 'SystemPrivilege';
42
+ this.TableName = 'sso_SystemPrivilege';
43
+ if (systemPrivilegeAttr) {
44
+ this.SystemPrivilegeId = systemPrivilegeAttr.SystemPrivilegeId;
45
+ this.PrivilegeCode = systemPrivilegeAttr.PrivilegeCode;
46
+ this.SystemCode = systemPrivilegeAttr.SystemCode;
47
+ this.Description = systemPrivilegeAttr.Description;
48
+ this.Status = systemPrivilegeAttr.Status;
49
+ this._CreatedById = systemPrivilegeAttr.CreatedById;
50
+ this._CreatedAt = systemPrivilegeAttr.CreatedAt;
51
+ this._UpdatedById = systemPrivilegeAttr.UpdatedById;
52
+ this._UpdatedAt = systemPrivilegeAttr.UpdatedAt;
53
+ }
54
+ }
55
+ setAttributes(systemPrivilegeAttr) {
56
+ this.PrivilegeCode = systemPrivilegeAttr.PrivilegeCode;
57
+ this.SystemPrivilegeId = systemPrivilegeAttr.SystemPrivilegeId;
58
+ this.SystemCode = systemPrivilegeAttr.SystemCode;
59
+ this.Description = systemPrivilegeAttr.Description;
60
+ this.Status = systemPrivilegeAttr.Status;
61
+ this._CreatedAt = systemPrivilegeAttr.CreatedAt;
62
+ this._UpdatedAt = systemPrivilegeAttr.UpdatedAt;
63
+ this._CreatedById = systemPrivilegeAttr.CreatedById;
64
+ this._UpdatedById = systemPrivilegeAttr.UpdatedById;
65
+ }
66
+ static init(dbTransaction, SystemPrivilegeId) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ try {
69
+ const systemPrivilege = new SystemPrivilege();
70
+ if (SystemPrivilegeId) {
71
+ const systemPrivilegeAttr = yield this._Repository.findByPk(SystemPrivilegeId, {
72
+ transaction: dbTransaction,
73
+ });
74
+ if (systemPrivilegeAttr) {
75
+ systemPrivilege.PrivilegeCode = systemPrivilegeAttr.PrivilegeCode;
76
+ systemPrivilege.ObjectId = systemPrivilegeAttr.SystemPrivilegeId;
77
+ systemPrivilege.SystemCode = systemPrivilegeAttr.SystemCode;
78
+ systemPrivilege.Description = systemPrivilegeAttr.Description;
79
+ systemPrivilege.Status = systemPrivilegeAttr.Status;
80
+ systemPrivilege._CreatedById = systemPrivilegeAttr.CreatedById;
81
+ systemPrivilege._CreatedAt = systemPrivilegeAttr.CreatedAt;
82
+ systemPrivilege._UpdatedById = systemPrivilegeAttr.UpdatedById;
83
+ systemPrivilege._UpdatedAt = systemPrivilegeAttr.UpdatedAt;
84
+ }
85
+ else {
86
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg00', 'System Privilege Not Found');
87
+ }
88
+ }
89
+ return systemPrivilege;
90
+ }
91
+ catch (error) {
92
+ throw error;
93
+ }
94
+ });
95
+ }
96
+ static create(loginUser, dbTransaction, systemPrivilege) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ try {
99
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
100
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'PRIVILEGE_CREATE');
101
+ if (!isPrivileged) {
102
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg01', 'You do not have permission to create system privileges');
103
+ }
104
+ if (!systemPrivilege.SystemCode) {
105
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg02', 'System Code is required');
106
+ }
107
+ if (!systemPrivilege.PrivilegeCode) {
108
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg02', 'Privilege Code is required');
109
+ }
110
+ yield system_1.System.init(dbTransaction, systemPrivilege.SystemCode);
111
+ const existingSystemPrivilege = yield this._Repository.findByPk(systemPrivilege.PrivilegeCode, {
112
+ transaction: dbTransaction,
113
+ });
114
+ if (existingSystemPrivilege) {
115
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg03', 'System Privilege already exists');
116
+ }
117
+ const newSystemPrivilege = new SystemPrivilege();
118
+ newSystemPrivilege.ObjectId = newSystemPrivilege.createId();
119
+ newSystemPrivilege.PrivilegeCode = systemPrivilege.PrivilegeCode;
120
+ newSystemPrivilege.SystemCode = systemPrivilege.SystemCode;
121
+ newSystemPrivilege.Description = systemPrivilege.Description;
122
+ newSystemPrivilege.Status = 'Active';
123
+ newSystemPrivilege._CreatedById = loginUser.UserId;
124
+ newSystemPrivilege._UpdatedById = loginUser.UserId;
125
+ newSystemPrivilege._CreatedAt = new Date();
126
+ newSystemPrivilege._UpdatedAt = new Date();
127
+ yield this._Repository.create({
128
+ SystemPrivilegeId: newSystemPrivilege.ObjectId,
129
+ PrivilegeCode: newSystemPrivilege.PrivilegeCode,
130
+ SystemCode: newSystemPrivilege.SystemCode,
131
+ Description: newSystemPrivilege.Description,
132
+ Status: newSystemPrivilege.Status,
133
+ CreatedById: newSystemPrivilege._CreatedById,
134
+ UpdatedById: newSystemPrivilege._UpdatedById,
135
+ CreatedAt: newSystemPrivilege._CreatedAt,
136
+ UpdatedAt: newSystemPrivilege._UpdatedAt,
137
+ }, {
138
+ transaction: dbTransaction,
139
+ });
140
+ const EntityValueBefore = {};
141
+ const EntityValueAfter = newSystemPrivilege;
142
+ const activity = new activity_history_1.Activity();
143
+ activity.ActivityId = activity.createId();
144
+ activity.Action = activity_history_1.ActionEnum.CREATE;
145
+ activity.Description = 'Add System Privilege';
146
+ activity.EntityType = 'SystemPrivilege';
147
+ activity.EntityId = newSystemPrivilege.SystemPrivilegeId;
148
+ activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
149
+ activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
150
+ yield activity.create(loginUser.ObjectId, dbTransaction);
151
+ return newSystemPrivilege;
152
+ }
153
+ catch (error) {
154
+ throw error;
155
+ }
156
+ });
157
+ }
158
+ static findAll(loginUser, dbTransaction, page, row, search) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ try {
161
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
162
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'PRIVILEGE_LIST');
163
+ if (!isPrivileged) {
164
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg01', 'You do not have permission to list system privileges');
165
+ }
166
+ const options = {
167
+ order: [['createdAt', 'DESC']],
168
+ transaction: dbTransaction,
169
+ };
170
+ if (page && row) {
171
+ const offset = row * (page - 1);
172
+ const limit = row;
173
+ options.offset = offset;
174
+ options.limit = limit;
175
+ }
176
+ if (search) {
177
+ const queryObj = {};
178
+ Object.entries(search).forEach(([key, value]) => {
179
+ queryObj[key] = {
180
+ [sequelize_1.Op.substring]: value,
181
+ };
182
+ });
183
+ options.where = queryObj;
184
+ }
185
+ const result = yield SystemPrivilege._Repository.findAllWithPagination(options);
186
+ const systemPrivileges = [];
187
+ for (const systemPrivilegeAttr of result.rows) {
188
+ systemPrivileges.push(new SystemPrivilege(systemPrivilegeAttr.get({ plain: true })));
189
+ }
190
+ return {
191
+ count: result.count,
192
+ SystemPrivileges: systemPrivileges,
193
+ };
194
+ }
195
+ catch (error) {
196
+ throw error;
197
+ }
198
+ });
199
+ }
200
+ static loadAllPrivileges(dbTransaction, systemCode) {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ try {
203
+ yield system_1.System.init(dbTransaction, systemCode);
204
+ config_1.ComponentConfig.loadComponentConfig('./component-config/sso-config.json');
205
+ const privilegesConfig = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'privileges');
206
+ const systemConfig = config_1.ComponentConfig.getComponentConfigValue('@tomei/sso', 'system');
207
+ const systemUserId = systemConfig.userId;
208
+ const existingSystemPrivileges = yield this._Repository.findAll({
209
+ where: {
210
+ SystemCode: systemCode,
211
+ },
212
+ transaction: dbTransaction,
213
+ });
214
+ const tobeCreatePrivileges = privilegesConfig.filter((privilegeConfig) => !existingSystemPrivileges.find((existingPrivilege) => existingPrivilege.PrivilegeCode === privilegeConfig.privilegeCode));
215
+ const np = new SystemPrivilege();
216
+ for (const privilegeConfig of tobeCreatePrivileges) {
217
+ yield this._Repository.create({
218
+ SystemPrivilegeId: np.createId(),
219
+ PrivilegeCode: privilegeConfig.privilegeCode,
220
+ SystemCode: systemCode,
221
+ Description: privilegeConfig.description,
222
+ Status: 'Active',
223
+ CreatedById: parseInt(systemUserId),
224
+ UpdatedById: parseInt(systemUserId),
225
+ CreatedAt: new Date(),
226
+ UpdatedAt: new Date(),
227
+ }, {
228
+ transaction: dbTransaction,
229
+ });
230
+ }
231
+ return 'Privileges Loaded';
232
+ }
233
+ catch (error) {
234
+ throw error;
235
+ }
236
+ });
237
+ }
238
+ update(loginUser, dbTransaction, privilege) {
239
+ return __awaiter(this, void 0, void 0, function* () {
240
+ try {
241
+ const entityValueBefore = {
242
+ SystemPrivilegeId: this.SystemPrivilegeId,
243
+ Description: this.Description,
244
+ PrivilegeCode: this.PrivilegeCode,
245
+ SystemCode: this.SystemCode,
246
+ Status: this.Status,
247
+ CreatedById: this.CreatedById,
248
+ CreatedAt: this.CreatedAt,
249
+ UpdatedById: this.UpdatedById,
250
+ UpdatedAt: this.UpdatedAt,
251
+ };
252
+ yield SystemPrivilege._Repository.update({
253
+ PrivilegeCode: privilege.PrivilegeCode || this.PrivilegeCode,
254
+ Description: privilege.Description || this.Description,
255
+ SystemCode: privilege.SystemCode || this.SystemCode,
256
+ Status: privilege.Status || this.Status,
257
+ UpdatedById: loginUser.UserId,
258
+ UpdatedAt: new Date(),
259
+ }, {
260
+ where: {
261
+ SystemPrivilegeId: this.SystemPrivilegeId,
262
+ },
263
+ transaction: dbTransaction,
264
+ });
265
+ const entityValueAfter = {
266
+ SystemPrivilegeId: this.SystemPrivilegeId,
267
+ PrivilegeCode: privilege.PrivilegeCode || this.PrivilegeCode,
268
+ Description: privilege.Description || this.Description,
269
+ SystemCode: privilege.SystemCode || this.SystemCode,
270
+ Status: privilege.Status || this.Status,
271
+ CreatedById: this.CreatedById,
272
+ CreatedAt: this.CreatedAt,
273
+ UpdatedById: this.UpdatedById,
274
+ UpdatedAt: this.UpdatedAt,
275
+ };
276
+ const activity = new activity_history_1.Activity();
277
+ activity.ActivityId = activity.createId();
278
+ activity.Action = activity_history_1.ActionEnum.UPDATE;
279
+ activity.Description = 'Update System Privilege';
280
+ activity.EntityType = 'SystemPrivilege';
281
+ activity.EntityId = this.SystemPrivilegeId + '';
282
+ activity.EntityValueBefore = JSON.stringify(entityValueBefore);
283
+ activity.EntityValueAfter = JSON.stringify(entityValueAfter);
284
+ yield activity.create(loginUser.ObjectId, dbTransaction);
285
+ return entityValueAfter;
286
+ }
287
+ catch (error) {
288
+ throw error;
289
+ }
290
+ });
291
+ }
292
+ delete(dbTransaction, loginUser) {
293
+ return __awaiter(this, void 0, void 0, function* () {
294
+ try {
295
+ const systemCode = config_1.ApplicationConfig.getComponentConfigValue('system-code');
296
+ const isPrivileged = yield loginUser.checkPrivileges(systemCode, 'PRIVILEGE_DELETE');
297
+ if (!isPrivileged) {
298
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg0X', 'You do not have permission to delete system privileges');
299
+ }
300
+ if (!this.SystemPrivilegeId) {
301
+ throw new general_1.ClassError('SystemPrivilege', 'SystemPrivilegeErrMsg02', 'System Privilege Id is required');
302
+ }
303
+ yield SystemPrivilege._Repository.delete(this.SystemPrivilegeId, dbTransaction);
304
+ const EntityValueBefore = {
305
+ SystemPrivilegeId: this.ObjectId,
306
+ PrivilegeCode: this.PrivilegeCode,
307
+ SystemCode: this.SystemCode,
308
+ Description: this.Description,
309
+ Status: this.Status,
310
+ CreatedById: this._CreatedById,
311
+ UpdatedById: this._UpdatedById,
312
+ CreatedAt: this._CreatedAt,
313
+ UpdatedAt: this._UpdatedAt,
314
+ };
315
+ const EntityValueAfter = {};
316
+ const activity = new activity_history_1.Activity();
317
+ activity.ActivityId = activity.createId();
318
+ activity.Action = activity_history_1.ActionEnum.DELETE;
319
+ activity.Description = 'Delete System Privilege';
320
+ activity.EntityType = 'SystemPrivilege';
321
+ activity.EntityId = this.SystemPrivilegeId;
322
+ activity.EntityValueBefore = JSON.stringify(EntityValueBefore);
323
+ activity.EntityValueAfter = JSON.stringify(EntityValueAfter);
324
+ yield activity.create(loginUser.ObjectId, dbTransaction);
325
+ return this;
326
+ }
327
+ catch (error) {
328
+ throw error;
329
+ }
330
+ });
331
+ }
332
+ }
333
+ exports.SystemPrivilege = SystemPrivilege;
334
+ SystemPrivilege._Repository = new system_privilege_repository_1.SystemPrivilegeRepository();
335
+ SystemPrivilege._SystemRepository = new system_repository_1.SystemRepository();
336
336
  //# sourceMappingURL=system-privilege.js.map