@prosopo/user-access-policy 3.15.7 → 3.15.8
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.
- package/.turbo/turbo-build$colon$cjs.log +1 -1
- package/.turbo/turbo-build$colon$esm.log +77 -0
- package/.turbo/turbo-build$colon$tsc.log +13 -13
- package/.turbo/turbo-build$colon$types.log +1 -0
- package/CHANGELOG.md +18 -0
- package/dist/tsc/.export.d.ts.map +1 -0
- package/dist/tsc/.export.js +10 -0
- package/dist/tsc/.export.js.map +1 -0
- package/dist/tsc/api/.export.d.ts.map +1 -0
- package/dist/tsc/api/.export.js +7 -0
- package/dist/tsc/api/.export.js.map +1 -0
- package/dist/tsc/api/accessRulesApiClient.d.ts.map +1 -0
- package/dist/tsc/api/accessRulesApiClient.js +2 -0
- package/dist/tsc/api/accessRulesApiClient.js.map +1 -0
- package/dist/tsc/api/delete/.export.d.ts.map +1 -0
- package/dist/tsc/api/delete/.export.js +2 -0
- package/dist/{api/read → tsc/api/delete}/.export.js.map +1 -1
- package/dist/tsc/api/delete/deleteAllRules.d.ts.map +1 -0
- package/dist/tsc/api/delete/deleteAllRules.js +23 -0
- package/dist/tsc/api/delete/deleteAllRules.js.map +1 -0
- package/dist/tsc/api/delete/deleteRuleGroups.d.ts.map +1 -0
- package/dist/tsc/api/delete/deleteRuleGroups.js +45 -0
- package/dist/tsc/api/delete/deleteRuleGroups.js.map +1 -0
- package/dist/tsc/api/delete/deleteRules.d.ts.map +1 -0
- package/dist/tsc/api/delete/deleteRules.js +42 -0
- package/dist/tsc/api/delete/deleteRules.js.map +1 -0
- package/dist/tsc/api/read/.export.d.ts.map +1 -0
- package/dist/tsc/api/read/.export.js +2 -0
- package/dist/{api/write → tsc/api/read}/.export.js.map +1 -1
- package/dist/tsc/api/read/fetchRules.d.ts.map +1 -0
- package/dist/tsc/api/read/fetchRules.js +41 -0
- package/dist/tsc/api/read/fetchRules.js.map +1 -0
- package/dist/tsc/api/read/findRuleIds.d.ts.map +1 -0
- package/dist/tsc/api/read/findRuleIds.js +42 -0
- package/dist/tsc/api/read/findRuleIds.js.map +1 -0
- package/dist/tsc/api/read/getMissingIds.d.ts.map +1 -0
- package/dist/tsc/api/read/getMissingIds.js +39 -0
- package/dist/tsc/api/read/getMissingIds.js.map +1 -0
- package/dist/tsc/api/ruleApiRoutes.d.ts.map +1 -0
- package/dist/tsc/api/ruleApiRoutes.js +75 -0
- package/dist/tsc/api/ruleApiRoutes.js.map +1 -0
- package/dist/tsc/api/rulesApiClient.d.ts.map +1 -0
- package/dist/tsc/api/rulesApiClient.js +55 -0
- package/dist/tsc/api/rulesApiClient.js.map +1 -0
- package/dist/tsc/api/write/.export.d.ts.map +1 -0
- package/dist/tsc/api/write/.export.js +2 -0
- package/dist/{api/delete → tsc/api/write}/.export.js.map +1 -1
- package/dist/tsc/api/write/insertRules.d.ts.map +1 -0
- package/dist/tsc/api/write/insertRules.js +107 -0
- package/dist/tsc/api/write/insertRules.js.map +1 -0
- package/dist/tsc/api/write/rehashRules.d.ts.map +1 -0
- package/dist/tsc/api/write/rehashRules.js +55 -0
- package/dist/tsc/api/write/rehashRules.js.map +1 -0
- package/dist/tsc/classifyBrowser.d.ts.map +1 -0
- package/dist/tsc/classifyBrowser.js +48 -0
- package/dist/tsc/classifyBrowser.js.map +1 -0
- package/dist/tsc/classifyOs.d.ts.map +1 -0
- package/dist/tsc/classifyOs.js +28 -0
- package/dist/tsc/classifyOs.js.map +1 -0
- package/dist/tsc/headerMatch.d.ts.map +1 -0
- package/dist/tsc/headerMatch.js +68 -0
- package/dist/tsc/headerMatch.js.map +1 -0
- package/dist/tsc/matchedRule.d.ts.map +1 -0
- package/dist/tsc/matchedRule.js +47 -0
- package/dist/tsc/matchedRule.js.map +1 -0
- package/dist/tsc/mongoose/.export.d.ts.map +1 -0
- package/dist/tsc/mongoose/.export.js +2 -0
- package/dist/tsc/mongoose/.export.js.map +1 -0
- package/dist/tsc/mongoose/mongooseRuleSchema.d.ts.map +1 -0
- package/dist/tsc/mongoose/mongooseRuleSchema.js +48 -0
- package/dist/tsc/mongoose/mongooseRuleSchema.js.map +1 -0
- package/dist/tsc/redis/.export.d.ts.map +1 -0
- package/dist/tsc/redis/.export.js +3 -0
- package/dist/tsc/redis/.export.js.map +1 -0
- package/dist/tsc/redis/reader/redisAggregate.d.ts.map +1 -0
- package/dist/tsc/redis/reader/redisAggregate.js +69 -0
- package/dist/tsc/redis/reader/redisAggregate.js.map +1 -0
- package/dist/tsc/redis/reader/redisRulesQuery.d.ts.map +1 -0
- package/dist/tsc/redis/reader/redisRulesQuery.js +124 -0
- package/dist/tsc/redis/reader/redisRulesQuery.js.map +1 -0
- package/dist/tsc/redis/reader/redisRulesReader.d.ts.map +1 -0
- package/dist/tsc/redis/reader/redisRulesReader.js +384 -0
- package/dist/tsc/redis/reader/redisRulesReader.js.map +1 -0
- package/dist/tsc/redis/reader/redisRulesSplitQuery.d.ts.map +1 -0
- package/dist/tsc/redis/reader/redisRulesSplitQuery.js +95 -0
- package/dist/tsc/redis/reader/redisRulesSplitQuery.js.map +1 -0
- package/dist/tsc/redis/redisClient.d.ts.map +1 -0
- package/dist/tsc/redis/redisClient.js +64 -0
- package/dist/tsc/redis/redisClient.js.map +1 -0
- package/dist/tsc/redis/redisRuleIndex.d.ts.map +1 -0
- package/dist/tsc/redis/redisRuleIndex.js +54 -0
- package/dist/tsc/redis/redisRuleIndex.js.map +1 -0
- package/dist/tsc/redis/redisRulesStorage.d.ts.map +1 -0
- package/dist/tsc/redis/redisRulesStorage.js +24 -0
- package/dist/tsc/redis/redisRulesStorage.js.map +1 -0
- package/dist/tsc/redis/redisRulesWriter.d.ts.map +1 -0
- package/dist/tsc/redis/redisRulesWriter.js +112 -0
- package/dist/tsc/redis/redisRulesWriter.js.map +1 -0
- package/dist/tsc/rule.d.ts.map +1 -0
- package/dist/tsc/rule.js +8 -0
- package/dist/tsc/rule.js.map +1 -0
- package/dist/tsc/ruleInput/.export.d.ts.map +1 -0
- package/dist/tsc/ruleInput/.export.js +4 -0
- package/dist/tsc/ruleInput/.export.js.map +1 -0
- package/dist/tsc/ruleInput/policyInput.d.ts.map +1 -0
- package/dist/tsc/ruleInput/policyInput.js +60 -0
- package/dist/tsc/ruleInput/policyInput.js.map +1 -0
- package/dist/tsc/ruleInput/ruleInput.d.ts.map +1 -0
- package/dist/tsc/ruleInput/ruleInput.js +58 -0
- package/dist/tsc/ruleInput/ruleInput.js.map +1 -0
- package/dist/tsc/ruleInput/userScopeInput.d.ts.map +1 -0
- package/dist/tsc/ruleInput/userScopeInput.js +81 -0
- package/dist/tsc/ruleInput/userScopeInput.js.map +1 -0
- package/dist/tsc/ruleRecord.d.ts.map +1 -0
- package/dist/tsc/ruleRecord.js +29 -0
- package/dist/tsc/ruleRecord.js.map +1 -0
- package/dist/tsc/rulesStorage.d.ts.map +1 -0
- package/dist/tsc/rulesStorage.js +6 -0
- package/dist/tsc/rulesStorage.js.map +1 -0
- package/dist/tsc/tests/blockingRuleShapes.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/blockingRuleShapes.unit.test.js.map +1 -0
- package/dist/tsc/tests/classifyBrowser.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/classifyBrowser.unit.test.js.map +1 -0
- package/dist/tsc/tests/classifyOs.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/classifyOs.unit.test.js.map +1 -0
- package/dist/tsc/tests/headerMatch.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/headerMatch.unit.test.js.map +1 -0
- package/dist/tsc/tests/insertRulesEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/insertRulesEndpoint.unit.test.js.map +1 -0
- package/dist/tsc/tests/matchedRule.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/matchedRule.unit.test.js.map +1 -0
- package/dist/tsc/tests/policyInput.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/policyInput.unit.test.js.map +1 -0
- package/dist/tsc/tests/redis/deferredPoolClause.benchmark.d.ts.map +1 -0
- package/dist/tsc/tests/redis/deferredPoolClause.benchmark.js.map +1 -0
- package/dist/tsc/tests/redis/reader/redisAggregate.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/redis/reader/redisAggregate.unit.test.js.map +1 -0
- package/dist/tsc/tests/redis/reader/redisRulesQuery.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/redis/reader/redisRulesQuery.unit.test.js.map +1 -0
- package/dist/tsc/tests/redis/reader/redisRulesSplitQuery.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/redis/reader/redisRulesSplitQuery.unit.test.js.map +1 -0
- package/dist/tsc/tests/redis/redisRulesReaderLoad.benchmark.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/redis/redisRulesReaderLoad.benchmark.integration.test.js.map +1 -0
- package/dist/tsc/tests/redis/redisRulesReaderRank.benchmark.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/redis/redisRulesReaderRank.benchmark.integration.test.js.map +1 -0
- package/dist/tsc/tests/redis/redisRulesStorage.integration.test.d.ts.map +1 -0
- package/dist/tsc/tests/redis/redisRulesStorage.integration.test.js.map +1 -0
- package/dist/tsc/tests/testLogger.d.ts.map +1 -0
- package/dist/tsc/tests/testLogger.js.map +1 -0
- package/dist/tsc/tests/transformRule.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/transformRule.unit.test.js.map +1 -0
- package/dist/tsc/transformRule.d.ts.map +1 -0
- package/dist/tsc/transformRule.js +59 -0
- package/dist/tsc/transformRule.js.map +1 -0
- package/dist/types/.export.d.ts +10 -0
- package/dist/types/.export.d.ts.map +1 -0
- package/dist/types/api/.export.d.ts +7 -0
- package/dist/types/api/.export.d.ts.map +1 -0
- package/dist/types/api/accessRulesApiClient.d.ts +2 -0
- package/dist/types/api/accessRulesApiClient.d.ts.map +1 -0
- package/dist/types/api/delete/.export.d.ts +2 -0
- package/dist/types/api/delete/.export.d.ts.map +1 -0
- package/dist/types/api/delete/deleteAllRules.d.ts +11 -0
- package/dist/types/api/delete/deleteAllRules.d.ts.map +1 -0
- package/dist/types/api/delete/deleteRuleGroups.d.ts +19 -0
- package/dist/types/api/delete/deleteRuleGroups.d.ts.map +1 -0
- package/dist/types/api/delete/deleteRules.d.ts +15 -0
- package/dist/types/api/delete/deleteRules.d.ts.map +1 -0
- package/dist/types/api/read/.export.d.ts +4 -0
- package/dist/types/api/read/.export.d.ts.map +1 -0
- package/dist/types/api/read/fetchRules.d.ts +24 -0
- package/dist/types/api/read/fetchRules.d.ts.map +1 -0
- package/dist/types/api/read/findRuleIds.d.ts +28 -0
- package/dist/types/api/read/findRuleIds.d.ts.map +1 -0
- package/dist/types/api/read/getMissingIds.d.ts +28 -0
- package/dist/types/api/read/getMissingIds.d.ts.map +1 -0
- package/dist/types/api/ruleApiRoutes.d.ts +43 -0
- package/dist/types/api/ruleApiRoutes.d.ts.map +1 -0
- package/dist/types/api/rulesApiClient.d.ts +20 -0
- package/dist/types/api/rulesApiClient.d.ts.map +1 -0
- package/dist/types/api/write/.export.d.ts +2 -0
- package/dist/types/api/write/.export.d.ts.map +1 -0
- package/dist/types/api/write/insertRules.d.ts +29 -0
- package/dist/types/api/write/insertRules.d.ts.map +1 -0
- package/dist/types/api/write/rehashRules.d.ts +11 -0
- package/dist/types/api/write/rehashRules.d.ts.map +1 -0
- package/dist/types/classifyBrowser.d.ts +4 -0
- package/dist/types/classifyBrowser.d.ts.map +1 -0
- package/dist/types/classifyOs.d.ts +4 -0
- package/dist/types/classifyOs.d.ts.map +1 -0
- package/dist/types/headerMatch.d.ts +13 -0
- package/dist/types/headerMatch.d.ts.map +1 -0
- package/dist/types/matchedRule.d.ts +4 -0
- package/dist/types/matchedRule.d.ts.map +1 -0
- package/dist/types/mongoose/.export.d.ts +2 -0
- package/dist/types/mongoose/.export.d.ts.map +1 -0
- package/dist/types/mongoose/mongooseRuleSchema.d.ts +4 -0
- package/dist/types/mongoose/mongooseRuleSchema.d.ts.map +1 -0
- package/dist/types/redis/.export.d.ts +3 -0
- package/dist/types/redis/.export.d.ts.map +1 -0
- package/dist/types/redis/reader/redisAggregate.d.ts +5 -0
- package/dist/types/redis/reader/redisAggregate.d.ts.map +1 -0
- package/dist/types/redis/reader/redisRulesQuery.d.ts +5 -0
- package/dist/types/redis/reader/redisRulesQuery.d.ts.map +1 -0
- package/dist/types/redis/reader/redisRulesReader.d.ts +30 -0
- package/dist/types/redis/reader/redisRulesReader.d.ts.map +1 -0
- package/dist/types/redis/reader/redisRulesSplitQuery.d.ts +12 -0
- package/dist/types/redis/reader/redisRulesSplitQuery.d.ts.map +1 -0
- package/dist/types/redis/redisClient.d.ts +11 -0
- package/dist/types/redis/redisClient.d.ts.map +1 -0
- package/dist/types/redis/redisRuleIndex.d.ts +14 -0
- package/dist/types/redis/redisRuleIndex.d.ts.map +1 -0
- package/dist/types/redis/redisRulesStorage.d.ts +5 -0
- package/dist/types/redis/redisRulesStorage.d.ts.map +1 -0
- package/dist/types/redis/redisRulesWriter.d.ts +22 -0
- package/dist/types/redis/redisRulesWriter.d.ts.map +1 -0
- package/dist/types/rule.d.ts +52 -0
- package/dist/types/rule.d.ts.map +1 -0
- package/dist/types/ruleInput/.export.d.ts +4 -0
- package/dist/types/ruleInput/.export.d.ts.map +1 -0
- package/dist/types/ruleInput/policyInput.d.ts +109 -0
- package/dist/types/ruleInput/policyInput.d.ts.map +1 -0
- package/dist/types/ruleInput/ruleInput.d.ts +204 -0
- package/dist/types/ruleInput/ruleInput.d.ts.map +1 -0
- package/dist/types/ruleInput/userScopeInput.d.ts +181 -0
- package/dist/types/ruleInput/userScopeInput.d.ts.map +1 -0
- package/dist/types/ruleRecord.d.ts +18 -0
- package/dist/types/ruleRecord.d.ts.map +1 -0
- package/dist/types/rulesStorage.d.ts +32 -0
- package/dist/types/rulesStorage.d.ts.map +1 -0
- package/dist/types/tests/blockingRuleShapes.unit.test.d.ts +2 -0
- package/dist/types/tests/blockingRuleShapes.unit.test.d.ts.map +1 -0
- package/dist/types/tests/classifyBrowser.unit.test.d.ts +2 -0
- package/dist/types/tests/classifyBrowser.unit.test.d.ts.map +1 -0
- package/dist/types/tests/classifyOs.unit.test.d.ts +2 -0
- package/dist/types/tests/classifyOs.unit.test.d.ts.map +1 -0
- package/dist/types/tests/headerMatch.unit.test.d.ts +2 -0
- package/dist/types/tests/headerMatch.unit.test.d.ts.map +1 -0
- package/dist/types/tests/insertRulesEndpoint.unit.test.d.ts +2 -0
- package/dist/types/tests/insertRulesEndpoint.unit.test.d.ts.map +1 -0
- package/dist/types/tests/matchedRule.unit.test.d.ts +2 -0
- package/dist/types/tests/matchedRule.unit.test.d.ts.map +1 -0
- package/dist/types/tests/policyInput.unit.test.d.ts +2 -0
- package/dist/types/tests/policyInput.unit.test.d.ts.map +1 -0
- package/dist/types/tests/redis/deferredPoolClause.benchmark.d.ts +2 -0
- package/dist/types/tests/redis/deferredPoolClause.benchmark.d.ts.map +1 -0
- package/dist/types/tests/redis/reader/redisAggregate.unit.test.d.ts +2 -0
- package/dist/types/tests/redis/reader/redisAggregate.unit.test.d.ts.map +1 -0
- package/dist/types/tests/redis/reader/redisRulesQuery.unit.test.d.ts +2 -0
- package/dist/types/tests/redis/reader/redisRulesQuery.unit.test.d.ts.map +1 -0
- package/dist/types/tests/redis/reader/redisRulesSplitQuery.unit.test.d.ts +2 -0
- package/dist/types/tests/redis/reader/redisRulesSplitQuery.unit.test.d.ts.map +1 -0
- package/dist/types/tests/redis/redisRulesReaderLoad.benchmark.integration.test.d.ts +2 -0
- package/dist/types/tests/redis/redisRulesReaderLoad.benchmark.integration.test.d.ts.map +1 -0
- package/dist/types/tests/redis/redisRulesReaderRank.benchmark.integration.test.d.ts +2 -0
- package/dist/types/tests/redis/redisRulesReaderRank.benchmark.integration.test.d.ts.map +1 -0
- package/dist/types/tests/redis/redisRulesStorage.integration.test.d.ts +2 -0
- package/dist/types/tests/redis/redisRulesStorage.integration.test.d.ts.map +1 -0
- package/dist/types/tests/testLogger.d.ts +4 -0
- package/dist/types/tests/testLogger.d.ts.map +1 -0
- package/dist/types/tests/transformRule.unit.test.d.ts +2 -0
- package/dist/types/tests/transformRule.unit.test.d.ts.map +1 -0
- package/dist/types/transformRule.d.ts +7 -0
- package/dist/types/transformRule.d.ts.map +1 -0
- package/entries.ts +1 -1
- package/package.json +25 -23
- package/.turbo/turbo-build.log +0 -78
- package/dist/.export.d.ts.map +0 -1
- package/dist/.export.js.map +0 -1
- package/dist/api/.export.d.ts.map +0 -1
- package/dist/api/.export.js.map +0 -1
- package/dist/api/accessRulesApiClient.d.ts.map +0 -1
- package/dist/api/accessRulesApiClient.js.map +0 -1
- package/dist/api/delete/.export.d.ts.map +0 -1
- package/dist/api/delete/deleteAllRules.d.ts.map +0 -1
- package/dist/api/delete/deleteAllRules.js.map +0 -1
- package/dist/api/delete/deleteRuleGroups.d.ts.map +0 -1
- package/dist/api/delete/deleteRuleGroups.js.map +0 -1
- package/dist/api/delete/deleteRules.d.ts.map +0 -1
- package/dist/api/delete/deleteRules.js.map +0 -1
- package/dist/api/read/.export.d.ts.map +0 -1
- package/dist/api/read/fetchRules.d.ts.map +0 -1
- package/dist/api/read/fetchRules.js.map +0 -1
- package/dist/api/read/findRuleIds.d.ts.map +0 -1
- package/dist/api/read/findRuleIds.js.map +0 -1
- package/dist/api/read/getMissingIds.d.ts.map +0 -1
- package/dist/api/read/getMissingIds.js.map +0 -1
- package/dist/api/ruleApiRoutes.d.ts.map +0 -1
- package/dist/api/ruleApiRoutes.js.map +0 -1
- package/dist/api/rulesApiClient.d.ts.map +0 -1
- package/dist/api/rulesApiClient.js.map +0 -1
- package/dist/api/write/.export.d.ts.map +0 -1
- package/dist/api/write/insertRules.d.ts.map +0 -1
- package/dist/api/write/insertRules.js.map +0 -1
- package/dist/api/write/rehashRules.d.ts.map +0 -1
- package/dist/api/write/rehashRules.js.map +0 -1
- package/dist/classifyBrowser.d.ts.map +0 -1
- package/dist/classifyBrowser.js.map +0 -1
- package/dist/classifyOs.d.ts.map +0 -1
- package/dist/classifyOs.js.map +0 -1
- package/dist/headerMatch.d.ts.map +0 -1
- package/dist/headerMatch.js.map +0 -1
- package/dist/matchedRule.d.ts.map +0 -1
- package/dist/matchedRule.js.map +0 -1
- package/dist/mongoose/.export.d.ts.map +0 -1
- package/dist/mongoose/.export.js.map +0 -1
- package/dist/mongoose/mongooseRuleSchema.d.ts.map +0 -1
- package/dist/mongoose/mongooseRuleSchema.js.map +0 -1
- package/dist/redis/.export.d.ts.map +0 -1
- package/dist/redis/.export.js.map +0 -1
- package/dist/redis/reader/redisAggregate.d.ts.map +0 -1
- package/dist/redis/reader/redisAggregate.js.map +0 -1
- package/dist/redis/reader/redisRulesQuery.d.ts.map +0 -1
- package/dist/redis/reader/redisRulesQuery.js.map +0 -1
- package/dist/redis/reader/redisRulesReader.d.ts.map +0 -1
- package/dist/redis/reader/redisRulesReader.js.map +0 -1
- package/dist/redis/reader/redisRulesSplitQuery.d.ts.map +0 -1
- package/dist/redis/reader/redisRulesSplitQuery.js.map +0 -1
- package/dist/redis/redisClient.d.ts.map +0 -1
- package/dist/redis/redisClient.js.map +0 -1
- package/dist/redis/redisRuleIndex.d.ts.map +0 -1
- package/dist/redis/redisRuleIndex.js.map +0 -1
- package/dist/redis/redisRulesStorage.d.ts.map +0 -1
- package/dist/redis/redisRulesStorage.js.map +0 -1
- package/dist/redis/redisRulesWriter.d.ts.map +0 -1
- package/dist/redis/redisRulesWriter.js.map +0 -1
- package/dist/rule.d.ts.map +0 -1
- package/dist/rule.js.map +0 -1
- package/dist/ruleInput/.export.d.ts.map +0 -1
- package/dist/ruleInput/.export.js.map +0 -1
- package/dist/ruleInput/policyInput.d.ts.map +0 -1
- package/dist/ruleInput/policyInput.js.map +0 -1
- package/dist/ruleInput/ruleInput.d.ts.map +0 -1
- package/dist/ruleInput/ruleInput.js.map +0 -1
- package/dist/ruleInput/userScopeInput.d.ts.map +0 -1
- package/dist/ruleInput/userScopeInput.js.map +0 -1
- package/dist/ruleRecord.d.ts.map +0 -1
- package/dist/ruleRecord.js.map +0 -1
- package/dist/rulesStorage.d.ts.map +0 -1
- package/dist/rulesStorage.js.map +0 -1
- package/dist/tests/blockingRuleShapes.unit.test.d.ts.map +0 -1
- package/dist/tests/blockingRuleShapes.unit.test.js.map +0 -1
- package/dist/tests/classifyBrowser.unit.test.d.ts.map +0 -1
- package/dist/tests/classifyBrowser.unit.test.js.map +0 -1
- package/dist/tests/classifyOs.unit.test.d.ts.map +0 -1
- package/dist/tests/classifyOs.unit.test.js.map +0 -1
- package/dist/tests/headerMatch.unit.test.d.ts.map +0 -1
- package/dist/tests/headerMatch.unit.test.js.map +0 -1
- package/dist/tests/insertRulesEndpoint.unit.test.d.ts.map +0 -1
- package/dist/tests/insertRulesEndpoint.unit.test.js.map +0 -1
- package/dist/tests/matchedRule.unit.test.d.ts.map +0 -1
- package/dist/tests/matchedRule.unit.test.js.map +0 -1
- package/dist/tests/policyInput.unit.test.d.ts.map +0 -1
- package/dist/tests/policyInput.unit.test.js.map +0 -1
- package/dist/tests/redis/deferredPoolClause.benchmark.d.ts.map +0 -1
- package/dist/tests/redis/deferredPoolClause.benchmark.js.map +0 -1
- package/dist/tests/redis/reader/redisAggregate.unit.test.d.ts.map +0 -1
- package/dist/tests/redis/reader/redisAggregate.unit.test.js.map +0 -1
- package/dist/tests/redis/reader/redisRulesQuery.unit.test.d.ts.map +0 -1
- package/dist/tests/redis/reader/redisRulesQuery.unit.test.js.map +0 -1
- package/dist/tests/redis/reader/redisRulesSplitQuery.unit.test.d.ts.map +0 -1
- package/dist/tests/redis/reader/redisRulesSplitQuery.unit.test.js.map +0 -1
- package/dist/tests/redis/redisRulesReaderLoad.benchmark.integration.test.d.ts.map +0 -1
- package/dist/tests/redis/redisRulesReaderLoad.benchmark.integration.test.js.map +0 -1
- package/dist/tests/redis/redisRulesReaderRank.benchmark.integration.test.d.ts.map +0 -1
- package/dist/tests/redis/redisRulesReaderRank.benchmark.integration.test.js.map +0 -1
- package/dist/tests/redis/redisRulesStorage.integration.test.d.ts.map +0 -1
- package/dist/tests/redis/redisRulesStorage.integration.test.js.map +0 -1
- package/dist/tests/testLogger.d.ts.map +0 -1
- package/dist/tests/testLogger.js.map +0 -1
- package/dist/tests/transformRule.unit.test.d.ts.map +0 -1
- package/dist/tests/transformRule.unit.test.js.map +0 -1
- package/dist/transformRule.d.ts.map +0 -1
- package/dist/transformRule.js.map +0 -1
- /package/dist/{.export.js → esm/.export.js} +0 -0
- /package/dist/{_virtual → esm/_virtual}/_rolldown/runtime.js +0 -0
- /package/dist/{api → esm/api}/.export.js +0 -0
- /package/dist/{api → esm/api}/accessRulesApiClient.js +0 -0
- /package/dist/{api → esm/api}/delete/.export.js +0 -0
- /package/dist/{api → esm/api}/delete/deleteAllRules.js +0 -0
- /package/dist/{api → esm/api}/delete/deleteRuleGroups.js +0 -0
- /package/dist/{api → esm/api}/delete/deleteRules.js +0 -0
- /package/dist/{api → esm/api}/read/.export.js +0 -0
- /package/dist/{api → esm/api}/read/fetchRules.js +0 -0
- /package/dist/{api → esm/api}/read/findRuleIds.js +0 -0
- /package/dist/{api → esm/api}/read/getMissingIds.js +0 -0
- /package/dist/{api → esm/api}/ruleApiRoutes.js +0 -0
- /package/dist/{api → esm/api}/rulesApiClient.js +0 -0
- /package/dist/{api → esm/api}/write/.export.js +0 -0
- /package/dist/{api → esm/api}/write/insertRules.js +0 -0
- /package/dist/{api → esm/api}/write/rehashRules.js +0 -0
- /package/dist/{classifyBrowser.js → esm/classifyBrowser.js} +0 -0
- /package/dist/{classifyOs.js → esm/classifyOs.js} +0 -0
- /package/dist/{headerMatch.js → esm/headerMatch.js} +0 -0
- /package/dist/{matchedRule.js → esm/matchedRule.js} +0 -0
- /package/dist/{mongoose → esm/mongoose}/.export.js +0 -0
- /package/dist/{mongoose → esm/mongoose}/mongooseRuleSchema.js +0 -0
- /package/dist/{redis → esm/redis}/.export.js +0 -0
- /package/dist/{redis → esm/redis}/reader/redisAggregate.js +0 -0
- /package/dist/{redis → esm/redis}/reader/redisRulesQuery.js +0 -0
- /package/dist/{redis → esm/redis}/reader/redisRulesReader.js +0 -0
- /package/dist/{redis → esm/redis}/reader/redisRulesSplitQuery.js +0 -0
- /package/dist/{redis → esm/redis}/redisClient.js +0 -0
- /package/dist/{redis → esm/redis}/redisRuleIndex.js +0 -0
- /package/dist/{redis → esm/redis}/redisRulesStorage.js +0 -0
- /package/dist/{redis → esm/redis}/redisRulesWriter.js +0 -0
- /package/dist/{rule.js → esm/rule.js} +0 -0
- /package/dist/{ruleInput → esm/ruleInput}/.export.js +0 -0
- /package/dist/{ruleInput → esm/ruleInput}/policyInput.js +0 -0
- /package/dist/{ruleInput → esm/ruleInput}/ruleInput.js +0 -0
- /package/dist/{ruleInput → esm/ruleInput}/userScopeInput.js +0 -0
- /package/dist/{ruleRecord.js → esm/ruleRecord.js} +0 -0
- /package/dist/{rulesStorage.js → esm/rulesStorage.js} +0 -0
- /package/dist/{transformRule.js → esm/transformRule.js} +0 -0
- /package/dist/{.export.d.ts → tsc/.export.d.ts} +0 -0
- /package/dist/{api → tsc/api}/.export.d.ts +0 -0
- /package/dist/{api → tsc/api}/accessRulesApiClient.d.ts +0 -0
- /package/dist/{api → tsc/api}/delete/.export.d.ts +0 -0
- /package/dist/{api → tsc/api}/delete/deleteAllRules.d.ts +0 -0
- /package/dist/{api → tsc/api}/delete/deleteRuleGroups.d.ts +0 -0
- /package/dist/{api → tsc/api}/delete/deleteRules.d.ts +0 -0
- /package/dist/{api → tsc/api}/read/.export.d.ts +0 -0
- /package/dist/{api → tsc/api}/read/fetchRules.d.ts +0 -0
- /package/dist/{api → tsc/api}/read/findRuleIds.d.ts +0 -0
- /package/dist/{api → tsc/api}/read/getMissingIds.d.ts +0 -0
- /package/dist/{api → tsc/api}/ruleApiRoutes.d.ts +0 -0
- /package/dist/{api → tsc/api}/rulesApiClient.d.ts +0 -0
- /package/dist/{api → tsc/api}/write/.export.d.ts +0 -0
- /package/dist/{api → tsc/api}/write/insertRules.d.ts +0 -0
- /package/dist/{api → tsc/api}/write/rehashRules.d.ts +0 -0
- /package/dist/{classifyBrowser.d.ts → tsc/classifyBrowser.d.ts} +0 -0
- /package/dist/{classifyOs.d.ts → tsc/classifyOs.d.ts} +0 -0
- /package/dist/{headerMatch.d.ts → tsc/headerMatch.d.ts} +0 -0
- /package/dist/{matchedRule.d.ts → tsc/matchedRule.d.ts} +0 -0
- /package/dist/{mongoose → tsc/mongoose}/.export.d.ts +0 -0
- /package/dist/{mongoose → tsc/mongoose}/mongooseRuleSchema.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/.export.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/reader/redisAggregate.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/reader/redisRulesQuery.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/reader/redisRulesReader.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/reader/redisRulesSplitQuery.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/redisClient.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/redisRuleIndex.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/redisRulesStorage.d.ts +0 -0
- /package/dist/{redis → tsc/redis}/redisRulesWriter.d.ts +0 -0
- /package/dist/{rule.d.ts → tsc/rule.d.ts} +0 -0
- /package/dist/{ruleInput → tsc/ruleInput}/.export.d.ts +0 -0
- /package/dist/{ruleInput → tsc/ruleInput}/policyInput.d.ts +0 -0
- /package/dist/{ruleInput → tsc/ruleInput}/ruleInput.d.ts +0 -0
- /package/dist/{ruleInput → tsc/ruleInput}/userScopeInput.d.ts +0 -0
- /package/dist/{ruleRecord.d.ts → tsc/ruleRecord.d.ts} +0 -0
- /package/dist/{rulesStorage.d.ts → tsc/rulesStorage.d.ts} +0 -0
- /package/dist/{tests → tsc/tests}/blockingRuleShapes.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/blockingRuleShapes.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/classifyBrowser.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/classifyBrowser.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/classifyOs.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/classifyOs.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/headerMatch.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/headerMatch.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/insertRulesEndpoint.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/insertRulesEndpoint.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/matchedRule.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/matchedRule.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/policyInput.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/policyInput.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/redis/deferredPoolClause.benchmark.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/redis/deferredPoolClause.benchmark.js +0 -0
- /package/dist/{tests → tsc/tests}/redis/reader/redisAggregate.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/redis/reader/redisAggregate.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/redis/reader/redisRulesQuery.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/redis/reader/redisRulesQuery.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/redis/reader/redisRulesSplitQuery.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/redis/reader/redisRulesSplitQuery.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/redis/redisRulesReaderLoad.benchmark.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/redis/redisRulesReaderLoad.benchmark.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/redis/redisRulesReaderRank.benchmark.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/redis/redisRulesReaderRank.benchmark.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/redis/redisRulesStorage.integration.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/redis/redisRulesStorage.integration.test.js +0 -0
- /package/dist/{tests → tsc/tests}/testLogger.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/testLogger.js +0 -0
- /package/dist/{tests → tsc/tests}/transformRule.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/transformRule.unit.test.js +0 -0
- /package/dist/{transformRule.d.ts → tsc/transformRule.d.ts} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import { IpAddress, IpRange } from "cidr-calc";
|
|
3
|
+
import { Address4, Address6 } from "ip-address";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { accessPolicyInputShape, policyScopeExclusionsInput, policyScopeInput, } from "./ruleInput/policyInput.js";
|
|
6
|
+
import { accessRuleInput } from "./ruleInput/ruleInput.js";
|
|
7
|
+
import { userScopeSchema } from "./ruleInput/userScopeInput.js";
|
|
8
|
+
const RULE_HASH_ALGORITHM = "md5";
|
|
9
|
+
const MAX_IPV4_NUMERIC = (1n << 32n) - 1n;
|
|
10
|
+
const UNHASHED_RULE_FIELDS = new Set([
|
|
11
|
+
"excludedClientIds",
|
|
12
|
+
]);
|
|
13
|
+
export const makeAccessRuleHash = (rule) => {
|
|
14
|
+
const valueProperties = Object.entries(rule).filter(([key, value]) => "undefined" !== typeof value && !UNHASHED_RULE_FIELDS.has(key));
|
|
15
|
+
const orderedProperties = valueProperties.sort();
|
|
16
|
+
const objectToHash = Object.fromEntries(orderedProperties);
|
|
17
|
+
return hashObject(objectToHash, RULE_HASH_ALGORITHM);
|
|
18
|
+
};
|
|
19
|
+
export const transformAccessRuleRecordIntoRule = (ruleRecord) => accessRuleInput.parse(ruleRecord);
|
|
20
|
+
export const transformAccessRuleIntoRecord = (rule) => accessRuleToRecordScheme.parse(rule);
|
|
21
|
+
const accessRuleToRecordScheme = z
|
|
22
|
+
.object({
|
|
23
|
+
...accessPolicyInputShape.shape,
|
|
24
|
+
...policyScopeInput.shape,
|
|
25
|
+
...policyScopeExclusionsInput.shape,
|
|
26
|
+
...userScopeSchema.shape,
|
|
27
|
+
groupId: z.coerce.string().optional(),
|
|
28
|
+
})
|
|
29
|
+
.transform((ruleInput) => {
|
|
30
|
+
const { groupId, numericIp, numericIpMaskMin, numericIpMaskMax, userAgentHash, ...rule } = ruleInput;
|
|
31
|
+
const record = rule;
|
|
32
|
+
if ("string" === typeof groupId) {
|
|
33
|
+
record.ruleGroupId = groupId;
|
|
34
|
+
}
|
|
35
|
+
if ("string" === typeof userAgentHash) {
|
|
36
|
+
record.userAgent = userAgentHash;
|
|
37
|
+
}
|
|
38
|
+
if ("bigint" === typeof numericIp) {
|
|
39
|
+
record.ip = getStringIpFromNumeric(numericIp);
|
|
40
|
+
}
|
|
41
|
+
if ("bigint" === typeof numericIpMaskMin &&
|
|
42
|
+
"bigint" === typeof numericIpMaskMax) {
|
|
43
|
+
record.ipMask = getCidrFromNumericIpRange(numericIpMaskMin, numericIpMaskMax);
|
|
44
|
+
}
|
|
45
|
+
return record;
|
|
46
|
+
});
|
|
47
|
+
const hashObject = (object, algorithm) => crypto
|
|
48
|
+
.createHash(algorithm)
|
|
49
|
+
.update(JSON.stringify(object, (key, value) => "bigint" === typeof value ? value.toString() : value))
|
|
50
|
+
.digest("hex");
|
|
51
|
+
const getStringIpFromNumeric = (numericIp) => numericIp > MAX_IPV4_NUMERIC
|
|
52
|
+
? Address6.fromBigInt(numericIp).correctForm()
|
|
53
|
+
: Address4.fromInteger(Number(numericIp)).address;
|
|
54
|
+
export const getCidrFromNumericIpRange = (startIp, endIp) => {
|
|
55
|
+
const ipRange = new IpRange(IpAddress.of(getStringIpFromNumeric(startIp)), IpAddress.of(getStringIpFromNumeric(endIp)));
|
|
56
|
+
const cidr = ipRange.toCidrs()[0];
|
|
57
|
+
return cidr ? `${cidr.prefix.toString()}/${cidr.prefixLen}` : undefined;
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=transformRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformRule.js","sourceRoot":"","sources":["../../src/transformRule.ts"],"names":[],"mappings":"AAcA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACN,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAGlC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAK1C,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACzD,mBAAmB;CACY,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAU,EAAE;IAE9D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAClD,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChB,WAAW,KAAK,OAAO,KAAK,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAC/D,CAAC;IAGF,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;IAEjD,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAE3D,OAAO,UAAU,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAChD,UAA4B,EACf,EAAE,CAEf,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC5C,IAAgB,EACG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAE5D,MAAM,wBAAwB,GAAG,CAAC;KAChC,MAAM,CAAC;IACP,GAAG,sBAAsB,CAAC,KAAK;IAC/B,GAAG,gBAAgB,CAAC,KAAK;IACzB,GAAG,0BAA0B,CAAC,KAAK;IACnC,GAAG,eAAe,CAAC,KAAK;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,SAAS,CAAC,CAAC,SAAqB,EAAoB,EAAE;IAEtD,MAAM,EACL,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,GAAG,IAAI,EACP,GAAG,SAAS,CAAC;IAEd,MAAM,MAAM,GAAqB,IAAI,CAAC;IAEtC,IAAI,QAAQ,KAAK,OAAO,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,IACC,QAAQ,KAAK,OAAO,gBAAgB;QACpC,QAAQ,KAAK,OAAO,gBAAgB,EACnC,CAAC;QACF,MAAM,CAAC,MAAM,GAAG,yBAAyB,CACxC,gBAAgB,EAChB,gBAAgB,CAChB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC,CAAC;AAEJ,MAAM,UAAU,GAAG,CAClB,MAA+B,EAC/B,SAAiB,EACR,EAAE,CACX,MAAM;KACJ,UAAU,CAAC,SAAS,CAAC;KACrB,MAAM,CACN,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAErC,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACpD,CACD;KACA,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjB,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC5D,SAAS,GAAG,gBAAgB;IAC3B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;IAC9C,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAEpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,OAAe,EACf,KAAa,EACQ,EAAE;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,CAC1B,SAAS,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,EAC7C,SAAS,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAC3C,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAElC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./ruleInput/.export.js";
|
|
2
|
+
export { makeAccessRuleHash, transformAccessRuleRecordIntoRule, transformAccessRuleIntoRecord, } from "./transformRule.js";
|
|
3
|
+
export { type AccessRule, type AccessPolicy, type PolicyScope, type UserScope, AccessPolicyType, } from "./rule.js";
|
|
4
|
+
export { describeMatchedRule } from "./matchedRule.js";
|
|
5
|
+
export { classifyOs, OS_NAMES, type OsName } from "./classifyOs.js";
|
|
6
|
+
export { classifyBrowser, BROWSER_NAMES, type BrowserName, } from "./classifyBrowser.js";
|
|
7
|
+
export { HEADER_OPERATORS, type HeaderOperator, HEADER_RULE_MARKER, isHeaderOperator, evaluateHeaderCondition, accessRuleHeaderMatches, encodeHeaderValueList, decodeHeaderValueList, } from "./headerMatch.js";
|
|
8
|
+
export { type AccessRulesFilter, type AccessRulesStorage, type AccessRuleEntry, FilterScopeMatch, } from "./rulesStorage.js";
|
|
9
|
+
export { type AccessRuleRecord, type UserScopeRecord, type UserScopeRecordField, userScopeRecordFields, getUserScopeRecordFromAccessRuleRecord, } from "./ruleRecord.js";
|
|
10
|
+
//# sourceMappingURL=.export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".export.d.ts","sourceRoot":"","sources":["../../src/.export.ts"],"names":[],"mappings":"AAcA,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EACN,kBAAkB,EAClB,iCAAiC,EACjC,6BAA6B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,gBAAgB,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EACN,eAAe,EACf,aAAa,EACb,KAAK,WAAW,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACN,gBAAgB,EAChB,KAAK,cAAc,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,gBAAgB,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,sCAAsC,GACtC,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./delete/.export.js";
|
|
2
|
+
export * from "./read/.export.js";
|
|
3
|
+
export * from "./write/.export.js";
|
|
4
|
+
export { accessRuleApiPaths, getExpressApiRuleRateLimits, } from "./ruleApiRoutes.js";
|
|
5
|
+
export { AccessRulesApiClient } from "./rulesApiClient.js";
|
|
6
|
+
export { AccessRuleApiRoutes } from "./ruleApiRoutes.js";
|
|
7
|
+
//# sourceMappingURL=.export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".export.d.ts","sourceRoot":"","sources":["../../../src/api/.export.ts"],"names":[],"mappings":"AAcA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EACN,kBAAkB,EAClB,2BAA2B,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessRulesApiClient.d.ts","sourceRoot":"","sources":["../../../src/api/accessRulesApiClient.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".export.d.ts","sourceRoot":"","sources":["../../../../src/api/delete/.export.ts"],"names":[],"mappings":"AAcA,YAAY,EACX,eAAe,EACf,gBAAgB,GAChB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
4
|
+
export declare class DeleteAllRulesEndpoint implements ApiEndpoint<undefined> {
|
|
5
|
+
private readonly accessRulesStorage;
|
|
6
|
+
private readonly logger;
|
|
7
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
8
|
+
getRequestArgsSchema(): undefined;
|
|
9
|
+
processRequest(logger?: Logger): Promise<ApiEndpointResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=deleteAllRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteAllRules.d.ts","sourceRoot":"","sources":["../../../../src/api/delete/deleteAllRules.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,sBAAuB,YAAW,WAAW,CAAC,SAAS,CAAC;IAEnE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,SAAS;IAElC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAgBnE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import { type ZodType } from "zod";
|
|
4
|
+
import { type AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
5
|
+
export type DeleteSiteGroup = {
|
|
6
|
+
clientIds: string[];
|
|
7
|
+
groupId: string;
|
|
8
|
+
};
|
|
9
|
+
export type DeleteSiteGroups = DeleteSiteGroup[];
|
|
10
|
+
type DeleteRuleGroupsSchema = ZodType<DeleteSiteGroups>;
|
|
11
|
+
export declare class DeleteRuleGroupsEndpoint implements ApiEndpoint<DeleteRuleGroupsSchema> {
|
|
12
|
+
private readonly accessRulesStorage;
|
|
13
|
+
private readonly logger;
|
|
14
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
15
|
+
getRequestArgsSchema(): DeleteRuleGroupsSchema;
|
|
16
|
+
processRequest(args: DeleteSiteGroups, logger?: Logger): Promise<ApiEndpointResponse>;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=deleteRuleGroups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteRuleGroups.d.ts","sourceRoot":"","sources":["../../../../src/api/delete/deleteRuleGroups.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,OAAO,EAAK,MAAM,KAAK,CAAC;AACtC,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;AAEjD,KAAK,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAExD,qBAAa,wBACZ,YAAW,WAAW,CAAC,sBAAsB,CAAC;IAG7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,sBAAsB;IAS/C,cAAc,CACnB,IAAI,EAAE,gBAAgB,EACtB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;CAuC/B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import { type ZodType, z } from "zod";
|
|
4
|
+
import { type AccessRulesFilterInput } from "#policy/ruleInput/ruleInput.js";
|
|
5
|
+
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
6
|
+
type DeleteRulesSchema = ZodType<AccessRulesFilterInput[], z.ZodTypeDef, unknown>;
|
|
7
|
+
export declare class DeleteRulesEndpoint implements ApiEndpoint<DeleteRulesSchema> {
|
|
8
|
+
private readonly accessRulesStorage;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
11
|
+
getRequestArgsSchema(): DeleteRulesSchema;
|
|
12
|
+
processRequest(args: AccessRulesFilterInput[], logger?: Logger): Promise<ApiEndpointResponse>;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=deleteRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteRules.d.ts","sourceRoot":"","sources":["../../../../src/api/delete/deleteRules.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EACN,KAAK,sBAAsB,EAG3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,KAAK,iBAAiB,GAAG,OAAO,CAC/B,sBAAsB,EAAE,EACxB,CAAC,CAAC,UAAU,EACZ,OAAO,CACP,CAAC;AAEF,qBAAa,mBAAoB,YAAW,WAAW,CAAC,iBAAiB,CAAC;IAExE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,iBAAiB;IAI1C,cAAc,CACnB,IAAI,EAAE,sBAAsB,EAAE,EAC9B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;CAoC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".export.d.ts","sourceRoot":"","sources":["../../../../src/api/read/.export.ts"],"names":[],"mappings":"AAcA,YAAY,EACX,eAAe,EACf,uBAAuB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACX,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import { type ZodType, z } from "zod";
|
|
4
|
+
import type { AccessRuleEntry, AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
5
|
+
export type FetchRulesOptions = {
|
|
6
|
+
ids: string[];
|
|
7
|
+
};
|
|
8
|
+
type FetchRulesSchema = ZodType<FetchRulesOptions>;
|
|
9
|
+
export type FetchRulesResponse = {
|
|
10
|
+
ruleEntries: AccessRuleEntry[];
|
|
11
|
+
};
|
|
12
|
+
export declare const fetchRulesResponse: ZodType<FetchRulesResponse, z.ZodTypeDef, unknown>;
|
|
13
|
+
export type FetchRulesEndpointResponse = ApiEndpointResponse & {
|
|
14
|
+
data?: FetchRulesResponse;
|
|
15
|
+
};
|
|
16
|
+
export declare class FetchRulesEndpoint implements ApiEndpoint<FetchRulesSchema> {
|
|
17
|
+
private readonly accessRulesStorage;
|
|
18
|
+
private readonly logger;
|
|
19
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
20
|
+
getRequestArgsSchema(): FetchRulesSchema;
|
|
21
|
+
processRequest(args: FetchRulesOptions, logger?: Logger): Promise<FetchRulesEndpointResponse>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=fetchRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchRules.d.ts","sourceRoot":"","sources":["../../../../src/api/read/fetchRules.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,KAAK,EACX,eAAe,EACf,kBAAkB,EAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG;IAC/B,GAAG,EAAE,MAAM,EAAE,CAAC;CACd,CAAC;AAEF,KAAK,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAChC,WAAW,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CACvC,kBAAkB,EAClB,CAAC,CAAC,UAAU,EACZ,OAAO,CAGgC,CAAC;AAEzC,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG;IAC9D,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF,qBAAa,kBAAmB,YAAW,WAAW,CAAC,gBAAgB,CAAC;IAEtE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,gBAAgB;IAMzC,cAAc,CACnB,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,0BAA0B,CAAC;CA0BtC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import { type ZodType, z } from "zod";
|
|
4
|
+
import { type AccessRulesFilterInput } from "#policy/ruleInput/ruleInput.js";
|
|
5
|
+
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
6
|
+
type FindRulesSchema = ZodType<AccessRulesFilterInput[], z.ZodTypeDef, unknown>;
|
|
7
|
+
export type RuleIdsResponse = {
|
|
8
|
+
ruleIds: string[];
|
|
9
|
+
};
|
|
10
|
+
export declare const ruleIdsResponse: z.ZodObject<{
|
|
11
|
+
ruleIds: z.ZodArray<z.ZodString, "many">;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
ruleIds: string[];
|
|
14
|
+
}, {
|
|
15
|
+
ruleIds: string[];
|
|
16
|
+
}>;
|
|
17
|
+
export type RuleIdsEndpointResponse = ApiEndpointResponse & {
|
|
18
|
+
data?: RuleIdsResponse;
|
|
19
|
+
};
|
|
20
|
+
export declare class FindRuleIdsEndpoint implements ApiEndpoint<FindRulesSchema> {
|
|
21
|
+
private readonly accessRulesStorage;
|
|
22
|
+
private readonly logger;
|
|
23
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
24
|
+
getRequestArgsSchema(): FindRulesSchema;
|
|
25
|
+
processRequest(args: AccessRulesFilterInput[], logger?: Logger): Promise<RuleIdsEndpointResponse>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=findRuleIds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findRuleIds.d.ts","sourceRoot":"","sources":["../../../../src/api/read/findRuleIds.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EACN,KAAK,sBAAsB,EAG3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,KAAK,eAAe,GAAG,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;EAE4C,CAAC;AAEzE,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC3D,IAAI,CAAC,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF,qBAAa,mBAAoB,YAAW,WAAW,CAAC,eAAe,CAAC;IAEtE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,eAAe;IAIxC,cAAc,CACnB,IAAI,EAAE,sBAAsB,EAAE,EAC9B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,uBAAuB,CAAC;CAsCnC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import { type ZodType, z } from "zod";
|
|
4
|
+
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
5
|
+
export type MissingIds = string[];
|
|
6
|
+
type MissingIdsSchema = ZodType<MissingIds>;
|
|
7
|
+
export type MissingIdsResponse = {
|
|
8
|
+
ids: string[];
|
|
9
|
+
};
|
|
10
|
+
export declare const missingIdsResponse: z.ZodObject<{
|
|
11
|
+
ids: z.ZodArray<z.ZodString, "many">;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
ids: string[];
|
|
14
|
+
}, {
|
|
15
|
+
ids: string[];
|
|
16
|
+
}>;
|
|
17
|
+
export type MissingIdsEndpointResponse = ApiEndpointResponse & {
|
|
18
|
+
data?: MissingIdsResponse;
|
|
19
|
+
};
|
|
20
|
+
export declare class GetMissingIdsEndpoint implements ApiEndpoint<MissingIdsSchema> {
|
|
21
|
+
private readonly accessRulesStorage;
|
|
22
|
+
private readonly logger;
|
|
23
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
24
|
+
getRequestArgsSchema(): MissingIdsSchema;
|
|
25
|
+
processRequest(args: MissingIds, logger?: Logger): Promise<MissingIdsEndpointResponse>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=getMissingIds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMissingIds.d.ts","sourceRoot":"","sources":["../../../../src/api/read/getMissingIds.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;AAElC,KAAK,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE,MAAM,EAAE,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAE+C,CAAC;AAE/E,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG;IAC9D,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF,qBAAa,qBAAsB,YAAW,WAAW,CAAC,gBAAgB,CAAC;IAEzE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,gBAAgB;IAIzC,cAAc,CACnB,IAAI,EAAE,UAAU,EAChB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,0BAA0B,CAAC;CA2BtC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ApiRouteLimits, ApiRoutes, ApiRoutesProvider } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import { FetchRulesEndpoint } from "#policy/api/read/fetchRules.js";
|
|
4
|
+
import { FindRuleIdsEndpoint } from "#policy/api/read/findRuleIds.js";
|
|
5
|
+
import { GetMissingIdsEndpoint } from "#policy/api/read/getMissingIds.js";
|
|
6
|
+
import { RehashRulesEndpoint } from "#policy/api/write/rehashRules.js";
|
|
7
|
+
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
8
|
+
import { DeleteAllRulesEndpoint } from "./delete/deleteAllRules.js";
|
|
9
|
+
import { DeleteRuleGroupsEndpoint } from "./delete/deleteRuleGroups.js";
|
|
10
|
+
import { DeleteRulesEndpoint } from "./delete/deleteRules.js";
|
|
11
|
+
import { InsertRulesEndpoint } from "./write/insertRules.js";
|
|
12
|
+
export declare enum accessRuleApiPaths {
|
|
13
|
+
DELETE_ALL = "/v1/prosopo/user-access-policy/rules/delete-all",
|
|
14
|
+
DELETE_GROUPS = "/v1/prosopo/user-access-policy/rules/delete-groups",
|
|
15
|
+
DELETE_MANY = "/v1/prosopo/user-access-policy/rules/delete-many",
|
|
16
|
+
FETCH_MANY = "/v1/prosopo/user-access-policy/rules/fetch-many",
|
|
17
|
+
FIND_IDS = "/v1/prosopo/user-access-policy/rules/find-ids",
|
|
18
|
+
GET_MISSING_IDS = "/v1/prosopo/user-access-policy/rules/get-missing-ids",
|
|
19
|
+
INSERT_MANY = "/v1/prosopo/user-access-policy/rules/insert-many",
|
|
20
|
+
REHASH_ALL = "/v1/prosopo/user-access-policy/rules/rehash-all"
|
|
21
|
+
}
|
|
22
|
+
export declare class AccessRuleApiRoutes implements ApiRoutesProvider {
|
|
23
|
+
private readonly accessRulesStorage;
|
|
24
|
+
private readonly logger;
|
|
25
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
26
|
+
getRoutes(): ApiRoutes;
|
|
27
|
+
protected makeDeleteEndpoints(): {
|
|
28
|
+
"/v1/prosopo/user-access-policy/rules/delete-all": DeleteAllRulesEndpoint;
|
|
29
|
+
"/v1/prosopo/user-access-policy/rules/delete-groups": DeleteRuleGroupsEndpoint;
|
|
30
|
+
"/v1/prosopo/user-access-policy/rules/delete-many": DeleteRulesEndpoint;
|
|
31
|
+
};
|
|
32
|
+
protected makeReadEndpoints(): {
|
|
33
|
+
"/v1/prosopo/user-access-policy/rules/fetch-many": FetchRulesEndpoint;
|
|
34
|
+
"/v1/prosopo/user-access-policy/rules/find-ids": FindRuleIdsEndpoint;
|
|
35
|
+
"/v1/prosopo/user-access-policy/rules/get-missing-ids": GetMissingIdsEndpoint;
|
|
36
|
+
};
|
|
37
|
+
protected makeWriteEndpoints(): {
|
|
38
|
+
"/v1/prosopo/user-access-policy/rules/insert-many": InsertRulesEndpoint;
|
|
39
|
+
"/v1/prosopo/user-access-policy/rules/rehash-all": RehashRulesEndpoint;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export declare const getExpressApiRuleRateLimits: () => ApiRouteLimits<accessRuleApiPaths>;
|
|
43
|
+
//# sourceMappingURL=ruleApiRoutes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ruleApiRoutes.d.ts","sourceRoot":"","sources":["../../../src/api/ruleApiRoutes.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,oBAAY,kBAAkB;IAE7B,UAAU,oDAAoD;IAC9D,aAAa,uDAAuD;IACpE,WAAW,qDAAqD;IAEhE,UAAU,oDAAoD;IAC9D,QAAQ,kDAAkD;IAC1D,eAAe,yDAAyD;IAExE,WAAW,qDAAqD;IAChE,UAAU,oDAAoD;CAC9D;AAED,qBAAa,mBAAoB,YAAW,iBAAiB;IAE3D,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,SAAS,IAAI,SAAS;IAQ7B,SAAS,CAAC,mBAAmB;;;;;IAiB7B,SAAS,CAAC,iBAAiB;;;;;IAiB3B,SAAS,CAAC,kBAAkB;;;;CAY5B;AAED,eAAO,MAAM,2BAA2B,QACnC,cAAc,CAAC,kBAAkB,CAyBpC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ApiClient } from "@prosopo/api";
|
|
2
|
+
import type { ApiEndpointResponse } from "@prosopo/api-route";
|
|
3
|
+
import { type FetchRulesEndpointResponse, type FetchRulesOptions } from "#policy/api/read/fetchRules.js";
|
|
4
|
+
import { type RuleIdsEndpointResponse } from "#policy/api/read/findRuleIds.js";
|
|
5
|
+
import { type MissingIds, type MissingIdsEndpointResponse } from "#policy/api/read/getMissingIds.js";
|
|
6
|
+
import type { AccessRulesFilterInput } from "#policy/ruleInput/ruleInput.js";
|
|
7
|
+
import type { DeleteSiteGroups } from "./delete/deleteRuleGroups.js";
|
|
8
|
+
import type { InsertRulesGroup } from "./write/insertRules.js";
|
|
9
|
+
export declare class AccessRulesApiClient extends ApiClient {
|
|
10
|
+
deleteMany(filters: AccessRulesFilterInput[], jwt: string): Promise<ApiEndpointResponse>;
|
|
11
|
+
deleteGroups(siteGroups: DeleteSiteGroups, jwt: string): Promise<ApiEndpointResponse>;
|
|
12
|
+
deleteAll(jwt: string): Promise<ApiEndpointResponse>;
|
|
13
|
+
getMissingIds(idsToCheck: MissingIds, jwt: string): Promise<MissingIdsEndpointResponse>;
|
|
14
|
+
fetchMany(fetchOptions: FetchRulesOptions, jwt: string): Promise<FetchRulesEndpointResponse>;
|
|
15
|
+
findIds(filters: AccessRulesFilterInput[], jwt: string): Promise<RuleIdsEndpointResponse>;
|
|
16
|
+
rehashAll(jwt: string): Promise<ApiEndpointResponse>;
|
|
17
|
+
insertMany(ruleGroups: InsertRulesGroup[], jwt: string): Promise<ApiEndpointResponse>;
|
|
18
|
+
protected getAuthHeaders(jwt: string): RequestInit;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=rulesApiClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rulesApiClient.d.ts","sourceRoot":"","sources":["../../../src/api/rulesApiClient.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACN,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EAEtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,KAAK,uBAAuB,EAE5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,KAAK,UAAU,EACf,KAAK,0BAA0B,EAE/B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,qBAAa,oBAAqB,SAAQ,SAAS;IAG3C,UAAU,CAChB,OAAO,EAAE,sBAAsB,EAAE,EACjC,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,mBAAmB,CAAC;IAQxB,YAAY,CAClB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,mBAAmB,CAAC;IAQxB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAU9C,aAAa,CACzB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,0BAA0B,CAAC;IAezB,SAAS,CACrB,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,0BAA0B,CAAC;IAezB,OAAO,CACnB,OAAO,EAAE,sBAAsB,EAAE,EACjC,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,uBAAuB,CAAC;IAiBtB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ1D,UAAU,CAChB,UAAU,EAAE,gBAAgB,EAAE,EAC9B,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,mBAAmB,CAAC;IAQ/B,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;CAQlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".export.d.ts","sourceRoot":"","sources":["../../../../src/api/write/.export.ts"],"names":[],"mappings":"AAcA,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import { type Logger } from "@prosopo/logger";
|
|
3
|
+
import { type ZodType, type ZodTypeDef } from "zod";
|
|
4
|
+
import type { AccessPolicy, PolicyScope, PolicyScopeExclusions, UserScope } from "#policy/rule.js";
|
|
5
|
+
import { type UserScopeInput } from "#policy/ruleInput/userScopeInput.js";
|
|
6
|
+
import type { AccessRulesWriter } from "#policy/rulesStorage.js";
|
|
7
|
+
export type InsertRulesGroup = PolicyScopeExclusions & {
|
|
8
|
+
accessPolicy: AccessPolicy;
|
|
9
|
+
userScopes: UserScopeInput[];
|
|
10
|
+
policyScopes?: PolicyScope[];
|
|
11
|
+
groupId?: string;
|
|
12
|
+
expiresUnixTimestamp?: number;
|
|
13
|
+
};
|
|
14
|
+
type ParsedInsertRulesGroup = InsertRulesGroup & {
|
|
15
|
+
userScopes: UserScope[];
|
|
16
|
+
};
|
|
17
|
+
type ParsedInsertRuleGroups = ParsedInsertRulesGroup[];
|
|
18
|
+
type InsertRulesSchema = ZodType<InsertRulesGroup[], ZodTypeDef, unknown>;
|
|
19
|
+
export declare class InsertRulesEndpoint implements ApiEndpoint<InsertRulesSchema> {
|
|
20
|
+
private readonly accessRulesWriter;
|
|
21
|
+
private readonly logger;
|
|
22
|
+
constructor(accessRulesWriter: AccessRulesWriter, logger: Logger);
|
|
23
|
+
getRequestArgsSchema(): InsertRulesSchema;
|
|
24
|
+
processRequest(args: ParsedInsertRuleGroups, logger?: Logger): Promise<ApiEndpointResponse>;
|
|
25
|
+
protected createRuleGroups(groups: ParsedInsertRuleGroups): Promise<string[]>;
|
|
26
|
+
protected createRulesGroup(group: ParsedInsertRulesGroup): Promise<string[]>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=insertRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insertRules.d.ts","sourceRoot":"","sources":["../../../../src/api/write/insertRules.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAK,MAAM,KAAK,CAAC;AACvD,OAAO,KAAK,EACX,YAAY,EAEZ,WAAW,EACX,qBAAqB,EACrB,SAAS,EACT,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAEX,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG;IACtD,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,cAAc,EAAE,CAAC;IAG7B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,KAAK,sBAAsB,GAAG,gBAAgB,GAAG;IAChD,UAAU,EAAE,SAAS,EAAE,CAAC;CACxB,CAAC;AAEF,KAAK,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;AAIvD,KAAK,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAE1E,qBAAa,mBAAoB,YAAW,WAAW,CAAC,iBAAiB,CAAC;IAExE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,iBAAiB;IAa1C,cAAc,CACnB,IAAI,EAAE,sBAAsB,EAC5B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;cAwDf,gBAAgB,CAC/B,MAAM,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;cAQJ,gBAAgB,CAC/B,KAAK,EAAE,sBAAsB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;CAsCpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
|
+
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
4
|
+
export declare class RehashRulesEndpoint implements ApiEndpoint<undefined> {
|
|
5
|
+
private readonly accessRulesStorage;
|
|
6
|
+
private readonly logger;
|
|
7
|
+
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
8
|
+
getRequestArgsSchema(): undefined;
|
|
9
|
+
processRequest(logger?: Logger): Promise<ApiEndpointResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=rehashRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehashRules.d.ts","sourceRoot":"","sources":["../../../../src/api/write/rehashRules.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,qBAAa,mBAAoB,YAAW,WAAW,CAAC,SAAS,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;IAGzB,oBAAoB,IAAI,SAAS;IAElC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAsDnE"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const BROWSER_NAMES: readonly ["chrome", "safari", "firefox", "edge", "opera", "samsung_internet", "wechat", "facebook", "instagram", "ie", "unknown"];
|
|
2
|
+
export type BrowserName = (typeof BROWSER_NAMES)[number];
|
|
3
|
+
export declare const classifyBrowser: (userAgent: string | undefined) => BrowserName;
|
|
4
|
+
//# sourceMappingURL=classifyBrowser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifyBrowser.d.ts","sourceRoot":"","sources":["../../src/classifyBrowser.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,aAAa,mIAYhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AASzD,eAAO,MAAM,eAAe,cAAe,MAAM,GAAG,SAAS,KAAG,WAkC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifyOs.d.ts","sourceRoot":"","sources":["../../src/classifyOs.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,QAAQ,qEAOX,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAmB/C,eAAO,MAAM,UAAU,cAAe,MAAM,GAAG,SAAS,KAAG,MAmB1D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const HEADER_OPERATORS: readonly ["equals", "contains", "notEquals", "notContains", "notEqualsAny", "notContainsAny"];
|
|
2
|
+
export type HeaderOperator = (typeof HEADER_OPERATORS)[number];
|
|
3
|
+
export declare const isHeaderOperator: (value: string | undefined) => value is HeaderOperator;
|
|
4
|
+
export declare const HEADER_RULE_MARKER = "1";
|
|
5
|
+
export declare const encodeHeaderValueList: (values: ReadonlyArray<string>) => string;
|
|
6
|
+
export declare const decodeHeaderValueList: (value: string) => string[] | undefined;
|
|
7
|
+
export declare const evaluateHeaderCondition: (headerName: string, operator: HeaderOperator, value: string, headers: Record<string, string>) => boolean;
|
|
8
|
+
export declare const accessRuleHeaderMatches: (rule: {
|
|
9
|
+
headerName?: string;
|
|
10
|
+
headerValue?: string;
|
|
11
|
+
headerOperator?: string;
|
|
12
|
+
}, headers: Record<string, string>) => boolean;
|
|
13
|
+
//# sourceMappingURL=headerMatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headerMatch.d.ts","sourceRoot":"","sources":["../../src/headerMatch.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,gBAAgB,+FAOnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,gBAAgB,UACrB,MAAM,GAAG,SAAS,KACvB,KAAK,IAAI,cAEgD,CAAC;AAgB7D,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAQtC,eAAO,MAAM,qBAAqB,WAAY,aAAa,CAAC,MAAM,CAAC,KAAG,MAC/C,CAAC;AAYxB,eAAO,MAAM,qBAAqB,UAAW,MAAM,KAAG,MAAM,EAAE,GAAG,SAmBhE,CAAC;AAYF,eAAO,MAAM,uBAAuB,eACvB,MAAM,YACR,cAAc,SACjB,MAAM,WACJ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,OA6BF,CAAC;AASF,eAAO,MAAM,uBAAuB,SAC7B;IACL,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,WACQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,OAaF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matchedRule.d.ts","sourceRoot":"","sources":["../../src/matchedRule.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAwElD,eAAO,MAAM,mBAAmB,SAAU,UAAU,KAAG,iBAWrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".export.d.ts","sourceRoot":"","sources":["../../../src/mongoose/.export.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongooseRuleSchema.d.ts","sourceRoot":"","sources":["../../../src/mongoose/mongooseRuleSchema.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,KAAK,EACX,gBAAgB,EAIhB,MAAM,uBAAuB,CAAC;AA+C/B,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,CAAC,gBAAgB,CAQtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":".export.d.ts","sourceRoot":"","sources":["../../../src/redis/.export.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Logger } from "@prosopo/logger";
|
|
2
|
+
import type { RedisClientType } from "redis";
|
|
3
|
+
export declare const searchRedisKeysBounded: (client: RedisClientType, query: string, maxKeys: number) => Promise<string[]>;
|
|
4
|
+
export declare const aggregateRedisKeys: (client: RedisClientType, query: string, logger: Logger, batchHandler?: (keys: string[]) => Promise<void>, maxKeys?: number) => Promise<string[]>;
|
|
5
|
+
//# sourceMappingURL=redisAggregate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisAggregate.d.ts","sourceRoot":"","sources":["../../../../src/redis/reader/redisAggregate.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAoB7C,eAAO,MAAM,sBAAsB,WAC1B,eAAe,SAChB,MAAM,WACJ,MAAM,KACb,OAAO,CAAC,MAAM,EAAE,CAWlB,CAAC;AAGF,eAAO,MAAM,kBAAkB,WACtB,eAAe,SAChB,MAAM,UACL,MAAM,iBACC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,YACtC,MAAM,KACd,OAAO,CAAC,MAAM,EAAE,CAkElB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type AccessRulesFilter } from "#policy/rulesStorage.js";
|
|
2
|
+
export declare const REDIS_QUERY_DIALECT = 2;
|
|
3
|
+
export declare const getBlockPoolClause: (includeDeferred: boolean) => string;
|
|
4
|
+
export declare const getRulesRedisQuery: (filter: AccessRulesFilter, matchingFieldsOnly: boolean) => string;
|
|
5
|
+
//# sourceMappingURL=redisRulesQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisRulesQuery.d.ts","sourceRoot":"","sources":["../../../../src/redis/reader/redisRulesQuery.ts"],"names":[],"mappings":"AAsBA,OAAO,EACN,KAAK,iBAAiB,EAEtB,MAAM,yBAAyB,CAAC;AAcjC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAmLrC,eAAO,MAAM,kBAAkB,oBAAqB,OAAO,KAAG,MAGA,CAAC;AAY/D,eAAO,MAAM,kBAAkB,WACtB,iBAAiB,sBACL,OAAO,KACzB,MAgCF,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Logger } from "@prosopo/logger";
|
|
2
|
+
import type { RedisClientType } from "redis";
|
|
3
|
+
import { type AccessRule } from "#policy/rule.js";
|
|
4
|
+
import type { AccessRuleEntry, AccessRulesFilter, AccessRulesReader } from "#policy/rulesStorage.js";
|
|
5
|
+
export declare const SERVER_SIDE_RANK_TOP_N = 20;
|
|
6
|
+
export declare class RedisRulesReader implements AccessRulesReader {
|
|
7
|
+
private readonly client;
|
|
8
|
+
private readonly logger;
|
|
9
|
+
constructor(client: RedisClientType, logger: Logger);
|
|
10
|
+
getMissingRuleIds(ruleIds: string[]): Promise<string[]>;
|
|
11
|
+
fetchRules(ruleIds: string[]): Promise<AccessRuleEntry[]>;
|
|
12
|
+
findRules(filter: AccessRulesFilter, matchingFieldsOnly?: boolean, skipEmptyUserScopes?: boolean): Promise<AccessRule[]>;
|
|
13
|
+
private findRulesSplit;
|
|
14
|
+
private findRulesRanked;
|
|
15
|
+
private findRulesGreedy;
|
|
16
|
+
findRuleIds(filter: AccessRulesFilter, matchingFieldsOnly?: boolean): Promise<string[]>;
|
|
17
|
+
fetchAllRuleIds(batchHandler: (ruleIds: string[]) => Promise<void>): Promise<void>;
|
|
18
|
+
protected fetchRuleEntries(keys: string[]): Promise<AccessRuleEntry[]>;
|
|
19
|
+
protected getRuleKeys(ruleIds: string[]): string[];
|
|
20
|
+
}
|
|
21
|
+
export declare class DummyRedisRulesReader implements AccessRulesReader {
|
|
22
|
+
private readonly logger;
|
|
23
|
+
constructor(logger: Logger);
|
|
24
|
+
getMissingRuleIds(ruleIds: string[]): Promise<string[]>;
|
|
25
|
+
fetchRules(ruleIds: string[]): Promise<AccessRuleEntry[]>;
|
|
26
|
+
findRules(filter: AccessRulesFilter, matchingFieldsOnly?: boolean, skipEmptyUserScopes?: boolean): Promise<AccessRule[]>;
|
|
27
|
+
findRuleIds(filter: AccessRulesFilter, matchingFieldsOnly?: boolean): Promise<string[]>;
|
|
28
|
+
fetchAllRuleIds(batchHandler: (ruleIds: string[]) => Promise<void>): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=redisRulesReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisRulesReader.d.ts","sourceRoot":"","sources":["../../../../src/redis/reader/redisRulesReader.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAgB7C,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,KAAK,EACX,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AAuBjC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AA4HzC,qBAAa,gBAAiB,YAAW,iBAAiB;IAExD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM;IAG1B,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAcvD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAazD,SAAS,CACd,MAAM,EAAE,iBAAiB,EACzB,kBAAkB,UAAQ,EAC1B,mBAAmB,UAAO,GACxB,OAAO,CAAC,UAAU,EAAE,CAAC;YAoDV,cAAc;YA4Hd,eAAe;YA0Hf,eAAe;IAuDvB,WAAW,CAChB,MAAM,EAAE,iBAAiB,EACzB,kBAAkB,UAAQ,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC;IAgDd,eAAe,CACpB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC;cAYA,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA8B5E,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAGlD;AAED,qBAAa,qBAAsB,YAAW,iBAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWvD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAWzD,SAAS,CACd,MAAM,EAAE,iBAAiB,EACzB,kBAAkB,UAAQ,EAC1B,mBAAmB,UAAO,GACxB,OAAO,CAAC,UAAU,EAAE,CAAC;IAWlB,WAAW,CAChB,MAAM,EAAE,iBAAiB,EACzB,kBAAkB,UAAQ,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC;IAWd,eAAe,CACpB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC;CAKhB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type UserScope } from "#policy/rule.js";
|
|
2
|
+
type SubQuery = {
|
|
3
|
+
kind: string;
|
|
4
|
+
query: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const buildScopedRulesSubQueries: (userScope: UserScope, clientId: string | undefined, options?: {
|
|
7
|
+
blockOnly?: boolean;
|
|
8
|
+
includeDeferred?: boolean;
|
|
9
|
+
}) => SubQuery[];
|
|
10
|
+
export declare const buildScopedBlockSubQueries: (userScope: UserScope, clientId: string | undefined) => SubQuery[];
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=redisRulesSplitQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisRulesSplitQuery.d.ts","sourceRoot":"","sources":["../../../../src/redis/reader/redisRulesSplitQuery.ts"],"names":[],"mappings":"AAeA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA0E/E,KAAK,QAAQ,GAAG;IAGf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAmCF,eAAO,MAAM,0BAA0B,cAC3B,SAAS,YACV,MAAM,GAAG,SAAS,YACnB;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KACzD,QAAQ,EAqCV,CAAC;AA+DF,eAAO,MAAM,0BAA0B,cAC3B,SAAS,YACV,MAAM,GAAG,SAAS,KAC1B,QAAQ,EAC0D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Logger } from "@prosopo/logger";
|
|
2
|
+
import type { RedisClientType } from "redis";
|
|
3
|
+
import { type ZodType, type ZodTypeDef } from "zod";
|
|
4
|
+
export declare const REDIS_BATCH_SIZE = 1000;
|
|
5
|
+
export declare const getMissingRedisKeys: (client: RedisClientType, keys: string[]) => Promise<string[]>;
|
|
6
|
+
export declare const fetchRedisHashRecords: (client: RedisClientType, keys: string[], logger: Logger) => Promise<{
|
|
7
|
+
records: object[];
|
|
8
|
+
expirations: (number | undefined)[];
|
|
9
|
+
}>;
|
|
10
|
+
export declare const parseRedisRecords: <T>(records: unknown[], recordSchema: ZodType<T, ZodTypeDef, unknown>, logger: Logger) => T[];
|
|
11
|
+
//# sourceMappingURL=redisClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisClient.d.ts","sourceRoot":"","sources":["../../../src/redis/redisClient.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAK,MAAM,KAAK,CAAC;AAEvD,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAEtC,eAAO,MAAM,mBAAmB,WACvB,eAAe,QACjB,MAAM,EAAE,KACZ,OAAO,CAAC,MAAM,EAAE,CAsBlB,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACzB,eAAe,QACjB,MAAM,EAAE,UACN,MAAM,KACZ,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAAE,CAgBpE,CAAC;AAOF,eAAO,MAAM,iBAAiB,GAAI,CAAC,WACzB,OAAO,EAAE,gBACJ,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UACrC,MAAM,KACZ,CAAC,EAcD,CAAC"}
|