@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,163 +0,0 @@
1
- import { type output } from "zod";
2
- declare const apiInsertManyRulesArgsSchema: import("zod").ZodObject<{
3
- isUserBlocked: import("zod").ZodBoolean;
4
- clientId: import("zod").ZodOptional<import("zod").ZodString>;
5
- description: import("zod").ZodOptional<import("zod").ZodString>;
6
- userIps: import("zod").ZodObject<{
7
- v4: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
8
- v6: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
9
- }, "strip", import("zod").ZodTypeAny, {
10
- v4?: string[] | undefined;
11
- v6?: string[] | undefined;
12
- }, {
13
- v4?: string[] | undefined;
14
- v6?: string[] | undefined;
15
- }>;
16
- userIpMasks: import("zod").ZodObject<{
17
- v4: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
18
- min: import("zod").ZodString;
19
- max: import("zod").ZodString;
20
- }, "strip", import("zod").ZodTypeAny, {
21
- min: string;
22
- max: string;
23
- }, {
24
- min: string;
25
- max: string;
26
- }>, "many">>;
27
- v6: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
28
- min: import("zod").ZodString;
29
- max: import("zod").ZodString;
30
- }, "strip", import("zod").ZodTypeAny, {
31
- min: string;
32
- max: string;
33
- }, {
34
- min: string;
35
- max: string;
36
- }>, "many">>;
37
- }, "strip", import("zod").ZodTypeAny, {
38
- v4?: {
39
- min: string;
40
- max: string;
41
- }[] | undefined;
42
- v6?: {
43
- min: string;
44
- max: string;
45
- }[] | undefined;
46
- }, {
47
- v4?: {
48
- min: string;
49
- max: string;
50
- }[] | undefined;
51
- v6?: {
52
- min: string;
53
- max: string;
54
- }[] | undefined;
55
- }>;
56
- userIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
57
- ja4s: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
58
- userIp: import("zod").ZodOptional<import("zod").ZodObject<{
59
- v4: import("zod").ZodOptional<import("zod").ZodString>;
60
- v6: import("zod").ZodOptional<import("zod").ZodString>;
61
- }, "strip", import("zod").ZodTypeAny, {
62
- v4?: string | undefined;
63
- v6?: string | undefined;
64
- }, {
65
- v4?: string | undefined;
66
- v6?: string | undefined;
67
- }>>;
68
- userId: import("zod").ZodOptional<import("zod").ZodString>;
69
- ja4: import("zod").ZodOptional<import("zod").ZodString>;
70
- config: import("zod").ZodOptional<import("zod").ZodObject<{
71
- imageCaptcha: import("zod").ZodOptional<import("zod").ZodObject<{
72
- solvedCount: import("zod").ZodOptional<import("zod").ZodNumber>;
73
- unsolvedCount: import("zod").ZodOptional<import("zod").ZodNumber>;
74
- }, "strip", import("zod").ZodTypeAny, {
75
- solvedCount?: number | undefined;
76
- unsolvedCount?: number | undefined;
77
- }, {
78
- solvedCount?: number | undefined;
79
- unsolvedCount?: number | undefined;
80
- }>>;
81
- }, "strip", import("zod").ZodTypeAny, {
82
- imageCaptcha?: {
83
- solvedCount?: number | undefined;
84
- unsolvedCount?: number | undefined;
85
- } | undefined;
86
- }, {
87
- imageCaptcha?: {
88
- solvedCount?: number | undefined;
89
- unsolvedCount?: number | undefined;
90
- } | undefined;
91
- }>>;
92
- score: import("zod").ZodOptional<import("zod").ZodNumber>;
93
- }, "strip", import("zod").ZodTypeAny, {
94
- isUserBlocked: boolean;
95
- userIps: {
96
- v4?: string[] | undefined;
97
- v6?: string[] | undefined;
98
- };
99
- userIpMasks: {
100
- v4?: {
101
- min: string;
102
- max: string;
103
- }[] | undefined;
104
- v6?: {
105
- min: string;
106
- max: string;
107
- }[] | undefined;
108
- };
109
- clientId?: string | undefined;
110
- userIp?: {
111
- v4?: string | undefined;
112
- v6?: string | undefined;
113
- } | undefined;
114
- userId?: string | undefined;
115
- ja4?: string | undefined;
116
- description?: string | undefined;
117
- userIds?: string[] | undefined;
118
- ja4s?: string[] | undefined;
119
- config?: {
120
- imageCaptcha?: {
121
- solvedCount?: number | undefined;
122
- unsolvedCount?: number | undefined;
123
- } | undefined;
124
- } | undefined;
125
- score?: number | undefined;
126
- }, {
127
- isUserBlocked: boolean;
128
- userIps: {
129
- v4?: string[] | undefined;
130
- v6?: string[] | undefined;
131
- };
132
- userIpMasks: {
133
- v4?: {
134
- min: string;
135
- max: string;
136
- }[] | undefined;
137
- v6?: {
138
- min: string;
139
- max: string;
140
- }[] | undefined;
141
- };
142
- clientId?: string | undefined;
143
- userIp?: {
144
- v4?: string | undefined;
145
- v6?: string | undefined;
146
- } | undefined;
147
- userId?: string | undefined;
148
- ja4?: string | undefined;
149
- description?: string | undefined;
150
- userIds?: string[] | undefined;
151
- ja4s?: string[] | undefined;
152
- config?: {
153
- imageCaptcha?: {
154
- solvedCount?: number | undefined;
155
- unsolvedCount?: number | undefined;
156
- } | undefined;
157
- } | undefined;
158
- score?: number | undefined;
159
- }>;
160
- type ApiInsertManyRulesArgsSchema = typeof apiInsertManyRulesArgsSchema;
161
- type ApiInsertManyRulesArgsOutputSchema = output<typeof apiInsertManyRulesArgsSchema>;
162
- export { apiInsertManyRulesArgsSchema, type ApiInsertManyRulesArgsSchema, type ApiInsertManyRulesArgsOutputSchema, };
163
- //# sourceMappingURL=apiInsertManyRulesArgsSchema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiInsertManyRulesArgsSchema.d.ts","sourceRoot":"","sources":["../../../../src/rules/api/insertMany/apiInsertManyRulesArgsSchema.ts"],"names":[],"mappings":"AAcA,OAAO,EAA2B,KAAK,MAAM,EAAU,MAAM,KAAK,CAAC;AAGnE,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiChC,CAAC;AAEH,KAAK,4BAA4B,GAAG,OAAO,4BAA4B,CAAC;AAExE,KAAK,kCAAkC,GAAG,MAAM,CAC/C,OAAO,4BAA4B,CACnC,CAAC;AAEF,OAAO,EACN,4BAA4B,EAC5B,KAAK,4BAA4B,EACjC,KAAK,kCAAkC,GACvC,CAAC"}
@@ -1,37 +0,0 @@
1
- import { boolean, number, object, string } from "zod";
2
- import { ruleConfigSchema } from "../../rule/config/ruleConfigSchema.js";
3
- const apiInsertManyRulesArgsSchema = object({
4
- isUserBlocked: boolean(),
5
- clientId: string().optional(),
6
- description: string().optional(),
7
- userIps: object({
8
- v4: string().array().optional(),
9
- v6: string().array().optional(),
10
- }),
11
- userIpMasks: object({
12
- v4: object({
13
- min: string(),
14
- max: string(),
15
- })
16
- .array()
17
- .optional(),
18
- v6: object({
19
- min: string(),
20
- max: string(),
21
- })
22
- .array()
23
- .optional(),
24
- }),
25
- userIds: string().array().optional(),
26
- ja4s: string().array().optional(),
27
- userIp: object({
28
- v4: string().optional(),
29
- v6: string().optional(),
30
- }).optional(),
31
- userId: string().optional(),
32
- ja4: string().optional(),
33
- config: ruleConfigSchema.optional(),
34
- score: number().optional(),
35
- });
36
- export { apiInsertManyRulesArgsSchema, };
37
- //# sourceMappingURL=apiInsertManyRulesArgsSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiInsertManyRulesArgsSchema.js","sourceRoot":"","sources":["../../../../src/rules/api/insertMany/apiInsertManyRulesArgsSchema.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAe,MAAM,EAAE,MAAM,KAAK,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,MAAM,4BAA4B,GAAG,MAAM,CAAC;IAC3C,aAAa,EAAE,OAAO,EAAE;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC/B,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;YACV,GAAG,EAAE,MAAM,EAAE;YACb,GAAG,EAAE,MAAM,EAAE;SACb,CAAC;aACA,KAAK,EAAE;aACP,QAAQ,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;YACV,GAAG,EAAE,MAAM,EAAE;YACb,GAAG,EAAE,MAAM,EAAE;SACb,CAAC;aACA,KAAK,EAAE;aACP,QAAQ,EAAE;KACZ,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAEjC,MAAM,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE;QACvB,EAAE,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE;KACvB,CAAC,CAAC,QAAQ,EAAE;IACb,MAAM,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1B,CAAC,CAAC;AAQH,OAAO,EACN,4BAA4B,GAG5B,CAAC"}
@@ -1,18 +0,0 @@
1
- import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
2
- import type { z } from "zod";
3
- import type { Rule } from "../../rule/rule.js";
4
- import type { RulesStorage } from "../../storage/rulesStorage.js";
5
- import { type ApiInsertManyRulesArgsSchema } from "./apiInsertManyRulesArgsSchema.js";
6
- declare class ApiInsertManyRulesEndpoint implements ApiEndpoint<ApiInsertManyRulesArgsSchema> {
7
- private readonly rulesStorage;
8
- constructor(rulesStorage: RulesStorage);
9
- processRequest(args: z.infer<ApiInsertManyRulesArgsSchema>): Promise<ApiEndpointResponse>;
10
- getRequestArgsSchema(): ApiInsertManyRulesArgsSchema;
11
- protected getUserIpRules(args: z.infer<ApiInsertManyRulesArgsSchema>): Rule[];
12
- protected getUserIPMaskRules(args: z.infer<ApiInsertManyRulesArgsSchema>): Rule[];
13
- protected getUserIdRules(args: z.infer<ApiInsertManyRulesArgsSchema>): Rule[];
14
- protected getJa4Rules(args: z.infer<ApiInsertManyRulesArgsSchema>): Rule[];
15
- protected getSingleRule(args: z.infer<ApiInsertManyRulesArgsSchema>): Rule | undefined;
16
- }
17
- export { ApiInsertManyRulesEndpoint };
18
- //# sourceMappingURL=apiInsertManyRulesEndpoint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiInsertManyRulesEndpoint.d.ts","sourceRoot":"","sources":["../../../../src/rules/api/insertMany/apiInsertManyRulesEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACN,KAAK,4BAA4B,EAEjC,MAAM,mCAAmC,CAAC;AAE3C,cAAM,0BACL,YAAW,WAAW,CAAC,4BAA4B,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAExD,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC;IAgCxB,oBAAoB,IAAI,4BAA4B;IAI3D,SAAS,CAAC,cAAc,CACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GACzC,IAAI,EAAE;IAwCT,SAAS,CAAC,kBAAkB,CAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GACzC,IAAI,EAAE;IAkDT,SAAS,CAAC,cAAc,CACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GACzC,IAAI,EAAE;IAmBT,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,IAAI,EAAE;IAmB1E,SAAS,CAAC,aAAa,CACtB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GACzC,IAAI,GAAG,SAAS;CAqCnB;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -1,195 +0,0 @@
1
- import { ApiEndpointResponseStatus, } from "@prosopo/api-route";
2
- import { Address4, Address6 } from "ip-address";
3
- import { ruleIpSchema } from "../../rule/ip/ruleIpSchema.js";
4
- import { apiInsertManyRulesArgsSchema, } from "./apiInsertManyRulesArgsSchema.js";
5
- class ApiInsertManyRulesEndpoint {
6
- constructor(rulesStorage) {
7
- this.rulesStorage = rulesStorage;
8
- }
9
- async processRequest(args) {
10
- const singleRule = this.getSingleRule(args);
11
- const rules = [
12
- ...this.getUserIpRules(args),
13
- ...this.getUserIPMaskRules(args),
14
- ...this.getUserIdRules(args),
15
- ...this.getJa4Rules(args),
16
- ...(singleRule ? [singleRule] : []),
17
- ];
18
- return new Promise((resolve) => {
19
- this.rulesStorage
20
- .insertMany(rules)
21
- .then(() => {
22
- resolve({
23
- status: ApiEndpointResponseStatus.SUCCESS,
24
- });
25
- })
26
- .catch((e) => {
27
- resolve({
28
- status: ApiEndpointResponseStatus.FAIL,
29
- });
30
- });
31
- setTimeout(() => {
32
- resolve({
33
- status: ApiEndpointResponseStatus.PROCESSING,
34
- });
35
- }, 5000);
36
- });
37
- }
38
- getRequestArgsSchema() {
39
- return apiInsertManyRulesArgsSchema;
40
- }
41
- getUserIpRules(args) {
42
- const rules = [];
43
- const userIps = args.userIps || [];
44
- for (const userIp of userIps.v4 || []) {
45
- const ipAddress = new Address4(userIp);
46
- rules.push({
47
- userIp: ruleIpSchema.parse({
48
- v4: {
49
- asNumeric: ipAddress.bigInt(),
50
- asString: ipAddress.address,
51
- },
52
- }),
53
- isUserBlocked: args.isUserBlocked,
54
- description: args.description,
55
- clientId: args.clientId,
56
- config: args.config,
57
- score: args.score,
58
- });
59
- }
60
- for (const userIp of userIps.v6 || []) {
61
- const ipAddress = new Address6(userIp);
62
- rules.push({
63
- userIp: ruleIpSchema.parse({
64
- v4: {
65
- asNumeric: ipAddress.bigInt(),
66
- asString: ipAddress.address,
67
- },
68
- }),
69
- isUserBlocked: args.isUserBlocked,
70
- description: args.description,
71
- clientId: args.clientId,
72
- config: args.config,
73
- score: args.score,
74
- });
75
- }
76
- return rules;
77
- }
78
- getUserIPMaskRules(args) {
79
- const rules = [];
80
- const userIpMasks = args.userIpMasks || [];
81
- for (const userMask of userIpMasks.v4 || []) {
82
- const min = new Address4(userMask.min);
83
- const max = new Address4(userMask.max);
84
- rules.push({
85
- userIp: ruleIpSchema.parse({
86
- v4: {
87
- asNumeric: min.bigInt(),
88
- asString: min.address,
89
- mask: {
90
- rangeMinAsNumeric: min.bigInt(),
91
- rangeMaxAsNumeric: max.bigInt(),
92
- asNumeric: Number(min.bigInt()),
93
- },
94
- },
95
- }),
96
- isUserBlocked: args.isUserBlocked,
97
- description: args.description,
98
- clientId: args.clientId,
99
- config: args.config,
100
- score: args.score,
101
- });
102
- }
103
- for (const userMask of userIpMasks.v6 || []) {
104
- const min = new Address6(userMask.min);
105
- const max = new Address6(userMask.max);
106
- rules.push({
107
- userIp: ruleIpSchema.parse({
108
- v6: {
109
- asNumeric: min.bigInt(),
110
- asString: min.address,
111
- mask: {
112
- rangeMinAsNumeric: min.bigInt(),
113
- rangeMaxAsNumeric: max.bigInt(),
114
- asNumeric: Number(min.bigInt()),
115
- },
116
- },
117
- }),
118
- isUserBlocked: args.isUserBlocked,
119
- description: args.description,
120
- clientId: args.clientId,
121
- config: args.config,
122
- score: args.score,
123
- });
124
- }
125
- return rules;
126
- }
127
- getUserIdRules(args) {
128
- const rules = [];
129
- const userIds = args.userIds || [];
130
- for (const userId of userIds) {
131
- rules.push({
132
- userId: userId,
133
- isUserBlocked: args.isUserBlocked,
134
- description: args.description,
135
- clientId: args.clientId,
136
- config: args.config,
137
- score: args.score,
138
- });
139
- }
140
- return rules;
141
- }
142
- getJa4Rules(args) {
143
- const rules = [];
144
- const ja4s = args.ja4s || [];
145
- for (const ja4 of ja4s) {
146
- rules.push({
147
- ja4: ja4,
148
- isUserBlocked: args.isUserBlocked,
149
- description: args.description,
150
- clientId: args.clientId,
151
- config: args.config,
152
- score: args.score,
153
- });
154
- }
155
- return rules;
156
- }
157
- getSingleRule(args) {
158
- if (!args.userIp && !args.userId && !args.ja4) {
159
- return undefined;
160
- }
161
- const rule = {
162
- isUserBlocked: args.isUserBlocked,
163
- ...(args.description && { description: args.description }),
164
- ...(args.clientId && { clientId: args.clientId }),
165
- ...(args.config && { config: args.config }),
166
- ...(args.score && { score: args.score }),
167
- ...(args.ja4 && { ja4: args.ja4 }),
168
- ...(args.userId && { userId: args.userId }),
169
- };
170
- if (args.userIp) {
171
- const userIp = args.userIp;
172
- if (userIp.v4) {
173
- const ipAddress = new Address4(userIp.v4);
174
- rule.userIp = ruleIpSchema.parse({
175
- v4: {
176
- asNumeric: ipAddress.bigInt(),
177
- asString: ipAddress.address,
178
- },
179
- });
180
- }
181
- if (userIp.v6) {
182
- const ipAddress = new Address6(userIp.v6);
183
- rule.userIp = ruleIpSchema.parse({
184
- v6: {
185
- asNumeric: ipAddress.bigInt(),
186
- asString: ipAddress.address,
187
- },
188
- });
189
- }
190
- }
191
- return rule;
192
- }
193
- }
194
- export { ApiInsertManyRulesEndpoint };
195
- //# sourceMappingURL=apiInsertManyRulesEndpoint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiInsertManyRulesEndpoint.js","sourceRoot":"","sources":["../../../../src/rules/api/insertMany/apiInsertManyRulesEndpoint.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { Logger } from "@prosopo/common";
2
- import type { IPAddress } from "@prosopo/types";
3
- import type { BlacklistInspector } from "../blacklistInspector.js";
4
- import type { RulesStorage } from "./storage/rulesStorage.js";
5
- declare class BlacklistRulesInspector implements BlacklistInspector {
6
- private readonly rulesStorage;
7
- private readonly logger;
8
- constructor(rulesStorage: RulesStorage, logger: Logger);
9
- isUserBlacklisted(clientId: string, userIpAddress: IPAddress, ja4: string, userId: string): Promise<boolean>;
10
- }
11
- export { BlacklistRulesInspector };
12
- //# sourceMappingURL=blacklistRulesInspector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blacklistRulesInspector.d.ts","sourceRoot":"","sources":["../../src/rules/blacklistRulesInspector.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,cAAM,uBAAwB,YAAW,kBAAkB;IAEzD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM;IAGnB,iBAAiB,CAC7B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;CAuCnB;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,38 +0,0 @@
1
- class BlacklistRulesInspector {
2
- constructor(rulesStorage, logger) {
3
- this.rulesStorage = rulesStorage;
4
- this.logger = logger;
5
- }
6
- async isUserBlacklisted(clientId, userIpAddress, ja4, userId) {
7
- this.logger.debug({
8
- clientId: clientId,
9
- userIpAddress: userIpAddress,
10
- ja4: ja4,
11
- userId: userId,
12
- });
13
- const accessRules = await this.rulesStorage.find({
14
- clientId: clientId,
15
- userIpAddress: userIpAddress,
16
- ja4: ja4,
17
- userId: userId,
18
- }, {
19
- includeRecordsWithPartialFilterMatches: true,
20
- includeRecordsWithoutClientId: true,
21
- });
22
- const blockingRules = accessRules.filter((accessRule) => accessRule.isUserBlocked);
23
- const userBlacklisted = blockingRules.length > 0;
24
- if (userBlacklisted) {
25
- this.logger.info({
26
- userBlacklisted: userBlacklisted,
27
- clientId: clientId,
28
- userIpAddress: userIpAddress.address.toString(),
29
- userId: userId,
30
- accessRules: accessRules.length,
31
- blockingRules: blockingRules.length,
32
- });
33
- }
34
- return userBlacklisted;
35
- }
36
- }
37
- export { BlacklistRulesInspector };
38
- //# sourceMappingURL=blacklistRulesInspector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blacklistRulesInspector.js","sourceRoot":"","sources":["../../src/rules/blacklistRulesInspector.ts"],"names":[],"mappings":"AAmBA,MAAM,uBAAuB;IAC5B,YACkB,YAA0B,EAC1B,MAAc;QADd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,KAAK,CAAC,iBAAiB,CAC7B,QAAgB,EAChB,aAAwB,EACxB,GAAW,EACX,MAAc;QAEd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,aAAa;YAC5B,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;SACd,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAC/C;YACC,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,aAAa;YAC5B,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;SACd,EACD;YACC,sCAAsC,EAAE,IAAI;YAC5C,6BAA6B,EAAE,IAAI;SACnC,CACD,CAAC;QAEF,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CACxC,CAAC;QAEF,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjD,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChB,eAAe,EAAE,eAAe;gBAChC,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,WAAW,CAAC,MAAM;gBAC/B,aAAa,EAAE,aAAa,CAAC,MAAM;aACnC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC;IACxB,CAAC;CACD;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,21 +0,0 @@
1
- import type { Logger } from "@prosopo/common";
2
- import type { IPAddress, ProsopoCaptchaCountConfigSchemaOutput } from "@prosopo/types";
3
- import type { ImageCaptchaConfigResolver } from "../imageCaptchaConfigResolver.js";
4
- import type { ImageCaptchaConfig } from "./rule/config/imageCaptcha/imageCaptchaConfig.js";
5
- import type { Rule } from "./rule/rule.js";
6
- import type { RulesStorage } from "./storage/rulesStorage.js";
7
- declare class ImageCaptchaConfigRulesResolver implements ImageCaptchaConfigResolver {
8
- private readonly rulesStorage;
9
- private readonly logger;
10
- private _accessRule;
11
- constructor(rulesStorage: RulesStorage, logger: Logger, _accessRule?: Rule | null);
12
- get accessRule(): Rule | null;
13
- isConfigDefined(clientId: string, userIpAddress: IPAddress, ja4: string, userId: string): Promise<boolean>;
14
- resolveConfig(defaults: ProsopoCaptchaCountConfigSchemaOutput, userIpAddress: IPAddress, ja4: string, userId: string, clientId: string): Promise<ProsopoCaptchaCountConfigSchemaOutput>;
15
- protected fetchUserAccessRule(userIpAddress: IPAddress, ja4: string, userId: string, clientId: string): Promise<Rule | null>;
16
- protected queryUserAccessRules(ipAddress: IPAddress, ja4: string, user: string, clientId: string): Promise<Rule[]>;
17
- protected selectPrimaryUserAccessRule(accessRules: Rule[]): Rule | null;
18
- protected getImageCaptchaConfig(defaults: ProsopoCaptchaCountConfigSchemaOutput, imageCaptchaConfig: ImageCaptchaConfig): ProsopoCaptchaCountConfigSchemaOutput;
19
- }
20
- export { ImageCaptchaConfigRulesResolver };
21
- //# sourceMappingURL=imageCaptchaConfigRulesResolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageCaptchaConfigRulesResolver.d.ts","sourceRoot":"","sources":["../../src/rules/imageCaptchaConfigRulesResolver.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EACX,SAAS,EACT,qCAAqC,EACrC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,cAAM,+BAAgC,YAAW,0BAA0B;IAEzE,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,WAAW;gBAFF,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACvB,WAAW,GAAE,IAAI,GAAG,IAAW;IAGxC,IAAI,UAAU,IAAI,IAAI,GAAG,IAAI,CAE5B;IAEY,eAAe,CAC3B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IA0BN,aAAa,CACzB,QAAQ,EAAE,qCAAqC,EAC/C,aAAa,EAAE,SAAS,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,qCAAqC,CAAC;cAuCjC,mBAAmB,CAClC,aAAa,EAAE,SAAS,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;cAmBP,oBAAoB,CACnC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,EAAE,CAAC;IAelB,SAAS,CAAC,2BAA2B,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;IAcvE,SAAS,CAAC,qBAAqB,CAC9B,QAAQ,EAAE,qCAAqC,EAC/C,kBAAkB,EAAE,kBAAkB,GACpC,qCAAqC;CAUxC;AAED,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
@@ -1,92 +0,0 @@
1
- class ImageCaptchaConfigRulesResolver {
2
- constructor(rulesStorage, logger, _accessRule = null) {
3
- this.rulesStorage = rulesStorage;
4
- this.logger = logger;
5
- this._accessRule = _accessRule;
6
- }
7
- get accessRule() {
8
- return this._accessRule;
9
- }
10
- async isConfigDefined(clientId, userIpAddress, ja4, userId) {
11
- const accessRule = await this.fetchUserAccessRule(userIpAddress, ja4, userId, clientId);
12
- const imageCaptchaConfig = accessRule?.config?.imageCaptcha || null;
13
- const configDefined = null !== imageCaptchaConfig;
14
- if (configDefined) {
15
- this.logger.info({
16
- configDefined: configDefined,
17
- clientId: clientId,
18
- userIpAddress: userIpAddress.toString(),
19
- userId: userId,
20
- imageCaptchaConfig: imageCaptchaConfig,
21
- ja4,
22
- });
23
- }
24
- return configDefined;
25
- }
26
- async resolveConfig(defaults, userIpAddress, ja4, userId, clientId) {
27
- const logArgs = {
28
- userIpAddress: userIpAddress.address.toString(),
29
- userId: userId,
30
- clientId: clientId,
31
- defaults: defaults,
32
- ja4,
33
- };
34
- this._accessRule = await this.fetchUserAccessRule(userIpAddress, ja4, userId, clientId);
35
- if (null === this.accessRule) {
36
- this.logger.debug("ImageCaptchaConfigRulesResolver.resolveConfig", {
37
- configDefined: false,
38
- ...logArgs,
39
- });
40
- return defaults;
41
- }
42
- const imageCaptchaConfig = this.accessRule.config?.imageCaptcha || {};
43
- const config = this.getImageCaptchaConfig(defaults, imageCaptchaConfig);
44
- this.logger.info("ImageCaptchaConfigRulesResolver.resolveConfig", {
45
- configDefined: true,
46
- imageCaptchaConfig: imageCaptchaConfig,
47
- config: config,
48
- ...logArgs,
49
- });
50
- return config;
51
- }
52
- async fetchUserAccessRule(userIpAddress, ja4, userId, clientId) {
53
- const accessRules = await this.queryUserAccessRules(userIpAddress, ja4, userId, clientId);
54
- this.logger.debug("ImageCaptchaConfigRulesResolver.fetchUserAccessRule", {
55
- accessRules: accessRules.length,
56
- userIpAddress: userIpAddress.address.toString(),
57
- userId: userId,
58
- clientId: clientId,
59
- ja4,
60
- });
61
- return this.selectPrimaryUserAccessRule(accessRules);
62
- }
63
- async queryUserAccessRules(ipAddress, ja4, user, clientId) {
64
- return await this.rulesStorage.find({
65
- clientId: clientId,
66
- userId: user,
67
- userIpAddress: ipAddress,
68
- ja4: ja4,
69
- }, {
70
- includeRecordsWithoutClientId: true,
71
- includeRecordsWithPartialFilterMatches: true,
72
- });
73
- }
74
- selectPrimaryUserAccessRule(accessRules) {
75
- const clientRules = accessRules.filter((accessRule) => "string" === typeof accessRule.clientId);
76
- const globalRules = accessRules.filter((accessRule) => undefined === accessRule.clientId);
77
- const accessRule = clientRules.length > 0 ? clientRules.shift() : globalRules.shift();
78
- return undefined === accessRule ? null : accessRule;
79
- }
80
- getImageCaptchaConfig(defaults, imageCaptchaConfig) {
81
- return {
82
- solved: {
83
- count: imageCaptchaConfig.solvedCount || defaults.solved.count,
84
- },
85
- unsolved: {
86
- count: imageCaptchaConfig.unsolvedCount || defaults.unsolved.count,
87
- },
88
- };
89
- }
90
- }
91
- export { ImageCaptchaConfigRulesResolver };
92
- //# sourceMappingURL=imageCaptchaConfigRulesResolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageCaptchaConfigRulesResolver.js","sourceRoot":"","sources":["../../src/rules/imageCaptchaConfigRulesResolver.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { IndexDefinition, IndexOptions } from "mongoose";
2
- interface MongooseIndex {
3
- definition: IndexDefinition;
4
- options: IndexOptions;
5
- }
6
- export type { MongooseIndex };
7
- //# sourceMappingURL=mongooseIndex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseIndex.d.ts","sourceRoot":"","sources":["../../../../src/rules/mongoose/indexes/mongooseIndex.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE9D,UAAU,aAAa;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;CACtB;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mongooseIndex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongooseIndex.js","sourceRoot":"","sources":["../../../../src/rules/mongoose/indexes/mongooseIndex.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import type { MongooseIndex } from "./mongooseIndex.js";
2
- declare const rulePerformanceMongooseIndexes: MongooseIndex[];
3
- export { rulePerformanceMongooseIndexes };
4
- //# sourceMappingURL=rulePerformanceMongooseIndexes.d.ts.map