@prosopo/user-access-policy 2.6.4 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/accessPolicy.d.ts +169 -0
  3. package/dist/accessPolicy.d.ts.map +1 -0
  4. package/dist/accessPolicy.js +65 -0
  5. package/dist/accessPolicy.js.map +1 -0
  6. package/dist/accessPolicyResolver.d.ts +115 -0
  7. package/dist/accessPolicyResolver.d.ts.map +1 -0
  8. package/dist/accessPolicyResolver.js +44 -0
  9. package/dist/accessPolicyResolver.js.map +1 -0
  10. package/dist/accessRules.d.ts +16 -0
  11. package/dist/accessRules.d.ts.map +1 -0
  12. package/dist/accessRules.js +8 -0
  13. package/dist/accessRules.js.map +1 -0
  14. package/dist/api/accessRuleApiRoutes.d.ts +27 -0
  15. package/dist/api/accessRuleApiRoutes.d.ts.map +1 -0
  16. package/dist/api/accessRuleApiRoutes.js +56 -0
  17. package/dist/api/accessRuleApiRoutes.js.map +1 -0
  18. package/dist/api/deleteAllRulesEndpoint.d.ts +12 -0
  19. package/dist/api/deleteAllRulesEndpoint.d.ts.map +1 -0
  20. package/dist/api/deleteAllRulesEndpoint.js +21 -0
  21. package/dist/api/deleteAllRulesEndpoint.js.map +1 -0
  22. package/dist/api/deleteRulesEndpoint.d.ts +116 -0
  23. package/dist/api/deleteRulesEndpoint.d.ts.map +1 -0
  24. package/dist/api/deleteRulesEndpoint.js +31 -0
  25. package/dist/api/deleteRulesEndpoint.js.map +1 -0
  26. package/dist/api/insertRulesEndpoint.d.ts +22 -0
  27. package/dist/api/insertRulesEndpoint.d.ts.map +1 -0
  28. package/dist/api/insertRulesEndpoint.js +62 -0
  29. package/dist/api/insertRulesEndpoint.js.map +1 -0
  30. package/dist/cjs/accessPolicy.cjs +79 -0
  31. package/dist/cjs/accessPolicyResolver.cjs +87 -0
  32. package/dist/cjs/accessRules.cjs +11 -0
  33. package/dist/cjs/api/accessRuleApiRoutes.cjs +79 -0
  34. package/dist/cjs/api/deleteAllRulesEndpoint.cjs +24 -0
  35. package/dist/cjs/api/deleteRulesEndpoint.cjs +34 -0
  36. package/dist/cjs/api/insertRulesEndpoint.cjs +65 -0
  37. package/dist/cjs/index.cjs +22 -23
  38. package/dist/cjs/redis/redisAccessRules.cjs +140 -0
  39. package/dist/cjs/redis/redisAccessRulesIndex.cjs +103 -0
  40. package/dist/cjs/redis/redisIndex.cjs +22 -0
  41. package/dist/cjs/util.cjs +5 -0
  42. package/dist/index.d.ts +13 -15
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +14 -20
  45. package/dist/index.js.map +1 -1
  46. package/dist/redis/redisAccessRules.d.ts +7 -0
  47. package/dist/redis/redisAccessRules.d.ts.map +1 -0
  48. package/dist/redis/redisAccessRules.js +105 -0
  49. package/dist/redis/redisAccessRules.js.map +1 -0
  50. package/dist/redis/redisAccessRulesIndex.d.ts +12 -0
  51. package/dist/redis/redisAccessRulesIndex.d.ts.map +1 -0
  52. package/dist/redis/redisAccessRulesIndex.js +81 -0
  53. package/dist/redis/redisAccessRulesIndex.js.map +1 -0
  54. package/dist/redis/redisIndex.d.ts +9 -0
  55. package/dist/redis/redisIndex.d.ts.map +1 -0
  56. package/dist/redis/redisIndex.js +23 -0
  57. package/dist/redis/redisIndex.js.map +1 -0
  58. package/dist/tests/accessPolicy.test.d.ts +2 -0
  59. package/dist/tests/accessPolicy.test.d.ts.map +1 -0
  60. package/dist/tests/accessPolicy.test.js +27 -0
  61. package/dist/tests/accessPolicy.test.js.map +1 -0
  62. package/dist/tests/redis/redisAccessRules.test.d.ts +2 -0
  63. package/dist/tests/redis/redisAccessRules.test.d.ts.map +1 -0
  64. package/dist/tests/redis/redisAccessRules.test.js +398 -0
  65. package/dist/tests/redis/redisAccessRules.test.js.map +1 -0
  66. package/dist/tests/redis/redisIndex.test.d.ts +2 -0
  67. package/dist/tests/redis/redisIndex.test.d.ts.map +1 -0
  68. package/dist/tests/redis/redisIndex.test.js +84 -0
  69. package/dist/tests/redis/redisIndex.test.js.map +1 -0
  70. package/dist/tests/redis/testRedisClient.d.ts +3 -0
  71. package/dist/tests/redis/testRedisClient.d.ts.map +1 -0
  72. package/dist/tests/redis/testRedisClient.js +8 -0
  73. package/dist/tests/redis/testRedisClient.js.map +1 -0
  74. package/dist/tests/testLogger.d.ts +4 -0
  75. package/dist/tests/testLogger.d.ts.map +1 -0
  76. package/dist/tests/testLogger.js +22 -0
  77. package/dist/tests/testLogger.js.map +1 -0
  78. package/dist/util.d.ts +2 -0
  79. package/dist/util.d.ts.map +1 -0
  80. package/dist/util.js +3 -0
  81. package/dist/util.js.map +1 -0
  82. package/package.json +16 -14
  83. package/vite.cjs.config.ts +4 -6
  84. package/vite.config.ts +39 -0
  85. package/vite.test.config.ts +2 -1
  86. package/dist/blacklistInspector.d.ts +0 -6
  87. package/dist/blacklistInspector.d.ts.map +0 -1
  88. package/dist/blacklistInspector.js +0 -2
  89. package/dist/blacklistInspector.js.map +0 -1
  90. package/dist/cjs/rules/api/apiRulePaths.cjs +0 -7
  91. package/dist/cjs/rules/api/apiRuleRoutesProvider.cjs +0 -23
  92. package/dist/cjs/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.cjs +0 -13
  93. package/dist/cjs/rules/api/deleteMany/apiDeleteManyRulesEndpoint.cjs +0 -19
  94. package/dist/cjs/rules/api/getExpressApiRuleRateLimits.cjs +0 -18
  95. package/dist/cjs/rules/api/insertMany/apiInsertManyRulesArgsSchema.cjs +0 -39
  96. package/dist/cjs/rules/api/insertMany/apiInsertManyRulesEndpoint.cjs +0 -193
  97. package/dist/cjs/rules/blacklistRulesInspector.cjs +0 -44
  98. package/dist/cjs/rules/imageCaptchaConfigRulesResolver.cjs +0 -115
  99. package/dist/cjs/rules/mongoose/indexes/rulePerformanceMongooseIndexes.cjs +0 -75
  100. package/dist/cjs/rules/mongoose/indexes/ruleUniqueMongooseIndexes.cjs +0 -137
  101. package/dist/cjs/rules/mongoose/rulesMongooseStorage.cjs +0 -177
  102. package/dist/cjs/rules/mongoose/schemas/config/configMongooseSchema.cjs +0 -14
  103. package/dist/cjs/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.cjs +0 -17
  104. package/dist/cjs/rules/mongoose/schemas/getRuleMongooseSchema.cjs +0 -19
  105. package/dist/cjs/rules/mongoose/schemas/ip/ipMongooseSchema.cjs +0 -29
  106. package/dist/cjs/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.cjs +0 -14
  107. package/dist/cjs/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.cjs +0 -18
  108. package/dist/cjs/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.cjs +0 -34
  109. package/dist/cjs/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.cjs +0 -33
  110. package/dist/cjs/rules/mongoose/schemas/ruleMongooseSchema.cjs +0 -43
  111. package/dist/cjs/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.cjs +0 -8
  112. package/dist/cjs/rules/rule/config/ruleConfigSchema.cjs +0 -8
  113. package/dist/cjs/rules/rule/ip/ruleIpSchema.cjs +0 -10
  114. package/dist/cjs/rules/rule/ip/ruleIpVersion.cjs +0 -8
  115. package/dist/cjs/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.cjs +0 -9
  116. package/dist/cjs/rules/rule/ip/v4/ruleIpV4Schema.cjs +0 -10
  117. package/dist/cjs/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.cjs +0 -9
  118. package/dist/cjs/rules/rule/ip/v6/ruleIpV6NumericMaxLength.cjs +0 -4
  119. package/dist/cjs/rules/rule/ip/v6/ruleIpV6Schema.cjs +0 -10
  120. package/dist/imageCaptchaConfigResolver.d.ts +0 -7
  121. package/dist/imageCaptchaConfigResolver.d.ts.map +0 -1
  122. package/dist/imageCaptchaConfigResolver.js +0 -2
  123. package/dist/imageCaptchaConfigResolver.js.map +0 -1
  124. package/dist/rules/api/apiRulePaths.d.ts +0 -5
  125. package/dist/rules/api/apiRulePaths.d.ts.map +0 -1
  126. package/dist/rules/api/apiRulePaths.js +0 -5
  127. package/dist/rules/api/apiRulePaths.js.map +0 -1
  128. package/dist/rules/api/apiRuleRoutesProvider.d.ts +0 -9
  129. package/dist/rules/api/apiRuleRoutesProvider.d.ts.map +0 -1
  130. package/dist/rules/api/apiRuleRoutesProvider.js +0 -22
  131. package/dist/rules/api/apiRuleRoutesProvider.js.map +0 -1
  132. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.d.ts +0 -162
  133. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.d.ts.map +0 -1
  134. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.js +0 -10
  135. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.js.map +0 -1
  136. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.d.ts +0 -12
  137. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.d.ts.map +0 -1
  138. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.js +0 -18
  139. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.js.map +0 -1
  140. package/dist/rules/api/getExpressApiRuleRateLimits.d.ts +0 -8
  141. package/dist/rules/api/getExpressApiRuleRateLimits.d.ts.map +0 -1
  142. package/dist/rules/api/getExpressApiRuleRateLimits.js +0 -21
  143. package/dist/rules/api/getExpressApiRuleRateLimits.js.map +0 -1
  144. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.d.ts +0 -163
  145. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.d.ts.map +0 -1
  146. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.js +0 -37
  147. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.js.map +0 -1
  148. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.d.ts +0 -18
  149. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.d.ts.map +0 -1
  150. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.js +0 -195
  151. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.js.map +0 -1
  152. package/dist/rules/blacklistRulesInspector.d.ts +0 -12
  153. package/dist/rules/blacklistRulesInspector.d.ts.map +0 -1
  154. package/dist/rules/blacklistRulesInspector.js +0 -38
  155. package/dist/rules/blacklistRulesInspector.js.map +0 -1
  156. package/dist/rules/imageCaptchaConfigRulesResolver.d.ts +0 -21
  157. package/dist/rules/imageCaptchaConfigRulesResolver.d.ts.map +0 -1
  158. package/dist/rules/imageCaptchaConfigRulesResolver.js +0 -92
  159. package/dist/rules/imageCaptchaConfigRulesResolver.js.map +0 -1
  160. package/dist/rules/mongoose/indexes/mongooseIndex.d.ts +0 -7
  161. package/dist/rules/mongoose/indexes/mongooseIndex.d.ts.map +0 -1
  162. package/dist/rules/mongoose/indexes/mongooseIndex.js +0 -2
  163. package/dist/rules/mongoose/indexes/mongooseIndex.js.map +0 -1
  164. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.d.ts +0 -4
  165. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.d.ts.map +0 -1
  166. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.js +0 -74
  167. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.js.map +0 -1
  168. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.d.ts +0 -4
  169. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.d.ts.map +0 -1
  170. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.js +0 -136
  171. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.js.map +0 -1
  172. package/dist/rules/mongoose/ruleMongooseRecord.d.ts +0 -7
  173. package/dist/rules/mongoose/ruleMongooseRecord.d.ts.map +0 -1
  174. package/dist/rules/mongoose/ruleMongooseRecord.js +0 -2
  175. package/dist/rules/mongoose/ruleMongooseRecord.js.map +0 -1
  176. package/dist/rules/mongoose/rulesMongooseStorage.d.ts +0 -30
  177. package/dist/rules/mongoose/rulesMongooseStorage.d.ts.map +0 -1
  178. package/dist/rules/mongoose/rulesMongooseStorage.js +0 -177
  179. package/dist/rules/mongoose/rulesMongooseStorage.js.map +0 -1
  180. package/dist/rules/mongoose/schemas/config/configMongooseSchema.d.ts +0 -43
  181. package/dist/rules/mongoose/schemas/config/configMongooseSchema.d.ts.map +0 -1
  182. package/dist/rules/mongoose/schemas/config/configMongooseSchema.js +0 -10
  183. package/dist/rules/mongoose/schemas/config/configMongooseSchema.js.map +0 -1
  184. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.d.ts +0 -29
  185. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.d.ts.map +0 -1
  186. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.js +0 -13
  187. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.js.map +0 -1
  188. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.d.ts +0 -5
  189. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.d.ts.map +0 -1
  190. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.js +0 -15
  191. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.js.map +0 -1
  192. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.d.ts +0 -141
  193. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.d.ts.map +0 -1
  194. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.js +0 -25
  195. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.js.map +0 -1
  196. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.d.ts +0 -36
  197. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.d.ts.map +0 -1
  198. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.js +0 -8
  199. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.js.map +0 -1
  200. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.d.ts +0 -64
  201. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.d.ts.map +0 -1
  202. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.js +0 -12
  203. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.js.map +0 -1
  204. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.d.ts +0 -36
  205. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.d.ts.map +0 -1
  206. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.js +0 -17
  207. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.js.map +0 -1
  208. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.d.ts +0 -64
  209. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.d.ts.map +0 -1
  210. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.js +0 -17
  211. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.js.map +0 -1
  212. package/dist/rules/mongoose/schemas/ruleMongooseSchema.d.ts +0 -9
  213. package/dist/rules/mongoose/schemas/ruleMongooseSchema.d.ts.map +0 -1
  214. package/dist/rules/mongoose/schemas/ruleMongooseSchema.js +0 -42
  215. package/dist/rules/mongoose/schemas/ruleMongooseSchema.js.map +0 -1
  216. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.d.ts +0 -5
  217. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.d.ts.map +0 -1
  218. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.js +0 -2
  219. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.js.map +0 -1
  220. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.d.ts +0 -12
  221. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.d.ts.map +0 -1
  222. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.js +0 -7
  223. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.js.map +0 -1
  224. package/dist/rules/rule/config/ruleConfig.d.ts +0 -5
  225. package/dist/rules/rule/config/ruleConfig.d.ts.map +0 -1
  226. package/dist/rules/rule/config/ruleConfig.js +0 -2
  227. package/dist/rules/rule/config/ruleConfig.js.map +0 -1
  228. package/dist/rules/rule/config/ruleConfigSchema.d.ts +0 -24
  229. package/dist/rules/rule/config/ruleConfigSchema.d.ts.map +0 -1
  230. package/dist/rules/rule/config/ruleConfigSchema.js +0 -7
  231. package/dist/rules/rule/config/ruleConfigSchema.js.map +0 -1
  232. package/dist/rules/rule/ip/ruleIp.d.ts +0 -5
  233. package/dist/rules/rule/ip/ruleIp.d.ts.map +0 -1
  234. package/dist/rules/rule/ip/ruleIp.js +0 -2
  235. package/dist/rules/rule/ip/ruleIp.js.map +0 -1
  236. package/dist/rules/rule/ip/ruleIpSchema.d.ts +0 -108
  237. package/dist/rules/rule/ip/ruleIpSchema.d.ts.map +0 -1
  238. package/dist/rules/rule/ip/ruleIpSchema.js +0 -9
  239. package/dist/rules/rule/ip/ruleIpSchema.js.map +0 -1
  240. package/dist/rules/rule/ip/ruleIpVersion.d.ts +0 -6
  241. package/dist/rules/rule/ip/ruleIpVersion.d.ts.map +0 -1
  242. package/dist/rules/rule/ip/ruleIpVersion.js +0 -7
  243. package/dist/rules/rule/ip/ruleIpVersion.js.map +0 -1
  244. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.d.ts +0 -5
  245. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.d.ts.map +0 -1
  246. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.js +0 -2
  247. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.js.map +0 -1
  248. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.d.ts +0 -15
  249. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.d.ts.map +0 -1
  250. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.js +0 -8
  251. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.js.map +0 -1
  252. package/dist/rules/rule/ip/v4/ruleIpV4.d.ts +0 -5
  253. package/dist/rules/rule/ip/v4/ruleIpV4.d.ts.map +0 -1
  254. package/dist/rules/rule/ip/v4/ruleIpV4.js +0 -2
  255. package/dist/rules/rule/ip/v4/ruleIpV4.js.map +0 -1
  256. package/dist/rules/rule/ip/v4/ruleIpV4Schema.d.ts +0 -35
  257. package/dist/rules/rule/ip/v4/ruleIpV4Schema.d.ts.map +0 -1
  258. package/dist/rules/rule/ip/v4/ruleIpV4Schema.js +0 -9
  259. package/dist/rules/rule/ip/v4/ruleIpV4Schema.js.map +0 -1
  260. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.d.ts +0 -5
  261. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.d.ts.map +0 -1
  262. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.js +0 -2
  263. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.js.map +0 -1
  264. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.d.ts +0 -15
  265. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.d.ts.map +0 -1
  266. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.js +0 -8
  267. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.js.map +0 -1
  268. package/dist/rules/rule/ip/v6/ruleIpV6.d.ts +0 -5
  269. package/dist/rules/rule/ip/v6/ruleIpV6.d.ts.map +0 -1
  270. package/dist/rules/rule/ip/v6/ruleIpV6.js +0 -2
  271. package/dist/rules/rule/ip/v6/ruleIpV6.js.map +0 -1
  272. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.d.ts +0 -3
  273. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.d.ts.map +0 -1
  274. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.js +0 -3
  275. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.js.map +0 -1
  276. package/dist/rules/rule/ip/v6/ruleIpV6Schema.d.ts +0 -35
  277. package/dist/rules/rule/ip/v6/ruleIpV6Schema.d.ts.map +0 -1
  278. package/dist/rules/rule/ip/v6/ruleIpV6Schema.js +0 -9
  279. package/dist/rules/rule/ip/v6/ruleIpV6Schema.js.map +0 -1
  280. package/dist/rules/rule/rule.d.ts +0 -14
  281. package/dist/rules/rule/rule.d.ts.map +0 -1
  282. package/dist/rules/rule/rule.js +0 -2
  283. package/dist/rules/rule/rule.js.map +0 -1
  284. package/dist/rules/storage/filters/deleteRuleFilters.d.ts +0 -9
  285. package/dist/rules/storage/filters/deleteRuleFilters.d.ts.map +0 -1
  286. package/dist/rules/storage/filters/deleteRuleFilters.js +0 -2
  287. package/dist/rules/storage/filters/deleteRuleFilters.js.map +0 -1
  288. package/dist/rules/storage/filters/search/searchRuleFilterSettings.d.ts +0 -6
  289. package/dist/rules/storage/filters/search/searchRuleFilterSettings.d.ts.map +0 -1
  290. package/dist/rules/storage/filters/search/searchRuleFilterSettings.js +0 -2
  291. package/dist/rules/storage/filters/search/searchRuleFilterSettings.js.map +0 -1
  292. package/dist/rules/storage/filters/search/searchRuleFilters.d.ts +0 -9
  293. package/dist/rules/storage/filters/search/searchRuleFilters.d.ts.map +0 -1
  294. package/dist/rules/storage/filters/search/searchRuleFilters.js +0 -2
  295. package/dist/rules/storage/filters/search/searchRuleFilters.js.map +0 -1
  296. package/dist/rules/storage/ruleRecord.d.ts +0 -6
  297. package/dist/rules/storage/ruleRecord.d.ts.map +0 -1
  298. package/dist/rules/storage/ruleRecord.js +0 -2
  299. package/dist/rules/storage/ruleRecord.js.map +0 -1
  300. package/dist/rules/storage/rulesStorage.d.ts +0 -14
  301. package/dist/rules/storage/rulesStorage.d.ts.map +0 -1
  302. package/dist/rules/storage/rulesStorage.js +0 -2
  303. package/dist/rules/storage/rulesStorage.js.map +0 -1
  304. package/dist/tests/benchmark/commands/commandBase.d.ts +0 -14
  305. package/dist/tests/benchmark/commands/commandBase.d.ts.map +0 -1
  306. package/dist/tests/benchmark/commands/commandBase.js +0 -22
  307. package/dist/tests/benchmark/commands/commandBase.js.map +0 -1
  308. package/dist/tests/benchmark/commands/measureFindCommand.d.ts +0 -14
  309. package/dist/tests/benchmark/commands/measureFindCommand.d.ts.map +0 -1
  310. package/dist/tests/benchmark/commands/measureFindCommand.js +0 -60
  311. package/dist/tests/benchmark/commands/measureFindCommand.js.map +0 -1
  312. package/dist/tests/benchmark/commands/populateCommand.d.ts +0 -18
  313. package/dist/tests/benchmark/commands/populateCommand.d.ts.map +0 -1
  314. package/dist/tests/benchmark/commands/populateCommand.js +0 -97
  315. package/dist/tests/benchmark/commands/populateCommand.js.map +0 -1
  316. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.d.ts +0 -5
  317. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.d.ts.map +0 -1
  318. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.js +0 -2
  319. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.js.map +0 -1
  320. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.d.ts +0 -6
  321. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.d.ts.map +0 -1
  322. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.js +0 -8
  323. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.js.map +0 -1
  324. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.d.ts +0 -2
  325. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.d.ts.map +0 -1
  326. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.js +0 -8
  327. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.js.map +0 -1
  328. package/dist/tests/benchmark/rulesStorageBenchmark.d.ts +0 -12
  329. package/dist/tests/benchmark/rulesStorageBenchmark.d.ts.map +0 -1
  330. package/dist/tests/benchmark/rulesStorageBenchmark.js +0 -30
  331. package/dist/tests/benchmark/rulesStorageBenchmark.js.map +0 -1
  332. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.d.ts +0 -10
  333. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.d.ts.map +0 -1
  334. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.js +0 -16
  335. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.js.map +0 -1
  336. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.d.ts +0 -6
  337. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.d.ts.map +0 -1
  338. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.js +0 -2
  339. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.js.map +0 -1
  340. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.d.ts +0 -2
  341. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.d.ts.map +0 -1
  342. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.js +0 -75
  343. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.js.map +0 -1
  344. package/dist/tests/rules/blacklistRulesInspector.unit.test.d.ts +0 -2
  345. package/dist/tests/rules/blacklistRulesInspector.unit.test.d.ts.map +0 -1
  346. package/dist/tests/rules/blacklistRulesInspector.unit.test.js +0 -58
  347. package/dist/tests/rules/blacklistRulesInspector.unit.test.js.map +0 -1
  348. package/dist/tests/rules/loggerMockedInstance.d.ts +0 -13
  349. package/dist/tests/rules/loggerMockedInstance.d.ts.map +0 -1
  350. package/dist/tests/rules/loggerMockedInstance.js +0 -14
  351. package/dist/tests/rules/loggerMockedInstance.js.map +0 -1
  352. package/dist/tests/rules/mongoose/find.unit.test.d.ts +0 -2
  353. package/dist/tests/rules/mongoose/find.unit.test.d.ts.map +0 -1
  354. package/dist/tests/rules/mongoose/find.unit.test.js +0 -202
  355. package/dist/tests/rules/mongoose/find.unit.test.js.map +0 -1
  356. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.d.ts +0 -2
  357. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.d.ts.map +0 -1
  358. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.js +0 -131
  359. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.js.map +0 -1
  360. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.d.ts +0 -2
  361. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.d.ts.map +0 -1
  362. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.js +0 -101
  363. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.js.map +0 -1
  364. package/dist/tests/rules/mongoose/ip.unit.test.d.ts +0 -2
  365. package/dist/tests/rules/mongoose/ip.unit.test.d.ts.map +0 -1
  366. package/dist/tests/rules/mongoose/ip.unit.test.js +0 -380
  367. package/dist/tests/rules/mongoose/ip.unit.test.js.map +0 -1
  368. package/dist/tests/rules/storage/testRulesStorage.d.ts +0 -17
  369. package/dist/tests/rules/storage/testRulesStorage.d.ts.map +0 -1
  370. package/dist/tests/rules/storage/testRulesStorage.js +0 -25
  371. package/dist/tests/rules/storage/testRulesStorage.js.map +0 -1
