@prosopo/user-access-policy 3.5.32 → 3.7.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +23 -21
  2. package/.turbo/turbo-build$colon$tsc.log +41 -0
  3. package/.turbo/turbo-build.log +28 -22
  4. package/CHANGELOG.md +393 -0
  5. package/dist/.export.d.ts +6 -0
  6. package/dist/.export.d.ts.map +1 -0
  7. package/dist/.export.js.map +1 -0
  8. package/dist/api/.export.d.ts +7 -0
  9. package/dist/api/.export.d.ts.map +1 -0
  10. package/dist/api/.export.js.map +1 -0
  11. package/dist/api/accessRulesApiClient.d.ts +2 -0
  12. package/dist/api/accessRulesApiClient.d.ts.map +1 -0
  13. package/dist/api/accessRulesApiClient.js +2 -0
  14. package/dist/api/accessRulesApiClient.js.map +1 -0
  15. package/dist/api/delete/.export.d.ts +2 -0
  16. package/dist/api/delete/.export.d.ts.map +1 -0
  17. package/dist/api/delete/.export.js.map +1 -0
  18. package/dist/api/delete/deleteAllRules.d.ts +11 -0
  19. package/dist/api/delete/deleteAllRules.d.ts.map +1 -0
  20. package/dist/api/delete/deleteAllRules.js +3 -2
  21. package/dist/api/delete/deleteAllRules.js.map +1 -0
  22. package/dist/api/delete/deleteRuleGroups.d.ts +19 -0
  23. package/dist/api/delete/deleteRuleGroups.d.ts.map +1 -0
  24. package/dist/api/delete/deleteRuleGroups.js +3 -2
  25. package/dist/api/delete/deleteRuleGroups.js.map +1 -0
  26. package/dist/api/delete/deleteRules.d.ts +15 -0
  27. package/dist/api/delete/deleteRules.d.ts.map +1 -0
  28. package/dist/api/delete/deleteRules.js +3 -2
  29. package/dist/api/delete/deleteRules.js.map +1 -0
  30. package/dist/api/read/.export.d.ts +4 -0
  31. package/dist/api/read/.export.d.ts.map +1 -0
  32. package/dist/api/read/.export.js.map +1 -0
  33. package/dist/api/read/fetchRules.d.ts +53 -0
  34. package/dist/api/read/fetchRules.d.ts.map +1 -0
  35. package/dist/api/read/fetchRules.js +4 -3
  36. package/dist/api/read/fetchRules.js.map +1 -0
  37. package/dist/api/read/findRuleIds.d.ts +28 -0
  38. package/dist/api/read/findRuleIds.d.ts.map +1 -0
  39. package/dist/api/read/findRuleIds.js +3 -2
  40. package/dist/api/read/findRuleIds.js.map +1 -0
  41. package/dist/api/read/getMissingIds.d.ts +28 -0
  42. package/dist/api/read/getMissingIds.d.ts.map +1 -0
  43. package/dist/api/read/getMissingIds.js +4 -3
  44. package/dist/api/read/getMissingIds.js.map +1 -0
  45. package/dist/api/ruleApiRoutes.d.ts +43 -0
  46. package/dist/api/ruleApiRoutes.d.ts.map +1 -0
  47. package/dist/api/ruleApiRoutes.js.map +1 -0
  48. package/dist/api/rulesApiClient.d.ts +20 -0
  49. package/dist/api/rulesApiClient.d.ts.map +1 -0
  50. package/dist/api/rulesApiClient.js +18 -19
  51. package/dist/api/rulesApiClient.js.map +1 -0
  52. package/dist/api/write/.export.d.ts +2 -0
  53. package/dist/api/write/.export.d.ts.map +1 -0
  54. package/dist/api/write/.export.js.map +1 -0
  55. package/dist/api/write/insertRules.d.ts +29 -0
  56. package/dist/api/write/insertRules.d.ts.map +1 -0
  57. package/dist/api/write/insertRules.js +12 -9
  58. package/dist/api/write/insertRules.js.map +1 -0
  59. package/dist/api/write/rehashRules.d.ts +11 -0
  60. package/dist/api/write/rehashRules.d.ts.map +1 -0
  61. package/dist/api/write/rehashRules.js +7 -6
  62. package/dist/api/write/rehashRules.js.map +1 -0
  63. package/dist/cjs/api/delete/deleteAllRules.cjs +3 -2
  64. package/dist/cjs/api/delete/deleteRuleGroups.cjs +3 -2
  65. package/dist/cjs/api/delete/deleteRules.cjs +3 -2
  66. package/dist/cjs/api/read/fetchRules.cjs +4 -3
  67. package/dist/cjs/api/read/findRuleIds.cjs +3 -2
  68. package/dist/cjs/api/read/getMissingIds.cjs +4 -3
  69. package/dist/cjs/api/rulesApiClient.cjs +18 -19
  70. package/dist/cjs/api/write/insertRules.cjs +13 -10
  71. package/dist/cjs/api/write/rehashRules.cjs +7 -6
  72. package/dist/cjs/mongoose/mongooseRuleSchema.cjs +4 -1
  73. package/dist/cjs/redis/reader/redisRulesQuery.cjs +18 -1
  74. package/dist/cjs/redis/reader/redisRulesReader.cjs +13 -4
  75. package/dist/cjs/redis/redisRuleIndex.cjs +5 -1
  76. package/dist/cjs/redis/redisRulesWriter.cjs +6 -0
  77. package/dist/cjs/ruleInput/policyInput.cjs +8 -0
  78. package/dist/cjs/ruleInput/userScopeInput.cjs +4 -1
  79. package/dist/cjs/ruleRecord.cjs +4 -1
  80. package/dist/mongoose/.export.d.ts +2 -0
  81. package/dist/mongoose/.export.d.ts.map +1 -0
  82. package/dist/mongoose/.export.js.map +1 -0
  83. package/dist/mongoose/mongooseRuleSchema.d.ts +4 -0
  84. package/dist/mongoose/mongooseRuleSchema.d.ts.map +1 -0
  85. package/dist/mongoose/mongooseRuleSchema.js +4 -1
  86. package/dist/mongoose/mongooseRuleSchema.js.map +1 -0
  87. package/dist/redis/.export.d.ts +3 -0
  88. package/dist/redis/.export.d.ts.map +1 -0
  89. package/dist/redis/.export.js.map +1 -0
  90. package/dist/redis/reader/redisAggregate.d.ts +4 -0
  91. package/dist/redis/reader/redisAggregate.d.ts.map +1 -0
  92. package/dist/redis/reader/redisAggregate.js.map +1 -0
  93. package/dist/redis/reader/redisRulesQuery.d.ts +4 -0
  94. package/dist/redis/reader/redisRulesQuery.d.ts.map +1 -0
  95. package/dist/redis/reader/redisRulesQuery.js +18 -1
  96. package/dist/redis/reader/redisRulesQuery.js.map +1 -0
  97. package/dist/redis/reader/redisRulesReader.d.ts +26 -0
  98. package/dist/redis/reader/redisRulesReader.d.ts.map +1 -0
  99. package/dist/redis/reader/redisRulesReader.js +14 -5
  100. package/dist/redis/reader/redisRulesReader.js.map +1 -0
  101. package/dist/redis/redisClient.d.ts +11 -0
  102. package/dist/redis/redisClient.d.ts.map +1 -0
  103. package/dist/redis/redisClient.js.map +1 -0
  104. package/dist/redis/redisRuleIndex.d.ts +13 -0
  105. package/dist/redis/redisRuleIndex.d.ts.map +1 -0
  106. package/dist/redis/redisRuleIndex.js +5 -1
  107. package/dist/redis/redisRuleIndex.js.map +1 -0
  108. package/dist/redis/redisRulesStorage.d.ts +5 -0
  109. package/dist/redis/redisRulesStorage.d.ts.map +1 -0
  110. package/dist/redis/redisRulesStorage.js.map +1 -0
  111. package/dist/redis/redisRulesWriter.d.ts +22 -0
  112. package/dist/redis/redisRulesWriter.d.ts.map +1 -0
  113. package/dist/redis/redisRulesWriter.js +6 -0
  114. package/dist/redis/redisRulesWriter.js.map +1 -0
  115. package/dist/rule.d.ts +37 -0
  116. package/dist/rule.d.ts.map +1 -0
  117. package/dist/rule.js.map +1 -0
  118. package/dist/ruleInput/.export.d.ts +4 -0
  119. package/dist/ruleInput/.export.d.ts.map +1 -0
  120. package/dist/ruleInput/.export.js.map +1 -0
  121. package/dist/ruleInput/policyInput.d.ts +39 -0
  122. package/dist/ruleInput/policyInput.d.ts.map +1 -0
  123. package/dist/ruleInput/policyInput.js +9 -1
  124. package/dist/ruleInput/policyInput.js.map +1 -0
  125. package/dist/ruleInput/ruleInput.d.ts +163 -0
  126. package/dist/ruleInput/ruleInput.d.ts.map +1 -0
  127. package/dist/ruleInput/ruleInput.js.map +1 -0
  128. package/dist/ruleInput/userScopeInput.d.ts +117 -0
  129. package/dist/ruleInput/userScopeInput.d.ts.map +1 -0
  130. package/dist/ruleInput/userScopeInput.js +4 -1
  131. package/dist/ruleInput/userScopeInput.js.map +1 -0
  132. package/dist/ruleRecord.d.ts +18 -0
  133. package/dist/ruleRecord.d.ts.map +1 -0
  134. package/dist/ruleRecord.js +4 -1
  135. package/dist/ruleRecord.js.map +1 -0
  136. package/dist/rulesStorage.d.ts +30 -0
  137. package/dist/rulesStorage.d.ts.map +1 -0
  138. package/dist/rulesStorage.js.map +1 -0
  139. package/dist/tests/insertRulesEndpoint.unit.test.d.ts +2 -0
  140. package/dist/tests/insertRulesEndpoint.unit.test.d.ts.map +1 -0
  141. package/dist/tests/insertRulesEndpoint.unit.test.js +57 -0
  142. package/dist/tests/insertRulesEndpoint.unit.test.js.map +1 -0
  143. package/dist/tests/policyInput.unit.test.d.ts +2 -0
  144. package/dist/tests/policyInput.unit.test.d.ts.map +1 -0
  145. package/dist/tests/policyInput.unit.test.js +116 -0
  146. package/dist/tests/policyInput.unit.test.js.map +1 -0
  147. package/dist/tests/redis/reader/redisRulesQuery.unit.test.d.ts +2 -0
  148. package/dist/tests/redis/reader/redisRulesQuery.unit.test.d.ts.map +1 -0
  149. package/dist/tests/redis/reader/redisRulesQuery.unit.test.js +199 -0
  150. package/dist/tests/redis/reader/redisRulesQuery.unit.test.js.map +1 -0
  151. package/dist/tests/redis/redisRulesStorage.integration.test.d.ts +2 -0
  152. package/dist/tests/redis/redisRulesStorage.integration.test.d.ts.map +1 -0
  153. package/dist/tests/redis/redisRulesStorage.integration.test.js +831 -0
  154. package/dist/tests/redis/redisRulesStorage.integration.test.js.map +1 -0
  155. package/dist/tests/testLogger.d.ts +4 -0
  156. package/dist/tests/testLogger.d.ts.map +1 -0
  157. package/dist/tests/testLogger.js +22 -0
  158. package/dist/tests/testLogger.js.map +1 -0
  159. package/dist/tests/transformRule.unit.test.d.ts +2 -0
  160. package/dist/tests/transformRule.unit.test.d.ts.map +1 -0
  161. package/dist/tests/transformRule.unit.test.js +191 -0
  162. package/dist/tests/transformRule.unit.test.js.map +1 -0
  163. package/dist/transformRule.d.ts +7 -0
  164. package/dist/transformRule.d.ts.map +1 -0
  165. package/dist/transformRule.js.map +1 -0
  166. package/entries.ts +1 -1
  167. package/package.json +18 -12
  168. package/src/.export.ts +44 -0
  169. package/src/api/.export.ts +25 -0
  170. package/src/api/accessRulesApiClient.ts +13 -0
  171. package/src/api/delete/.export.ts +18 -0
  172. package/src/api/delete/deleteAllRules.ts +47 -0
  173. package/src/api/delete/deleteRuleGroups.ts +96 -0
  174. package/src/api/delete/deleteRules.ts +81 -0
  175. package/src/api/read/.export.ts +25 -0
  176. package/src/api/read/fetchRules.ts +88 -0
  177. package/src/api/read/findRuleIds.ts +95 -0
  178. package/src/api/read/getMissingIds.ts +81 -0
  179. package/src/api/ruleApiRoutes.ts +146 -0
  180. package/src/api/rulesApiClient.ts +154 -0
  181. package/src/api/write/.export.ts +15 -0
  182. package/src/api/write/insertRules.ts +183 -0
  183. package/src/api/write/rehashRules.ts +85 -0
  184. package/src/mongoose/.export.ts +15 -0
  185. package/src/mongoose/mongooseRuleSchema.ts +65 -0
  186. package/src/redis/.export.ts +17 -0
  187. package/src/redis/reader/redisAggregate.ts +103 -0
  188. package/src/redis/reader/redisRulesQuery.ts +217 -0
  189. package/src/redis/reader/redisRulesReader.ts +318 -0
  190. package/src/redis/redisClient.ts +120 -0
  191. package/src/redis/redisRuleIndex.ts +85 -0
  192. package/src/redis/redisRulesStorage.ts +68 -0
  193. package/src/redis/redisRulesWriter.ts +158 -0
  194. package/src/rule.ts +59 -0
  195. package/src/ruleInput/.export.ts +19 -0
  196. package/src/ruleInput/policyInput.ts +51 -0
  197. package/src/ruleInput/ruleInput.ts +103 -0
  198. package/src/ruleInput/userScopeInput.ts +108 -0
  199. package/src/ruleRecord.ts +69 -0
  200. package/src/rulesStorage.ts +72 -0
  201. package/src/tests/insertRulesEndpoint.unit.test.ts +89 -0
  202. package/src/tests/policyInput.unit.test.ts +150 -0
  203. package/src/tests/redis/reader/redisRulesQuery.unit.test.ts +284 -0
  204. package/src/tests/redis/redisRulesStorage.integration.test.ts +1156 -0
  205. package/src/tests/testLogger.ts +38 -0
  206. package/src/tests/transformRule.unit.test.ts +255 -0
  207. package/src/transformRule.ts +128 -0
  208. package/tsconfig.cjs.json +41 -0
  209. package/tsconfig.json +47 -0
  210. package/tsconfig.tsbuildinfo +1 -0
  211. package/tsconfig.types.json +9 -0
  212. package/vite.cjs.config.ts +1 -1
  213. package/vite.esm.config.ts +1 -1
  214. package/vite.test.config.ts +1 -1
