@prosopo/provider 2.2.3 → 2.3.2

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 (92) hide show
  1. package/dist/api/admin/apiAdminRoutesProvider.d.ts +9 -0
  2. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -0
  3. package/dist/api/admin/apiAdminRoutesProvider.js +17 -0
  4. package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -0
  5. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +13 -0
  6. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +1 -0
  7. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js +20 -0
  8. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +1 -0
  9. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +5 -0
  10. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +1 -0
  11. package/dist/api/admin/createApiAdminRoutesProvider.js +8 -0
  12. package/dist/api/admin/createApiAdminRoutesProvider.js.map +1 -0
  13. package/dist/api/admin/export.d.ts +3 -0
  14. package/dist/api/admin/export.d.ts.map +1 -0
  15. package/dist/api/admin/export.js +3 -0
  16. package/dist/api/admin/export.js.map +1 -0
  17. package/dist/api/blacklistRequestInspector.d.ts +19 -0
  18. package/dist/api/blacklistRequestInspector.d.ts.map +1 -0
  19. package/dist/api/blacklistRequestInspector.js +61 -0
  20. package/dist/api/blacklistRequestInspector.js.map +1 -0
  21. package/dist/api/block.d.ts +1 -2
  22. package/dist/api/block.d.ts.map +1 -1
  23. package/dist/api/block.js +13 -38
  24. package/dist/api/block.js.map +1 -1
  25. package/dist/api/captcha.d.ts.map +1 -1
  26. package/dist/api/captcha.js +6 -7
  27. package/dist/api/captcha.js.map +1 -1
  28. package/dist/api/domainMiddleware.d.ts.map +1 -1
  29. package/dist/api/domainMiddleware.js.map +1 -1
  30. package/dist/api/export.d.ts +2 -0
  31. package/dist/api/export.d.ts.map +1 -0
  32. package/dist/api/export.js +2 -0
  33. package/dist/api/export.js.map +1 -0
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/tasks/client/clientTasks.d.ts +2 -4
  39. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  40. package/dist/tasks/client/clientTasks.js +5 -33
  41. package/dist/tasks/client/clientTasks.js.map +1 -1
  42. package/dist/tasks/dataset/datasetTasks.d.ts +3 -3
  43. package/dist/tasks/dataset/datasetTasks.d.ts.map +1 -1
  44. package/dist/tasks/dataset/datasetTasks.js.map +1 -1
  45. package/dist/tasks/frictionless/frictionlessTasks.d.ts +0 -3
  46. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  47. package/dist/tasks/frictionless/frictionlessTasks.js +0 -10
  48. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  49. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +2 -3
  50. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  51. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  52. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +1 -4
  53. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -1
  54. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +0 -29
  55. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
  56. package/dist/tasks/powCaptcha/powTasks.d.ts +2 -3
  57. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  58. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  59. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
  60. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
  61. package/dist/tasks/tasks.d.ts +2 -2
  62. package/dist/tasks/tasks.d.ts.map +1 -1
  63. package/dist/tasks/tasks.js.map +1 -1
  64. package/dist/tests/integration/imgCaptcha.integration.test.js +1 -1
  65. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  66. package/dist/tests/integration/powCaptcha.integration.test.js +1 -1
  67. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
  68. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -1
  69. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +1 -60
  70. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -1
  71. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  72. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +1 -101
  73. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
  74. package/dist/tests/unit/util.unit.test.js +4 -3
  75. package/dist/tests/unit/util.unit.test.js.map +1 -1
  76. package/dist/util.d.ts +2 -3
  77. package/dist/util.d.ts.map +1 -1
  78. package/dist/util.js +3 -2
  79. package/dist/util.js.map +1 -1
  80. package/package.json +13 -11
  81. package/dist/api/admin.d.ts +0 -4
  82. package/dist/api/admin.d.ts.map +0 -1
  83. package/dist/api/admin.js +0 -27
  84. package/dist/api/admin.js.map +0 -1
  85. package/dist/rules/ip.d.ts +0 -4
  86. package/dist/rules/ip.d.ts.map +0 -1
  87. package/dist/rules/ip.js +0 -19
  88. package/dist/rules/ip.js.map +0 -1
  89. package/dist/rules/user.d.ts +0 -3
  90. package/dist/rules/user.d.ts.map +0 -1
  91. package/dist/rules/user.js +0 -10
  92. package/dist/rules/user.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import type { ApiRoute, ApiRoutesProvider } from "@prosopo/api-route";