@@ -1,22 +0,0 @@
1
- import { ProsopoError } from "@prosopo/common";
2
- class CommandBase {
3
- constructor(storageFactory) {
4
- this.storageFactory = storageFactory;
5
- }
6
- builder(yargs) {
7
- return yargs.option("dbUrl", {
8
- type: "string",
9
- describe: "like 'mongodb://localhost:27017'",
10
- demandOption: true,
11
- });
12
- }
13
- async createRulesStorage(args) {
14
- const dbUrl = "string" === typeof args.dbUrl ? args.dbUrl : "";
15
- if ("" === dbUrl) {
16
- throw new ProsopoError("dbUrl is not set");
17
- }
18
- return await this.storageFactory.createRulesStorage(dbUrl);
19
- }
20
- }
21
- export { CommandBase };
22
- //# sourceMappingURL=commandBase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandBase.js","sourceRoot":"","sources":["../../../../src/tests/benchmark/commands/commandBase.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,MAAe,WAAW;IAIzB,YAAoC,cAAmC;QAAnC,mBAAc,GAAd,cAAc,CAAqB;IAAG,CAAC;IAEpE,OAAO,CAAC,KAAW;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,kCAAkC;YAC5C,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;IAIS,KAAK,CAAC,kBAAkB,CACjC,IAAwB;QAExB,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/D,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;CACD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,14 +0,0 @@
1
- import type { IPAddress } from "@prosopo/types";
2
- import type { ArgumentsCamelCase, Argv } from "yargs";
3
- import type { RulesStorage } from "../../../rules/storage/rulesStorage.js";
4
- import { CommandBase } from "./commandBase.js";
5
- declare class MeasureFindCommand extends CommandBase {
6
- command: string;
7
- describe: string;
8
- builder(yargs: Argv): Argv;
9
- handler: (args: ArgumentsCamelCase) => Promise<void>;
10
- protected measureFind(targetIpV4AsString: string, targetIpV6AsString: string, rulesStorage: RulesStorage): Promise<void>;
11
- protected measureRuleFindTime(rulesStorage: RulesStorage, targetIp: IPAddress, totalRulesCount: number): Promise<void>;
12
- }
13
- export { MeasureFindCommand };
14
- //# sourceMappingURL=measureFindCommand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"measureFindCommand.d.ts","sourceRoot":"","sources":["../../../../src/tests/benchmark/commands/measureFindCommand.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,cAAM,kBAAmB,SAAQ,WAAW;IACpC,OAAO,SAAkB;IACzB,QAAQ,SAAkB;IAEjB,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAgBnC,OAAO,SAAgB,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAAC,CAqB9D;cAEc,WAAW,CAC1B,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,YAAY,GACxB,OAAO,CAAC,IAAI,CAAC;cAUA,mBAAmB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,SAAS,EACnB,eAAe,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CAuBhB;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,60 +0,0 @@
1
- import * as util from "node:util";
2
- import { ProsopoError } from "@prosopo/common";
3
- import { Address4, Address6 } from "ip-address";
4
- import { CommandBase } from "./commandBase.js";
5
- class MeasureFindCommand extends CommandBase {
6
- constructor() {
7
- super(...arguments);
8
- this.command = "measure-find";
9
- this.describe = "Measure find";
10
- this.handler = async (args) => {
11
- const targetIpV4AsString = "string" === typeof args.targetIpV4 ? args.targetIpV4 : "";
12
- const targetIpV6AsString = "string" === typeof args.targetIpV6 ? args.targetIpV6 : "";
13
- if (!targetIpV4AsString) {
14
- throw new ProsopoError("Target ipv4 is not set");
15
- }
16
- if (!targetIpV6AsString) {
17
- throw new ProsopoError("Target ipv6 is not set");
18
- }
19
- const rulesStorage = await this.createRulesStorage(args);
20
- await this.measureFind(targetIpV4AsString, targetIpV6AsString, rulesStorage);
21
- };
22
- }
23
- builder(yargs) {
24
- yargs = super.builder(yargs);
25
- return yargs
26
- .option("target-ip-v4", {
27
- type: "string",
28
- describe: "Target ipV4",
29
- demandOption: true,
30
- })
31
- .option("target-ip-v6", {
32
- type: "string",
33
- describe: "Target ipV6",
34
- demandOption: true,
35
- });
36
- }
37
- async measureFind(targetIpV4AsString, targetIpV6AsString, rulesStorage) {
38
- const targetIpV4 = new Address4(targetIpV4AsString);
39
- const targetIpV6 = new Address6(targetIpV6AsString);
40
- const totalRulesCount = await rulesStorage.countRecords();
41
- await this.measureRuleFindTime(rulesStorage, targetIpV4, totalRulesCount);
42
- await this.measureRuleFindTime(rulesStorage, targetIpV6, totalRulesCount);
43
- }
44
- async measureRuleFindTime(rulesStorage, targetIp, totalRulesCount) {
45
- const startTime = Date.now();
46
- const ipVersion = targetIp instanceof Address4 ? "v4" : "v6";
47
- const foundRules = await rulesStorage.find({
48
- userIpAddress: targetIp,
49
- });
50
- const endTime = Date.now();
51
- console.log(`ip${ipVersion} measure`, util.inspect({
52
- target: targetIp.address,
53
- foundRules: foundRules,
54
- spendTimeMs: endTime - startTime,
55
- totalRulesCount: totalRulesCount,
56
- }, { depth: null, colors: true }));
57
- }
58
- }
59
- export { MeasureFindCommand };
60
- //# sourceMappingURL=measureFindCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"measureFindCommand.js","sourceRoot":"","sources":["../../../../src/tests/benchmark/commands/measureFindCommand.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,kBAAmB,SAAQ,WAAW;IAA5C;;QACQ,YAAO,GAAG,cAAc,CAAC;QACzB,aAAQ,GAAG,cAAc,CAAC;QAkB1B,YAAO,GAAG,KAAK,EAAE,IAAwB,EAAiB,EAAE;YAClE,MAAM,kBAAkB,GACvB,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,kBAAkB,GACvB,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAE5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,wBAAwB,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEzD,MAAM,IAAI,CAAC,WAAW,CACrB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,CACZ,CAAC;QACH,CAAC,CAAC;IA2CH,CAAC;IAhFgB,OAAO,CAAC,KAAW;QAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7B,OAAO,KAAK;aACV,MAAM,CAAC,cAAc,EAAE;YACvB,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,aAAa;YACvB,YAAY,EAAE,IAAI;SAClB,CAAC;aACD,MAAM,CAAC,cAAc,EAAE;YACvB,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,aAAa;YACvB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAyBS,KAAK,CAAC,WAAW,CAC1B,kBAA0B,EAC1B,kBAA0B,EAC1B,YAA0B;QAE1B,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEpD,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;QAE1D,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC3E,CAAC;IAES,KAAK,CAAC,mBAAmB,CAClC,YAA0B,EAC1B,QAAmB,EACnB,eAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,QAAQ,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7D,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YAC1C,aAAa,EAAE,QAAQ;SACvB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,OAAO,CAAC,GAAG,CACV,KAAK,SAAS,UAAU,EACxB,IAAI,CAAC,OAAO,CACX;YACC,MAAM,EAAE,QAAQ,CAAC,OAAO;YACxB,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,OAAO,GAAG,SAAS;YAChC,eAAe,EAAE,eAAe;SAChC,EACD,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAC7B,CACD,CAAC;IACH,CAAC;CACD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,18 +0,0 @@
1
- import { Address4, Address6 } from "ip-address";
2
- import type { ArgumentsCamelCase, Argv } from "yargs";
3
- import type { RulesStorage } from "../../../rules/storage/rulesStorage.js";
4
- import { CommandBase } from "./commandBase.js";
5
- declare class PopulateCommand extends CommandBase {
6
- command: string;
7
- describe: string;
8
- builder(yargs: Argv): Argv;
9
- handler: (args: ArgumentsCamelCase) => Promise<void>;
10
- protected createRecords(entitiesCountPerType: number, rulesStorage: RulesStorage): Promise<void>;
11
- protected createOneRecordForEachType(ipBase: number, rulesStorage: RulesStorage): Promise<void>;
12
- protected createIpV4SingleRecord(rulesStorage: RulesStorage, address4: Address4): Promise<void>;
13
- protected createIpV4MaskRecord(rulesStorage: RulesStorage, address4: Address4): Promise<void>;
14
- protected createIpV6SingleRecord(rulesStorage: RulesStorage, address6: Address6): Promise<void>;
15
- protected createIpV6MaskRecord(rulesStorage: RulesStorage, address6: Address6): Promise<void>;
16
- }
17
- export { PopulateCommand };
18
- //# sourceMappingURL=populateCommand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populateCommand.d.ts","sourceRoot":"","sources":["../../../../src/tests/benchmark/commands/populateCommand.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,cAAM,eAAgB,SAAQ,WAAW;IACjC,OAAO,SAAc;IACrB,QAAQ,SAAmD;IAElD,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IASnC,OAAO,SAAgB,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAAC,CAW9D;cAEc,aAAa,CAC5B,oBAAoB,EAAE,MAAM,EAC5B,YAAY,EAAE,YAAY,GACxB,OAAO,CAAC,IAAI,CAAC;cAUA,0BAA0B,CACzC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACxB,OAAO,CAAC,IAAI,CAAC;cAWA,sBAAsB,CACrC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;cAYA,oBAAoB,CACnC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;cAiBA,sBAAsB,CACrC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;cAYA,oBAAoB,CACnC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;CAgBhB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,97 +0,0 @@
1
- import { Address4, Address6 } from "ip-address";
2
- import { CommandBase } from "./commandBase.js";
3
- class PopulateCommand extends CommandBase {
4
- constructor() {
5
- super(...arguments);
6
- this.command = "populate";
7
- this.describe = "Populate the database with a bunch of records";
8
- this.handler = async (args) => {
9
- const entitiesCountPerTypeAsString = "string" === typeof args.entitiesCountPerType
10
- ? args.entitiesCountPerType
11
- : "10";
12
- const rulesStorage = await this.createRulesStorage(args);
13
- const entitiesCountPerType = Number.parseInt(entitiesCountPerTypeAsString);
14
- await this.createRecords(entitiesCountPerType, rulesStorage);
15
- };
16
- }
17
- builder(yargs) {
18
- yargs = super.builder(yargs);
19
- return yargs.option("entities-count-per-type", {
20
- type: "string",
21
- describe: "Entities count per type",
22
- });
23
- }
24
- async createRecords(entitiesCountPerType, rulesStorage) {
25
- for (let i = 0; i < entitiesCountPerType; i++) {
26
- await this.createOneRecordForEachType(i, rulesStorage);
27
- if (i % 10000 === 0) {
28
- console.log(`Processed ${i} entities`);
29
- }
30
- }
31
- }
32
- async createOneRecordForEachType(ipBase, rulesStorage) {
33
- const ipAsNumeric = BigInt(ipBase);
34
- const address4 = Address4.fromBigInt(ipAsNumeric);
35
- const address6 = Address6.fromBigInt(ipAsNumeric);
36
- await this.createIpV4SingleRecord(rulesStorage, address4);
37
- await this.createIpV4MaskRecord(rulesStorage, address4);
38
- await this.createIpV6SingleRecord(rulesStorage, address6);
39
- await this.createIpV6MaskRecord(rulesStorage, address6);
40
- }
41
- async createIpV4SingleRecord(rulesStorage, address4) {
42
- await rulesStorage.insert({
43
- isUserBlocked: true,
44
- userIp: {
45
- v4: {
46
- asNumeric: address4.bigInt(),
47
- asString: address4.address,
48
- },
49
- },
50
- });
51
- }
52
- async createIpV4MaskRecord(rulesStorage, address4) {
53
- await rulesStorage.insert({
54
- isUserBlocked: true,
55
- userIp: {
56
- v4: {
57
- asNumeric: address4.bigInt(),
58
- asString: address4.address,
59
- mask: {
60
- rangeMinAsNumeric: address4.bigInt(),
61
- rangeMaxAsNumeric: address4.bigInt(),
62
- asNumeric: 1,
63
- },
64
- },
65
- },
66
- });
67
- }
68
- async createIpV6SingleRecord(rulesStorage, address6) {
69
- await rulesStorage.insert({
70
- isUserBlocked: true,
71
- userIp: {
72
- v6: {
73
- asNumericString: address6.bigInt().toString(),
74
- asString: address6.address,
75
- },
76
- },
77
- });
78
- }
79
- async createIpV6MaskRecord(rulesStorage, address6) {
80
- await rulesStorage.insert({
81
- isUserBlocked: true,
82
- userIp: {
83
- v6: {
84
- asNumericString: address6.bigInt().toString(),
85
- asString: address6.address,
86
- mask: {
87
- rangeMinAsNumericString: address6.bigInt().toString(),
88
- rangeMaxAsNumericString: address6.bigInt().toString(),
89
- asNumeric: 1,
90
- },
91
- },
92
- },
93
- });
94
- }
95
- }
96
- export { PopulateCommand };
97
- //# sourceMappingURL=populateCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populateCommand.js","sourceRoot":"","sources":["../../../../src/tests/benchmark/commands/populateCommand.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- interface ConnectionCleaner {
2
- cleanConnection(): Promise<void>;
3
- }
4
- export type { ConnectionCleaner };
5
- //# sourceMappingURL=connectionCleaner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectionCleaner.d.ts","sourceRoot":"","sources":["../../../../src/tests/benchmark/connectionCleaner/connectionCleaner.ts"],"names":[],"mappings":"AAcA,UAAU,iBAAiB;IAC1B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=connectionCleaner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectionCleaner.js","sourceRoot":"","sources":["../../../../src/tests/benchmark/connectionCleaner/connectionCleaner.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import type { ConnectionCleaner } from "./connectionCleaner.js";
2
- declare class MongooseConnectionCleaner implements ConnectionCleaner {
3
- cleanConnection(): Promise<void>;
4
- }
5
- export { MongooseConnectionCleaner };
6
- //# sourceMappingURL=mongooseConnectionCleaner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseConnectionCleaner.d.ts","sourceRoot":"","sources":["../../../../src/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,cAAM,yBAA0B,YAAW,iBAAiB;IAC9C,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7C;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,8 +0,0 @@
1
- import mongoose from "mongoose";
2
- class MongooseConnectionCleaner {
3
- async cleanConnection() {
4
- await mongoose.disconnect();
5
- }
6
- }
7
- export { MongooseConnectionCleaner };
8
- //# sourceMappingURL=mongooseConnectionCleaner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseConnectionCleaner.js","sourceRoot":"","sources":["../../../../src/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.ts"],"names":[],"mappings":"AAcA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,MAAM,yBAAyB;IACvB,KAAK,CAAC,eAAe;QAC3B,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACD;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mongooseRulesStorageBenchmark.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseRulesStorageBenchmark.d.ts","sourceRoot":"","sources":["../../../src/tests/benchmark/mongooseRulesStorageBenchmark.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import { MongooseConnectionCleaner } from "./connectionCleaner/mongooseConnectionCleaner.js";
2
- import { RulesStorageBenchmark } from "./rulesStorageBenchmark.js";
3
- import { MongooseRulesStorageFactory } from "./storageFactory/mongooseRulesStorageFactory.js";
4
- const rulesStorageFactory = new MongooseRulesStorageFactory();
5
- const connectionCleaner = new MongooseConnectionCleaner();
6
- const benchmark = new RulesStorageBenchmark(rulesStorageFactory, connectionCleaner);
7
- await benchmark.processInput();
8
- //# sourceMappingURL=mongooseRulesStorageBenchmark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseRulesStorageBenchmark.js","sourceRoot":"","sources":["../../../src/tests/benchmark/mongooseRulesStorageBenchmark.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAE9F,MAAM,mBAAmB,GAAG,IAAI,2BAA2B,EAAE,CAAC;AAC9D,MAAM,iBAAiB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AAE1D,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAC1C,mBAAmB,EACnB,iBAAiB,CACjB,CAAC;AAEF,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- import { type CommandModule } from "yargs";
2
- import type { ConnectionCleaner } from "./connectionCleaner/connectionCleaner.js";
3
- import type { RulesStorageFactory } from "./storageFactory/rulesStorageFactory.js";
4
- declare class RulesStorageBenchmark {
5
- private readonly rulesStorageFactory;
6
- private readonly connectionCleaner;
7
- constructor(rulesStorageFactory: RulesStorageFactory, connectionCleaner: ConnectionCleaner);
8
- processInput(): Promise<void>;
9
- protected getCommands(): CommandModule[];
10
- }
11
- export { RulesStorageBenchmark };
12
- //# sourceMappingURL=rulesStorageBenchmark.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rulesStorageBenchmark.d.ts","sourceRoot":"","sources":["../../../src/tests/benchmark/rulesStorageBenchmark.ts"],"names":[],"mappings":"AAcA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,cAAM,qBAAqB;IAEzB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,iBAAiB;IAGzC,YAAY;IAsBzB,SAAS,CAAC,WAAW,IAAI,aAAa,EAAE;CAMxC;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,30 +0,0 @@
1
- import yargs from "yargs";
2
- import { hideBin } from "yargs/helpers";
3
- import { MeasureFindCommand } from "./commands/measureFindCommand.js";
4
- import { PopulateCommand } from "./commands/populateCommand.js";
5
- class RulesStorageBenchmark {
6
- constructor(rulesStorageFactory, connectionCleaner) {
7
- this.rulesStorageFactory = rulesStorageFactory;
8
- this.connectionCleaner = connectionCleaner;
9
- }
10
- async processInput() {
11
- const commandManager = yargs(hideBin(process.argv)).usage("Usage: $0 [global options] <command> [options]");
12
- const commands = this.getCommands();
13
- for (const command of commands) {
14
- commandManager.command(command);
15
- }
16
- const startTimestamp = Date.now();
17
- await commandManager.parse();
18
- const endTimestamp = Date.now();
19
- console.log(`Execution took ${endTimestamp - startTimestamp}ms`);
20
- await this.connectionCleaner.cleanConnection();
21
- }
22
- getCommands() {
23
- return [
24
- new PopulateCommand(this.rulesStorageFactory),
25
- new MeasureFindCommand(this.rulesStorageFactory),
26
- ];
27
- }
28
- }
29
- export { RulesStorageBenchmark };
30
- //# sourceMappingURL=rulesStorageBenchmark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rulesStorageBenchmark.js","sourceRoot":"","sources":["../../../src/tests/benchmark/rulesStorageBenchmark.ts"],"names":[],"mappings":"AAcA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE,MAAM,qBAAqB;IAC1B,YACkB,mBAAwC,EACxC,iBAAoC;QADpC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEG,KAAK,CAAC,YAAY;QACxB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACxD,gDAAgD,CAChD,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAElC,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,GAAG,cAAc,IAAI,CAAC,CAAC;QAEjE,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;IAChD,CAAC;IAES,WAAW;QACpB,OAAO;YACN,IAAI,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC7C,IAAI,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC;SAChD,CAAC;IACH,CAAC;CACD;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,10 +0,0 @@
1
- import { type Model } from "mongoose";
2
- import type { Rule } from "../../../rules/rule/rule.js";
3
- import type { RulesStorage } from "../../../rules/storage/rulesStorage.js";
4
- import type { RulesStorageFactory } from "./rulesStorageFactory.js";
5
- declare class MongooseRulesStorageFactory implements RulesStorageFactory {
6
- createRulesStorage(dbUrl: string): Promise<RulesStorage>;
7
- protected createModel(dbUrl: string): Promise<Model<Rule>>;
8
- }
9
- export { MongooseRulesStorageFactory };
10
- //# sourceMappingURL=mongooseRulesStorageFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseRulesStorageFactory.d.ts","sourceRoot":"","sources":["../../../../src/tests/benchmark/storageFactory/mongooseRulesStorageFactory.ts"],"names":[],"mappings":"AAcA,OAAiB,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,cAAM,2BAA4B,YAAW,mBAAmB;IACzD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;cAM9C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;CAUhE;AAED,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1,16 +0,0 @@
1
- import mongoose from "mongoose";
2
- import { RulesMongooseStorage } from "../../../rules/mongoose/rulesMongooseStorage.js";
3
- import { getRuleMongooseSchema } from "../../../rules/mongoose/schemas/getRuleMongooseSchema.js";
4
- import { loggerMockedInstance } from "../../rules/loggerMockedInstance.js";
5
- class MongooseRulesStorageFactory {
6
- async createRulesStorage(dbUrl) {
7
- const model = await this.createModel(dbUrl);
8
- return new RulesMongooseStorage(loggerMockedInstance, model);
9
- }
10
- async createModel(dbUrl) {
11
- const mongoConnection = await mongoose.connect(`${dbUrl}`);
12
- return mongoConnection.model("UserAccessPolicyRules", getRuleMongooseSchema(), undefined, { overwriteModels: true });
13
- }
14
- }
15
- export { MongooseRulesStorageFactory };
16
- //# sourceMappingURL=mongooseRulesStorageFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseRulesStorageFactory.js","sourceRoot":"","sources":["../../../../src/tests/benchmark/storageFactory/mongooseRulesStorageFactory.ts"],"names":[],"mappings":"AAcA,OAAO,QAAwB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAGjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,MAAM,2BAA2B;IAChC,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5C,OAAO,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,KAAa;QACxC,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAE3D,OAAO,eAAe,CAAC,KAAK,CAC3B,uBAAuB,EACvB,qBAAqB,EAAE,EACvB,SAAS,EACT,EAAE,eAAe,EAAE,IAAI,EAAE,CACzB,CAAC;IACH,CAAC;CACD;AAED,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { RulesStorage } from "../../../rules/storage/rulesStorage.js";
2
- interface RulesStorageFactory {
3
- createRulesStorage(dbUrl: string): Promise<RulesStorage>;
4
- }
5
- export type { RulesStorageFactory };
6
- //# sourceMappingURL=rulesStorageFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rulesStorageFactory.d.ts","sourceRoot":"","sources":["../../../../src/tests/benchmark/storageFactory/rulesStorageFactory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAE3E,UAAU,mBAAmB;IAC5B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACzD;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=rulesStorageFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rulesStorageFactory.js","sourceRoot":"","sources":["../../../../src/tests/benchmark/storageFactory/rulesStorageFactory.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ImageCaptchaConfigRulesResolver.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageCaptchaConfigRulesResolver.test.d.ts","sourceRoot":"","sources":["../../../src/tests/rules/ImageCaptchaConfigRulesResolver.test.ts"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { Address4 } from "ip-address";
2
- import { describe, expect, it } from "vitest";
3
- import { ImageCaptchaConfigRulesResolver } from "../../rules/imageCaptchaConfigRulesResolver.js";
4
- import { loggerMockedInstance } from "./loggerMockedInstance.js";
5
- import { TestRulesStorage } from "./storage/testRulesStorage.js";
6
- describe("ImageCaptchaConfigResolver", () => {
7
- it("resolvesFromUserAccessRule", async () => {
8
- const userAccessRuleRecord = {
9
- isUserBlocked: false,
10
- config: {
11
- imageCaptcha: {
12
- solvedCount: 10,
13
- unsolvedCount: 11,
14
- },
15
- },
16
- _id: "0",
17
- };
18
- const userAccessRulesStorage = new TestRulesStorage([userAccessRuleRecord]);
19
- const resolver = new ImageCaptchaConfigRulesResolver(userAccessRulesStorage, loggerMockedInstance);
20
- const defaultConfig = {
21
- solved: { count: 2 },
22
- unsolved: { count: 3 },
23
- };
24
- const resolvedConfig = await resolver.resolveConfig(defaultConfig, new Address4("127.0.0.1"), "", "userId", "clientId");
25
- expect(resolvedConfig.solved.count).toBe(userAccessRuleRecord.config?.imageCaptcha?.solvedCount);
26
- expect(resolvedConfig.unsolved.count).toBe(userAccessRuleRecord.config?.imageCaptcha?.unsolvedCount);
27
- });
28
- it("resolvesFromClientUserAccessRuleWhenBothClientAndGlobalRulesFound", async () => {
29
- const globalUserAccessRuleRecord = {
30
- isUserBlocked: false,
31
- config: {
32
- imageCaptcha: {
33
- solvedCount: 20,
34
- unsolvedCount: 21,
35
- },
36
- },
37
- _id: "0",
38
- };
39
- const clientUserAccessRuleRecord = {
40
- isUserBlocked: false,
41
- clientId: "client",
42
- config: {
43
- imageCaptcha: {
44
- solvedCount: 10,
45
- unsolvedCount: 11,
46
- },
47
- },
48
- _id: "1",
49
- };
50
- const userAccessRulesStorage = new TestRulesStorage([
51
- globalUserAccessRuleRecord,
52
- clientUserAccessRuleRecord,
53
- ]);
54
- const resolver = new ImageCaptchaConfigRulesResolver(userAccessRulesStorage, loggerMockedInstance);
55
- const defaultConfig = {
56
- solved: { count: 2 },
57
- unsolved: { count: 3 },
58
- };
59
- const resolvedConfig = await resolver.resolveConfig(defaultConfig, new Address4("127.0.0.1"), "", "userId", "clientId");
60
- expect(resolvedConfig.solved.count).toBe(clientUserAccessRuleRecord.config?.imageCaptcha?.solvedCount);
61
- expect(resolvedConfig.unsolved.count).toBe(clientUserAccessRuleRecord.config?.imageCaptcha?.unsolvedCount);
62
- });
63
- it("resolvesDefaultWhenNoUserAccessRulesFound", async () => {
64
- const userAccessRulesStorage = new TestRulesStorage([]);
65
- const resolver = new ImageCaptchaConfigRulesResolver(userAccessRulesStorage, loggerMockedInstance);
66
- const defaultConfig = {
67
- solved: { count: 2 },
68
- unsolved: { count: 3 },
69
- };
70
- const resolvedConfig = await resolver.resolveConfig(defaultConfig, new Address4("127.0.0.1"), "", "userId", "clientId");
71
- expect(resolvedConfig.solved.count).toBe(defaultConfig.solved.count);
72
- expect(resolvedConfig.unsolved.count).toBe(defaultConfig.unsolved.count);
73
- });
74
- });
75
- //# sourceMappingURL=ImageCaptchaConfigRulesResolver.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageCaptchaConfigRulesResolver.test.js","sourceRoot":"","sources":["../../../src/tests/rules/ImageCaptchaConfigRulesResolver.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=blacklistRulesInspector.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blacklistRulesInspector.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/rules/blacklistRulesInspector.unit.test.ts"],"names":[],"mappings":""}
@@ -1,58 +0,0 @@
1
- import { Address4 } from "ip-address";
2
- import { describe, expect, it } from "vitest";
3
- import { BlacklistRulesInspector } from "../../rules/blacklistRulesInspector.js";
4
- import { loggerMockedInstance } from "./loggerMockedInstance.js";
5
- import { TestRulesStorage } from "./storage/testRulesStorage.js";
6
- describe("BlacklistRulesInspector", () => {
7
- function createInspector(ruleRecords) {
8
- const userAccessRulesStorage = new TestRulesStorage(ruleRecords);
9
- return new BlacklistRulesInspector(userAccessRulesStorage, loggerMockedInstance);
10
- }
11
- it("blacklistedWhenRuleRecordContainsBlockedFlag", async () => {
12
- const accessRuleRecord = {
13
- isUserBlocked: true,
14
- _id: "0",
15
- };
16
- const inspector = createInspector([accessRuleRecord]);
17
- const shouldAbortRequest = () => inspector.isUserBlacklisted("", new Address4("127.0.0.1"), "", "");
18
- expect(await shouldAbortRequest()).toBe(true);
19
- });
20
- it("blacklistedWhenAnyRuleFromRuleRecordsContainsBlockedFlag", async () => {
21
- const accessRuleRecordWithoutBlock = {
22
- isUserBlocked: false,
23
- _id: "0",
24
- };
25
- const accessRuleRecordWithBlock = {
26
- isUserBlocked: true,
27
- _id: "1",
28
- };
29
- const inspector = createInspector([
30
- accessRuleRecordWithoutBlock,
31
- accessRuleRecordWithBlock,
32
- ]);
33
- const shouldAbortRequest = () => inspector.isUserBlacklisted("", new Address4("127.0.0.1"), "", "");
34
- expect(await shouldAbortRequest()).toBe(true);
35
- });
36
- it("notBlacklistedWhenRuleRecordsDoNotContainBlockedFlag", async () => {
37
- const accessRuleRecordWithoutBlock = {
38
- isUserBlocked: false,
39
- _id: "0",
40
- };
41
- const accessRuleRecordWithBlock = {
42
- isUserBlocked: false,
43
- _id: "1",
44
- };
45
- const inspector = createInspector([
46
- accessRuleRecordWithoutBlock,
47
- accessRuleRecordWithBlock,
48
- ]);
49
- const shouldAbortRequest = () => inspector.isUserBlacklisted("", new Address4("127.0.0.1"), "", "");
50
- expect(await shouldAbortRequest()).toBe(false);
51
- });
52
- it("otBlacklistedWhenRuleRecordsMissing", async () => {
53
- const inspector = createInspector([]);
54
- const shouldAbortRequest = () => inspector.isUserBlacklisted("", new Address4("127.0.0.1"), "", "");
55
- expect(await shouldAbortRequest()).toBe(false);
56
- });
57
- });
58
- //# sourceMappingURL=blacklistRulesInspector.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blacklistRulesInspector.unit.test.js","sourceRoot":"","sources":["../../../src/tests/rules/blacklistRulesInspector.unit.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAM,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACxC,SAAS,eAAe,CAAC,WAAyB;QACjD,MAAM,sBAAsB,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEjE,OAAO,IAAI,uBAAuB,CACjC,sBAAsB,EACtB,oBAAoB,CACpB,CAAC;IACH,CAAC;IAED,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAE7D,MAAM,gBAAgB,GAAe;YACpC,aAAa,EAAE,IAAI;YACnB,GAAG,EAAE,GAAG;SACR,CAAC;QACF,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAGtD,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC/B,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAGpE,MAAM,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAEzE,MAAM,4BAA4B,GAAe;YAChD,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,GAAG;SACR,CAAC;QACF,MAAM,yBAAyB,GAAe;YAC7C,aAAa,EAAE,IAAI;YACnB,GAAG,EAAE,GAAG;SACR,CAAC;QACF,MAAM,SAAS,GAAG,eAAe,CAAC;YACjC,4BAA4B;YAC5B,yBAAyB;SACzB,CAAC,CAAC;QAGH,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC/B,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAGpE,MAAM,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QAErE,MAAM,4BAA4B,GAAe;YAChD,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,GAAG;SACR,CAAC;QACF,MAAM,yBAAyB,GAAe;YAC7C,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,GAAG;SACR,CAAC;QACF,MAAM,SAAS,GAAG,eAAe,CAAC;YACjC,4BAA4B;YAC5B,yBAAyB;SACzB,CAAC,CAAC;QAGH,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC/B,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAGpE,MAAM,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QAEpD,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAGtC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC/B,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAGpE,MAAM,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- declare const loggerMockedInstance: {
2
- trace: import("vitest").Mock<(...args: any[]) => any>;
3
- debug: import("vitest").Mock<(...args: any[]) => any>;
4
- info: import("vitest").Mock<(...args: any[]) => any>;
5
- warn: import("vitest").Mock<(...args: any[]) => any>;
6
- error: import("vitest").Mock<(...args: any[]) => any>;
7
- fatal: import("vitest").Mock<(...args: any[]) => any>;
8
- log: import("vitest").Mock<(...args: any[]) => any>;
9
- setLogLevel: import("vitest").Mock<(...args: any[]) => any>;
10
- getLogLevel: import("vitest").Mock<(...args: any[]) => any>;
11
- };
12
- export { loggerMockedInstance };
13
- //# sourceMappingURL=loggerMockedInstance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loggerMockedInstance.d.ts","sourceRoot":"","sources":["../../../src/tests/rules/loggerMockedInstance.ts"],"names":[],"mappings":"AAgBA,QAAA,MAAM,oBAAoB;;;;;;;;;;CAUzB,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}