@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,224 +1,224 @@
1
- body, html {
2
- margin:0; padding: 0;
3
- height: 100%;
4
- }
5
- body {
6
- font-family: Helvetica Neue, Helvetica, Arial;
7
- font-size: 14px;
8
- color:#333;
9
- }
10
- .small { font-size: 12px; }
11
- *, *:after, *:before {
12
- -webkit-box-sizing:border-box;
13
- -moz-box-sizing:border-box;
14
- box-sizing:border-box;
15
- }
16
- h1 { font-size: 20px; margin: 0;}
17
- h2 { font-size: 14px; }
18
- pre {
19
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
- margin: 0;
21
- padding: 0;
22
- -moz-tab-size: 2;
23
- -o-tab-size: 2;
24
- tab-size: 2;
25
- }
26
- a { color:#0074D9; text-decoration:none; }
27
- a:hover { text-decoration:underline; }
28
- .strong { font-weight: bold; }
29
- .space-top1 { padding: 10px 0 0 0; }
30
- .pad2y { padding: 20px 0; }
31
- .pad1y { padding: 10px 0; }
32
- .pad2x { padding: 0 20px; }
33
- .pad2 { padding: 20px; }
34
- .pad1 { padding: 10px; }
35
- .space-left2 { padding-left:55px; }
36
- .space-right2 { padding-right:20px; }
37
- .center { text-align:center; }
38
- .clearfix { display:block; }
39
- .clearfix:after {
40
- content:'';
41
- display:block;
42
- height:0;
43
- clear:both;
44
- visibility:hidden;
45
- }
46
- .fl { float: left; }
47
- @media only screen and (max-width:640px) {
48
- .col3 { width:100%; max-width:100%; }
49
- .hide-mobile { display:none!important; }
50
- }
51
-
52
- .quiet {
53
- color: #7f7f7f;
54
- color: rgba(0,0,0,0.5);
55
- }
56
- .quiet a { opacity: 0.7; }
57
-
58
- .fraction {
59
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
- font-size: 10px;
61
- color: #555;
62
- background: #E8E8E8;
63
- padding: 4px 5px;
64
- border-radius: 3px;
65
- vertical-align: middle;
66
- }
67
-
68
- div.path a:link, div.path a:visited { color: #333; }
69
- table.coverage {
70
- border-collapse: collapse;
71
- margin: 10px 0 0 0;
72
- padding: 0;
73
- }
74
-
75
- table.coverage td {
76
- margin: 0;
77
- padding: 0;
78
- vertical-align: top;
79
- }
80
- table.coverage td.line-count {
81
- text-align: right;
82
- padding: 0 5px 0 20px;
83
- }
84
- table.coverage td.line-coverage {
85
- text-align: right;
86
- padding-right: 10px;
87
- min-width:20px;
88
- }
89
-
90
- table.coverage td span.cline-any {
91
- display: inline-block;
92
- padding: 0 5px;
93
- width: 100%;
94
- }
95
- .missing-if-branch {
96
- display: inline-block;
97
- margin-right: 5px;
98
- border-radius: 3px;
99
- position: relative;
100
- padding: 0 4px;
101
- background: #333;
102
- color: yellow;
103
- }
104
-
105
- .skip-if-branch {
106
- display: none;
107
- margin-right: 10px;
108
- position: relative;
109
- padding: 0 4px;
110
- background: #ccc;
111
- color: white;
112
- }
113
- .missing-if-branch .typ, .skip-if-branch .typ {
114
- color: inherit !important;
115
- }
116
- .coverage-summary {
117
- border-collapse: collapse;
118
- width: 100%;
119
- }
120
- .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
- .keyline-all { border: 1px solid #ddd; }
122
- .coverage-summary td, .coverage-summary th { padding: 10px; }
123
- .coverage-summary tbody { border: 1px solid #bbb; }
124
- .coverage-summary td { border-right: 1px solid #bbb; }
125
- .coverage-summary td:last-child { border-right: none; }
126
- .coverage-summary th {
127
- text-align: left;
128
- font-weight: normal;
129
- white-space: nowrap;
130
- }
131
- .coverage-summary th.file { border-right: none !important; }
132
- .coverage-summary th.pct { }
133
- .coverage-summary th.pic,
134
- .coverage-summary th.abs,
135
- .coverage-summary td.pct,
136
- .coverage-summary td.abs { text-align: right; }
137
- .coverage-summary td.file { white-space: nowrap; }
138
- .coverage-summary td.pic { min-width: 120px !important; }
139
- .coverage-summary tfoot td { }
140
-
141
- .coverage-summary .sorter {
142
- height: 10px;
143
- width: 7px;
144
- display: inline-block;
145
- margin-left: 0.5em;
146
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
- }
148
- .coverage-summary .sorted .sorter {
149
- background-position: 0 -20px;
150
- }
151
- .coverage-summary .sorted-desc .sorter {
152
- background-position: 0 -10px;
153
- }
154
- .status-line { height: 10px; }
155
- /* yellow */
156
- .cbranch-no { background: yellow !important; color: #111; }
157
- /* dark red */
158
- .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
- .low .chart { border:1px solid #C21F39 }
160
- .highlighted,
161
- .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
- background: #C21F39 !important;
163
- }
164
- /* medium red */
165
- .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
- /* light red */
167
- .low, .cline-no { background:#FCE1E5 }
168
- /* light green */
169
- .high, .cline-yes { background:rgb(230,245,208) }
170
- /* medium green */
171
- .cstat-yes { background:rgb(161,215,106) }
172
- /* dark green */
173
- .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
- .high .chart { border:1px solid rgb(77,146,33) }
175
- /* dark yellow (gold) */
176
- .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
- .medium .chart { border:1px solid #f9cd0b; }
178
- /* light yellow */
179
- .medium { background: #fff4c2; }
180
-
181
- .cstat-skip { background: #ddd; color: #111; }
182
- .fstat-skip { background: #ddd; color: #111 !important; }
183
- .cbranch-skip { background: #ddd !important; color: #111; }
184
-
185
- span.cline-neutral { background: #eaeaea; }
186
-
187
- .coverage-summary td.empty {
188
- opacity: .5;
189
- padding-top: 4px;
190
- padding-bottom: 4px;
191
- line-height: 1;
192
- color: #888;
193
- }
194
-
195
- .cover-fill, .cover-empty {
196
- display:inline-block;
197
- height: 12px;
198
- }
199
- .chart {
200
- line-height: 0;
201
- }
202
- .cover-empty {
203
- background: white;
204
- }
205
- .cover-full {
206
- border-right: none !important;
207
- }
208
- pre.prettyprint {
209
- border: none !important;
210
- padding: 0 !important;
211
- margin: 0 !important;
212
- }
213
- .com { color: #999 !important; }
214
- .ignore-none { color: #999; font-weight: normal; }
215
-
216
- .wrapper {
217
- min-height: 100%;
218
- height: auto !important;
219
- height: 100%;
220
- margin: 0 auto -48px;
221
- }
222
- .footer, .push {
223
- height: 48px;
224
- }
1
+ body, html {
2
+ margin:0; padding: 0;
3
+ height: 100%;
4
+ }
5
+ body {
6
+ font-family: Helvetica Neue, Helvetica, Arial;
7
+ font-size: 14px;
8
+ color:#333;
9
+ }
10
+ .small { font-size: 12px; }
11
+ *, *:after, *:before {
12
+ -webkit-box-sizing:border-box;
13
+ -moz-box-sizing:border-box;
14
+ box-sizing:border-box;
15
+ }
16
+ h1 { font-size: 20px; margin: 0;}
17
+ h2 { font-size: 14px; }
18
+ pre {
19
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
+ margin: 0;
21
+ padding: 0;
22
+ -moz-tab-size: 2;
23
+ -o-tab-size: 2;
24
+ tab-size: 2;
25
+ }
26
+ a { color:#0074D9; text-decoration:none; }
27
+ a:hover { text-decoration:underline; }
28
+ .strong { font-weight: bold; }
29
+ .space-top1 { padding: 10px 0 0 0; }
30
+ .pad2y { padding: 20px 0; }
31
+ .pad1y { padding: 10px 0; }
32
+ .pad2x { padding: 0 20px; }
33
+ .pad2 { padding: 20px; }
34
+ .pad1 { padding: 10px; }
35
+ .space-left2 { padding-left:55px; }
36
+ .space-right2 { padding-right:20px; }
37
+ .center { text-align:center; }
38
+ .clearfix { display:block; }
39
+ .clearfix:after {
40
+ content:'';
41
+ display:block;
42
+ height:0;
43
+ clear:both;
44
+ visibility:hidden;
45
+ }
46
+ .fl { float: left; }
47
+ @media only screen and (max-width:640px) {
48
+ .col3 { width:100%; max-width:100%; }
49
+ .hide-mobile { display:none!important; }
50
+ }
51
+
52
+ .quiet {
53
+ color: #7f7f7f;
54
+ color: rgba(0,0,0,0.5);
55
+ }
56
+ .quiet a { opacity: 0.7; }
57
+
58
+ .fraction {
59
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
+ font-size: 10px;
61
+ color: #555;
62
+ background: #E8E8E8;
63
+ padding: 4px 5px;
64
+ border-radius: 3px;
65
+ vertical-align: middle;
66
+ }
67
+
68
+ div.path a:link, div.path a:visited { color: #333; }
69
+ table.coverage {
70
+ border-collapse: collapse;
71
+ margin: 10px 0 0 0;
72
+ padding: 0;
73
+ }
74
+
75
+ table.coverage td {
76
+ margin: 0;
77
+ padding: 0;
78
+ vertical-align: top;
79
+ }
80
+ table.coverage td.line-count {
81
+ text-align: right;
82
+ padding: 0 5px 0 20px;
83
+ }
84
+ table.coverage td.line-coverage {
85
+ text-align: right;
86
+ padding-right: 10px;
87
+ min-width:20px;
88
+ }
89
+
90
+ table.coverage td span.cline-any {
91
+ display: inline-block;
92
+ padding: 0 5px;
93
+ width: 100%;
94
+ }
95
+ .missing-if-branch {
96
+ display: inline-block;
97
+ margin-right: 5px;
98
+ border-radius: 3px;
99
+ position: relative;
100
+ padding: 0 4px;
101
+ background: #333;
102
+ color: yellow;
103
+ }
104
+
105
+ .skip-if-branch {
106
+ display: none;
107
+ margin-right: 10px;
108
+ position: relative;
109
+ padding: 0 4px;
110
+ background: #ccc;
111
+ color: white;
112
+ }
113
+ .missing-if-branch .typ, .skip-if-branch .typ {
114
+ color: inherit !important;
115
+ }
116
+ .coverage-summary {
117
+ border-collapse: collapse;
118
+ width: 100%;
119
+ }
120
+ .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
+ .keyline-all { border: 1px solid #ddd; }
122
+ .coverage-summary td, .coverage-summary th { padding: 10px; }
123
+ .coverage-summary tbody { border: 1px solid #bbb; }
124
+ .coverage-summary td { border-right: 1px solid #bbb; }
125
+ .coverage-summary td:last-child { border-right: none; }
126
+ .coverage-summary th {
127
+ text-align: left;
128
+ font-weight: normal;
129
+ white-space: nowrap;
130
+ }
131
+ .coverage-summary th.file { border-right: none !important; }
132
+ .coverage-summary th.pct { }
133
+ .coverage-summary th.pic,
134
+ .coverage-summary th.abs,
135
+ .coverage-summary td.pct,
136
+ .coverage-summary td.abs { text-align: right; }
137
+ .coverage-summary td.file { white-space: nowrap; }
138
+ .coverage-summary td.pic { min-width: 120px !important; }
139
+ .coverage-summary tfoot td { }
140
+
141
+ .coverage-summary .sorter {
142
+ height: 10px;
143
+ width: 7px;
144
+ display: inline-block;
145
+ margin-left: 0.5em;
146
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
+ }
148
+ .coverage-summary .sorted .sorter {
149
+ background-position: 0 -20px;
150
+ }
151
+ .coverage-summary .sorted-desc .sorter {
152
+ background-position: 0 -10px;
153
+ }
154
+ .status-line { height: 10px; }
155
+ /* yellow */
156
+ .cbranch-no { background: yellow !important; color: #111; }
157
+ /* dark red */
158
+ .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
+ .low .chart { border:1px solid #C21F39 }
160
+ .highlighted,
161
+ .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
+ background: #C21F39 !important;
163
+ }
164
+ /* medium red */
165
+ .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
+ /* light red */
167
+ .low, .cline-no { background:#FCE1E5 }
168
+ /* light green */
169
+ .high, .cline-yes { background:rgb(230,245,208) }
170
+ /* medium green */
171
+ .cstat-yes { background:rgb(161,215,106) }
172
+ /* dark green */
173
+ .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
+ .high .chart { border:1px solid rgb(77,146,33) }
175
+ /* dark yellow (gold) */
176
+ .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
+ .medium .chart { border:1px solid #f9cd0b; }
178
+ /* light yellow */
179
+ .medium { background: #fff4c2; }
180
+
181
+ .cstat-skip { background: #ddd; color: #111; }
182
+ .fstat-skip { background: #ddd; color: #111 !important; }
183
+ .cbranch-skip { background: #ddd !important; color: #111; }
184
+
185
+ span.cline-neutral { background: #eaeaea; }
186
+
187
+ .coverage-summary td.empty {
188
+ opacity: .5;
189
+ padding-top: 4px;
190
+ padding-bottom: 4px;
191
+ line-height: 1;
192
+ color: #888;
193
+ }
194
+
195
+ .cover-fill, .cover-empty {
196
+ display:inline-block;
197
+ height: 12px;
198
+ }
199
+ .chart {
200
+ line-height: 0;
201
+ }
202
+ .cover-empty {
203
+ background: white;
204
+ }
205
+ .cover-full {
206
+ border-right: none !important;
207
+ }
208
+ pre.prettyprint {
209
+ border: none !important;
210
+ padding: 0 !important;
211
+ margin: 0 !important;
212
+ }
213
+ .com { color: #999 !important; }
214
+ .ignore-none { color: #999; font-weight: normal; }
215
+
216
+ .wrapper {
217
+ min-height: 100%;
218
+ height: auto !important;
219
+ height: 100%;
220
+ margin: 0 auto -48px;
221
+ }
222
+ .footer, .push {
223
+ height: 48px;
224
+ }
@@ -1,87 +1,87 @@
1
- /* eslint-disable */
2
- var jumpToCode = (function init() {
3
- // Classes of code we would like to highlight in the file view
4
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
-
6
- // Elements to highlight in the file listing view
7
- var fileListingElements = ['td.pct.low'];
8
-
9
- // We don't want to select elements that are direct descendants of another match
10
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
-
12
- // Selecter that finds elements on the page to which we can jump
13
- var selector =
14
- fileListingElements.join(', ') +
15
- ', ' +
16
- notSelector +
17
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
-
19
- // The NodeList of matching elements
20
- var missingCoverageElements = document.querySelectorAll(selector);
21
-
22
- var currentIndex;
23
-
24
- function toggleClass(index) {
25
- missingCoverageElements
26
- .item(currentIndex)
27
- .classList.remove('highlighted');
28
- missingCoverageElements.item(index).classList.add('highlighted');
29
- }
30
-
31
- function makeCurrent(index) {
32
- toggleClass(index);
33
- currentIndex = index;
34
- missingCoverageElements.item(index).scrollIntoView({
35
- behavior: 'smooth',
36
- block: 'center',
37
- inline: 'center'
38
- });
39
- }
40
-
41
- function goToPrevious() {
42
- var nextIndex = 0;
43
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
- nextIndex = missingCoverageElements.length - 1;
45
- } else if (missingCoverageElements.length > 1) {
46
- nextIndex = currentIndex - 1;
47
- }
48
-
49
- makeCurrent(nextIndex);
50
- }
51
-
52
- function goToNext() {
53
- var nextIndex = 0;
54
-
55
- if (
56
- typeof currentIndex === 'number' &&
57
- currentIndex < missingCoverageElements.length - 1
58
- ) {
59
- nextIndex = currentIndex + 1;
60
- }
61
-
62
- makeCurrent(nextIndex);
63
- }
64
-
65
- return function jump(event) {
66
- if (
67
- document.getElementById('fileSearch') === document.activeElement &&
68
- document.activeElement != null
69
- ) {
70
- // if we're currently focused on the search input, we don't want to navigate
71
- return;
72
- }
73
-
74
- switch (event.which) {
75
- case 78: // n
76
- case 74: // j
77
- goToNext();
78
- break;
79
- case 66: // b
80
- case 75: // k
81
- case 80: // p
82
- goToPrevious();
83
- break;
84
- }
85
- };
86
- })();
87
- window.addEventListener('keydown', jumpToCode);
1
+
2
+ var jumpToCode = (function init() {
3
+ // Classes of code we would like to highlight in the file view
4
+ var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
+
6
+ // Elements to highlight in the file listing view
7
+ var fileListingElements = ['td.pct.low'];
8
+
9
+ // We don't want to select elements that are direct descendants of another match
10
+ var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
+
12
+ // Selecter that finds elements on the page to which we can jump
13
+ var selector =
14
+ fileListingElements.join(', ') +
15
+ ', ' +
16
+ notSelector +
17
+ missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
+
19
+ // The NodeList of matching elements
20
+ var missingCoverageElements = document.querySelectorAll(selector);
21
+
22
+ var currentIndex;
23
+
24
+ function toggleClass(index) {
25
+ missingCoverageElements
26
+ .item(currentIndex)
27
+ .classList.remove('highlighted');
28
+ missingCoverageElements.item(index).classList.add('highlighted');
29
+ }
30
+
31
+ function makeCurrent(index) {
32
+ toggleClass(index);
33
+ currentIndex = index;
34
+ missingCoverageElements.item(index).scrollIntoView({
35
+ behavior: 'smooth',
36
+ block: 'center',
37
+ inline: 'center'
38
+ });
39
+ }
40
+
41
+ function goToPrevious() {
42
+ var nextIndex = 0;
43
+ if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
+ nextIndex = missingCoverageElements.length - 1;
45
+ } else if (missingCoverageElements.length > 1) {
46
+ nextIndex = currentIndex - 1;
47
+ }
48
+
49
+ makeCurrent(nextIndex);
50
+ }
51
+
52
+ function goToNext() {
53
+ var nextIndex = 0;
54
+
55
+ if (
56
+ typeof currentIndex === 'number' &&
57
+ currentIndex < missingCoverageElements.length - 1
58
+ ) {
59
+ nextIndex = currentIndex + 1;
60
+ }
61
+
62
+ makeCurrent(nextIndex);
63
+ }
64
+
65
+ return function jump(event) {
66
+ if (
67
+ document.getElementById('fileSearch') === document.activeElement &&
68
+ document.activeElement != null
69
+ ) {
70
+ // if we're currently focused on the search input, we don't want to navigate
71
+ return;
72
+ }
73
+
74
+ switch (event.which) {
75
+ case 78: // n
76
+ case 74: // j
77
+ goToNext();
78
+ break;
79
+ case 66: // b
80
+ case 75: // k
81
+ case 80: // p
82
+ goToPrevious();
83
+ break;
84
+ }
85
+ };
86
+ })();
87
+ window.addEventListener('keydown', jumpToCode);