2
+ import type { Tasks } from "../../tasks/index.js";
3
+ declare class ApiAdminRoutesProvider implements ApiRoutesProvider {
4
+ private readonly tasks;
5
+ constructor(tasks: Tasks);
6
+ getRoutes(): ApiRoute[];
7
+ }
8
+ export { ApiAdminRoutesProvider };
9
+ //# sourceMappingURL=apiAdminRoutesProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiAdminRoutesProvider.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiAdminRoutesProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAetE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,cAAM,sBAAuB,YAAW,iBAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEzC,SAAS,IAAI,QAAQ,EAAE;CAQ9B;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { AdminApiPaths } from "@prosopo/types";
2
+ import { ApiRegisterSiteKeyEndpoint } from "./apiRegisterSiteKeyEndpoint.js";
3
+ class ApiAdminRoutesProvider {
4
+ constructor(tasks) {
5
+ this.tasks = tasks;
6
+ }
7
+ getRoutes() {
8
+ return [
9
+ {
10
+ path: AdminApiPaths.SiteKeyRegister,
11
+ endpoint: new ApiRegisterSiteKeyEndpoint(this.tasks.clientTaskManager),
12
+ },
13
+ ];
14
+ }
15
+ }
16
+ export { ApiAdminRoutesProvider };
17
+ //# sourceMappingURL=apiAdminRoutesProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiAdminRoutesProvider.js","sourceRoot":"","sources":["../../../src/api/admin/apiAdminRoutesProvider.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,sBAAsB;IAC3B,YAAoC,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAE7C,SAAS;QACf,OAAO;YACN;gBACC,IAAI,EAAE,aAAa,CAAC,eAAe;gBACnC,QAAQ,EAAE,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;aACtE;SACD,CAAC;IACH,CAAC;CACD;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ApiEndpoint, type ApiEndpointResponse } from "@prosopo/api-route";
2
+ import { RegisterSitekeyBody } from "@prosopo/types";
3
+ import type { z } from "zod";
4
+ import type { ClientTaskManager } from "../../tasks/client/clientTasks.js";
5
+ type RegisterSitekeyBodyType = typeof RegisterSitekeyBody;
6
+ declare class ApiRegisterSiteKeyEndpoint implements ApiEndpoint<RegisterSitekeyBodyType> {
7
+ private readonly clientTaskManager;
8
+ constructor(clientTaskManager: ClientTaskManager);
9
+ processRequest(args: z.infer<RegisterSitekeyBodyType>): Promise<ApiEndpointResponse>;
10
+ getRequestArgsSchema(): RegisterSitekeyBodyType;
11
+ }
12
+ export { ApiRegisterSiteKeyEndpoint };
13
+ //# sourceMappingURL=apiRegisterSiteKeyEndpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiRegisterSiteKeyEndpoint.d.ts","sourceRoot":"","sources":["../../../src/api/admin/apiRegisterSiteKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,KAAK,uBAAuB,GAAG,OAAO,mBAAmB,CAAC;AAE1D,cAAM,0BACL,YAAW,WAAW,CAAC,uBAAuB,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,iBAAiB;IAElE,cAAc,CACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAYxB,oBAAoB,IAAI,uBAAuB;CAGtD;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { ApiEndpointResponseStatus, } from "@prosopo/api-route";
2
+ import { RegisterSitekeyBody } from "@prosopo/types";
3
+ class ApiRegisterSiteKeyEndpoint {
4
+ constructor(clientTaskManager) {
5
+ this.clientTaskManager = clientTaskManager;
6
+ }
7
+ async processRequest(args) {
8
+ const { siteKey, settings } = args;
9
+ const temp = settings || {};
10
+ await this.clientTaskManager.registerSiteKey(siteKey, temp);
11
+ return {
12
+ status: ApiEndpointResponseStatus.SUCCESS,
13
+ };
14
+ }
15
+ getRequestArgsSchema() {
16
+ return RegisterSitekeyBody;
17
+ }
18
+ }
19
+ export { ApiRegisterSiteKeyEndpoint };
20
+ //# sourceMappingURL=apiRegisterSiteKeyEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiRegisterSiteKeyEndpoint.js","sourceRoot":"","sources":["../../../src/api/admin/apiRegisterSiteKeyEndpoint.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMrD,MAAM,0BAA0B;IAG/B,YAAoC,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAE5E,KAAK,CAAC,cAAc,CACnB,IAAsC;QAEtC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEnC,MAAM,IAAI,GAAG,QAAQ,IAAI,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE5D,OAAO;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;SACzC,CAAC;IACH,CAAC;IAEM,oBAAoB;QAC1B,OAAO,mBAAmB,CAAC;IAC5B,CAAC;CACD;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ApiRoutesProvider } from "@prosopo/api-route";
2
+ import type { ProviderEnvironment } from "@prosopo/types-env";
3
+ declare const createApiAdminRoutesProvider: (providerEnvironment: ProviderEnvironment) => ApiRoutesProvider;
4
+ export { createApiAdminRoutesProvider };
5
+ //# sourceMappingURL=createApiAdminRoutesProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createApiAdminRoutesProvider.d.ts","sourceRoot":"","sources":["../../../src/api/admin/createApiAdminRoutesProvider.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,QAAA,MAAM,4BAA4B,wBACZ,mBAAmB,KACtC,iBAIF,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Tasks } from "../../tasks/index.js";
2
+ import { ApiAdminRoutesProvider } from "./apiAdminRoutesProvider.js";
3
+ const createApiAdminRoutesProvider = (providerEnvironment) => {
4
+ const tasks = new Tasks(providerEnvironment);
5
+ return new ApiAdminRoutesProvider(tasks);
6
+ };
7
+ export { createApiAdminRoutesProvider };
8
+ //# sourceMappingURL=createApiAdminRoutesProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createApiAdminRoutesProvider.js","sourceRoot":"","sources":["../../../src/api/admin/createApiAdminRoutesProvider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,4BAA4B,GAAG,CACpC,mBAAwC,EACpB,EAAE;IACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE7C,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createApiAdminRoutesProvider } from "./createApiAdminRoutesProvider.js";
2
+ export { createApiAdminRoutesProvider };
3
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/api/admin/export.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createApiAdminRoutesProvider } from "./createApiAdminRoutesProvider.js";
2
+ export { createApiAdminRoutesProvider };
3
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/api/admin/export.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Logger } from "@prosopo/common";
2
+ import type { BlacklistInspector } from "@prosopo/user-access-policy";
3
+ import type { NextFunction, Request, Response } from "express";
4
+ declare class BlacklistRequestInspector {
5
+ private readonly blacklistInspector;
6
+ private readonly environmentReadinessWaiter;
7
+ private readonly logger;
8
+ constructor(blacklistInspector: BlacklistInspector, environmentReadinessWaiter: () => Promise<void>, logger: Logger);
9
+ abortRequestForBlockedUsers(request: Request, res: Response, next: NextFunction): Promise<void>;
10
+ shouldAbortRequest(requestedRoute: string, rawIp: string, requestHeaders: Record<string, unknown>, requestBody: Record<string, unknown>): Promise<boolean>;
11
+ protected isApiUnrelatedRoute(url: string): boolean;
12
+ protected extractIdsFromRequest(requestHeaders: Record<string, unknown>, requestBody: Record<string, unknown>): {
13
+ userId: string;
14
+ clientId: string;
15
+ };
16
+ protected getObjectValue(object: Record<string, unknown>, key: string): unknown;
17
+ }
18
+ export { BlacklistRequestInspector };
19
+ //# sourceMappingURL=blacklistRequestInspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blacklistRequestInspector.d.ts","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,cAAM,yBAAyB;IAE7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC/C,MAAM,EAAE,MAAM;IAGnB,2BAA2B,CACvC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC;IAkBH,kBAAkB,CAC9B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC;IAuCnB,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInD,SAAS,CAAC,qBAAqB,CAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;QACF,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KACjB;IAgBD,SAAS,CAAC,cAAc,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,GACT,OAAO;CAGV;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { ApiPrefix } from "@prosopo/types";
2
+ import { getIPAddress } from "../util.js";
3
+ class BlacklistRequestInspector {
4
+ constructor(blacklistInspector, environmentReadinessWaiter, logger) {
5
+ this.blacklistInspector = blacklistInspector;
6
+ this.environmentReadinessWaiter = environmentReadinessWaiter;
7
+ this.logger = logger;
8
+ }
9
+ async abortRequestForBlockedUsers(request, res, next) {
10
+ const rawIp = request.ip || "";
11
+ const shouldAbortRequest = await this.shouldAbortRequest(request.url, rawIp, request.headers, request.body);
12
+ if (shouldAbortRequest) {
13
+ res.status(401).json({ error: "Unauthorized" });
14
+ return;
15
+ }
16
+ next();
17
+ }
18
+ async shouldAbortRequest(requestedRoute, rawIp, requestHeaders, requestBody) {
19
+ if (this.isApiUnrelatedRoute(requestedRoute)) {
20
+ return false;
21
+ }
22
+ if (!rawIp) {
23
+ this.logger.info("Request without IP", {
24
+ requestedRoute: requestedRoute,
25
+ requestHeaders: requestHeaders,
26
+ requestBody: requestBody,
27
+ });
28
+ return true;
29
+ }
30
+ await this.environmentReadinessWaiter();
31
+ try {
32
+ const userIpAddress = getIPAddress(rawIp);
33
+ const { userId, clientId } = this.extractIdsFromRequest(requestHeaders, requestBody);
34
+ return await this.blacklistInspector.isUserBlacklisted(clientId, userIpAddress, userId);
35
+ }
36
+ catch (err) {
37
+ this.logger.error("Block Middleware Error:", err);
38
+ return true;
39
+ }
40
+ }
41
+ isApiUnrelatedRoute(url) {
42
+ return !url.includes(ApiPrefix);
43
+ }
44
+ extractIdsFromRequest(requestHeaders, requestBody) {
45
+ const userId = this.getObjectValue(requestHeaders, "Prosopo-User") ||
46
+ this.getObjectValue(requestBody, "user") ||
47
+ "";
48
+ const clientId = this.getObjectValue(requestHeaders, "Prosopo-Site-Key") ||
49
+ this.getObjectValue(requestBody, "dapp") ||
50
+ "";
51
+ return {
52
+ userId: "string" === typeof userId ? userId : "",
53
+ clientId: "string" === typeof clientId ? clientId : "",
54
+ };
55
+ }
56
+ getObjectValue(object, key) {
57
+ return object[key];
58
+ }
59
+ }
60
+ export { BlacklistRequestInspector };
61
+ //# sourceMappingURL=blacklistRequestInspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blacklistRequestInspector.js","sourceRoot":"","sources":["../../src/api/blacklistRequestInspector.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,yBAAyB;IAC9B,YACkB,kBAAsC,EACtC,0BAA+C,EAC/C,MAAc;QAFd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,+BAA0B,GAA1B,0BAA0B,CAAqB;QAC/C,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAEG,KAAK,CAAC,2BAA2B,CACvC,OAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;QAE/B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACvD,OAAO,CAAC,GAAG,EACX,KAAK,EACL,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,IAAI,CACZ,CAAC;QAEF,IAAI,kBAAkB,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YAChD,OAAO;QACR,CAAC;QAED,IAAI,EAAE,CAAC;IACR,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC9B,cAAsB,EACtB,KAAa,EACb,cAAuC,EACvC,WAAoC;QAGpC,IAAI,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACd,CAAC;QAGD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBACtC,cAAc,EAAE,cAAc;gBAC9B,cAAc,EAAE,cAAc;gBAC9B,WAAW,EAAE,WAAW;aACxB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAExC,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAE1C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,qBAAqB,CACtD,cAAc,EACd,WAAW,CACX,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CACrD,QAAQ,EACR,aAAa,EACb,MAAM,CACN,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAElD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAES,mBAAmB,CAAC,GAAW;QACxC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAES,qBAAqB,CAC9B,cAAuC,EACvC,WAAoC;QAKpC,MAAM,MAAM,GACX,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC;YACnD,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC;YACxC,EAAE,CAAC;QACJ,MAAM,QAAQ,GACb,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,kBAAkB,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC;YACxC,EAAE,CAAC;QAEJ,OAAO;YACN,MAAM,EAAE,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAChD,QAAQ,EAAE,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SACtD,CAAC;IACH,CAAC;IAES,cAAc,CACvB,MAA+B,EAC/B,GAAW;QAEX,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACD;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import type { ProviderEnvironment } from "@prosopo/types-env";
2
- import type { NextFunction, Request, Response } from "express";
3
- export declare const blockMiddleware: (env: ProviderEnvironment) => (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>> | undefined>;
2
+ export declare const blockMiddleware: (providerEnvironment: ProviderEnvironment) => (request: import("express").Request, res: import("express").Response, next: import("express").NextFunction) => Promise<void>;
4
3
  //# sourceMappingURL=block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/api/block.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,eAAO,MAAM,eAAe,QAAS,mBAAmB,WACpC,OAAO,OAAO,QAAQ,QAAQ,YAAY,4DAgD7D,CAAC"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/api/block.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,eAAO,MAAM,eAAe,wBAAyB,mBAAmB,iIAyBvE,CAAC"}
package/dist/api/block.js CHANGED
@@ -1,40 +1,15 @@
1
- import { getLoggerDefault } from "@prosopo/common";
2
- import { ApiPrefix } from "@prosopo/types";
3
- import { checkIpRules } from "../rules/ip.js";
4
- import { checkUserRules } from "../rules/user.js";
5
- import { getIPAddress } from "../util.js";
6
- const logger = getLoggerDefault();
7
- export const blockMiddleware = (env) => {
8
- return async (req, res, next) => {
9
- try {
10
- if (req.url.indexOf(ApiPrefix) === -1) {
11
- next();
12
- return;
13
- }
14
- if (!req.ip) {
15
- logger.info("No IP", req.ip);
16
- return res.status(401).json({ error: "Unauthorized" });
17
- }
18
- await env.isReady();
19
- const ipAddress = getIPAddress(req.ip || "");
20
- const userAccount = req.headers["Prosopo-User"] || req.body.user;
21
- const dappAccount = req.headers["Prosopo-Site-Key"] || req.body.dapp;
22
- const rule = await checkIpRules(env.getDb(), ipAddress, dappAccount);
23
- if (rule?.hardBlock) {
24
- return res.status(401).json({ error: "Unauthorized" });
25
- }
26
- const userRule = await checkUserRules(env.getDb(), userAccount, dappAccount);
27
- if (userRule?.hardBlock) {
28
- return res.status(401).json({ error: "Unauthorized" });
29
- }
30
- next();
31
- return;
32
- }
33
- catch (err) {
34
- logger.error("Block Middleware Error:", err);
35
- res.status(401).json({ error: "Unauthorized" });
36
- return;
37
- }
38
- };
1
+ import { getLogger } from "@prosopo/common";
2
+ import { createBlacklistInspector } from "@prosopo/user-access-policy";
3
+ import { BlacklistRequestInspector } from "./blacklistRequestInspector.js";
4
+ export const blockMiddleware = (providerEnvironment) => {
5
+ const logLevel = providerEnvironment.config.logLevel;
6
+ const logger = getLogger(logLevel, "blockMiddleware");
7
+ const userAccessRulesStorage = providerEnvironment
8
+ .getDb()
9
+ .getUserAccessRulesStorage();
10
+ const environmentReadinessWaiter = providerEnvironment.isReady.bind(providerEnvironment);
11
+ const blacklistInspector = createBlacklistInspector(userAccessRulesStorage, logger);
12
+ const blacklistRequestInspector = new BlacklistRequestInspector(blacklistInspector, environmentReadinessWaiter, logger);
13
+ return blacklistRequestInspector.abortRequestForBlockedUsers.bind(blacklistRequestInspector);
39
14
  };
40
15
  //# sourceMappingURL=block.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../../src/api/block.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAwB,EAAE,EAAE;IAC3D,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAChE,IAAI,CAAC;YAEJ,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvC,IAAI,EAAE,CAAC;gBACP,OAAO;YACR,CAAC;YAGD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACjE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAGrE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAGrE,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACxD,CAAC;YAGD,MAAM,QAAQ,GAAG,MAAM,cAAc,CACpC,GAAG,CAAC,KAAK,EAAE,EACX,WAAW,EACX,WAAW,CACX,CAAC;YAGF,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,EAAE,CAAC;YACP,OAAO;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YAChD,OAAO;QACR,CAAC;IACF,CAAC,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../src/api/block.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAoB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,mBAAwC,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAEtD,MAAM,sBAAsB,GAAG,mBAAmB;SAChD,KAAK,EAAE;SACP,yBAAyB,EAAE,CAAC;IAE9B,MAAM,0BAA0B,GAC/B,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,wBAAwB,CAClD,sBAAsB,EACtB,MAAM,CACN,CAAC;IAEF,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,CAC9D,kBAAkB,EAClB,0BAA0B,EAC1B,MAAM,CACN,CAAC;IAEF,OAAO,yBAAyB,CAAC,2BAA2B,CAAC,IAAI,CAChE,yBAAyB,CACzB,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAgB,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAgB/C,wBAAgB,aAAa,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAge9D"}
1
+ {"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAgB,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAe/C,wBAAgB,aAAa,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAie9D"}
@@ -2,10 +2,10 @@ import { validateAddress } from "@polkadot/util-crypto/address";
2
2
  import { ProsopoApiError } from "@prosopo/common";
3
3
  import { parseCaptchaAssets } from "@prosopo/datasets";
4
4
  import { ApiParams, ApiPaths, CaptchaRequestBody, CaptchaSolutionBody, GetFrictionlessCaptchaChallengeRequestBody, GetPowCaptchaChallengeRequestBody, SubmitPowCaptchaSolutionBody, } from "@prosopo/types";
5
+ import { createImageCaptchaConfigResolver } from "@prosopo/user-access-policy";
5
6
  import { flatten } from "@prosopo/util";
6
7
  import express from "express";
7
8
  import { getBotScore } from "../tasks/detection/getBotScore.js";
8
- import { getCaptchaConfig } from "../tasks/imgCaptcha/imgCaptchaTasksUtils.js";
9
9
  import { Tasks } from "../tasks/tasks.js";
10
10
  import { getIPAddress } from "../util.js";
11
11
  import { handleErrors } from "./errorHandler.js";
@@ -14,6 +14,8 @@ const TEN_MINUTES = 60 * 10 * 1000;
14
14
  export function prosopoRouter(env) {
15
15
  const router = express.Router();
16
16
  const tasks = new Tasks(env);
17
+ const userAccessRulesStorage = env.getDb().getUserAccessRulesStorage();
18
+ const imageCaptchaConfigResolver = createImageCaptchaConfigResolver(userAccessRulesStorage, env.logger);
17
19
  router.post(ApiPaths.GetImageCaptchaChallenge, async (req, res, next) => {
18
20
  let parsed;
19
21
  if (!req.ip) {
@@ -47,7 +49,7 @@ export function prosopoRouter(env) {
47
49
  context: { code: 400, siteKey: dapp },
48
50
  }));
49
51
  }
50
- const captchaConfig = await getCaptchaConfig(tasks.db, env.config, ipAddress, user, dapp);
52
+ const captchaConfig = await imageCaptchaConfigResolver.resolveConfig(env.config.captchas, ipAddress, user, dapp);
51
53
  const taskData = await tasks.imgCaptchaManager.getRandomCaptchasAndRequestHash(datasetId, user, ipAddress, flatten(req.headers), captchaConfig);
52
54
  const captchaResponse = {
53
55
  [ApiParams.status]: "ok",
@@ -265,11 +267,8 @@ export function prosopoRouter(env) {
265
267
  const botThreshold = clientConfig?.settings?.frictionlessThreshold ||
266
268
  DEFAULT_FRICTIONLESS_THRESHOLD;
267
269
  const ipAddress = getIPAddress(req.ip || "");
268
- const isIpBlocked = await tasks.frictionlessManager.checkIpRules(ipAddress, dapp);
269
- if (isIpBlocked)
270
- return res.json(tasks.frictionlessManager.sendImageCaptcha());
271
- const isUserBlocked = await tasks.frictionlessManager.checkUserRules(user, dapp);
272
- if (isUserBlocked)
270
+ const imageCaptchaConfigDefined = await imageCaptchaConfigResolver.isConfigDefined(dapp, ipAddress, user);
271
+ if (imageCaptchaConfigDefined)
273
272
  return res.json(tasks.frictionlessManager.sendImageCaptcha());
274
273
  if (Number(botScore) > botThreshold)
275
274
  return res.json(tasks.frictionlessManager.sendImageCaptcha());
@@ -1 +1 @@
1
- {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/api/captcha.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"domainMiddleware.d.ts","sourceRoot":"","sources":["../../src/api/domainMiddleware.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK/D,eAAO,MAAM,gBAAgB,QAAS,mBAAmB,WAGrC,OAAO,OAAO,QAAQ,QAAQ,YAAY,kBAyC7D,CAAC"}
1
+ {"version":3,"file":"domainMiddleware.d.ts","sourceRoot":"","sources":["../../src/api/domainMiddleware.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK/D,eAAO,MAAM,gBAAgB,QAAS,mBAAmB,WAGrC,OAAO,OAAO,QAAQ,QAAQ,YAAY,kBAyC7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"domainMiddleware.js","sourceRoot":"","sources":["../../src/api/domainMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domainMiddleware.js","sourceRoot":"","sources":["../../src/api/domainMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * as admin from "./admin/export.js";
2
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/api/export.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * as admin from "./admin/export.js";
2
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/api/export.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,6 @@ export * from "./util.js";
3
3
  export * from "./api/block.js";
4
4
  export * from "./api/captcha.js";
5
5
  export * from "./api/verify.js";
6
- export * from "./api/admin.js";
7
6
  export * from "./api/errorHandler.js";
8
7
  export * from "./api/authMiddleware.js";
9
8
  export * from "./api/public.js";
@@ -11,4 +10,5 @@ export * from "./api/domainMiddleware.js";
11
10
  export * from "./schedulers/captchaScheduler.js";
12
11
  export * from "./schedulers/getClientList.js";
13
12
  export * from "./api/headerCheckMiddleware.js";
13
+ export * as api from "./api/export.js";
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,6 @@ export * from "./util.js";
3
3
  export * from "./api/block.js";
4
4
  export * from "./api/captcha.js";
5
5
  export * from "./api/verify.js";
6
- export * from "./api/admin.js";
7
6
  export * from "./api/errorHandler.js";
8
7
  export * from "./api/authMiddleware.js";
9
8
  export * from "./api/public.js";
@@ -11,4 +10,5 @@ export * from "./api/domainMiddleware.js";
11
10
  export * from "./schedulers/captchaScheduler.js";
12
11
  export * from "./schedulers/getClientList.js";
13
12
  export * from "./api/headerCheckMiddleware.js";
13
+ export * as api from "./api/export.js";
14
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Logger } from "@prosopo/common";
2
- import { type CaptchaConfig, type IUserSettings, type ProsopoConfigOutput } from "@prosopo/types";
3
- import { type IProviderDatabase } from "@prosopo/types-database";
2
+ import { type IUserSettings, type ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { IProviderDatabase } from "@prosopo/types-database";
4
4
  export declare class ClientTaskManager {
5
5
  config: ProsopoConfigOutput;
6
6
  logger: Logger;
@@ -9,8 +9,6 @@ export declare class ClientTaskManager {
9
9
  storeCommitmentsExternal(): Promise<void>;
10
10
  getClientList(): Promise<void>;
11
11
  registerSiteKey(siteKey: string, settings: IUserSettings): Promise<void>;
12
- addIPBlockRules(ips: string[], global: boolean, hardBlock: boolean, dappAccount?: string, captchaConfig?: CaptchaConfig): Promise<void>;
13
- addUserBlockRules(userAccounts: string[], hardBlock: boolean, global: boolean, dappAccount?: string, captchaConfig?: CaptchaConfig): Promise<void>;
14
12
  isSubdomainOrExactMatch(referrer: string, clientDomain: string): boolean;
15
13
  private isCommitmentUpdated;
16
14
  private processBatchesWithCursor;
@@ -1 +1 @@
1
- {"version":3,"file":"clientTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/client/clientTasks.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAIN,KAAK,iBAAiB,EAItB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,iBAAiB;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;gBAE7B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,iBAAiB;IAWhB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkGzC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD9B,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IASV,eAAe,CACpB,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,OAAO,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC;IAcV,iBAAiB,CACtB,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,OAAO,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC;IAgBhB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAuBxE,OAAO,CAAC,mBAAmB;YAWb,wBAAwB;IActC,OAAO,CAAC,aAAa;CAerB"}
1
+ {"version":3,"file":"clientTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/client/clientTasks.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAEX,iBAAiB,EAGjB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,iBAAiB;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;gBAE7B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,iBAAiB;IAWhB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkGzC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D9B,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IAShB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAuBxE,OAAO,CAAC,mBAAmB;YAWb,wBAAwB;IActC,OAAO,CAAC,aAAa;CAerB"}
@@ -1,10 +1,7 @@
1
- import { validateAddress } from "@polkadot/util-crypto/address";
2
1
  import { ProsopoApiError } from "@prosopo/common";
3
2
  import { CaptchaDatabase, ClientDatabase } from "@prosopo/database";
4
3
  import { ScheduledTaskNames, ScheduledTaskStatus, } from "@prosopo/types";
5
- import { BlockRuleType, } from "@prosopo/types-database";
6
4
  import { parseUrl } from "@prosopo/util";
7
- import { getIPAddress } from "../../util.js";
8
5
  export class ClientTaskManager {
9
6
  constructor(config, logger, db) {
10
7
  this.config = config;
@@ -66,14 +63,17 @@ export class ClientTaskManager {
66
63
  const taskID = await this.providerDB.createScheduledTaskStatus(ScheduledTaskNames.GetClientList, ScheduledTaskStatus.Running);
67
64
  try {
68
65
  const clientDB = new ClientDatabase(this.config.mongoClientUri, undefined, undefined, this.logger);
69
- const updatedAtTimestamp = 0;
66
+ const tenMinuteWindow = new Date().getTime() - 10 * 60 * 1000;
67
+ const updatedAtTimestamp = lastTask?.updated
68
+ ? lastTask.updated - tenMinuteWindow || 0
69
+ : 0;
70
70
  const newClientRecords = await clientDB.getUpdatedClients(updatedAtTimestamp);
71
71
  if (newClientRecords) {
72
72
  await this.providerDB.updateClientRecords(newClientRecords);
73
73
  }
74
74
  await this.providerDB.updateScheduledTaskStatus(taskID, ScheduledTaskStatus.Completed, {
75
75
  data: {
76
- clientRecords: newClientRecords.map((c) => c.account),
76
+ clientRecords: newClientRecords.length,
77
77
  },
78
78
  });
79
79
  }
@@ -94,34 +94,6 @@ export class ClientTaskManager {
94
94
  },
95
95
  ]);
96
96
  }
97
- async addIPBlockRules(ips, global, hardBlock, dappAccount, captchaConfig) {
98
- const rules = ips.map((ip) => {
99
- return {
100
- ip: Number(getIPAddress(ip).bigInt()),
101
- global,
102
- type: BlockRuleType.ipAddress,
103
- dappAccount,
104
- hardBlock,
105
- ...(captchaConfig && { captchaConfig }),
106
- };
107
- });
108
- await this.providerDB.storeIPBlockRuleRecords(rules);
109
- }
110
- async addUserBlockRules(userAccounts, hardBlock, global, dappAccount, captchaConfig) {
111
- validateAddress(dappAccount, false, 42);
112
- const rules = userAccounts.map((userAccount) => {
113
- validateAddress(userAccount, false, 42);
114
- return {
115
- dappAccount,
116
- userAccount,
117
- type: BlockRuleType.userAccount,
118
- global,
119
- hardBlock,
120
- ...(captchaConfig && { captchaConfig }),
121
- };
122
- });
123
- await this.providerDB.storeUserBlockRuleRecords(rules);
124
- }
125
97
  isSubdomainOrExactMatch(referrer, clientDomain) {
126
98
  if (!referrer || !clientDomain)
127
99
  return false;