@tomei/sso 0.51.0 → 0.51.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (432) 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-reporting-user/group-reporting-user.spec.d.ts +1 -1
  109. package/dist/__tests__/unit/components/group-reporting-user/group-reporting-user.spec.js +57 -57
  110. package/dist/__tests__/unit/components/group-system-access/group-system-access.spec.d.ts +1 -1
  111. package/dist/__tests__/unit/components/group-system-access/group-system-access.spec.js +82 -82
  112. package/dist/__tests__/unit/components/login-user/l.spec.js +5 -5
  113. package/dist/__tests__/unit/components/login-user/login.spec.d.ts +1 -1
  114. package/dist/__tests__/unit/components/login-user/login.spec.js +2 -2
  115. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.d.ts +1 -1
  116. package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js +37 -37
  117. package/dist/__tests__/unit/components/system/system.spec.d.ts +1 -1
  118. package/dist/__tests__/unit/components/system/system.spec.js +203 -203
  119. package/dist/__tests__/unit/components/system-privilege/system-privilege.spec.d.ts +1 -1
  120. package/dist/__tests__/unit/components/system-privilege/system-privilege.spec.js +84 -84
  121. package/dist/__tests__/unit/components/user-group/user-group.spec.d.ts +1 -1
  122. package/dist/__tests__/unit/components/user-group/user-group.spec.js +81 -81
  123. package/dist/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.d.ts +1 -1
  124. package/dist/__tests__/unit/components/user-object-privilege/user-object-privilege.spec.js +78 -78
  125. package/dist/__tests__/unit/components/user-privilege/user-privilege.spec.d.ts +1 -1
  126. package/dist/__tests__/unit/components/user-privilege/user-privilege.spec.js +75 -75
  127. package/dist/__tests__/unit/components/user-system-access/user-system-access.spec.d.ts +1 -1
  128. package/dist/__tests__/unit/components/user-system-access/user-system-access.spec.js +82 -82
  129. package/dist/__tests__/unit/components/user-system-access/user-system-access.spec.js.map +1 -1
  130. package/dist/__tests__/unit/redis-client/redis.service.spec.d.ts +1 -1
  131. package/dist/__tests__/unit/redis-client/redis.service.spec.js +31 -31
  132. package/dist/__tests__/unit/session/session.service.spec.d.ts +1 -1
  133. package/dist/__tests__/unit/session/session.service.spec.js +54 -54
  134. package/dist/__tests__/unit/system-privilege/system-privilage.spec.js +5 -5
  135. package/dist/index.d.ts +1 -1
  136. package/dist/index.js +17 -17
  137. package/dist/src/components/api-key/api-key.d.ts +84 -84
  138. package/dist/src/components/api-key/api-key.js +255 -255
  139. package/dist/src/components/api-key/api-key.js.map +1 -1
  140. package/dist/src/components/api-key/api-key.repository.d.ts +6 -6
  141. package/dist/src/components/api-key/api-key.repository.js +25 -25
  142. package/dist/src/components/api-key/index.d.ts +3 -3
  143. package/dist/src/components/api-key/index.js +7 -7
  144. package/dist/src/components/building/building.repository.d.ts +6 -6
  145. package/dist/src/components/building/building.repository.js +37 -37
  146. package/dist/src/components/building/building.repository.js.map +1 -1
  147. package/dist/src/components/building/index.d.ts +1 -1
  148. package/dist/src/components/building/index.js +17 -17
  149. package/dist/src/components/group/group.d.ts +112 -112
  150. package/dist/src/components/group/group.js +1240 -1240
  151. package/dist/src/components/group/group.js.map +1 -1
  152. package/dist/src/components/group/group.repository.d.ts +7 -7
  153. package/dist/src/components/group/group.repository.js +36 -36
  154. package/dist/src/components/group/group.repository.js.map +1 -1
  155. package/dist/src/components/group/index.d.ts +2 -2
  156. package/dist/src/components/group/index.js +18 -18
  157. package/dist/src/components/group-object-privilege/group-object-privilege.d.ts +27 -27
  158. package/dist/src/components/group-object-privilege/group-object-privilege.js +177 -177
  159. package/dist/src/components/group-object-privilege/group-object-privilege.js.map +1 -1
  160. package/dist/src/components/group-object-privilege/group-object-privilege.repository.d.ts +6 -6
  161. package/dist/src/components/group-object-privilege/group-object-privilege.repository.js +33 -33
  162. package/dist/src/components/group-object-privilege/group-object-privilege.repository.js.map +1 -1
  163. package/dist/src/components/group-object-privilege/index.d.ts +2 -2
  164. package/dist/src/components/group-object-privilege/index.js +18 -18
  165. package/dist/src/components/group-privilege/group-privilege.d.ts +24 -24
  166. package/dist/src/components/group-privilege/group-privilege.js +77 -77
  167. package/dist/src/components/group-privilege/group-privilege.js.map +1 -1
  168. package/dist/src/components/group-privilege/group-privilege.repository.d.ts +6 -6
  169. package/dist/src/components/group-privilege/group-privilege.repository.js +35 -35
  170. package/dist/src/components/group-privilege/group-privilege.repository.js.map +1 -1
  171. package/dist/src/components/group-privilege/index.d.ts +2 -2
  172. package/dist/src/components/group-privilege/index.js +18 -18
  173. package/dist/src/components/group-reporting-user/group-reporting-user.d.ts +28 -28
  174. package/dist/src/components/group-reporting-user/group-reporting-user.js +208 -208
  175. package/dist/src/components/group-reporting-user/group-reporting-user.js.map +1 -1
  176. package/dist/src/components/group-reporting-user/group-reporting-user.repository.d.ts +6 -6
  177. package/dist/src/components/group-reporting-user/group-reporting-user.repository.js +30 -30
  178. package/dist/src/components/group-reporting-user/index.d.ts +2 -2
  179. package/dist/src/components/group-reporting-user/index.js +18 -18
  180. package/dist/src/components/group-system-access/group-system-access.d.ts +27 -27
  181. package/dist/src/components/group-system-access/group-system-access.js +80 -80
  182. package/dist/src/components/group-system-access/group-system-access.js.map +1 -1
  183. package/dist/src/components/group-system-access/group-system-access.repository.d.ts +7 -7
  184. package/dist/src/components/group-system-access/group-system-access.repository.js +55 -54
  185. package/dist/src/components/group-system-access/group-system-access.repository.js.map +1 -1
  186. package/dist/src/components/group-system-access/index.d.ts +2 -2
  187. package/dist/src/components/group-system-access/index.js +18 -18
  188. package/dist/src/components/index.d.ts +17 -17
  189. package/dist/src/components/index.js +33 -33
  190. package/dist/src/components/login-history/index.d.ts +1 -1
  191. package/dist/src/components/login-history/index.js +17 -17
  192. package/dist/src/components/login-history/login-history.repository.d.ts +5 -5
  193. package/dist/src/components/login-history/login-history.repository.js +11 -11
  194. package/dist/src/components/login-user/index.d.ts +4 -4
  195. package/dist/src/components/login-user/index.js +20 -20
  196. package/dist/src/components/login-user/interfaces/check-user-info-duplicated.interface.d.ts +7 -7
  197. package/dist/src/components/login-user/interfaces/check-user-info-duplicated.interface.js +2 -2
  198. package/dist/src/components/login-user/interfaces/index.d.ts +1 -1
  199. package/dist/src/components/login-user/interfaces/index.js +17 -17
  200. package/dist/src/components/login-user/interfaces/system-access.interface.d.ts +13 -13
  201. package/dist/src/components/login-user/interfaces/system-access.interface.js +2 -2
  202. package/dist/src/components/login-user/interfaces/user-info.interface.d.ts +30 -30
  203. package/dist/src/components/login-user/interfaces/user-info.interface.js +2 -2
  204. package/dist/src/components/login-user/login-user.d.ts +13 -13
  205. package/dist/src/components/login-user/login-user.js +140 -140
  206. package/dist/src/components/login-user/login-user.js.map +1 -1
  207. package/dist/src/components/login-user/user.d.ts +143 -143
  208. package/dist/src/components/login-user/user.js +1791 -1791
  209. package/dist/src/components/login-user/user.js.map +1 -1
  210. package/dist/src/components/login-user/user.repository.d.ts +5 -5
  211. package/dist/src/components/login-user/user.repository.js +11 -11
  212. package/dist/src/components/password-hash/index.d.ts +2 -2
  213. package/dist/src/components/password-hash/index.js +18 -18
  214. package/dist/src/components/password-hash/interfaces/index.d.ts +1 -1
  215. package/dist/src/components/password-hash/interfaces/index.js +17 -17
  216. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.d.ts +4 -4
  217. package/dist/src/components/password-hash/interfaces/password-hash-service.interface.js +2 -2
  218. package/dist/src/components/password-hash/password-hash.service.d.ts +6 -6
  219. package/dist/src/components/password-hash/password-hash.service.js +27 -27
  220. package/dist/src/components/staff/index.d.ts +1 -1
  221. package/dist/src/components/staff/index.js +17 -17
  222. package/dist/src/components/staff/staff.repository.d.ts +6 -6
  223. package/dist/src/components/staff/staff.repository.js +37 -37
  224. package/dist/src/components/staff/staff.repository.js.map +1 -1
  225. package/dist/src/components/system/index.d.ts +2 -2
  226. package/dist/src/components/system/index.js +18 -18
  227. package/dist/src/components/system/system.d.ts +39 -39
  228. package/dist/src/components/system/system.js +300 -300
  229. package/dist/src/components/system/system.js.map +1 -1
  230. package/dist/src/components/system/system.repository.d.ts +5 -5
  231. package/dist/src/components/system/system.repository.js +11 -11
  232. package/dist/src/components/system-privilege/index.d.ts +3 -3
  233. package/dist/src/components/system-privilege/index.js +7 -7
  234. package/dist/src/components/system-privilege/system-privilege.d.ts +52 -52
  235. package/dist/src/components/system-privilege/system-privilege.js +335 -335
  236. package/dist/src/components/system-privilege/system-privilege.js.map +1 -1
  237. package/dist/src/components/system-privilege/system-privilege.repository.d.ts +6 -6
  238. package/dist/src/components/system-privilege/system-privilege.repository.js +28 -28
  239. package/dist/src/components/user-group/index.d.ts +2 -2
  240. package/dist/src/components/user-group/index.js +18 -18
  241. package/dist/src/components/user-group/user-group.d.ts +50 -50
  242. package/dist/src/components/user-group/user-group.js +352 -352
  243. package/dist/src/components/user-group/user-group.js.map +1 -1
  244. package/dist/src/components/user-group/user-group.repository.d.ts +5 -5
  245. package/dist/src/components/user-group/user-group.repository.js +11 -11
  246. package/dist/src/components/user-object-privilege/index.d.ts +2 -2
  247. package/dist/src/components/user-object-privilege/index.js +18 -18
  248. package/dist/src/components/user-object-privilege/user-object-privilege.d.ts +23 -23
  249. package/dist/src/components/user-object-privilege/user-object-privilege.js +69 -69
  250. package/dist/src/components/user-object-privilege/user-object-privilege.js.map +1 -1
  251. package/dist/src/components/user-object-privilege/user-object-privilege.repository.d.ts +5 -5
  252. package/dist/src/components/user-object-privilege/user-object-privilege.repository.js +11 -11
  253. package/dist/src/components/user-privilege/index.d.ts +2 -2
  254. package/dist/src/components/user-privilege/index.js +18 -18
  255. package/dist/src/components/user-privilege/user-privilege.d.ts +64 -64
  256. package/dist/src/components/user-privilege/user-privilege.js +406 -406
  257. package/dist/src/components/user-privilege/user-privilege.js.map +1 -1
  258. package/dist/src/components/user-privilege/user-privilege.repository.d.ts +6 -6
  259. package/dist/src/components/user-privilege/user-privilege.repository.js +36 -36
  260. package/dist/src/components/user-privilege/user-privilege.repository.js.map +1 -1
  261. package/dist/src/components/user-system-access/index.d.ts +2 -2
  262. package/dist/src/components/user-system-access/index.js +18 -18
  263. package/dist/src/components/user-system-access/user-system-access.d.ts +56 -56
  264. package/dist/src/components/user-system-access/user-system-access.js +277 -277
  265. package/dist/src/components/user-system-access/user-system-access.js.map +1 -1
  266. package/dist/src/components/user-system-access/user-system-access.repository.d.ts +6 -6
  267. package/dist/src/components/user-system-access/user-system-access.repository.js +36 -36
  268. package/dist/src/components/user-system-access/user-system-access.repository.js.map +1 -1
  269. package/dist/src/database.d.ts +4 -4
  270. package/dist/src/database.js +13 -14
  271. package/dist/src/database.js.map +1 -1
  272. package/dist/src/enum/api-key.enum.d.ts +5 -5
  273. package/dist/src/enum/api-key.enum.js +9 -9
  274. package/dist/src/enum/api-key.enum.js.map +1 -1
  275. package/dist/src/enum/group-type.enum.d.ts +8 -8
  276. package/dist/src/enum/group-type.enum.js +12 -12
  277. package/dist/src/enum/group-type.enum.js.map +1 -1
  278. package/dist/src/enum/index.d.ts +6 -6
  279. package/dist/src/enum/index.js +22 -22
  280. package/dist/src/enum/login-status.enum.d.ts +4 -4
  281. package/dist/src/enum/login-status.enum.js +8 -8
  282. package/dist/src/enum/login-status.enum.js.map +1 -1
  283. package/dist/src/enum/object-status.enum.d.ts +4 -4
  284. package/dist/src/enum/object-status.enum.js +8 -8
  285. package/dist/src/enum/object-status.enum.js.map +1 -1
  286. package/dist/src/enum/user-status.enum.d.ts +7 -7
  287. package/dist/src/enum/user-status.enum.js +11 -11
  288. package/dist/src/enum/user-status.enum.js.map +1 -1
  289. package/dist/src/enum/yn.enum.d.ts +4 -4
  290. package/dist/src/enum/yn.enum.js +8 -8
  291. package/dist/src/enum/yn.enum.js.map +1 -1
  292. package/dist/src/index.d.ts +6 -6
  293. package/dist/src/index.js +24 -24
  294. package/dist/src/interfaces/api-key-attr.interface.d.ts +15 -15
  295. package/dist/src/interfaces/api-key-attr.interface.js +2 -2
  296. package/dist/src/interfaces/group-object-privilege.interface.d.ts +13 -13
  297. package/dist/src/interfaces/group-object-privilege.interface.js +2 -2
  298. package/dist/src/interfaces/group-privilege.interface.d.ts +10 -10
  299. package/dist/src/interfaces/group-privilege.interface.js +2 -2
  300. package/dist/src/interfaces/group-reporting-user.interface.d.ts +11 -11
  301. package/dist/src/interfaces/group-reporting-user.interface.js +2 -2
  302. package/dist/src/interfaces/group-search-attr.interface.d.ts +8 -8
  303. package/dist/src/interfaces/group-search-attr.interface.js +2 -2
  304. package/dist/src/interfaces/group-system-access.interface.d.ts +10 -10
  305. package/dist/src/interfaces/group-system-access.interface.js +2 -2
  306. package/dist/src/interfaces/group.interface.d.ts +16 -16
  307. package/dist/src/interfaces/group.interface.js +2 -2
  308. package/dist/src/interfaces/index.d.ts +13 -13
  309. package/dist/src/interfaces/index.js +29 -29
  310. package/dist/src/interfaces/system-login.interface.d.ts +6 -6
  311. package/dist/src/interfaces/system-login.interface.js +2 -2
  312. package/dist/src/interfaces/system-privilege-search.interface.d.ts +5 -5
  313. package/dist/src/interfaces/system-privilege-search.interface.js +2 -2
  314. package/dist/src/interfaces/system-privilege.interface.d.ts +11 -11
  315. package/dist/src/interfaces/system-privilege.interface.js +2 -2
  316. package/dist/src/interfaces/system-search-attr.interface.d.ts +5 -5
  317. package/dist/src/interfaces/system-search-attr.interface.js +2 -2
  318. package/dist/src/interfaces/system.interface.d.ts +15 -15
  319. package/dist/src/interfaces/system.interface.js +2 -2
  320. package/dist/src/interfaces/user-group.interface.d.ts +12 -12
  321. package/dist/src/interfaces/user-group.interface.js +2 -2
  322. package/dist/src/interfaces/user-object-privilege.interface.d.ts +13 -13
  323. package/dist/src/interfaces/user-object-privilege.interface.js +2 -2
  324. package/dist/src/interfaces/user-privilege.interface.d.ts +10 -10
  325. package/dist/src/interfaces/user-privilege.interface.js +2 -2
  326. package/dist/src/interfaces/user-session.interface.d.ts +4 -4
  327. package/dist/src/interfaces/user-session.interface.js +2 -2
  328. package/dist/src/interfaces/user-system-access.interface.d.ts +10 -10
  329. package/dist/src/interfaces/user-system-access.interface.js +2 -2
  330. package/dist/src/models/api-key-entity.d.ts +21 -21
  331. package/dist/src/models/api-key-entity.js +121 -121
  332. package/dist/src/models/api-key-entity.js.map +1 -1
  333. package/dist/src/models/building.entity.d.ts +29 -29
  334. package/dist/src/models/building.entity.js +212 -212
  335. package/dist/src/models/building.entity.js.map +1 -1
  336. package/dist/src/models/group-object-privilege.entity.d.ts +21 -21
  337. package/dist/src/models/group-object-privilege.entity.js +110 -110
  338. package/dist/src/models/group-object-privilege.entity.js.map +1 -1
  339. package/dist/src/models/group-privilege.entity.d.ts +18 -18
  340. package/dist/src/models/group-privilege.entity.js +95 -95
  341. package/dist/src/models/group-privilege.entity.js.map +1 -1
  342. package/dist/src/models/group-reporting-user.entity.d.ts +17 -17
  343. package/dist/src/models/group-reporting-user.entity.js +113 -113
  344. package/dist/src/models/group-reporting-user.entity.js.map +1 -1
  345. package/dist/src/models/group-system-access.entity.d.ts +18 -18
  346. package/dist/src/models/group-system-access.entity.js +98 -98
  347. package/dist/src/models/group-system-access.entity.js.map +1 -1
  348. package/dist/src/models/group.entity.d.ts +32 -32
  349. package/dist/src/models/group.entity.js +153 -154
  350. package/dist/src/models/group.entity.js.map +1 -1
  351. package/dist/src/models/login-history.entity.d.ts +14 -14
  352. package/dist/src/models/login-history.entity.js +77 -77
  353. package/dist/src/models/login-history.entity.js.map +1 -1
  354. package/dist/src/models/staff.entity.d.ts +18 -18
  355. package/dist/src/models/staff.entity.js +109 -109
  356. package/dist/src/models/staff.entity.js.map +1 -1
  357. package/dist/src/models/system-privilege.entity.d.ts +18 -18
  358. package/dist/src/models/system-privilege.entity.js +107 -107
  359. package/dist/src/models/system-privilege.entity.js.map +1 -1
  360. package/dist/src/models/system.entity.d.ts +25 -25
  361. package/dist/src/models/system.entity.js +135 -135
  362. package/dist/src/models/system.entity.js.map +1 -1
  363. package/dist/src/models/user-group.entity.d.ts +19 -19
  364. package/dist/src/models/user-group.entity.js +110 -110
  365. package/dist/src/models/user-group.entity.js.map +1 -1
  366. package/dist/src/models/user-object-privilege.entity.d.ts +20 -20
  367. package/dist/src/models/user-object-privilege.entity.js +109 -109
  368. package/dist/src/models/user-object-privilege.entity.js.map +1 -1
  369. package/dist/src/models/user-privilege.entity.d.ts +17 -17
  370. package/dist/src/models/user-privilege.entity.js +95 -95
  371. package/dist/src/models/user-privilege.entity.js.map +1 -1
  372. package/dist/src/models/user-system-access.entity.d.ts +17 -17
  373. package/dist/src/models/user-system-access.entity.js +104 -104
  374. package/dist/src/models/user-system-access.entity.js.map +1 -1
  375. package/dist/src/models/user.entity.d.ts +40 -40
  376. package/dist/src/models/user.entity.js +214 -215
  377. package/dist/src/models/user.entity.js.map +1 -1
  378. package/dist/src/redis-client/__mocks__/jest-initial-setup.d.ts +1 -1
  379. package/dist/src/redis-client/__mocks__/jest-initial-setup.js +4 -4
  380. package/dist/src/redis-client/__mocks__/redis-mock.d.ts +2 -2
  381. package/dist/src/redis-client/__mocks__/redis-mock.js +22 -22
  382. package/dist/src/redis-client/index.d.ts +1 -1
  383. package/dist/src/redis-client/index.js +17 -17
  384. package/dist/src/redis-client/redis.service.d.ts +9 -9
  385. package/dist/src/redis-client/redis.service.js +87 -87
  386. package/dist/src/redis-client/redis.service.js.map +1 -1
  387. package/dist/src/session/index.d.ts +2 -2
  388. package/dist/src/session/index.js +18 -18
  389. package/dist/src/session/interfaces/index.d.ts +1 -1
  390. package/dist/src/session/interfaces/index.js +17 -17
  391. package/dist/src/session/interfaces/session-service.interface.d.ts +9 -9
  392. package/dist/src/session/interfaces/session-service.interface.js +2 -2
  393. package/dist/src/session/session.service.d.ts +13 -13
  394. package/dist/src/session/session.service.js +95 -95
  395. package/dist/src/session/session.service.js.map +1 -1
  396. package/dist/tsconfig.tsbuildinfo +1 -1
  397. package/eslint.config.mjs +37 -0
  398. package/jest.config.js +14 -14
  399. package/migrations/20240314080602-create-user-table.js +124 -124
  400. package/migrations/20240314080603-create-user-group-table.js +85 -85
  401. package/migrations/20240314080604-create-user-user-group-table.js +55 -55
  402. package/migrations/20240314080605-create-login-history-table.js +53 -53
  403. package/migrations/20240527064925-create-system-table.js +78 -78
  404. package/migrations/20240527064926-create-system-privilege-table.js +71 -71
  405. package/migrations/20240527065342-create-group-table.js +93 -93
  406. package/migrations/20240527065633-create-group-reporting-user-table.js +76 -76
  407. package/migrations/20240528011551-create-group-system-access-table.js +72 -72
  408. package/migrations/20240528023018-user-system-access-table.js +75 -75
  409. package/migrations/20240528032229-user-privilege-table.js +76 -76
  410. package/migrations/20240528063003-create-group-privilege-table.js +76 -76
  411. package/migrations/20240528063051-create-group-object-privilege-table.js +84 -84
  412. package/migrations/20240528063107-create-user-object-privilege-table.js +84 -84
  413. package/migrations/20240528063108-create-api-key-table.js +85 -85
  414. package/migrations/20241104104802-create-building-table.js +95 -95
  415. package/package.json +89 -89
  416. package/sampledotenv +7 -7
  417. package/sonar-project.properties +22 -22
  418. package/src/components/group/group.ts +2 -3
  419. package/src/components/group-system-access/group-system-access.repository.ts +2 -3
  420. package/src/components/login-user/login-user.ts +2 -3
  421. package/src/components/login-user/user.ts +6 -6
  422. package/src/components/system-privilege/system-privilege.ts +2 -3
  423. package/src/components/user-privilege/user-privilege.ts +2 -3
  424. package/src/components/user-system-access/user-system-access.ts +2 -3
  425. package/tsconfig.build.json +5 -5
  426. package/tsconfig.json +22 -22
  427. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.d.ts +0 -1
  428. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js +0 -71
  429. package/dist/__tests__/unit/components/group-privilege/group-privilege.test.js.map +0 -1
  430. package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +0 -0
  431. package/dist/__tests__/unit/components/login-user/login-user.spec.js +0 -6
  432. package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +0 -1
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=login.spec.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,38 +1,38 @@
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
- const password_hash_service_1 = require("../../../../src/components/password-hash/password-hash.service");
13
- jest.mock('argon2', () => {
14
- return {
15
- hash: jest.fn((passowrd) => {
16
- return `hash${passowrd}`;
17
- }),
18
- verify: jest.fn().mockResolvedValue(true)
19
- };
20
- });
21
- describe('password-hash.service', () => {
22
- const passwordHashService = new password_hash_service_1.PasswordHashService();
23
- afterEach(() => {
24
- jest.clearAllMocks();
25
- });
26
- it('should return hash password', () => __awaiter(void 0, void 0, void 0, function* () {
27
- const password = 'password';
28
- const hash = yield passwordHashService.hashPassword(password);
29
- expect(hash).toEqual('hashpassword');
30
- }));
31
- it('should return true when verify password', () => __awaiter(void 0, void 0, void 0, function* () {
32
- const password = 'password';
33
- const hash = 'hashpassword10';
34
- const result = yield passwordHashService.verify(password, hash);
35
- expect(result).toEqual(true);
36
- }));
37
- });
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
+ const password_hash_service_1 = require("../../../../src/components/password-hash/password-hash.service");
13
+ jest.mock('argon2', () => {
14
+ return {
15
+ hash: jest.fn((passowrd) => {
16
+ return `hash${passowrd}`;
17
+ }),
18
+ verify: jest.fn().mockResolvedValue(true)
19
+ };
20
+ });
21
+ describe('password-hash.service', () => {
22
+ const passwordHashService = new password_hash_service_1.PasswordHashService();
23
+ afterEach(() => {
24
+ jest.clearAllMocks();
25
+ });
26
+ it('should return hash password', () => __awaiter(void 0, void 0, void 0, function* () {
27
+ const password = 'password';
28
+ const hash = yield passwordHashService.hashPassword(password);
29
+ expect(hash).toEqual('hashpassword');
30
+ }));
31
+ it('should return true when verify password', () => __awaiter(void 0, void 0, void 0, function* () {
32
+ const password = 'password';
33
+ const hash = 'hashpassword10';
34
+ const result = yield passwordHashService.verify(password, hash);
35
+ expect(result).toEqual(true);
36
+ }));
37
+ });
38
38
  //# sourceMappingURL=password-hash.service.spec.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,204 +1,204 @@
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
- const system_1 = require("../../../../src/components/system/system");
13
- const system_repository_1 = require("../../../../src/components/system/system.repository");
14
- const login_user_1 = require("../../../../src/components/login-user/login-user");
15
- const general_1 = require("@tomei/general");
16
- const config_1 = require("@tomei/config");
17
- describe('System', () => {
18
- let system;
19
- let systemRepositoryMock;
20
- let loginUserMock;
21
- beforeEach(() => {
22
- systemRepositoryMock = new system_repository_1.SystemRepository();
23
- loginUserMock = new login_user_1.LoginUser.prototype.constructor();
24
- system = new system_1.System.prototype.constructor();
25
- });
26
- afterEach(() => {
27
- jest.clearAllMocks();
28
- });
29
- const systemAttr = {
30
- SystemCode: 'TEST',
31
- Name: 'Test System',
32
- Description: 'This is a test system',
33
- AccessURL: undefined,
34
- GooglePlayURL: undefined,
35
- AppleStoreURL: undefined,
36
- APIKey: undefined,
37
- APISecret: undefined,
38
- Status: undefined,
39
- CreatedById: 1,
40
- CreatedAt: expect.any(Date),
41
- UpdatedById: 1,
42
- UpdatedAt: expect.any(Date),
43
- };
44
- describe('init', () => {
45
- it('should initialize a system when SystemCode is provided', () => __awaiter(void 0, void 0, void 0, function* () {
46
- const dbTransaction = {};
47
- const systemCode = 'TEST';
48
- const findOneMock = jest
49
- .spyOn(system_repository_1.SystemRepository.prototype, 'findByPk')
50
- .mockResolvedValueOnce(Object.assign({}, systemAttr));
51
- const result = yield system_1.System.init(dbTransaction, systemCode);
52
- expect(findOneMock).toBeCalledWith(systemCode, {
53
- transaction: dbTransaction,
54
- });
55
- expect(result).toBeInstanceOf(system_1.System);
56
- }));
57
- it('should throw an error when SystemCode is not found', () => __awaiter(void 0, void 0, void 0, function* () {
58
- const dbTransaction = {};
59
- const systemCode = 'TEST';
60
- jest
61
- .spyOn(system_repository_1.SystemRepository.prototype, 'findByPk')
62
- .mockResolvedValueOnce(null);
63
- yield expect(system_1.System.init(dbTransaction, systemCode)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg01', 'Failed To Initialize System'));
64
- }));
65
- it('should initialize a new system when SystemCode is not provided', () => __awaiter(void 0, void 0, void 0, function* () {
66
- const dbTransaction = {};
67
- const result = yield system_1.System.init(dbTransaction);
68
- expect(result).toBeInstanceOf(system_1.System);
69
- }));
70
- });
71
- describe('createSystem', () => {
72
- const loginUser = new login_user_1.LoginUser.prototype.constructor();
73
- const dbTransaction = {};
74
- const checkPrivilegesMock = jest.spyOn(login_user_1.LoginUser.prototype, 'checkPrivileges').mockResolvedValue(true);
75
- const getComponentConfigMock = jest
76
- .spyOn(config_1.ApplicationConfig, 'getComponentConfigValue')
77
- .mockReturnValue('system-code');
78
- beforeEach(() => {
79
- getComponentConfigMock.mockReturnValue('system-code');
80
- checkPrivilegesMock.mockResolvedValue(true);
81
- loginUser.ObjectId = '1';
82
- });
83
- const createMock = jest
84
- .spyOn(system_repository_1.SystemRepository.prototype, 'create')
85
- .mockResolvedValue({});
86
- it('should create a new system', () => __awaiter(void 0, void 0, void 0, function* () {
87
- const createDate = new Date();
88
- const system = yield system_1.System.init(dbTransaction);
89
- system.SystemCode = 'TEST';
90
- system.Name = 'Test System';
91
- system.Description = 'This is a test system';
92
- system['_CreatedById'] = 1;
93
- system['__CreatedAt'] = createDate;
94
- system['__UpdatedById'] = 1;
95
- system['__UpdatedAt'] = createDate;
96
- yield system.createSystem(loginUser, dbTransaction);
97
- expect(checkPrivilegesMock).toBeCalledWith('system-code', 'System - Create');
98
- expect(createMock).toBeCalledWith({
99
- SystemCode: 'TEST',
100
- Name: 'Test System',
101
- Description: 'This is a test system',
102
- AccessURL: undefined,
103
- GooglePlayURL: undefined,
104
- AppleStoreURL: undefined,
105
- APIKey: undefined,
106
- APISecret: undefined,
107
- Status: undefined,
108
- CreatedById: 1,
109
- CreatedAt: expect.any(Date),
110
- UpdatedById: 1,
111
- UpdatedAt: expect.any(Date),
112
- }, {
113
- transaction: dbTransaction,
114
- });
115
- }));
116
- it('should throw an error when user does not have permission', () => __awaiter(void 0, void 0, void 0, function* () {
117
- loginUser.checkPrivileges.mockResolvedValue(false);
118
- yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new Error('You do not have permission to list UserGroup.'));
119
- }));
120
- it('should throw an error when SystemCode is missing', () => __awaiter(void 0, void 0, void 0, function* () {
121
- system.Name = 'Test System';
122
- system.Description = 'This is a test system';
123
- yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg02', 'SystemCode must have value.'));
124
- }));
125
- it('should throw an error when Name is missing', () => __awaiter(void 0, void 0, void 0, function* () {
126
- system.SystemCode = 'TEST';
127
- system.Description = 'This is a test system';
128
- yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg03', 'Name must have value.'));
129
- }));
130
- it('should throw an error when Description is missing', () => __awaiter(void 0, void 0, void 0, function* () {
131
- system.SystemCode = 'TEST';
132
- system.Name = 'Test System';
133
- yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg04', 'Description must have value.'));
134
- }));
135
- it('should throw an error when failed to create system', () => __awaiter(void 0, void 0, void 0, function* () {
136
- system.SystemCode = 'TEST';
137
- system.Name = 'Test System';
138
- system.Description = 'This is a test system';
139
- systemRepositoryMock.create.mockRejectedValueOnce(new Error());
140
- yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new Error());
141
- }));
142
- });
143
- describe('setSystemCode', () => {
144
- const dbTransaction = {};
145
- const systemRepositoryMock = jest.spyOn(system_repository_1.SystemRepository.prototype, 'findOne');
146
- beforeEach(() => {
147
- systemRepositoryMock.mockResolvedValue(null);
148
- });
149
- it('should set the SystemCode when there is no duplicate', () => __awaiter(void 0, void 0, void 0, function* () {
150
- const systemCode = 'TEST';
151
- yield system.setSystemCode(dbTransaction, systemCode);
152
- expect(systemRepositoryMock).toBeCalledWith({
153
- where: {
154
- SystemCode: systemCode,
155
- },
156
- transaction: dbTransaction,
157
- });
158
- expect(system.SystemCode).toBe(systemCode);
159
- }));
160
- it('should throw an error when SystemCode already exists', () => __awaiter(void 0, void 0, void 0, function* () {
161
- const systemCode = 'TEST';
162
- systemRepositoryMock.mockResolvedValue({});
163
- yield expect(system.setSystemCode(dbTransaction, systemCode)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg05', 'System Code already exists.'));
164
- }));
165
- it('should throw an error when failed to check duplicate SystemCode', () => __awaiter(void 0, void 0, void 0, function* () {
166
- const systemCode = 'TEST';
167
- systemRepositoryMock.mockRejectedValueOnce(new Error());
168
- yield expect(system.setSystemCode(dbTransaction, systemCode)).rejects.toThrow(new Error());
169
- }));
170
- });
171
- describe('findAll', () => {
172
- const loginUser = new login_user_1.LoginUser.prototype.constructor();
173
- const dbTransaction = {};
174
- it('should find all systems based on filter', () => __awaiter(void 0, void 0, void 0, function* () {
175
- const page = 1;
176
- const rows = 10;
177
- const search = { Name: 'exampleName' };
178
- const findAllWithPaginationSpy = jest.spyOn(system_1.System['_Repo'], 'findAllWithPagination').mockResolvedValueOnce({
179
- count: 1,
180
- rows: [{}],
181
- });
182
- const result = yield system_1.System.findAll(dbTransaction, loginUser, page, rows, search);
183
- expect(result.count).toBe(1);
184
- expect(result.systems).toHaveLength(1);
185
- expect(result.systems[0]).toBeInstanceOf(system_1.System);
186
- }));
187
- it('should find all systems without pagination when page and rows are not provided', () => __awaiter(void 0, void 0, void 0, function* () {
188
- const findAllWithPaginationSpy = jest.spyOn(system_1.System['_Repo'], 'findAllWithPagination').mockResolvedValueOnce({
189
- count: 1,
190
- rows: [{}],
191
- });
192
- const result = yield system_1.System.findAll(dbTransaction, loginUser);
193
- expect(findAllWithPaginationSpy).toHaveBeenCalledWith({
194
- where: {},
195
- order: [['CreatedAt', 'DESC']],
196
- transaction: dbTransaction,
197
- });
198
- expect(result.count).toBe(1);
199
- expect(result.systems).toHaveLength(1);
200
- expect(result.systems[0]).toBeInstanceOf(system_1.System);
201
- }));
202
- });
203
- });
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
+ const system_1 = require("../../../../src/components/system/system");
13
+ const system_repository_1 = require("../../../../src/components/system/system.repository");
14
+ const login_user_1 = require("../../../../src/components/login-user/login-user");
15
+ const general_1 = require("@tomei/general");
16
+ const config_1 = require("@tomei/config");
17
+ describe('System', () => {
18
+ let system;
19
+ let systemRepositoryMock;
20
+ let loginUserMock;
21
+ beforeEach(() => {
22
+ systemRepositoryMock = new system_repository_1.SystemRepository();
23
+ loginUserMock = new login_user_1.LoginUser.prototype.constructor();
24
+ system = new system_1.System.prototype.constructor();
25
+ });
26
+ afterEach(() => {
27
+ jest.clearAllMocks();
28
+ });
29
+ const systemAttr = {
30
+ SystemCode: 'TEST',
31
+ Name: 'Test System',
32
+ Description: 'This is a test system',
33
+ AccessURL: undefined,
34
+ GooglePlayURL: undefined,
35
+ AppleStoreURL: undefined,
36
+ APIKey: undefined,
37
+ APISecret: undefined,
38
+ Status: undefined,
39
+ CreatedById: 1,
40
+ CreatedAt: expect.any(Date),
41
+ UpdatedById: 1,
42
+ UpdatedAt: expect.any(Date),
43
+ };
44
+ describe('init', () => {
45
+ it('should initialize a system when SystemCode is provided', () => __awaiter(void 0, void 0, void 0, function* () {
46
+ const dbTransaction = {};
47
+ const systemCode = 'TEST';
48
+ const findOneMock = jest
49
+ .spyOn(system_repository_1.SystemRepository.prototype, 'findByPk')
50
+ .mockResolvedValueOnce(Object.assign({}, systemAttr));
51
+ const result = yield system_1.System.init(dbTransaction, systemCode);
52
+ expect(findOneMock).toBeCalledWith(systemCode, {
53
+ transaction: dbTransaction,
54
+ });
55
+ expect(result).toBeInstanceOf(system_1.System);
56
+ }));
57
+ it('should throw an error when SystemCode is not found', () => __awaiter(void 0, void 0, void 0, function* () {
58
+ const dbTransaction = {};
59
+ const systemCode = 'TEST';
60
+ jest
61
+ .spyOn(system_repository_1.SystemRepository.prototype, 'findByPk')
62
+ .mockResolvedValueOnce(null);
63
+ yield expect(system_1.System.init(dbTransaction, systemCode)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg01', 'Failed To Initialize System'));
64
+ }));
65
+ it('should initialize a new system when SystemCode is not provided', () => __awaiter(void 0, void 0, void 0, function* () {
66
+ const dbTransaction = {};
67
+ const result = yield system_1.System.init(dbTransaction);
68
+ expect(result).toBeInstanceOf(system_1.System);
69
+ }));
70
+ });
71
+ describe('createSystem', () => {
72
+ const loginUser = new login_user_1.LoginUser.prototype.constructor();
73
+ const dbTransaction = {};
74
+ const checkPrivilegesMock = jest.spyOn(login_user_1.LoginUser.prototype, 'checkPrivileges').mockResolvedValue(true);
75
+ const getComponentConfigMock = jest
76
+ .spyOn(config_1.ApplicationConfig, 'getComponentConfigValue')
77
+ .mockReturnValue('system-code');
78
+ beforeEach(() => {
79
+ getComponentConfigMock.mockReturnValue('system-code');
80
+ checkPrivilegesMock.mockResolvedValue(true);
81
+ loginUser.ObjectId = '1';
82
+ });
83
+ const createMock = jest
84
+ .spyOn(system_repository_1.SystemRepository.prototype, 'create')
85
+ .mockResolvedValue({});
86
+ it('should create a new system', () => __awaiter(void 0, void 0, void 0, function* () {
87
+ const createDate = new Date();
88
+ const system = yield system_1.System.init(dbTransaction);
89
+ system.SystemCode = 'TEST';
90
+ system.Name = 'Test System';
91
+ system.Description = 'This is a test system';
92
+ system['_CreatedById'] = 1;
93
+ system['__CreatedAt'] = createDate;
94
+ system['__UpdatedById'] = 1;
95
+ system['__UpdatedAt'] = createDate;
96
+ yield system.createSystem(loginUser, dbTransaction);
97
+ expect(checkPrivilegesMock).toBeCalledWith('system-code', 'System - Create');
98
+ expect(createMock).toBeCalledWith({
99
+ SystemCode: 'TEST',
100
+ Name: 'Test System',
101
+ Description: 'This is a test system',
102
+ AccessURL: undefined,
103
+ GooglePlayURL: undefined,
104
+ AppleStoreURL: undefined,
105
+ APIKey: undefined,
106
+ APISecret: undefined,
107
+ Status: undefined,
108
+ CreatedById: 1,
109
+ CreatedAt: expect.any(Date),
110
+ UpdatedById: 1,
111
+ UpdatedAt: expect.any(Date),
112
+ }, {
113
+ transaction: dbTransaction,
114
+ });
115
+ }));
116
+ it('should throw an error when user does not have permission', () => __awaiter(void 0, void 0, void 0, function* () {
117
+ loginUser.checkPrivileges.mockResolvedValue(false);
118
+ yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new Error('You do not have permission to list UserGroup.'));
119
+ }));
120
+ it('should throw an error when SystemCode is missing', () => __awaiter(void 0, void 0, void 0, function* () {
121
+ system.Name = 'Test System';
122
+ system.Description = 'This is a test system';
123
+ yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg02', 'SystemCode must have value.'));
124
+ }));
125
+ it('should throw an error when Name is missing', () => __awaiter(void 0, void 0, void 0, function* () {
126
+ system.SystemCode = 'TEST';
127
+ system.Description = 'This is a test system';
128
+ yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg03', 'Name must have value.'));
129
+ }));
130
+ it('should throw an error when Description is missing', () => __awaiter(void 0, void 0, void 0, function* () {
131
+ system.SystemCode = 'TEST';
132
+ system.Name = 'Test System';
133
+ yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg04', 'Description must have value.'));
134
+ }));
135
+ it('should throw an error when failed to create system', () => __awaiter(void 0, void 0, void 0, function* () {
136
+ system.SystemCode = 'TEST';
137
+ system.Name = 'Test System';
138
+ system.Description = 'This is a test system';
139
+ systemRepositoryMock.create.mockRejectedValueOnce(new Error());
140
+ yield expect(system.createSystem(loginUser, dbTransaction)).rejects.toThrow(new Error());
141
+ }));
142
+ });
143
+ describe('setSystemCode', () => {
144
+ const dbTransaction = {};
145
+ const systemRepositoryMock = jest.spyOn(system_repository_1.SystemRepository.prototype, 'findOne');
146
+ beforeEach(() => {
147
+ systemRepositoryMock.mockResolvedValue(null);
148
+ });
149
+ it('should set the SystemCode when there is no duplicate', () => __awaiter(void 0, void 0, void 0, function* () {
150
+ const systemCode = 'TEST';
151
+ yield system.setSystemCode(dbTransaction, systemCode);
152
+ expect(systemRepositoryMock).toBeCalledWith({
153
+ where: {
154
+ SystemCode: systemCode,
155
+ },
156
+ transaction: dbTransaction,
157
+ });
158
+ expect(system.SystemCode).toBe(systemCode);
159
+ }));
160
+ it('should throw an error when SystemCode already exists', () => __awaiter(void 0, void 0, void 0, function* () {
161
+ const systemCode = 'TEST';
162
+ systemRepositoryMock.mockResolvedValue({});
163
+ yield expect(system.setSystemCode(dbTransaction, systemCode)).rejects.toThrow(new general_1.ClassError('System', 'SystemErrMsg05', 'System Code already exists.'));
164
+ }));
165
+ it('should throw an error when failed to check duplicate SystemCode', () => __awaiter(void 0, void 0, void 0, function* () {
166
+ const systemCode = 'TEST';
167
+ systemRepositoryMock.mockRejectedValueOnce(new Error());
168
+ yield expect(system.setSystemCode(dbTransaction, systemCode)).rejects.toThrow(new Error());
169
+ }));
170
+ });
171
+ describe('findAll', () => {
172
+ const loginUser = new login_user_1.LoginUser.prototype.constructor();
173
+ const dbTransaction = {};
174
+ it('should find all systems based on filter', () => __awaiter(void 0, void 0, void 0, function* () {
175
+ const page = 1;
176
+ const rows = 10;
177
+ const search = { Name: 'exampleName' };
178
+ const findAllWithPaginationSpy = jest.spyOn(system_1.System['_Repo'], 'findAllWithPagination').mockResolvedValueOnce({
179
+ count: 1,
180
+ rows: [{}],
181
+ });
182
+ const result = yield system_1.System.findAll(dbTransaction, loginUser, page, rows, search);
183
+ expect(result.count).toBe(1);
184
+ expect(result.systems).toHaveLength(1);
185
+ expect(result.systems[0]).toBeInstanceOf(system_1.System);
186
+ }));
187
+ it('should find all systems without pagination when page and rows are not provided', () => __awaiter(void 0, void 0, void 0, function* () {
188
+ const findAllWithPaginationSpy = jest.spyOn(system_1.System['_Repo'], 'findAllWithPagination').mockResolvedValueOnce({
189
+ count: 1,
190
+ rows: [{}],
191
+ });
192
+ const result = yield system_1.System.findAll(dbTransaction, loginUser);
193
+ expect(findAllWithPaginationSpy).toHaveBeenCalledWith({
194
+ where: {},
195
+ order: [['CreatedAt', 'DESC']],
196
+ transaction: dbTransaction,
197
+ });
198
+ expect(result.count).toBe(1);
199
+ expect(result.systems).toHaveLength(1);
200
+ expect(result.systems[0]).toBeInstanceOf(system_1.System);
201
+ }));
202
+ });
203
+ });
204
204
  //# sourceMappingURL=system.spec.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};