@prosopo/database 0.2.25 → 0.2.32

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.
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ exports.Error = void 0;
4
+ (function(Error) {
5
+ Error["notAuthorised"] = "NotAuthorised";
6
+ Error["transferFailed"] = "TransferFailed";
7
+ Error["setCodeHashFailed"] = "SetCodeHashFailed";
8
+ Error["invalidDestination"] = "InvalidDestination";
9
+ Error["unknownMessage"] = "UnknownMessage";
10
+ Error["providerAccountExists"] = "ProviderAccountExists";
11
+ Error["providerExists"] = "ProviderExists";
12
+ Error["providerAccountDoesNotExist"] = "ProviderAccountDoesNotExist";
13
+ Error["providerDoesNotExist"] = "ProviderDoesNotExist";
14
+ Error["providerInsufficientFunds"] = "ProviderInsufficientFunds";
15
+ Error["providerInactive"] = "ProviderInactive";
16
+ Error["providerUrlUsed"] = "ProviderUrlUsed";
17
+ Error["dappExists"] = "DappExists";
18
+ Error["dappDoesNotExist"] = "DappDoesNotExist";
19
+ Error["dappInactive"] = "DappInactive";
20
+ Error["dappInsufficientFunds"] = "DappInsufficientFunds";
21
+ Error["captchaDataDoesNotExist"] = "CaptchaDataDoesNotExist";
22
+ Error["commitDoesNotExist"] = "CommitDoesNotExist";
23
+ Error["dappUserDoesNotExist"] = "DappUserDoesNotExist";
24
+ Error["noActiveProviders"] = "NoActiveProviders";
25
+ Error["datasetIdSolutionsSame"] = "DatasetIdSolutionsSame";
26
+ Error["codeNotFound"] = "CodeNotFound";
27
+ Error["unknown"] = "Unknown";
28
+ Error["invalidContract"] = "InvalidContract";
29
+ Error["invalidPayee"] = "InvalidPayee";
30
+ Error["invalidCaptchaStatus"] = "InvalidCaptchaStatus";
31
+ Error["noCorrectCaptcha"] = "NoCorrectCaptcha";
32
+ Error["notEnoughActiveProviders"] = "NotEnoughActiveProviders";
33
+ Error["providerFeeTooHigh"] = "ProviderFeeTooHigh";
34
+ Error["commitAlreadyExists"] = "CommitAlreadyExists";
35
+ Error["notAuthor"] = "NotAuthor";
36
+ })(exports.Error || (exports.Error = {}));
37
+ exports.LangError = void 0;
38
+ (function(LangError) {
39
+ LangError["couldNotReadInput"] = "CouldNotReadInput";
40
+ })(exports.LangError || (exports.LangError = {}));
41
+ exports.Payee = void 0;
42
+ (function(Payee) {
43
+ Payee["provider"] = "Provider";
44
+ Payee["dapp"] = "Dapp";
45
+ })(exports.Payee || (exports.Payee = {}));
46
+ exports.DappPayee = void 0;
47
+ (function(DappPayee) {
48
+ DappPayee["provider"] = "Provider";
49
+ DappPayee["dapp"] = "Dapp";
50
+ DappPayee["any"] = "Any";
51
+ })(exports.DappPayee || (exports.DappPayee = {}));
52
+ exports.GovernanceStatus = void 0;
53
+ (function(GovernanceStatus) {
54
+ GovernanceStatus["active"] = "Active";
55
+ GovernanceStatus["inactive"] = "Inactive";
56
+ })(exports.GovernanceStatus || (exports.GovernanceStatus = {}));
57
+ exports.CaptchaStatus = void 0;
58
+ (function(CaptchaStatus) {
59
+ CaptchaStatus["pending"] = "Pending";
60
+ CaptchaStatus["approved"] = "Approved";
61
+ CaptchaStatus["disapproved"] = "Disapproved";
62
+ })(exports.CaptchaStatus || (exports.CaptchaStatus = {}));
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const common = require("@prosopo/common");
4
4
  const types = require("@prosopo/types");
5
5
  const typesDatabase = require("@prosopo/types-database");
6
- const typesReturns = require("@prosopo/captcha-contract/types-returns");
6
+ const captcha = require("../contracts/captcha/dist/types-returns/captcha.cjs");
7
7
  const mongodb = require("mongodb");
