@prosopo/user-access-policy 3.6.0 → 3.7.12
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 +21 -19
- package/.turbo/turbo-build$colon$tsc.log +16 -13
- package/.turbo/turbo-build.log +22 -20
- package/CHANGELOG.md +339 -0
- package/dist/api/delete/deleteAllRules.d.ts +2 -2
- package/dist/api/delete/deleteAllRules.d.ts.map +1 -1
- package/dist/api/delete/deleteAllRules.js +3 -2
- package/dist/api/delete/deleteAllRules.js.map +1 -1
- package/dist/api/delete/deleteRuleGroups.d.ts +2 -2
- package/dist/api/delete/deleteRuleGroups.d.ts.map +1 -1
- package/dist/api/delete/deleteRuleGroups.js +3 -2
- package/dist/api/delete/deleteRuleGroups.js.map +1 -1
- package/dist/api/delete/deleteRules.d.ts +2 -2
- package/dist/api/delete/deleteRules.d.ts.map +1 -1
- package/dist/api/delete/deleteRules.js +3 -2
- package/dist/api/delete/deleteRules.js.map +1 -1
- package/dist/api/read/fetchRules.d.ts +2 -2
- package/dist/api/read/fetchRules.d.ts.map +1 -1
- package/dist/api/read/fetchRules.js +4 -3
- package/dist/api/read/fetchRules.js.map +1 -1
- package/dist/api/read/findRuleIds.d.ts +2 -2
- package/dist/api/read/findRuleIds.d.ts.map +1 -1
- package/dist/api/read/findRuleIds.js +3 -2
- package/dist/api/read/findRuleIds.js.map +1 -1
- package/dist/api/read/getMissingIds.d.ts +2 -2
- package/dist/api/read/getMissingIds.d.ts.map +1 -1
- package/dist/api/read/getMissingIds.js +4 -3
- package/dist/api/read/getMissingIds.js.map +1 -1
- package/dist/api/ruleApiRoutes.d.ts +1 -1
- package/dist/api/ruleApiRoutes.d.ts.map +1 -1
- package/dist/api/ruleApiRoutes.js.map +1 -1
- package/dist/api/rulesApiClient.d.ts +9 -9
- package/dist/api/rulesApiClient.d.ts.map +1 -1
- package/dist/api/rulesApiClient.js +18 -19
- package/dist/api/rulesApiClient.js.map +1 -1
- package/dist/api/write/insertRules.d.ts +2 -2
- package/dist/api/write/insertRules.d.ts.map +1 -1
- package/dist/api/write/insertRules.js +7 -6
- package/dist/api/write/insertRules.js.map +1 -1
- package/dist/api/write/rehashRules.d.ts +2 -2
- package/dist/api/write/rehashRules.d.ts.map +1 -1
- package/dist/api/write/rehashRules.js +7 -6
- package/dist/api/write/rehashRules.js.map +1 -1
- package/dist/cjs/api/delete/deleteAllRules.cjs +3 -2
- package/dist/cjs/api/delete/deleteRuleGroups.cjs +3 -2
- package/dist/cjs/api/delete/deleteRules.cjs +3 -2
- package/dist/cjs/api/read/fetchRules.cjs +4 -3
- package/dist/cjs/api/read/findRuleIds.cjs +3 -2
- package/dist/cjs/api/read/getMissingIds.cjs +4 -3
- package/dist/cjs/api/rulesApiClient.cjs +18 -19
- package/dist/cjs/api/write/insertRules.cjs +9 -8
- package/dist/cjs/api/write/rehashRules.cjs +7 -6
- package/dist/cjs/mongoose/mongooseRuleSchema.cjs +2 -1
- package/dist/cjs/redis/reader/redisRulesQuery.cjs +6 -0
- package/dist/cjs/redis/reader/redisRulesReader.cjs +13 -4
- package/dist/cjs/redis/redisRuleIndex.cjs +2 -1
- package/dist/cjs/ruleInput/userScopeInput.cjs +2 -1
- package/dist/cjs/ruleRecord.cjs +2 -1
- package/dist/mongoose/mongooseRuleSchema.d.ts.map +1 -1
- package/dist/mongoose/mongooseRuleSchema.js +2 -1
- package/dist/mongoose/mongooseRuleSchema.js.map +1 -1
- package/dist/redis/reader/redisAggregate.d.ts +1 -1
- package/dist/redis/reader/redisRulesQuery.d.ts.map +1 -1
- package/dist/redis/reader/redisRulesQuery.js +6 -0
- package/dist/redis/reader/redisRulesQuery.js.map +1 -1
- package/dist/redis/reader/redisRulesReader.d.ts +1 -1
- package/dist/redis/reader/redisRulesReader.d.ts.map +1 -1
- package/dist/redis/reader/redisRulesReader.js +14 -5
- package/dist/redis/reader/redisRulesReader.js.map +1 -1
- package/dist/redis/redisClient.d.ts +1 -1
- package/dist/redis/redisRuleIndex.d.ts.map +1 -1
- package/dist/redis/redisRuleIndex.js +2 -1
- package/dist/redis/redisRuleIndex.js.map +1 -1
- package/dist/redis/redisRulesStorage.d.ts +1 -1
- package/dist/redis/redisRulesWriter.d.ts +1 -1
- package/dist/redis/redisRulesWriter.d.ts.map +1 -1
- package/dist/redis/redisRulesWriter.js.map +1 -1
- package/dist/rule.d.ts +1 -0
- package/dist/rule.d.ts.map +1 -1
- package/dist/ruleInput/ruleInput.d.ts +6 -0
- package/dist/ruleInput/ruleInput.d.ts.map +1 -1
- package/dist/ruleInput/userScopeInput.d.ts +8 -0
- package/dist/ruleInput/userScopeInput.d.ts.map +1 -1
- package/dist/ruleInput/userScopeInput.js +2 -1
- package/dist/ruleInput/userScopeInput.js.map +1 -1
- package/dist/ruleRecord.d.ts +2 -2
- package/dist/ruleRecord.d.ts.map +1 -1
- package/dist/ruleRecord.js +2 -1
- package/dist/ruleRecord.js.map +1 -1
- package/dist/tests/insertRulesEndpoint.unit.test.d.ts +2 -0
- package/dist/tests/insertRulesEndpoint.unit.test.d.ts.map +1 -0
- package/dist/tests/insertRulesEndpoint.unit.test.js +57 -0
- package/dist/tests/insertRulesEndpoint.unit.test.js.map +1 -0
- package/dist/tests/redis/reader/redisRulesQuery.unit.test.js +42 -3
- package/dist/tests/redis/reader/redisRulesQuery.unit.test.js.map +1 -1
- package/dist/tests/redis/redisRulesStorage.integration.test.js +126 -1
- package/dist/tests/redis/redisRulesStorage.integration.test.js.map +1 -1
- package/dist/tests/testLogger.d.ts +1 -1
- package/dist/tests/transformRule.unit.test.js +1 -0
- package/dist/tests/transformRule.unit.test.js.map +1 -1
- package/package.json +15 -10
- package/src/.export.ts +44 -0
- package/src/api/.export.ts +25 -0
- package/src/api/accessRulesApiClient.ts +13 -0
- package/src/api/delete/.export.ts +18 -0
- package/src/api/delete/deleteAllRules.ts +47 -0
- package/src/api/delete/deleteRuleGroups.ts +96 -0
- package/src/api/delete/deleteRules.ts +81 -0
- package/src/api/read/.export.ts +25 -0
- package/src/api/read/fetchRules.ts +88 -0
- package/src/api/read/findRuleIds.ts +95 -0
- package/src/api/read/getMissingIds.ts +81 -0
- package/src/api/ruleApiRoutes.ts +146 -0
- package/src/api/rulesApiClient.ts +154 -0
- package/src/api/write/.export.ts +15 -0
- package/src/api/write/insertRules.ts +183 -0
- package/src/api/write/rehashRules.ts +85 -0
- package/src/mongoose/.export.ts +15 -0
- package/src/mongoose/mongooseRuleSchema.ts +65 -0
- package/src/redis/.export.ts +17 -0
- package/src/redis/reader/redisAggregate.ts +103 -0
- package/src/redis/reader/redisRulesQuery.ts +217 -0
- package/src/redis/reader/redisRulesReader.ts +318 -0
- package/src/redis/redisClient.ts +120 -0
- package/src/redis/redisRuleIndex.ts +85 -0
- package/src/redis/redisRulesStorage.ts +68 -0
- package/src/redis/redisRulesWriter.ts +158 -0
- package/src/rule.ts +59 -0
- package/src/ruleInput/.export.ts +19 -0
- package/src/ruleInput/policyInput.ts +51 -0
- package/src/ruleInput/ruleInput.ts +103 -0
- package/src/ruleInput/userScopeInput.ts +108 -0
- package/src/ruleRecord.ts +69 -0
- package/src/rulesStorage.ts +72 -0
- package/src/tests/insertRulesEndpoint.unit.test.ts +89 -0
- package/src/tests/policyInput.unit.test.ts +150 -0
- package/src/tests/redis/reader/redisRulesQuery.unit.test.ts +284 -0
- package/src/tests/redis/redisRulesStorage.integration.test.ts +1156 -0
- package/src/tests/testLogger.ts +38 -0
- package/src/tests/transformRule.unit.test.ts +255 -0
- package/src/transformRule.ts +128 -0
- package/tsconfig.cjs.json +41 -0
- package/tsconfig.json +47 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/tsconfig.types.json +9 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import {
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
3
|
import { type ZodType } from "zod";
|
|
4
4
|
import { type AccessRulesFilterInput } from "#policy/ruleInput/ruleInput.js";
|
|
5
5
|
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
@@ -9,7 +9,7 @@ export declare class DeleteRulesEndpoint implements ApiEndpoint<DeleteRulesSchem
|
|
|
9
9
|
private readonly logger;
|
|
10
10
|
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
11
11
|
getRequestArgsSchema(): DeleteRulesSchema;
|
|
12
|
-
processRequest(args: AccessRulesFilterInput[]): Promise<ApiEndpointResponse>;
|
|
12
|
+
processRequest(args: AccessRulesFilterInput[], logger?: Logger): Promise<ApiEndpointResponse>;
|
|
13
13
|
}
|
|
14
14
|
export {};
|
|
15
15
|
//# sourceMappingURL=deleteRules.d.ts.map
|
|
@@ -1 +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;
|
|
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,EAAK,MAAM,KAAK,CAAC;AACtC,OAAO,EACN,KAAK,sBAAsB,EAG3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,KAAK,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAE3D,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"}
|
|
@@ -10,7 +10,8 @@ class DeleteRulesEndpoint {
|
|
|
10
10
|
getRequestArgsSchema() {
|
|
11
11
|
return z.array(accessRulesFilterInput);
|
|
12
12
|
}
|
|
13
|
-
async processRequest(args) {
|
|
13
|
+
async processRequest(args, logger) {
|
|
14
|
+
const log = logger ?? this.logger;
|
|
14
15
|
let deletedCount = 0;
|
|
15
16
|
for (const rulesFilterInput of args) {
|
|
16
17
|
const ruleFilters = getAccessRuleFiltersFromInput(rulesFilterInput);
|
|
@@ -20,7 +21,7 @@ class DeleteRulesEndpoint {
|
|
|
20
21
|
if (uniqueRuleIds.length > 0) {
|
|
21
22
|
await this.accessRulesStorage.deleteRules(uniqueRuleIds);
|
|
22
23
|
deletedCount += uniqueRuleIds.length;
|
|
23
|
-
|
|
24
|
+
log.info(() => ({
|
|
24
25
|
msg: "Endpoint deleted rules",
|
|
25
26
|
data: {
|
|
26
27
|
rulesFilterInput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteRules.js","sourceRoot":"","sources":["../../../src/api/delete/deleteRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"deleteRules.js","sourceRoot":"","sources":["../../../src/api/delete/deleteRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAEN,sBAAsB,EACtB,6BAA6B,GAC7B,MAAM,gCAAgC,CAAC;AAKxC,MAAM,OAAO,mBAAmB;IAC/B,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,oBAAoB;QAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,IAA8B,EAC9B,MAAe;QAEf,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAClC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,gBAAgB,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;YAEpE,MAAM,0BAA0B,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAGtE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE5C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAEzD,YAAY,IAAI,aAAa,CAAC,MAAM,CAAC;oBAErC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACf,GAAG,EAAE,wBAAwB;wBAC7B,IAAI,EAAE;4BACL,gBAAgB;4BAChB,aAAa;yBACb;qBACD,CAAC,CAAC,CAAC;gBACL,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE;gBACL,aAAa,EAAE,YAAY;aAC3B;SACD,CAAC;IACH,CAAC;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import type { Logger } from "@prosopo/
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
3
|
import { type ZodType, z } from "zod";
|
|
4
4
|
import type { AccessRuleEntry, AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
5
5
|
export type FetchRulesOptions = {
|
|
@@ -47,7 +47,7 @@ export declare class FetchRulesEndpoint implements ApiEndpoint<FetchRulesSchema>
|
|
|
47
47
|
private readonly logger;
|
|
48
48
|
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
49
49
|
getRequestArgsSchema(): FetchRulesSchema;
|
|
50
|
-
processRequest(args: FetchRulesOptions): Promise<FetchRulesEndpointResponse>;
|
|
50
|
+
processRequest(args: FetchRulesOptions, logger?: Logger): Promise<FetchRulesEndpointResponse>;
|
|
51
51
|
}
|
|
52
52
|
export {};
|
|
53
53
|
//# sourceMappingURL=fetchRules.d.ts.map
|
|
@@ -1 +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;
|
|
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;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,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"}
|
|
@@ -14,16 +14,17 @@ class FetchRulesEndpoint {
|
|
|
14
14
|
ids: z.string().array()
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
async processRequest(args) {
|
|
17
|
+
async processRequest(args, logger) {
|
|
18
|
+
const log = logger ?? this.logger;
|
|
18
19
|
const ruleEntries = await this.accessRulesStorage.fetchRules(args.ids);
|
|
19
|
-
|
|
20
|
+
log.info(() => ({
|
|
20
21
|
msg: "Endpoint fetched rules",
|
|
21
22
|
data: {
|
|
22
23
|
requestedCount: args.ids.length,
|
|
23
24
|
foundCount: ruleEntries.length
|
|
24
25
|
}
|
|
25
26
|
}));
|
|
26
|
-
|
|
27
|
+
log.debug(() => ({
|
|
27
28
|
msg: "Fetched rule details",
|
|
28
29
|
data: {
|
|
29
30
|
ruleEntries
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchRules.js","sourceRoot":"","sources":["../../../src/api/read/fetchRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchRules.js","sourceRoot":"","sources":["../../../src/api/read/fetchRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAgBhE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE;CACG,CAAuC,CAAC;AAM/E,MAAM,OAAO,kBAAkB;IAC9B,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,oBAAoB;QAC1B,OAAO,CAAC,CAAC,MAAM,CAAC;YACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;SACc,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,IAAuB,EACvB,MAAe;QAEf,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACf,GAAG,EAAE,wBAAwB;YAC7B,IAAI,EAAE;gBACL,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;gBAC/B,UAAU,EAAE,WAAW,CAAC,MAAM;aAC9B;SACD,CAAC,CAAC,CAAC;QAEJ,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChB,GAAG,EAAE,sBAAsB;YAC3B,IAAI,EAAE;gBACL,WAAW,EAAE,WAAW;aACxB;SACD,CAAC,CAAC,CAAC;QAEJ,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE;gBACL,WAAW,EAAE,WAAW;aACxB;SACD,CAAC;IACH,CAAC;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import {
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
3
|
import { type ZodType, z } from "zod";
|
|
4
4
|
import { type AccessRulesFilterInput } from "#policy/ruleInput/ruleInput.js";
|
|
5
5
|
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
@@ -22,7 +22,7 @@ export declare class FindRuleIdsEndpoint implements ApiEndpoint<FindRulesSchema>
|
|
|
22
22
|
private readonly logger;
|
|
23
23
|
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
24
24
|
getRequestArgsSchema(): FindRulesSchema;
|
|
25
|
-
processRequest(args: AccessRulesFilterInput[]): Promise<RuleIdsEndpointResponse>;
|
|
25
|
+
processRequest(args: AccessRulesFilterInput[], logger?: Logger): Promise<RuleIdsEndpointResponse>;
|
|
26
26
|
}
|
|
27
27
|
export {};
|
|
28
28
|
//# sourceMappingURL=findRuleIds.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAElE,KAAK,eAAe,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAEzD,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"}
|
|
@@ -13,7 +13,8 @@ class FindRuleIdsEndpoint {
|
|
|
13
13
|
getRequestArgsSchema() {
|
|
14
14
|
return z.array(accessRulesFilterInput);
|
|
15
15
|
}
|
|
16
|
-
async processRequest(args) {
|
|
16
|
+
async processRequest(args, logger) {
|
|
17
|
+
const log = logger ?? this.logger;
|
|
17
18
|
const ruleIdBatches = await executeBatchesSequentially(
|
|
18
19
|
args,
|
|
19
20
|
async (rulesFilterInput) => {
|
|
@@ -27,7 +28,7 @@ class FindRuleIdsEndpoint {
|
|
|
27
28
|
);
|
|
28
29
|
const ruleIds = ruleIdBatches.flat();
|
|
29
30
|
const uniqueRuleIds = [...new Set(ruleIds)];
|
|
30
|
-
|
|
31
|
+
log.info(() => ({
|
|
31
32
|
msg: "Endpoint found rules",
|
|
32
33
|
data: {
|
|
33
34
|
totalFoundCount: ruleIds.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findRuleIds.js","sourceRoot":"","sources":["../../../src/api/read/findRuleIds.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"findRuleIds.js","sourceRoot":"","sources":["../../../src/api/read/findRuleIds.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAgB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAEN,sBAAsB,EACtB,6BAA6B,GAC7B,MAAM,gCAAgC,CAAC;AASxC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;CACQ,CAAoC,CAAC;AAMzE,MAAM,OAAO,mBAAmB;IAC/B,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,oBAAoB;QAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,IAA8B,EAC9B,MAAe;QAEf,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,0BAA0B,CACrD,IAAI,EACJ,KAAK,EAAE,gBAAgB,EAAE,EAAE;YAC1B,MAAM,WAAW,GAAG,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;YAEpE,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAC/C,WAAW,EACX,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAC/D,CAAC;YAEF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CACD,CAAC;QAEF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAGrC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAE5C,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACf,GAAG,EAAE,sBAAsB;YAC3B,IAAI,EAAE;gBACL,eAAe,EAAE,OAAO,CAAC,MAAM;gBAC/B,gBAAgB,EAAE,aAAa,CAAC,MAAM;gBACtC,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,aAAa;aACvB;SACD,CAAC,CAAC,CAAC;QAEJ,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE;gBACL,OAAO,EAAE,aAAa;aACtB;SACD,CAAC;IACH,CAAC;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import type { Logger } from "@prosopo/
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
3
|
import { type ZodType, z } from "zod";
|
|
4
4
|
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
5
5
|
export type MissingIds = string[];
|
|
@@ -22,7 +22,7 @@ export declare class GetMissingIdsEndpoint implements ApiEndpoint<MissingIdsSche
|
|
|
22
22
|
private readonly logger;
|
|
23
23
|
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
24
24
|
getRequestArgsSchema(): MissingIdsSchema;
|
|
25
|
-
processRequest(args: MissingIds): Promise<MissingIdsEndpointResponse>;
|
|
25
|
+
processRequest(args: MissingIds, logger?: Logger): Promise<MissingIdsEndpointResponse>;
|
|
26
26
|
}
|
|
27
27
|
export {};
|
|
28
28
|
//# sourceMappingURL=getMissingIds.d.ts.map
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -11,16 +11,17 @@ class GetMissingIdsEndpoint {
|
|
|
11
11
|
getRequestArgsSchema() {
|
|
12
12
|
return z.string().array();
|
|
13
13
|
}
|
|
14
|
-
async processRequest(args) {
|
|
14
|
+
async processRequest(args, logger) {
|
|
15
|
+
const log = logger ?? this.logger;
|
|
15
16
|
const missingIds = await this.accessRulesStorage.getMissingRuleIds(args);
|
|
16
|
-
|
|
17
|
+
log.info(() => ({
|
|
17
18
|
msg: "Endpoint checked missing ids",
|
|
18
19
|
data: {
|
|
19
20
|
idsToCheck: args.length,
|
|
20
21
|
missingIds: missingIds.length
|
|
21
22
|
}
|
|
22
23
|
}));
|
|
23
|
-
|
|
24
|
+
log.debug(() => ({
|
|
24
25
|
msg: "Missing id details",
|
|
25
26
|
data: {
|
|
26
27
|
idsToCheck: args,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMissingIds.js","sourceRoot":"","sources":["../../../src/api/read/getMissingIds.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"getMissingIds.js","sourceRoot":"","sources":["../../../src/api/read/getMissingIds.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AAWtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;CACe,CAAuC,CAAC;AAM/E,MAAM,OAAO,qBAAqB;IACjC,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,oBAAoB;QAC1B,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,IAAgB,EAChB,MAAe;QAEf,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACf,GAAG,EAAE,8BAA8B;YACnC,IAAI,EAAE;gBACL,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,UAAU,CAAC,MAAM;aAC7B;SACD,CAAC,CAAC,CAAC;QAEJ,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChB,GAAG,EAAE,oBAAoB;YACzB,IAAI,EAAE;gBACL,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,UAAU;aACtB;SACD,CAAC,CAAC,CAAC;QAEJ,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE;gBACL,GAAG,EAAE,UAAU;aACf;SACD,CAAC;IACH,CAAC;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ApiRouteLimits, ApiRoutes, ApiRoutesProvider } from "@prosopo/api-route";
|
|
2
|
-
import type { Logger } from "@prosopo/
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
3
|
import { FetchRulesEndpoint } from "#policy/api/read/fetchRules.js";
|
|
4
4
|
import { FindRuleIdsEndpoint } from "#policy/api/read/findRuleIds.js";
|
|
5
5
|
import { GetMissingIdsEndpoint } from "#policy/api/read/getMissingIds.js";
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleApiRoutes.js","sourceRoot":"","sources":["../../src/api/ruleApiRoutes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ruleApiRoutes.js","sourceRoot":"","sources":["../../src/api/ruleApiRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,14 +7,14 @@ import type { AccessRulesFilterInput } from "#policy/ruleInput/ruleInput.js";
|
|
|
7
7
|
import type { DeleteSiteGroups } from "./delete/deleteRuleGroups.js";
|
|
8
8
|
import type { InsertRulesGroup } from "./write/insertRules.js";
|
|
9
9
|
export declare class AccessRulesApiClient extends ApiClient {
|
|
10
|
-
deleteMany(filters: AccessRulesFilterInput[],
|
|
11
|
-
deleteGroups(siteGroups: DeleteSiteGroups,
|
|
12
|
-
deleteAll(
|
|
13
|
-
getMissingIds(idsToCheck: MissingIds,
|
|
14
|
-
fetchMany(fetchOptions: FetchRulesOptions,
|
|
15
|
-
findIds(filters: AccessRulesFilterInput[],
|
|
16
|
-
rehashAll(
|
|
17
|
-
insertMany(ruleGroups: InsertRulesGroup[],
|
|
18
|
-
protected getAuthHeaders(
|
|
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
19
|
}
|
|
20
20
|
//# sourceMappingURL=rulesApiClient.d.ts.map
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -5,33 +5,33 @@ import { missingIdsResponse } from "./read/getMissingIds.js";
|
|
|
5
5
|
import { accessRuleApiPaths } from "./ruleApiRoutes.js";
|
|
6
6
|
class AccessRulesApiClient extends ApiClient {
|
|
7
7
|
//// delete
|
|
8
|
-
deleteMany(filters,
|
|
8
|
+
deleteMany(filters, jwt) {
|
|
9
9
|
return this.post(
|
|
10
10
|
accessRuleApiPaths.DELETE_MANY,
|
|
11
11
|
filters,
|
|
12
|
-
this.getAuthHeaders(
|
|
12
|
+
this.getAuthHeaders(jwt)
|
|
13
13
|
);
|
|
14
14
|
}
|
|
15
|
-
deleteGroups(siteGroups,
|
|
15
|
+
deleteGroups(siteGroups, jwt) {
|
|
16
16
|
return this.post(
|
|
17
17
|
accessRuleApiPaths.DELETE_GROUPS,
|
|
18
18
|
siteGroups,
|
|
19
|
-
this.getAuthHeaders(
|
|
19
|
+
this.getAuthHeaders(jwt)
|
|
20
20
|
);
|
|
21
21
|
}
|
|
22
|
-
deleteAll(
|
|
22
|
+
deleteAll(jwt) {
|
|
23
23
|
return this.post(
|
|
24
24
|
accessRuleApiPaths.DELETE_ALL,
|
|
25
25
|
{},
|
|
26
|
-
this.getAuthHeaders(
|
|
26
|
+
this.getAuthHeaders(jwt)
|
|
27
27
|
);
|
|
28
28
|
}
|
|
29
29
|
//// read
|
|
30
|
-
async getMissingIds(idsToCheck,
|
|
30
|
+
async getMissingIds(idsToCheck, jwt) {
|
|
31
31
|
const endpointResponse = await this.post(
|
|
32
32
|
accessRuleApiPaths.GET_MISSING_IDS,
|
|
33
33
|
idsToCheck,
|
|
34
|
-
this.getAuthHeaders(
|
|
34
|
+
this.getAuthHeaders(jwt)
|
|
35
35
|
);
|
|
36
36
|
const parsedData = missingIdsResponse.safeParse(endpointResponse.data);
|
|
37
37
|
return {
|
|
@@ -39,11 +39,11 @@ class AccessRulesApiClient extends ApiClient {
|
|
|
39
39
|
data: parsedData.success ? parsedData.data : void 0
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
-
async fetchMany(fetchOptions,
|
|
42
|
+
async fetchMany(fetchOptions, jwt) {
|
|
43
43
|
const endpointResponse = await this.post(
|
|
44
44
|
accessRuleApiPaths.FETCH_MANY,
|
|
45
45
|
fetchOptions,
|
|
46
|
-
this.getAuthHeaders(
|
|
46
|
+
this.getAuthHeaders(jwt)
|
|
47
47
|
);
|
|
48
48
|
const parsedData = fetchRulesResponse.safeParse(endpointResponse.data);
|
|
49
49
|
return {
|
|
@@ -51,11 +51,11 @@ class AccessRulesApiClient extends ApiClient {
|
|
|
51
51
|
data: parsedData.success ? parsedData.data : void 0
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
-
async findIds(filters,
|
|
54
|
+
async findIds(filters, jwt) {
|
|
55
55
|
const endpointResponse = await this.post(
|
|
56
56
|
accessRuleApiPaths.FIND_IDS,
|
|
57
57
|
filters,
|
|
58
|
-
this.getAuthHeaders(
|
|
58
|
+
this.getAuthHeaders(jwt)
|
|
59
59
|
);
|
|
60
60
|
const parsedData = ruleIdsResponse.safeParse(endpointResponse.data);
|
|
61
61
|
return {
|
|
@@ -64,26 +64,25 @@ class AccessRulesApiClient extends ApiClient {
|
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
//// write
|
|
67
|
-
async rehashAll(
|
|
67
|
+
async rehashAll(jwt) {
|
|
68
68
|
return this.post(
|
|
69
69
|
accessRuleApiPaths.REHASH_ALL,
|
|
70
70
|
{},
|
|
71
|
-
this.getAuthHeaders(
|
|
71
|
+
this.getAuthHeaders(jwt)
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
|
-
insertMany(ruleGroups,
|
|
74
|
+
insertMany(ruleGroups, jwt) {
|
|
75
75
|
return this.post(
|
|
76
76
|
accessRuleApiPaths.INSERT_MANY,
|
|
77
77
|
ruleGroups,
|
|
78
|
-
this.getAuthHeaders(
|
|
78
|
+
this.getAuthHeaders(jwt)
|
|
79
79
|
);
|
|
80
80
|
}
|
|
81
|
-
getAuthHeaders(
|
|
81
|
+
getAuthHeaders(jwt) {
|
|
82
82
|
return {
|
|
83
83
|
headers: {
|
|
84
84
|
"Prosopo-Site-Key": this.account,
|
|
85
|
-
|
|
86
|
-
signature
|
|
85
|
+
Authorization: `Bearer ${jwt}`
|
|
87
86
|
}
|
|
88
87
|
};
|
|
89
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rulesApiClient.js","sourceRoot":"","sources":["../../src/api/rulesApiClient.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAGN,kBAAkB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEN,eAAe,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGN,kBAAkB,GAClB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAG3C,UAAU,CAChB,OAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"rulesApiClient.js","sourceRoot":"","sources":["../../src/api/rulesApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import { type Logger } from "@prosopo/
|
|
2
|
+
import { type Logger } from "@prosopo/logger";
|
|
3
3
|
import { type ZodType } from "zod";
|
|
4
4
|
import type { AccessPolicy, PolicyScope, UserScope } from "#policy/rule.js";
|
|
5
5
|
import { type UserScopeInput } from "#policy/ruleInput/userScopeInput.js";
|
|
@@ -21,7 +21,7 @@ export declare class InsertRulesEndpoint implements ApiEndpoint<InsertRulesSchem
|
|
|
21
21
|
private readonly logger;
|
|
22
22
|
constructor(accessRulesWriter: AccessRulesWriter, logger: Logger);
|
|
23
23
|
getRequestArgsSchema(): InsertRulesSchema;
|
|
24
|
-
processRequest(args: ParsedInsertRuleGroups): Promise<ApiEndpointResponse>;
|
|
24
|
+
processRequest(args: ParsedInsertRuleGroups, logger?: Logger): Promise<ApiEndpointResponse>;
|
|
25
25
|
protected createRuleGroups(groups: ParsedInsertRuleGroups): Promise<string[]>;
|
|
26
26
|
protected createRulesGroup(group: ParsedInsertRulesGroup): Promise<string[]>;
|
|
27
27
|
}
|
|
@@ -1 +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;
|
|
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,EAAK,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,EACX,YAAY,EAEZ,WAAW,EACX,SAAS,EACT,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAEX,iBAAiB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG;IAC9B,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;AAEvD,KAAK,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAErD,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;IAY1C,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;CAiCpB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEndpointResponseStatus } from "@prosopo/api-route";
|
|
2
|
-
import { LogLevel } from "@prosopo/
|
|
2
|
+
import { LogLevel } from "@prosopo/logger";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { policyScopeInput, accessPolicyInput, sanitizeAccessPolicy } from "../../ruleInput/policyInput.js";
|
|
5
5
|
import { userScopeInput } from "../../ruleInput/userScopeInput.js";
|
|
@@ -19,7 +19,8 @@ class InsertRulesEndpoint {
|
|
|
19
19
|
})
|
|
20
20
|
);
|
|
21
21
|
}
|
|
22
|
-
async processRequest(args) {
|
|
22
|
+
async processRequest(args, logger) {
|
|
23
|
+
const log = logger ?? this.logger;
|
|
23
24
|
const timeoutPromise = new Promise((resolve) => {
|
|
24
25
|
setTimeout(() => {
|
|
25
26
|
resolve({
|
|
@@ -32,7 +33,7 @@ class InsertRulesEndpoint {
|
|
|
32
33
|
0
|
|
33
34
|
);
|
|
34
35
|
const createRulesPromise = this.createRuleGroups(args).then((insertedIds) => {
|
|
35
|
-
|
|
36
|
+
log.info(() => ({
|
|
36
37
|
msg: "Endpoint inserted access rules",
|
|
37
38
|
data: {
|
|
38
39
|
userScopesCount,
|
|
@@ -40,7 +41,7 @@ class InsertRulesEndpoint {
|
|
|
40
41
|
uniqueIdsCount: new Set(insertedIds).size
|
|
41
42
|
}
|
|
42
43
|
}));
|
|
43
|
-
|
|
44
|
+
log.debug(() => ({
|
|
44
45
|
msg: "Inserted access rules details",
|
|
45
46
|
data: {
|
|
46
47
|
insertedIds,
|
|
@@ -51,8 +52,8 @@ class InsertRulesEndpoint {
|
|
|
51
52
|
status: ApiEndpointResponseStatus.SUCCESS
|
|
52
53
|
};
|
|
53
54
|
}).catch((error) => {
|
|
54
|
-
if (LogLevel.enum.debug ===
|
|
55
|
-
|
|
55
|
+
if (LogLevel.enum.debug === log.getLogLevel()) {
|
|
56
|
+
log.error(() => ({
|
|
56
57
|
err: error,
|
|
57
58
|
data: { args },
|
|
58
59
|
msg: "Failed to insert access rules"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insertRules.js","sourceRoot":"","sources":["../../../src/api/write/insertRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"insertRules.js","sourceRoot":"","sources":["../../../src/api/write/insertRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
|
|
2
|
-
import type { Logger } from "@prosopo/
|
|
2
|
+
import type { Logger } from "@prosopo/logger";
|
|
3
3
|
import type { AccessRulesStorage } from "#policy/rulesStorage.js";
|
|
4
4
|
export declare class RehashRulesEndpoint implements ApiEndpoint<undefined> {
|
|
5
5
|
private readonly accessRulesStorage;
|
|
6
6
|
private readonly logger;
|
|
7
7
|
constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
|
|
8
8
|
getRequestArgsSchema(): undefined;
|
|
9
|
-
processRequest(): Promise<ApiEndpointResponse>;
|
|
9
|
+
processRequest(logger?: Logger): Promise<ApiEndpointResponse>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=rehashRules.d.ts.map
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -6,9 +6,10 @@ class RehashRulesEndpoint {
|
|
|
6
6
|
}
|
|
7
7
|
getRequestArgsSchema() {
|
|
8
8
|
}
|
|
9
|
-
async processRequest() {
|
|
9
|
+
async processRequest(logger) {
|
|
10
|
+
const log = logger ?? this.logger;
|
|
10
11
|
await this.accessRulesStorage.fetchAllRuleIds(async (ruleIds) => {
|
|
11
|
-
|
|
12
|
+
log.info(() => ({
|
|
12
13
|
msg: "Fetched rule ids batch",
|
|
13
14
|
data: {
|
|
14
15
|
count: ruleIds.length,
|
|
@@ -16,14 +17,14 @@ class RehashRulesEndpoint {
|
|
|
16
17
|
}
|
|
17
18
|
}));
|
|
18
19
|
const ruleEntries = await this.accessRulesStorage.fetchRules(ruleIds);
|
|
19
|
-
|
|
20
|
+
log.info(() => ({
|
|
20
21
|
msg: "Fetched rules",
|
|
21
22
|
data: {
|
|
22
23
|
count: ruleEntries.length
|
|
23
24
|
}
|
|
24
25
|
}));
|
|
25
26
|
if (ruleEntries.length !== ruleIds.length) {
|
|
26
|
-
|
|
27
|
+
log.warn(() => ({
|
|
27
28
|
msg: "Fetched rules count is not equal to the requested count",
|
|
28
29
|
data: {
|
|
29
30
|
fetchedCount: ruleEntries.length,
|
|
@@ -32,14 +33,14 @@ class RehashRulesEndpoint {
|
|
|
32
33
|
}));
|
|
33
34
|
}
|
|
34
35
|
await this.accessRulesStorage.deleteRules(ruleIds);
|
|
35
|
-
|
|
36
|
+
log.info(() => ({
|
|
36
37
|
msg: "Deleted rules",
|
|
37
38
|
data: {
|
|
38
39
|
count: ruleIds.length
|
|
39
40
|
}
|
|
40
41
|
}));
|
|
41
42
|
await this.accessRulesStorage.insertRules(ruleEntries);
|
|
42
|
-
|
|
43
|
+
log.info(() => ({
|
|
43
44
|
msg: "Inserted rules",
|
|
44
45
|
data: {
|
|
45
46
|
count: ruleEntries.length
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehashRules.js","sourceRoot":"","sources":["../../../src/api/write/rehashRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,OAAO,mBAAmB;IAC/B,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,oBAAoB,KAAe,CAAC;IAE3C,KAAK,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"rehashRules.js","sourceRoot":"","sources":["../../../src/api/write/rehashRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,OAAO,mBAAmB;IAC/B,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,oBAAoB,KAAe,CAAC;IAE3C,KAAK,CAAC,cAAc,CAAC,MAAe;QACnC,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,EAAE,OAAiB,EAAE,EAAE;YACzE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACf,GAAG,EAAE,wBAAwB;gBAC7B,IAAI,EAAE;oBACL,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,OAAO;iBACP;aACD,CAAC,CAAC,CAAC;YAEJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEtE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACf,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE;oBACL,KAAK,EAAE,WAAW,CAAC,MAAM;iBACzB;aACD,CAAC,CAAC,CAAC;YAEJ,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACf,GAAG,EAAE,yDAAyD;oBAC9D,IAAI,EAAE;wBACL,YAAY,EAAE,WAAW,CAAC,MAAM;wBAChC,cAAc,EAAE,OAAO,CAAC,MAAM;qBAC9B;iBACD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEnD,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACf,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE;oBACL,KAAK,EAAE,OAAO,CAAC,MAAM;iBACrB;aACD,CAAC,CAAC,CAAC;YAEJ,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAEvD,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACf,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE;oBACL,KAAK,EAAE,WAAW,CAAC,MAAM;iBACzB;aACD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE,EAAE;SACR,CAAC;IACH,CAAC;CACD"}
|
|
@@ -8,9 +8,10 @@ class DeleteAllRulesEndpoint {
|
|
|
8
8
|
}
|
|
9
9
|
getRequestArgsSchema() {
|
|
10
10
|
}
|
|
11
|
-
async processRequest() {
|
|
11
|
+
async processRequest(logger) {
|
|
12
|
+
const log = logger ?? this.logger;
|
|
12
13
|
const deletedCount = await this.accessRulesStorage.deleteAllRules();
|
|
13
|
-
|
|
14
|
+
log.info(() => ({
|
|
14
15
|
msg: "Endpoint deleted all access rules",
|
|
15
16
|
data: { deletedCount }
|
|
16
17
|
}));
|
|
@@ -16,7 +16,8 @@ class DeleteRuleGroupsEndpoint {
|
|
|
16
16
|
})
|
|
17
17
|
);
|
|
18
18
|
}
|
|
19
|
-
async processRequest(args) {
|
|
19
|
+
async processRequest(args, logger) {
|
|
20
|
+
const log = logger ?? this.logger;
|
|
20
21
|
const foundRuleIdPromises = args.flatMap(
|
|
21
22
|
(ruleToDelete) => ruleToDelete.clientIds.map(
|
|
22
23
|
(clientId) => this.accessRulesStorage.findRuleIds({
|
|
@@ -34,7 +35,7 @@ class DeleteRuleGroupsEndpoint {
|
|
|
34
35
|
if (uniqueRuleIds.length > 0) {
|
|
35
36
|
await this.accessRulesStorage.deleteRules(uniqueRuleIds);
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
log.info(() => ({
|
|
38
39
|
msg: "Endpoint deleted rule groups",
|
|
39
40
|
data: {
|
|
40
41
|
args,
|