@@ -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"}
@@ -6,9 +6,10 @@ class DeleteAllRulesEndpoint {
6
6
  }
7
7
  getRequestArgsSchema() {
8
8
  }
9
- async processRequest() {
9
+ async processRequest(logger) {
10
+ const log = logger ?? this.logger;
10
11
  const deletedCount = await this.accessRulesStorage.deleteAllRules();
11
- this.logger.info(() => ({
12
+ log.info(() => ({
12
13
  msg: "Endpoint deleted all access rules",
13
14
  data: { deletedCount }
14
15
  }));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteAllRules.js","sourceRoot":"","sources":["../../../src/api/delete/deleteAllRules.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,OAAO,sBAAsB;IAClC,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,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC;QAEpE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACf,GAAG,EAAE,mCAAmC;YACxC,IAAI,EAAE,EAAE,YAAY,EAAE;SACtB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE;gBACL,aAAa,EAAE,YAAY;aAC3B;SACD,CAAC;IACH,CAAC;CACD"}
@@ -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"}
@@ -14,7 +14,8 @@ class DeleteRuleGroupsEndpoint {
14
14
  })
15
15
  );
16
16
  }
17
- async processRequest(args) {
17
+ async processRequest(args, logger) {
18
+ const log = logger ?? this.logger;
18
19
  const foundRuleIdPromises = args.flatMap(
19
20
  (ruleToDelete) => ruleToDelete.clientIds.map(
20
21
  (clientId) => this.accessRulesStorage.findRuleIds({
@@ -32,7 +33,7 @@ class DeleteRuleGroupsEndpoint {
32
33
  if (uniqueRuleIds.length > 0) {
33
34
  await this.accessRulesStorage.deleteRules(uniqueRuleIds);
34
35
  }
35
- this.logger.info(() => ({
36
+ log.info(() => ({
36
37
  msg: "Endpoint deleted rule groups",
37
38
  data: {
38
39
  args,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteRuleGroups.js","sourceRoot":"","sources":["../../../src/api/delete/deleteRuleGroups.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAEN,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AAWjC,MAAM,OAAO,wBAAwB;IAGpC,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,oBAAoB;QAC1B,OAAO,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACR,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;YAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACgB,CAAC,CACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,IAAsB,EACtB,MAAe;QAEf,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAClC,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CACzD,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACnC,WAAW,EAAE;gBACZ,QAAQ,EAAE,QAAQ;aAClB;YACD,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;YACxC,OAAO,EAAE,YAAY,CAAC,OAAO;SAC7B,CAAC,CACF,CACD,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QAGpC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAE5C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACf,GAAG,EAAE,8BAA8B;YACnC,IAAI,EAAE;gBACL,IAAI;gBACJ,aAAa;aACb;SACD,CAAC,CAAC,CAAC;QAEJ,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;YACzC,IAAI,EAAE;gBACL,aAAa,EAAE,aAAa,CAAC,MAAM;aACnC;SACD,CAAC;IACH,CAAC;CACD"}
@@ -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 } from "zod";
4
+ import { type AccessRulesFilterInput } from "#policy/ruleInput/ruleInput.js";
5
+ import type { AccessRulesStorage } from "#policy/rulesStorage.js";
6
+ type DeleteRulesSchema = ZodType<AccessRulesFilterInput[]>;
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,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
- this.logger.info(() => ({
24
+ log.info(() => ({
24
25
  msg: "Endpoint deleted rules",
25
26
  data: {
26
27
  rulesFilterInput,
@@ -0,0 +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,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"}
@@ -0,0 +1,4 @@
1
+ export type { RuleIdsResponse, RuleIdsEndpointResponse, } from "./findRuleIds.js";
2
+ export type { FetchRulesOptions, FetchRulesResponse, } from "./fetchRules.js";
3
+ export type { MissingIds } from "./getMissingIds.js";
4
+ //# sourceMappingURL=.export.d.ts.map
@@ -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 @@
1
+ {"version":3,"file":".export.js","sourceRoot":"","sources":["../../../src/api/read/.export.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
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: z.ZodObject<{
13
+ ruleEntries: z.ZodArray<z.ZodObject<{
14
+ rule: ZodType<import("../../rule.js").AccessRule, z.ZodTypeDef, import("../../rule.js").AccessRule>;
15
+ expiresUnixTimestamp: z.ZodOptional<z.ZodNumber>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ rule: import("../../rule.js").AccessPolicy & import("../../rule.js").PolicyScope & import("../../rule.js").UserAttributes & import("../../rule.js").UserIp & {
18
+ groupId?: string;
19
+ };
20
+ expiresUnixTimestamp?: number | undefined;
21
+ }, {
22
+ rule: import("../../rule.js").AccessPolicy & import("../../rule.js").PolicyScope & import("../../rule.js").UserAttributes & import("../../rule.js").UserIp & {
23
+ groupId?: string;
24
+ };
25
+ expiresUnixTimestamp?: number | undefined;
26
+ }>, "many">;
27
+ }, "strip", z.ZodTypeAny, {
28
+ ruleEntries: {
29
+ rule: import("../../rule.js").AccessPolicy & import("../../rule.js").PolicyScope & import("../../rule.js").UserAttributes & import("../../rule.js").UserIp & {
30
+ groupId?: string;
31
+ };
32
+ expiresUnixTimestamp?: number | undefined;
33
+ }[];
34
+ }, {
35
+ ruleEntries: {
36
+ rule: import("../../rule.js").AccessPolicy & import("../../rule.js").PolicyScope & import("../../rule.js").UserAttributes & import("../../rule.js").UserIp & {
37
+ groupId?: string;
38
+ };
39
+ expiresUnixTimestamp?: number | undefined;
40
+ }[];
41
+ }>;
42
+ export type FetchRulesEndpointResponse = ApiEndpointResponse & {
43
+ data?: FetchRulesResponse;
44
+ };
45
+ export declare class FetchRulesEndpoint implements ApiEndpoint<FetchRulesSchema> {
46
+ private readonly accessRulesStorage;
47
+ private readonly logger;
48
+ constructor(accessRulesStorage: AccessRulesStorage, logger: Logger);
49
+ getRequestArgsSchema(): FetchRulesSchema;
50
+ processRequest(args: FetchRulesOptions, logger?: Logger): Promise<FetchRulesEndpointResponse>;
51
+ }
52
+ export {};
53
+ //# 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;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
- this.logger.info(() => ({
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
- this.logger.debug(() => ({
27
+ log.debug(() => ({
27
28
  msg: "Fetched rule details",
28
29
  data: {
29
30
  ruleEntries
@@ -0,0 +1 @@
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"}
@@ -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[]>;
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;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
- this.logger.info(() => ({
31
+ log.info(() => ({
31
32
  msg: "Endpoint found rules",
32
33
  data: {
33
34
  totalFoundCount: ruleIds.length,
@@ -0,0 +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,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"}
@@ -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"}
@@ -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
- this.logger.info(() => ({
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
- this.logger.debug(() => ({
24
+ log.debug(() => ({
24
25
  msg: "Missing id details",
25
26
  data: {
26
27
  idsToCheck: args,
@@ -0,0 +1 @@
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"}
@@ -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 @@
1
+ {"version":3,"file":"ruleApiRoutes.js","sourceRoot":"","sources":["../../src/api/ruleApiRoutes.ts"],"names":[],"mappings":"AAqBA,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;AAEvE,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,MAAM,CAAN,IAAY,kBAYX;AAZD,WAAY,kBAAkB;IAE7B,oFAA8D,CAAA;IAC9D,0FAAoE,CAAA;IACpE,sFAAgE,CAAA;IAEhE,oFAA8D,CAAA;IAC9D,gFAA0D,CAAA;IAC1D,8FAAwE,CAAA;IAExE,sFAAgE,CAAA;IAChE,oFAA8D,CAAA;AAC/D,CAAC,EAZW,kBAAkB,KAAlB,kBAAkB,QAY7B;AAED,MAAM,OAAO,mBAAmB;IAC/B,YACkB,kBAAsC,EACtC,MAAc;QADd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,SAAS;QACf,OAAO;YACN,GAAG,IAAI,CAAC,mBAAmB,EAAE;YAC7B,GAAG,IAAI,CAAC,iBAAiB,EAAE;YAC3B,GAAG,IAAI,CAAC,kBAAkB,EAAE;SACgB,CAAC;IAC/C,CAAC;IAES,mBAAmB;QAC5B,OAAO;YACN,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI,sBAAsB,CAC1D,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;YACD,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,IAAI,wBAAwB,CAC/D,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;YACD,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,IAAI,mBAAmB,CACxD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;SACD,CAAC;IACH,CAAC;IAES,iBAAiB;QAC1B,OAAO;YACN,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI,kBAAkB,CACtD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;YACD,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,IAAI,mBAAmB,CACrD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;YACD,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,IAAI,qBAAqB,CAC9D,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;SACD,CAAC;IACH,CAAC;IAES,kBAAkB;QAC3B,OAAO;YACN,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,IAAI,mBAAmB,CACxD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;YACD,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI,mBAAmB,CACvD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACX;SACD,CAAC;IACH,CAAC;CACD;AAED,MAAM,CAAC,MAAM,2BAA2B,GACvC,GAAuC,EAAE;IACxC,MAAM,QAAQ,GAAG;QAChB,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,EAAE;KACjB,CAAC;IAEF,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;IAEvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;QACjC,YAAY;QACZ;YACC,QAAQ,EACP,yBAAyB,CACxB,mCAAmC,YAAY,SAAS,CACxD,IAAI,eAAe;YACrB,KAAK,EACJ,yBAAyB,CACxB,mCAAmC,YAAY,QAAQ,CACvD,IAAI,QAAQ,CAAC,KAAK;SACpB;KACD,CACD,CAAC;IAEF,OAAO,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CACjC,YAAoB,EACC,EAAE;IACvB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,aAAa;QACjC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC,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"}
@@ -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, timestamp, signature) {
8
+ deleteMany(filters, jwt) {
9
9
  return this.post(
10
10
  accessRuleApiPaths.DELETE_MANY,
11
11
  filters,
12
- this.getAuthHeaders(timestamp, signature)
12
+ this.getAuthHeaders(jwt)
13
13
  );
14
14
  }
15
- deleteGroups(siteGroups, timestamp, signature) {
15
+ deleteGroups(siteGroups, jwt) {
16
16
  return this.post(
17
17
  accessRuleApiPaths.DELETE_GROUPS,
18
18
  siteGroups,
19
- this.getAuthHeaders(timestamp, signature)
19
+ this.getAuthHeaders(jwt)
20
20
  );
21
21
  }
22
- deleteAll(timestamp, signature) {
22
+ deleteAll(jwt) {
23
23
  return this.post(
24
24
  accessRuleApiPaths.DELETE_ALL,
25
25
  {},
26
- this.getAuthHeaders(timestamp, signature)
26
+ this.getAuthHeaders(jwt)
27
27
  );
28
28
  }
29
29
  //// read
30
- async getMissingIds(idsToCheck, timestamp, signature) {
30
+ async getMissingIds(idsToCheck, jwt) {
31
31
  const endpointResponse = await this.post(
32
32
  accessRuleApiPaths.GET_MISSING_IDS,
33
33
  idsToCheck,
34
- this.getAuthHeaders(timestamp, signature)
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, timestamp, signature) {
42
+ async fetchMany(fetchOptions, jwt) {
43
43
  const endpointResponse = await this.post(
44
44
  accessRuleApiPaths.FETCH_MANY,
45
45
  fetchOptions,
46
- this.getAuthHeaders(timestamp, signature)
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, timestamp, signature) {
54
+ async findIds(filters, jwt) {
55
55
  const endpointResponse = await this.post(
56
56
  accessRuleApiPaths.FIND_IDS,
57
57
  filters,
58
- this.getAuthHeaders(timestamp, signature)
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(timestamp, signature) {
67
+ async rehashAll(jwt) {
68
68
  return this.post(
69
69
  accessRuleApiPaths.REHASH_ALL,
70
70
  {},
71
- this.getAuthHeaders(timestamp, signature)
71
+ this.getAuthHeaders(jwt)
72
72
  );
73
73
  }
74
- insertMany(ruleGroups, timestamp, signature) {
74
+ insertMany(ruleGroups, jwt) {
75
75
  return this.post(
76
76
  accessRuleApiPaths.INSERT_MANY,
77
77
  ruleGroups,
78
- this.getAuthHeaders(timestamp, signature)
78
+ this.getAuthHeaders(jwt)
79
79
  );
80
80
  }
81
- getAuthHeaders(timestamp, signature) {
81
+ getAuthHeaders(jwt) {
82
82
  return {
83
83
  headers: {
84
84
  "Prosopo-Site-Key": this.account,
85
- timestamp,
86
- signature
85
+ Authorization: `Bearer ${jwt}`
87
86
  }
88
87
  };
89
88
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulesApiClient.js","sourceRoot":"","sources":["../../src/api/rulesApiClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type { InsertRulesGroup } from "./insertRules.js";
2
+ //# sourceMappingURL=.export.d.ts.map
@@ -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 @@
1
+ {"version":3,"file":".export.js","sourceRoot":"","sources":["../../../src/api/write/.export.ts"],"names":[],"mappings":""}
@@ -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 } from "zod";
4
+ import type { AccessPolicy, PolicyScope, 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 = {
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[]>;
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,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"}