8
8
  const is = require("@polkadot/util/is");
9
9
  const mongoose = require("mongoose");
@@ -78,10 +78,10 @@ class ProsopoDatabase extends common.AsyncFactory {
78
78
  }
79
79
  /** Close connection to the database */
80
80
  async close() {
81
- this.logger.debug(`Closing connection to ${this.url}`);
81
+ this.logger.info(`Closing connection to ${this.url}`);
82
82
  await new Promise(async (resolve, reject) => {
83
83
  mongoose.connection.close().then(() => {
84
- this.logger.debug(`Connection to ${this.url} closed`);
84
+ this.logger.info(`Connection to ${this.url} closed`);
85
85
  resolve();
86
86
  }).catch(reject);
87
87
  });
@@ -93,7 +93,7 @@ class ProsopoDatabase extends common.AsyncFactory {
93
93
  async storeDataset(dataset) {
94
94
  var _a, _b, _c;
95
95
  try {
96
- this.logger.debug(`Storing dataset in database`);
96
+ this.logger.info(`Storing dataset in database`);
97
97
  const parsedDataset = types.DatasetWithIdsAndTreeSchema.parse(dataset);
98
98
  const datasetDoc = {
99
99
  datasetId: parsedDataset.datasetId,
@@ -107,14 +107,14 @@ class ProsopoDatabase extends common.AsyncFactory {
107
107
  { $set: datasetDoc },
108
108
  { upsert: true }
109
109
  ));
110
- const captchaDocs = parsedDataset.captchas.map(({ solution, ...captcha }, index) => ({
111
- ...captcha,
110
+ const captchaDocs = parsedDataset.captchas.map(({ solution, ...captcha2 }, index) => ({
111
+ ...captcha2,
112
112
  datasetId: parsedDataset.datasetId,
113
113
  datasetContentId: parsedDataset.datasetContentId,
114
114
  index,
115
115
  solved: !!(solution == null ? void 0 : solution.length)
116
116
  }));
117
- this.logger.debug(`Inserting captcha records`);
117
+ this.logger.info(`Inserting captcha records`);
118
118
  if (captchaDocs.length) {
119
119
  await ((_b = this.tables) == null ? void 0 : _b.captcha.bulkWrite(
120
120
  captchaDocs.map((captchaDoc) => ({
@@ -126,15 +126,15 @@ class ProsopoDatabase extends common.AsyncFactory {
126
126
  }))
127
127
  ));
128
128
  }
129
- const captchaSolutionDocs = parsedDataset.captchas.filter(({ solution }) => solution == null ? void 0 : solution.length).map((captcha) => ({
130
- captchaId: captcha.captchaId,
131
- captchaContentId: captcha.captchaContentId,
132
- solution: captcha.solution,
133
- salt: captcha.salt,
129
+ const captchaSolutionDocs = parsedDataset.captchas.filter(({ solution }) => solution == null ? void 0 : solution.length).map((captcha2) => ({
130
+ captchaId: captcha2.captchaId,
131
+ captchaContentId: captcha2.captchaContentId,
132
+ solution: captcha2.solution,
133
+ salt: captcha2.salt,
134
134
  datasetId: parsedDataset.datasetId,
135
135
  datasetContentId: parsedDataset.datasetContentId
136
136
  }));
137
- this.logger.debug(`Inserting solution records`);
137
+ this.logger.info(`Inserting solution records`);
138
138
  if (captchaSolutionDocs.length) {
139
139
  await ((_c = this.tables) == null ? void 0 : _c.solution.bulkWrite(
140
140
  captchaSolutionDocs.map((captchaSolutionDoc) => ({
@@ -146,19 +146,11 @@ class ProsopoDatabase extends common.AsyncFactory {
146
146
  }))
147
147
  ));
148
148
  }
149
- this.logger.debug(`Dataset stored in database`);
149
+ this.logger.info(`Dataset stored in database`);
150
150
  } catch (err) {
151
151
  throw new common.ProsopoEnvError(err, "DATABASE.DATASET_LOAD_FAILED");
152
152
  }
153
153
  }
154
- /** @description Get solutions for a dataset
155
- * @param {string} datasetId
156
- */
157
- async getSolutions(datasetId) {
158
- var _a;
159
- const docs = await ((_a = this.tables) == null ? void 0 : _a.solution.find({ datasetId }).lean());
160
- return docs ? docs : [];
161
- }
162
154
  /** @description Get a dataset from the database
163
155
  * @param {string} datasetId
164
156
  */
@@ -255,13 +247,13 @@ class ProsopoDatabase extends common.AsyncFactory {
255
247
  * @param {Captcha} captcha
256
248
  * @param {string} datasetId the id of the data set
257
249
  */
258
- async updateCaptcha(captcha, datasetId) {
250
+ async updateCaptcha(captcha2, datasetId) {
259
251
  var _a;
260
252
  if (!is.isHex(datasetId)) {
261
253
  throw new common.ProsopoEnvError("DATABASE.INVALID_HASH", this.updateCaptcha.name, {}, datasetId);
262
254
  }
263
255
  try {
264
- await ((_a = this.tables) == null ? void 0 : _a.captcha.updateOne({ datasetId }, { $set: captcha }, { upsert: false }));
256
+ await ((_a = this.tables) == null ? void 0 : _a.captcha.updateOne({ datasetId }, { $set: captcha2 }, { upsert: false }));
265
257
  } catch (err) {
266
258
  throw new common.ProsopoEnvError(err);
267
259
  }
@@ -301,15 +293,15 @@ class ProsopoDatabase extends common.AsyncFactory {
301
293
  commitmentRecord,
302
294
  { upsert: true }
303
295
  ));
304
- const ops = captchas.map((captcha) => ({
296
+ const ops = captchas.map((captcha2) => ({
305
297
  updateOne: {
306
- filter: { commitmentId: commit.id, captchaId: captcha.captchaId },
298
+ filter: { commitmentId: commit.id, captchaId: captcha2.captchaId },
307
299
  update: {
308
300
  $set: {
309
- captchaId: captcha.captchaId,
310
- captchaContentId: captcha.captchaContentId,
311
- salt: captcha.salt,
312
- solution: captcha.solution,
301
+ captchaId: captcha2.captchaId,
302
+ captchaContentId: captcha2.captchaContentId,
303
+ salt: captcha2.salt,
304
+ solution: captcha2.solution,
313
305
  commitmentId: commit.id,
314
306
  processed: false
315
307
  }
@@ -541,7 +533,7 @@ class ProsopoDatabase extends common.AsyncFactory {
541
533
  try {
542
534
  await ((_b = (_a = this.tables) == null ? void 0 : _a.commitment) == null ? void 0 : _b.findOneAndUpdate(
543
535
  { id: commitmentId },
544
- { $set: { status: typesReturns.CaptchaStatus.approved } },
536
+ { $set: { status: captcha.CaptchaStatus.approved } },
545
537
  { upsert: false }
546
538
  ).lean());
547
539
  } catch (err) {
@@ -1,7 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const index = require("./databases/index.cjs");
4
- require("./eventsDatabase/index.cjs");
5
- const eventsDatabase = require("./eventsDatabase/eventsDatabase.cjs");
6
4
  exports.Databases = index.Databases;
7
- exports.saveCaptchaEvent = eventsDatabase.saveCaptchaEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AsyncFactory, ProsopoEnvError, getLoggerDefault } from '@prosopo/common';
1
+ import { AsyncFactory, ProsopoDBError, ProsopoEnvError, getLoggerDefault } from '@prosopo/common';
2
2
  import { CaptchaStates, DatasetWithIdsAndTreeSchema, ScheduledTaskNames, ScheduledTaskStatus, } from '@prosopo/types';
3
3
  import { CaptchaRecordSchema, DatasetRecordSchema, PendingRecordSchema, ScheduledTaskRecordSchema, ScheduledTaskSchema, SolutionRecordSchema, UserCommitmentRecordSchema, UserCommitmentSchema, UserSolutionRecordSchema, UserSolutionSchema, } from '@prosopo/types-database';
4
4
  import { CaptchaStatus } from '@prosopo/captcha-contract/types-returns';
@@ -53,10 +53,11 @@ export class ProsopoDatabase extends AsyncFactory {
53
53
  this.connection.model('Scheduler', ScheduledTaskRecordSchema),
54
54
  };
55
55
  this.connection.once('open', resolve).on('error', (e) => {
56
- this.logger.warn(`mongoose connection error`);
57
- this.logger.error(e);
58
56
  if (attempt === MAX_RETRIES) {
59
- reject(new ProsopoEnvError(e, 'DATABASE.CONNECT_ERROR', {}, this.url));
57
+ reject(new ProsopoDBError('DATABASE.CONNECT_ERROR', {
58
+ context: { url: this.url, error: e, attempt },
59
+ logger: this.logger,
60
+ }));
60
61
  }
61
62
  else {
62
63
  this.connection?.removeAllListeners('error');
@@ -140,7 +141,10 @@ export class ProsopoDatabase extends AsyncFactory {
140
141
  this.logger.debug(`Dataset stored in database`);
141
142
  }
142
143
  catch (err) {
143
- throw new ProsopoEnvError(err, 'DATABASE.DATASET_LOAD_FAILED');
144
+ throw new ProsopoDBError('DATABASE.DATASET_LOAD_FAILED', {
145
+ context: { failedFuncName: this.storeDataset.name, error: err },
146
+ logger: this.logger,
147
+ });
144
148
  }
145
149
  }
146
150
  async getSolutions(datasetId) {
@@ -180,11 +184,15 @@ export class ProsopoDatabase extends AsyncFactory {
180
184
  }),
181
185
  };
182
186
  }
183
- throw new ProsopoEnvError('DATABASE.DATASET_GET_FAILED', undefined, {}, datasetId);
187
+ throw new ProsopoDBError('DATABASE.DATASET_GET_FAILED', {
188
+ context: { failedFuncName: this.getDataset.name, datasetId },
189
+ });
184
190
  }
185
191
  async getRandomCaptcha(solved, datasetId, size) {
186
192
  if (!isHex(datasetId)) {
187
- throw new ProsopoEnvError('DATABASE.INVALID_HASH', this.getRandomCaptcha.name, {}, datasetId);
193
+ throw new ProsopoDBError('DATABASE.INVALID_HASH', {
194
+ context: { failedFuncName: this.getRandomCaptcha.name, datasetId },
195
+ });
188
196
  }
189
197
  const sampleSize = size ? Math.abs(Math.trunc(size)) : 1;
190
198
  const cursor = this.tables?.captcha.aggregate([
@@ -205,10 +213,8 @@ export class ProsopoDatabase extends AsyncFactory {
205
213
  if (docs && docs.length) {
206
214
  return docs.map(({ _id, ...keepAttrs }) => keepAttrs);
207
215
  }
208
- throw new ProsopoEnvError('DATABASE.CAPTCHA_GET_FAILED', this.getRandomCaptcha.name, {}, {
209
- solved: solved,
210
- datasetId: datasetId,
211
- size: size,
216
+ throw new ProsopoDBError('DATABASE.CAPTCHA_GET_FAILED', {
217
+ context: { failedFuncName: this.getRandomCaptcha.name, solved, datasetId, size },
212
218
  });
213
219
  }
214
220
  async getCaptchaById(captchaId) {
@@ -217,17 +223,23 @@ export class ProsopoDatabase extends AsyncFactory {
217
223
  if (docs && docs.length) {
218
224
  return docs.map(({ _id, ...keepAttrs }) => keepAttrs);
219
225
  }
220
- throw new ProsopoEnvError('DATABASE.CAPTCHA_GET_FAILED', this.getCaptchaById.name, {}, captchaId);
226
+ throw new ProsopoDBError('DATABASE.CAPTCHA_GET_FAILED', {
227
+ context: { failedFuncName: this.getCaptchaById.name, captchaId },
228
+ });
221
229
  }
222
230
  async updateCaptcha(captcha, datasetId) {
223
231
  if (!isHex(datasetId)) {
224
- throw new ProsopoEnvError('DATABASE.INVALID_HASH', this.updateCaptcha.name, {}, datasetId);
232
+ throw new ProsopoDBError('DATABASE.INVALID_HASH', {
233
+ context: { failedFuncName: this.updateCaptcha.name, datasetId },
234
+ });
225
235
  }
226
236
  try {
227
237
  await this.tables?.captcha.updateOne({ datasetId }, { $set: captcha }, { upsert: false });
228
238
  }
229
239
  catch (err) {
230
- throw new ProsopoEnvError(err);
240
+ throw new ProsopoDBError('DATABASE.CAPTCHA_UPDATE_FAILED', {
241
+ context: { failedFuncName: this.getDatasetDetails.name, error: err },
242
+ });
231
243
  }
232
244
  }
233
245
  async removeCaptchas(captchaIds) {
@@ -235,13 +247,17 @@ export class ProsopoDatabase extends AsyncFactory {
235
247
  }
236
248
  async getDatasetDetails(datasetId) {
237
249
  if (!isHex(datasetId)) {
238
- throw new ProsopoEnvError('DATABASE.INVALID_HASH', this.getDatasetDetails.name, {}, datasetId);
250
+ throw new ProsopoDBError('DATABASE.INVALID_HASH', {
251
+ context: { failedFuncName: this.getDatasetDetails.name, datasetId },
252
+ });
239
253
  }
240
254
  const doc = await this.tables?.dataset.findOne({ datasetId }).lean();
241
255
  if (doc) {
242
256
  return doc;
243
257
  }
244
- throw new ProsopoEnvError('DATABASE.DATASET_GET_FAILED', this.getDatasetDetails.name, {}, datasetId);
258
+ throw new ProsopoDBError('DATABASE.DATASET_GET_FAILED', {
259
+ context: { failedFuncName: this.getDatasetDetails.name, datasetId },
260
+ });
245
261
  }
246
262
  async storeDappUserSolution(captchas, commit) {
247
263
  const commitmentRecord = UserCommitmentSchema.parse(commit);
@@ -292,7 +308,9 @@ export class ProsopoDatabase extends AsyncFactory {
292
308
  }
293
309
  async storeDappUserPending(userAccount, requestHash, salt, deadlineTimestamp, requestedAtBlock) {
294
310
  if (!isHex(requestHash)) {
295
- throw new ProsopoEnvError('DATABASE.INVALID_HASH', this.storeDappUserPending.name, {}, requestHash);
311
+ throw new ProsopoDBError('DATABASE.INVALID_HASH', {
312
+ context: { failedFuncName: this.storeDappUserPending.name, requestHash },
313
+ });
296
314
  }
297
315
  const pendingRecord = {
298
316
  accountId: userAccount,
@@ -306,7 +324,9 @@ export class ProsopoDatabase extends AsyncFactory {
306
324
  }
307
325
  async getDappUserPending(requestHash) {
308
326
  if (!isHex(requestHash)) {
309
- throw new ProsopoEnvError('DATABASE.INVALID_HASH', this.getDappUserPending.name, {}, requestHash);
327
+ throw new ProsopoEnvError('DATABASE.INVALID_HASH', {
328
+ context: { failedFuncName: this.getDappUserPending.name, requestHash },
329
+ });
310
330
  }
311
331
  const doc = await this.tables?.pending
312
332
  .findOne({ requestHash: requestHash })
@@ -314,11 +334,15 @@ export class ProsopoDatabase extends AsyncFactory {
314
334
  if (doc) {
315
335
  return doc;
316
336
  }
317
- throw new ProsopoEnvError('DATABASE.PENDING_RECORD_NOT_FOUND', this.getDappUserPending.name);
337
+ throw new ProsopoEnvError('DATABASE.PENDING_RECORD_NOT_FOUND', {
338
+ context: { failedFuncName: this.getDappUserPending.name, requestHash },
339
+ });
318
340
  }
319
341
  async updateDappUserPendingStatus(userAccount, requestHash, approve) {
320
342
  if (!isHex(requestHash)) {
321
- throw new ProsopoEnvError('DATABASE.INVALID_HASH', this.updateDappUserPendingStatus.name, {}, requestHash);
343
+ throw new ProsopoEnvError('DATABASE.INVALID_HASH', {
344
+ context: { failedFuncName: this.updateDappUserPendingStatus.name, requestHash },
345
+ });
322
346
  }
323
347
  await this.tables?.pending.updateOne({ requestHash: requestHash }, {
324
348
  $set: {
@@ -374,11 +398,13 @@ export class ProsopoDatabase extends AsyncFactory {
374
398
  if (docs && docs.length) {
375
399
  return docs[0]._id;
376
400
  }
377
- throw new ProsopoEnvError('DATABASE.DATASET_WITH_SOLUTIONS_GET_FAILED');
401
+ throw new ProsopoDBError('DATABASE.DATASET_WITH_SOLUTIONS_GET_FAILED');
378
402
  }
379
403
  async getRandomSolvedCaptchasFromSingleDataset(datasetId, size) {
380
404
  if (!isHex(datasetId)) {
381
- throw new ProsopoEnvError('DATABASE.INVALID_HASH', this.getRandomSolvedCaptchasFromSingleDataset.name, {}, datasetId);
405
+ throw new ProsopoDBError('DATABASE.INVALID_HASH', {
406
+ context: { failedFuncName: this.getRandomSolvedCaptchasFromSingleDataset.name, datasetId },
407
+ });
382
408
  }
383
409
  const sampleSize = size ? Math.abs(Math.trunc(size)) : 1;
384
410
  const cursor = this.tables?.solution.aggregate([
@@ -396,7 +422,9 @@ export class ProsopoDatabase extends AsyncFactory {
396
422
  if (docs && docs.length) {
397
423
  return docs;
398
424
  }
399
- throw new ProsopoEnvError('DATABASE.SOLUTION_GET_FAILED');
425
+ throw new ProsopoDBError('DATABASE.SOLUTION_GET_FAILED', {
426
+ context: { failedFuncName: this.getRandomSolvedCaptchasFromSingleDataset.name, datasetId, size },
427
+ });
400
428
  }
401
429
  async getDappUserSolutionById(commitmentId) {
402
430
  const cursor = this.tables?.usersolution
@@ -408,7 +436,9 @@ export class ProsopoDatabase extends AsyncFactory {
408
436
  if (doc) {
409
437
  return doc;
410
438
  }
411
- throw new ProsopoEnvError('DATABASE.SOLUTION_GET_FAILED', this.getCaptchaById.name, {}, commitmentId);
439
+ throw new ProsopoDBError('DATABASE.SOLUTION_GET_FAILED', {
440
+ context: { failedFuncName: this.getCaptchaById.name, commitmentId },
441
+ });
412
442
  }
413
443
  async getDappUserCommitmentById(commitmentId) {
414
444
  const commitmentCursor = this.tables?.commitment?.findOne({ id: commitmentId }).lean();
@@ -428,7 +458,7 @@ export class ProsopoDatabase extends AsyncFactory {
428
458
  .lean();
429
459
  }
430
460
  catch (err) {
431
- throw new ProsopoEnvError(err, 'DATABASE.SOLUTION_APPROVE_FAILED', {}, commitmentId);
461
+ throw new ProsopoDBError('DATABASE.SOLUTION_APPROVE_FAILED', { context: { error: err, commitmentId } });
432
462
  }
433
463
  }
434
464
  async flagProcessedDappUserSolutions(captchaIds) {
@@ -438,7 +468,7 @@ export class ProsopoDatabase extends AsyncFactory {
438
468
  .lean();
439
469
  }
440
470
  catch (err) {
441
- throw new ProsopoEnvError(err, 'DATABASE.SOLUTION_FLAG_FAILED', {}, captchaIds);
471
+ throw new ProsopoDBError('DATABASE.SOLUTION_FLAG_FAILED', { context: { error: err, captchaIds } });
442
472
  }
443
473
  }
444
474
  async flagProcessedDappUserCommitments(commitmentIds) {
@@ -449,7 +479,7 @@ export class ProsopoDatabase extends AsyncFactory {
449
479
  .lean();
450
480
  }
451
481
  catch (err) {
452
- throw new ProsopoEnvError(err, 'DATABASE.COMMITMENT_FLAG_FAILED', {}, commitmentIds);
482
+ throw new ProsopoDBError('DATABASE.COMMITMENT_FLAG_FAILED', { context: { error: err, commitmentIds } });
453
483
  }
454
484
  }
455
485
  async flagBatchedDappUserCommitments(commitmentIds) {
@@ -460,7 +490,7 @@ export class ProsopoDatabase extends AsyncFactory {
460
490
  .lean();
461
491
  }
462
492
  catch (err) {
463
- throw new ProsopoEnvError(err, 'DATABASE.COMMITMENT_FLAG_FAILED', {}, commitmentIds);
493
+ throw new ProsopoDBError('DATABASE.COMMITMENT_FLAG_FAILED', { context: { error: err, commitmentIds } });
464
494
  }
465
495
  }
466
496
  async getLastBatchCommitTime() {
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/databases/mongo.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { StoredEvents } from '@prosopo/types';
2
- export declare const saveCaptchaEvent: (events: StoredEvents, accountId: string, atlasUri: string) => Promise<void>;
2
+ export declare const saveCaptchaEvent: (events: StoredEvents, accountId: string, atlasUri: string) => Promise<unknown>;
3
3
  //# sourceMappingURL=eventsDatabase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventsDatabase.d.ts","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AA8C7C,eAAO,MAAM,gBAAgB,WAAkB,YAAY,aAAa,MAAM,YAAY,MAAM,kBAc/F,CAAA"}
1
+ {"version":3,"file":"eventsDatabase.d.ts","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AA+ChE,eAAO,MAAM,gBAAgB,WAAkB,YAAY,aAAa,MAAM,YAAY,MAAM,qBAiC/F,CAAA"}
@@ -1,4 +1,7 @@
1
+ import { ProsopoDBError, getLoggerDefault } from '@prosopo/common';
1
2
  import mongoose from 'mongoose';
3
+ const logger = getLoggerDefault();
4
+ const MAX_RETRIES = 3;
2
5
  const captchaEventSchema = new mongoose.Schema({
3
6
  touchEvents: [
4
7
  {
@@ -18,34 +21,55 @@ const captchaEventSchema = new mongoose.Schema({
18
21
  {
19
22
  key: String,
20
23
  timestamp: Number,
21
- isShiftKey: Boolean,
22
- isCtrlKey: Boolean,
24
+ isShiftKey: { type: Boolean, required: false },
25
+ isCtrlKey: { type: Boolean, required: false },
23
26
  },
24
27
  ],
25
28
  accountId: String,
26
29
  });
27
- const CaptchaEvent = mongoose.model('CaptchaEvent', captchaEventSchema);
30
+ let CaptchaEvent;
31
+ try {
32
+ CaptchaEvent = mongoose.model('CaptchaEvent');
33
+ }
34
+ catch (error) {
35
+ CaptchaEvent = mongoose.model('CaptchaEvent', captchaEventSchema);
36
+ }
28
37
  const addCaptchaEventRecord = async (record) => {
29
38
  try {
30
39
  const newRecord = new CaptchaEvent(record);
31
40
  await newRecord.save();
32
- console.log('Record added successfully');
41
+ logger.info('Record added successfully');
33
42
  }
34
43
  catch (error) {
35
- console.error('Error adding record to the database:', error);
44
+ logger.error('Error adding record to the database:', error);
36
45
  }
37
46
  };
38
47
  export const saveCaptchaEvent = async (events, accountId, atlasUri) => {
39
- await mongoose
40
- .connect(atlasUri)
41
- .then(() => console.log('Connected to MongoDB Atlas'))
42
- .catch((err) => console.error('Error connecting to MongoDB:', err));
43
- const captchaEventData = {
44
- ...events,
45
- accountId,
46
- };
47
- addCaptchaEventRecord(captchaEventData)
48
- .then(() => console.log('Captcha event data saved'))
49
- .catch((error) => console.error('Error saving captcha event data:', error));
48
+ return new Promise((resolve, reject) => {
49
+ const connection = mongoose.createConnection(atlasUri);
50
+ for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
51
+ connection.once('open', resolve).on('error', (e) => {
52
+ logger.warn(`Mongoose connection error`);
53
+ logger.error(e);
54
+ if (attempt === MAX_RETRIES) {
55
+ reject(new ProsopoDBError('DATABASE.CONNECT_ERROR', {
56
+ context: { failedFuncName: saveCaptchaEvent.name, db: 'events database' },
57
+ logger: logger,
58
+ }));
59
+ }
60
+ else {
61
+ connection?.removeAllListeners('error');
62
+ }
63
+ });
64
+ }
65
+ const captchaEventData = {
66
+ ...events,
67
+ accountId,
68
+ };
69
+ addCaptchaEventRecord(captchaEventData)
70
+ .then(() => logger.info('Captcha event data saved'))
71
+ .catch((error) => logger.error('Error saving captcha event data:', error))
72
+ .finally(() => connection.close());
73
+ });
50
74
  };
51
75
  //# sourceMappingURL=eventsDatabase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventsDatabase.js","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,MAAM,kBAAkB,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE;QACT;YACI,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,MAAM;YACT,SAAS,EAAE,MAAM;SACpB;KACJ;IACD,WAAW,EAAE;QACT;YACI,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,MAAM;YACT,SAAS,EAAE,MAAM;SACpB;KACJ;IACD,cAAc,EAAE;QACZ;YACI,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,OAAO;SACrB;KACJ;IACD,SAAS,EAAE,MAAM;CACpB,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;AAEvE,MAAM,qBAAqB,GAAG,KAAK,EAAE,MAKpC,EAAiB,EAAE;IAChB,IAAI;QACA,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;QACtB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;KAC3C;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;KAC/D;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAoB,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE;IAChG,MAAM,QAAQ;SACT,OAAO,CAAC,QAAQ,CAAC;SACjB,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;SACrD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAAA;IAEvE,MAAM,gBAAgB,GAAG;QACrB,GAAG,MAAM;QACT,SAAS;KACZ,CAAA;IAED,qBAAqB,CAAC,gBAAgB,CAAC;SAClC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;SACnD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAA;AACnF,CAAC,CAAA"}
1
+ {"version":3,"file":"eventsDatabase.js","sourceRoot":"","sources":["../../src/eventsDatabase/eventsDatabase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/database",
3
- "version": "0.2.25",
3
+ "version": "0.2.32",
4
4
  "description": "Prosopo database plugins for provider",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -37,11 +37,11 @@
37
37
  "homepage": "https://github.com/prosopo/captcha#readme",
38
38
  "dependencies": {
39
39
  "@polkadot/util": "^12.5.1",
40
- "@prosopo/captcha-contract": "0.2.25",
41
- "@prosopo/common": "0.2.25",
42
- "@prosopo/config": "0.2.25",
43
- "@prosopo/types": "0.2.25",
44
- "@prosopo/types-database": "0.2.25",
40
+ "@prosopo/captcha-contract": "0.2.32",
41
+ "@prosopo/common": "0.2.32",
42
+ "@prosopo/config": "0.2.32",
43
+ "@prosopo/types": "0.2.32",
44
+ "@prosopo/types-database": "0.2.32",
45
45
  "mongodb": "5.8.0",
46
46
  "mongodb-memory-server": "^8.7.2",
47
47
  "mongoose": "^7.3.3"
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const mongoose = require("mongoose");
4
- const captchaEventSchema = new mongoose.Schema({
5
- touchEvents: [
6
- {
7
- x: Number,
8
- y: Number,
9
- timestamp: Number
10
- }
11
- ],
12
- mouseEvents: [
13
- {
14
- x: Number,
15
- y: Number,
16
- timestamp: Number
17
- }
18
- ],
19
- keyboardEvents: [
20
- {
21
- key: String,
22
- timestamp: Number,
23
- isShiftKey: Boolean,
24
- isCtrlKey: Boolean
25
- }
26
- ],
27
- accountId: String
28
- });
29
- const CaptchaEvent = mongoose.model("CaptchaEvent", captchaEventSchema);
30
- const addCaptchaEventRecord = async (record) => {
31
- try {
32
- const newRecord = new CaptchaEvent(record);
33
- await newRecord.save();
34
- console.log("Record added successfully");
35
- } catch (error) {
36
- console.error("Error adding record to the database:", error);
37
- }
38
- };
39
- const saveCaptchaEvent = async (events, accountId, atlasUri) => {
40
- await mongoose.connect(atlasUri).then(() => console.log("Connected to MongoDB Atlas")).catch((err) => console.error("Error connecting to MongoDB:", err));
41
- const captchaEventData = {
42
- ...events,
43
- accountId
44
- };
45
- addCaptchaEventRecord(captchaEventData).then(() => console.log("Captcha event data saved")).catch((error) => console.error("Error saving captcha event data:", error));
46
- };
47
- exports.saveCaptchaEvent = saveCaptchaEvent;
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const eventsDatabase = require("./eventsDatabase.cjs");
4
- exports.saveCaptchaEvent = eventsDatabase.saveCaptchaEvent;