@prosopo/database 2.1.0 → 2.1.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 (40) hide show
  1. package/package.json +5 -5
  2. package/dist/base/index.d.ts +0 -3
  3. package/dist/base/index.d.ts.map +0 -1
  4. package/dist/base/index.js +0 -3
  5. package/dist/base/index.js.map +0 -1
  6. package/dist/base/mongo.d.ts +0 -16
  7. package/dist/base/mongo.d.ts.map +0 -1
  8. package/dist/base/mongo.js +0 -89
  9. package/dist/base/mongo.js.map +0 -1
  10. package/dist/base/mongoMemory.d.ts +0 -11
  11. package/dist/base/mongoMemory.d.ts.map +0 -1
  12. package/dist/base/mongoMemory.js +0 -27
  13. package/dist/base/mongoMemory.js.map +0 -1
  14. package/dist/cjs/base/index.cjs +0 -6
  15. package/dist/cjs/base/mongo.cjs +0 -97
  16. package/dist/cjs/base/mongoMemory.cjs +0 -28
  17. package/dist/cjs/databases/captcha.cjs +0 -82
  18. package/dist/cjs/databases/client.cjs +0 -46
  19. package/dist/cjs/databases/index.cjs +0 -19
  20. package/dist/cjs/databases/provider.cjs +0 -942
  21. package/dist/cjs/index.cjs +0 -15
  22. package/dist/databases/captcha.d.ts +0 -16
  23. package/dist/databases/captcha.d.ts.map +0 -1
  24. package/dist/databases/captcha.js +0 -75
  25. package/dist/databases/captcha.js.map +0 -1
  26. package/dist/databases/client.d.ts +0 -12
  27. package/dist/databases/client.d.ts.map +0 -1
  28. package/dist/databases/client.js +0 -42
  29. package/dist/databases/client.js.map +0 -1
  30. package/dist/databases/index.d.ts +0 -16
  31. package/dist/databases/index.d.ts.map +0 -1
  32. package/dist/databases/index.js +0 -17
  33. package/dist/databases/index.js.map +0 -1
  34. package/dist/databases/provider.d.ts +0 -68
  35. package/dist/databases/provider.d.ts.map +0 -1
  36. package/dist/databases/provider.js +0 -786
  37. package/dist/databases/provider.js.map +0 -1
  38. package/dist/index.d.ts +0 -3
  39. package/dist/index.d.ts.map +0 -1
  40. package/dist/index.js.map +0 -1
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- require("./base/index.cjs");
4
- const index = require("./databases/index.cjs");
5
- const mongo = require("./base/mongo.cjs");
6
- const mongoMemory = require("./base/mongoMemory.cjs");
7
- const provider = require("./databases/provider.cjs");
8
- const captcha = require("./databases/captcha.cjs");
9
- const client = require("./databases/client.cjs");
10
- exports.Databases = index.Databases;
11
- exports.MongoDatabase = mongo.MongoDatabase;
12
- exports.MongoMemoryDatabase = mongoMemory.MongoMemoryDatabase;
13
- exports.ProviderDatabase = provider.ProviderDatabase;
14
- exports.CaptchaDatabase = captcha.CaptchaDatabase;
15
- exports.ClientDatabase = client.ClientDatabase;
@@ -1,16 +0,0 @@
1
- import { type Logger } from "@prosopo/common";
2
- import { type ICaptchaDatabase, type PoWCaptchaRecord, type Tables, type UserCommitmentRecord } from "@prosopo/types-database";
3
- import { MongoDatabase } from "../base/index.js";
4
- declare enum TableNames {
5
- commitment = "commitment",
6
- powcaptcha = "powcaptcha"
7
- }
8
- export declare class CaptchaDatabase extends MongoDatabase implements ICaptchaDatabase {
9
- tables: Tables<TableNames>;
10
- constructor(url: string, dbname?: string, authSource?: string, logger?: Logger);
11
- connect(): Promise<void>;
12
- getTables(): Tables<TableNames>;
13
- saveCaptchas(imageCaptchaEvents: UserCommitmentRecord[], powCaptchaEvents: PoWCaptchaRecord[]): Promise<void>;
14
- }
15
- export {};
16
- //# sourceMappingURL=captcha.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/databases/captcha.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,MAAM,EAAoC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAErB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAEzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,aAAK,UAAU;IACd,UAAU,eAAe;IACzB,UAAU,eAAe;CACzB;AAeD,qBAAa,eAAgB,SAAQ,aAAc,YAAW,gBAAgB;IAC7E,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBAG1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM;IAMD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;IAUzB,YAAY,CACjB,kBAAkB,EAAE,oBAAoB,EAAE,EAC1C,gBAAgB,EAAE,gBAAgB,EAAE;CAsCrC"}
@@ -1,75 +0,0 @@
1
- import { ProsopoDBError, getLoggerDefault } from "@prosopo/common";
2
- import { PoWCaptchaRecordSchema, UserCommitmentRecordSchema, } from "@prosopo/types-database";
3
- import { MongoDatabase } from "../base/index.js";
4
- const logger = getLoggerDefault();
5
- var TableNames;
6
- (function (TableNames) {
7
- TableNames["commitment"] = "commitment";
8
- TableNames["powcaptcha"] = "powcaptcha";
9
- })(TableNames || (TableNames = {}));
10
- const CAPTCHA_TABLES = [
11
- {
12
- collectionName: TableNames.powcaptcha,
13
- modelName: "PowCaptcha",
14
- schema: PoWCaptchaRecordSchema,
15
- },
16
- {
17
- collectionName: TableNames.commitment,
18
- modelName: "UserCommitment",
19
- schema: UserCommitmentRecordSchema,
20
- },
21
- ];
22
- export class CaptchaDatabase extends MongoDatabase {
23
- constructor(url, dbname, authSource, logger) {
24
- super(url, dbname, authSource, logger);
25
- this.tables = {};
26
- }
27
- async connect() {
28
- await super.connect();
29
- CAPTCHA_TABLES.map(({ collectionName, modelName, schema }) => {
30
- if (this.connection) {
31
- this.tables[collectionName] = this.connection.model(modelName, schema);
32
- }
33
- });
34
- }
35
- getTables() {
36
- if (!this.tables) {
37
- throw new ProsopoDBError("DATABASE.TABLES_UNDEFINED", {
38
- context: { failedFuncName: this.getTables.name },
39
- logger: this.logger,
40
- });
41
- }
42
- return this.tables;
43
- }
44
- async saveCaptchas(imageCaptchaEvents, powCaptchaEvents) {
45
- await this.connect();
46
- if (imageCaptchaEvents.length) {
47
- const result = await this.tables.commitment.bulkWrite(imageCaptchaEvents.map((doc) => {
48
- const { _id, ...safeDoc } = doc;
49
- return {
50
- updateOne: {
51
- filter: { id: safeDoc.id },
52
- update: { $set: safeDoc },
53
- upsert: true,
54
- },
55
- };
56
- }));
57
- logger.info("Mongo Saved Image Events", result);
58
- }
59
- if (powCaptchaEvents.length) {
60
- const result = await this.tables.powcaptcha.bulkWrite(powCaptchaEvents.map((doc) => {
61
- const { _id, ...safeDoc } = doc;
62
- return {
63
- updateOne: {
64
- filter: { challenge: safeDoc.challenge },
65
- update: { $set: safeDoc },
66
- upsert: true,
67
- },
68
- };
69
- }));
70
- logger.info("Mongo Saved PoW Events", result);
71
- }
72
- await this.close();
73
- }
74
- }
75
- //# sourceMappingURL=captcha.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/databases/captcha.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { type Logger } from "@prosopo/common";
2
- import type { Timestamp } from "@prosopo/types";
3
- import { type ClientRecord, type IClientDatabase, TableNames, type Tables } from "@prosopo/types-database";
4
- import { MongoDatabase } from "../base/index.js";
5
- export declare class ClientDatabase extends MongoDatabase implements IClientDatabase {
6
- tables: Tables<TableNames>;
7
- constructor(url: string, dbname?: string, authSource?: string, logger?: Logger);
8
- connect(): Promise<void>;
9
- getTables(): Tables<TableNames>;
10
- getUpdatedClients(updatedAtTimestamp: Timestamp): Promise<ClientRecord[]>;
11
- }
12
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/databases/client.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EAEX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUjD,qBAAa,cAAe,SAAQ,aAAc,YAAW,eAAe;IAC3E,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBAG1B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM;IAMD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;IAUzB,iBAAiB,CACtB,kBAAkB,EAAE,SAAS,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC;CAY1B"}
@@ -1,42 +0,0 @@
1
- import { ProsopoDBError } from "@prosopo/common";
2
- import { TableNames, UserDataSchema, } from "@prosopo/types-database";
3
- import { MongoDatabase } from "../base/index.js";
4
- const CLIENT_TABLES = [
5
- {
6
- collectionName: TableNames.emails,
7
- modelName: "Email",
8
- schema: UserDataSchema,
9
- },
10
- ];
11
- export class ClientDatabase extends MongoDatabase {
12
- constructor(url, dbname, authSource, logger) {
13
- super(url, dbname, authSource, logger);
14
- this.tables = {};
15
- }
16
- async connect() {
17
- await super.connect();
18
- CLIENT_TABLES.map(({ collectionName, modelName, schema }) => {
19
- if (this.connection) {
20
- this.tables[collectionName] = this.connection.model(modelName, schema);
21
- }
22
- });
23
- }
24
- getTables() {
25
- if (!this.tables) {
26
- throw new ProsopoDBError("DATABASE.TABLES_UNDEFINED", {
27
- context: { failedFuncName: this.getTables.name },
28
- logger: this.logger,
29
- });
30
- }
31
- return this.tables;
32
- }
33
- async getUpdatedClients(updatedAtTimestamp) {
34
- await this.connect();
35
- const newClientRecords = await this.tables.emails
36
- .find({ updatedAtTimestamp: { $gt: updatedAtTimestamp }, activated: true }, { account: 1, settings: 1 })
37
- .lean();
38
- await this.close();
39
- return newClientRecords;
40
- }
41
- }
42
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/databases/client.ts"],"names":[],"mappings":"AAcA,OAAO,EAAe,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAGN,UAAU,EAEV,cAAc,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,aAAa,GAAG;IACrB;QACC,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,cAAc;KACtB;CACD,CAAC;AAEF,MAAM,OAAO,cAAe,SAAQ,aAAa;IAGhD,YACC,GAAW,EACX,MAAe,EACf,UAAmB,EACnB,MAAe;QAEf,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,EAAwB,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,OAAO;QACrB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACxE,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,SAAS;QACR,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE;gBACrD,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gBAChD,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACtB,kBAA6B;QAE7B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;aAC/C,IAAI,CACJ,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EACpE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAC3B;aACA,IAAI,EAAkB,CAAC;QACzB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,gBAAgB,CAAC;IACzB,CAAC;CACD"}
@@ -1,16 +0,0 @@
1
- import { MongoDatabase } from "../base/mongo.js";
2
- import { MongoMemoryDatabase } from "../base/mongoMemory.js";
3
- import { CaptchaDatabase } from "./captcha.js";
4
- import { ClientDatabase } from "./client.js";
5
- import { ProviderDatabase } from "./provider.js";
6
- export * from "./captcha.js";
7
- export * from "./client.js";
8
- export { ProviderDatabase } from "./provider.js";
9
- export declare const Databases: {
10
- mongo: typeof MongoDatabase;
11
- provider: typeof ProviderDatabase;
12
- client: typeof ClientDatabase;
13
- captcha: typeof CaptchaDatabase;
14
- mongoMemory: typeof MongoMemoryDatabase;
15
- };
16
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/databases/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC"}
@@ -1,17 +0,0 @@
1
- import { DatabaseTypes } from "@prosopo/types";
2
- import { MongoDatabase } from "../base/mongo.js";
3
- import { MongoMemoryDatabase } from "../base/mongoMemory.js";
4
- import { CaptchaDatabase } from "./captcha.js";
5
- import { ClientDatabase } from "./client.js";
6
- import { ProviderDatabase } from "./provider.js";
7
- export * from "./captcha.js";
8
- export * from "./client.js";
9
- export { ProviderDatabase } from "./provider.js";
10
- export const Databases = {
11
- [DatabaseTypes.Values.mongo]: MongoDatabase,
12
- [DatabaseTypes.Values.provider]: ProviderDatabase,
13
- [DatabaseTypes.Values.client]: ClientDatabase,
14
- [DatabaseTypes.Values.captcha]: CaptchaDatabase,
15
- [DatabaseTypes.Values.mongoMemory]: MongoMemoryDatabase,
16
- };
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/databases/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa;IAC3C,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,gBAAgB;IACjD,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc;IAC7C,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe;IAC/C,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,mBAAmB;CACvD,CAAC"}
@@ -1,68 +0,0 @@
1
- import { type Logger, type TranslationKey } from "@prosopo/common";
2
- import { type Captcha, type CaptchaResult, type CaptchaSolution, CaptchaStates, type Dataset, type DatasetBase, type DatasetWithIds, type DatasetWithIdsAndTree, type Hash, type PendingCaptchaRequest, type PoWChallengeComponents, type PoWChallengeId, type RequestHeaders, type ScheduledTaskNames, type ScheduledTaskResult, type ScheduledTaskStatus } from "@prosopo/types";
3
- import { type ClientRecord, type IDatabase, type PoWCaptchaRecord, type ScheduledTaskRecord, type SolutionRecord, type StoredStatus, type Tables, type UserCommitment, type UserCommitmentRecord, type UserSolutionRecord } from "@prosopo/types-database";
4
- import type { DeleteResult } from "mongodb";
5
- import type { ObjectId } from "mongoose";
6
- import { MongoDatabase } from "../base/mongo.js";
7
- declare enum TableNames {
8
- captcha = "captcha",
9
- dataset = "dataset",
10
- solution = "solution",
11
- commitment = "commitment",
12
- usersolution = "usersolution",
13
- pending = "pending",
14
- scheduler = "scheduler",
15
- powcaptcha = "powcaptcha",
16
- client = "client"
17
- }
18
- export declare class ProviderDatabase extends MongoDatabase implements IDatabase {
19
- tables: Tables<TableNames>;
20
- constructor(url: string, dbname?: string, authSource?: string, logger?: Logger);
21
- connect(): Promise<void>;
22
- loadTables(): void;
23
- getTables(): Tables<TableNames>;
24
- storeDataset(dataset: Dataset | DatasetWithIdsAndTree): Promise<void>;
25
- getSolutions(datasetId: string): Promise<SolutionRecord[]>;
26
- getDataset(datasetId: string): Promise<DatasetWithIds>;
27
- getRandomCaptcha(solved: boolean, datasetId: Hash, size?: number): Promise<Captcha[] | undefined>;
28
- getCaptchaById(captchaId: string[]): Promise<Captcha[] | undefined>;
29
- updateCaptcha(captcha: Captcha, datasetId: Hash): Promise<void>;
30
- removeCaptchas(captchaIds: string[]): Promise<void>;
31
- getDatasetDetails(datasetId: Hash): Promise<DatasetBase>;
32
- storeDappUserSolution(captchas: CaptchaSolution[], commit: UserCommitment): Promise<void>;
33
- storePowCaptchaRecord(challenge: PoWChallengeId, components: PoWChallengeComponents, difficulty: number, providerSignature: string, ipAddress: string, headers: RequestHeaders, serverChecked?: boolean, userSubmitted?: boolean, storedStatus?: StoredStatus, userSignature?: string): Promise<void>;
34
- getPowCaptchaRecordByChallenge(challenge: string): Promise<PoWCaptchaRecord | null>;
35
- updatePowCaptchaRecord(challenge: PoWChallengeId, result: CaptchaResult, serverChecked?: boolean, userSubmitted?: boolean, userSignature?: string): Promise<void>;
36
- getProcessedDappUserSolutions(): Promise<UserSolutionRecord[]>;
37
- getProcessedDappUserCommitments(): Promise<UserCommitmentRecord[]>;
38
- getCheckedDappUserCommitments(): Promise<UserCommitmentRecord[]>;
39
- getUnstoredDappUserCommitments(): Promise<UserCommitmentRecord[]>;
40
- markDappUserCommitmentsStored(commitmentIds: Hash[]): Promise<void>;
41
- markDappUserCommitmentsChecked(commitmentIds: Hash[]): Promise<void>;
42
- getUnstoredDappUserPoWCommitments(): Promise<PoWCaptchaRecord[]>;
43
- markDappUserPoWCommitmentsStored(challenges: string[]): Promise<void>;
44
- markDappUserPoWCommitmentsChecked(challenges: string[]): Promise<void>;
45
- removeProcessedDappUserSolutions(commitmentIds: string[]): Promise<DeleteResult | undefined>;
46
- removeProcessedDappUserCommitments(commitmentIds: string[]): Promise<DeleteResult | undefined>;
47
- storeDappUserPending(userAccount: string, requestHash: string, salt: string, deadlineTimestamp: number, requestedAtTimestamp: number, ipAddress: string): Promise<void>;
48
- getDappUserPending(requestHash: string): Promise<PendingCaptchaRequest>;
49
- updateDappUserPendingStatus(requestHash: string): Promise<void>;
50
- getAllCaptchasByDatasetId(datasetId: string, state?: CaptchaStates): Promise<Captcha[] | undefined>;
51
- getAllDappUserSolutions(captchaId: string[]): Promise<UserSolutionRecord[] | undefined>;
52
- getDatasetIdWithSolvedCaptchasOfSizeN(solvedCaptchaCount: number): Promise<string>;
53
- getRandomSolvedCaptchasFromSingleDataset(datasetId: string, size: number): Promise<CaptchaSolution[]>;
54
- getDappUserSolutionById(commitmentId: string): Promise<UserSolutionRecord | undefined>;
55
- getDappUserCommitmentById(commitmentId: string): Promise<UserCommitmentRecord | undefined>;
56
- getDappUserCommitmentByAccount(userAccount: string, dappAccount: string): Promise<UserCommitmentRecord[]>;
57
- approveDappUserCommitment(commitmentId: string): Promise<void>;
58
- disapproveDappUserCommitment(commitmentId: string, reason?: TranslationKey): Promise<void>;
59
- flagProcessedDappUserSolutions(captchaIds: Hash[]): Promise<void>;
60
- flagProcessedDappUserCommitments(commitmentIds: Hash[]): Promise<void>;
61
- getScheduledTaskStatus(taskId: ObjectId, status: ScheduledTaskStatus): Promise<ScheduledTaskRecord | undefined>;
62
- getLastScheduledTaskStatus(task: ScheduledTaskNames, status?: ScheduledTaskStatus): Promise<ScheduledTaskRecord | undefined>;
63
- createScheduledTaskStatus(taskName: ScheduledTaskNames, status: ScheduledTaskStatus): Promise<ObjectId>;
64
- updateScheduledTaskStatus(taskId: ObjectId, status: ScheduledTaskStatus, result?: ScheduledTaskResult): Promise<void>;
65
- updateClientRecords(clientRecords: ClientRecord[]): Promise<void>;
66
- }
67
- export {};
68
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/databases/provider.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,MAAM,EAGX,KAAK,cAAc,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,aAAa,EAEb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAE1B,KAAK,IAAI,EACT,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,KAAK,YAAY,EAGjB,KAAK,SAAS,EAGd,KAAK,gBAAgB,EAIrB,KAAK,mBAAmB,EAGxB,KAAK,cAAc,EAGnB,KAAK,YAAY,EAEjB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAGzB,KAAK,kBAAkB,EAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,aAAK,UAAU;IACd,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,MAAM,WAAW;CACjB;AAkDD,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,SAAS;IACvE,MAAM,EAAS,MAAM,CAAC,UAAU,CAAC,CAAC;gBAGjC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM;IAMD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvC,UAAU;IAUV,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;IAczB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgFrE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAU1D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA0DtD,gBAAgB,CACrB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,IAAI,EACf,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IA0C3B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IAqBnE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB/D,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IA0BxD,qBAAqB,CAC1B,QAAQ,EAAE,eAAe,EAAE,EAC3B,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC;IA+CV,qBAAqB,CAC1B,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,aAAa,UAAQ,EACrB,aAAa,UAAQ,EACrB,YAAY,GAAE,YAA0C,EACxD,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAmDV,8BAA8B,CACnC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IA0C7B,sBAAsB,CAC3B,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,UAAQ,EACrB,aAAa,UAAQ,EACrB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA6DV,6BAA6B,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAS9D,+BAA+B,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IASlE,6BAA6B,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAUhE,8BAA8B,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAcjE,6BAA6B,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE,8BAA8B,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpE,iCAAiC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAchE,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtE,gCAAgC,CACrC,aAAa,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAS9B,kCAAkC,CACvC,aAAa,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAU9B,oBAAoB,CACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IA4BV,kBAAkB,CACvB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAwB3B,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/D,yBAAyB,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IAoB3B,uBAAuB,CAC5B,SAAS,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAgBtC,qCAAqC,CAC1C,kBAAkB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IA8BZ,wCAAwC,CAC7C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,EAAE,CAAC;IAyCvB,uBAAuB,CAC5B,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAwBpC,yBAAyB,CAC9B,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAetC,8BAA8B,CACnC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAc5B,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9D,4BAA4B,CACjC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IA0BV,8BAA8B,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,gCAAgC,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,sBAAsB,CAC3B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAWrC,0BAA0B,CAC/B,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAoBrC,yBAAyB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC;IAcd,yBAAyB,CAC9B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAkBV,mBAAmB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBvE"}