@prosopo/database 3.15.12 → 3.15.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +5 -5
- package/.turbo/turbo-build$colon$tsc.log +16 -16
- package/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +27 -0
- package/dist/cjs/databases/captcha.cjs +34 -2
- package/dist/cjs/databases/centralDbStreamer.cjs +35 -0
- package/dist/cjs/databases/provider.cjs +44 -0
- package/dist/databases/captcha.d.ts +5 -3
- package/dist/databases/captcha.d.ts.map +1 -1
- package/dist/databases/captcha.js +35 -3
- package/dist/databases/captcha.js.map +1 -1
- package/dist/databases/centralDbStreamer.d.ts +3 -1
- package/dist/databases/centralDbStreamer.d.ts.map +1 -1
- package/dist/databases/centralDbStreamer.js +35 -0
- package/dist/databases/centralDbStreamer.js.map +1 -1
- package/dist/databases/provider.d.ts.map +1 -1
- package/dist/databases/provider.js +44 -0
- package/dist/databases/provider.js.map +1 -1
- package/dist/tests/integration/centralStreamingEnrichment.integration.test.js +1 -0
- package/dist/tests/integration/centralStreamingEnrichment.integration.test.js.map +1 -1
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.d.ts +2 -0
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.d.ts.map +1 -0
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.js +158 -0
- package/dist/tests/integration/puzzleCentralStreaming.integration.test.js.map +1 -0
- package/dist/tests/unit/databases/centralDbStreamer.unit.test.js +93 -0
- package/dist/tests/unit/databases/centralDbStreamer.unit.test.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/database@3.15.
|
|
2
|
+
> @prosopo/database@3.15.14 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -45,9 +45,9 @@ rendering chunks...
|
|
|
45
45
|
[2mdist/cjs/[22m[36mindex.cjs [39m[1m[2m 1.22 kB[22m[1m[22m
|
|
46
46
|
[2mdist/cjs/[22m[36mdatabases/client.cjs [39m[1m[2m 1.91 kB[22m[1m[22m
|
|
47
47
|
[2mdist/cjs/[22m[36mmongooseOptions.cjs [39m[1m[2m 2.37 kB[22m[1m[22m
|
|
48
|
-
[2mdist/cjs/[22m[36mdatabases/centralDbStreamer.cjs [39m[1m[2m 4.20 kB[22m[1m[22m
|
|
49
48
|
[2mdist/cjs/[22m[36mbase/mongo.cjs [39m[1m[2m 4.79 kB[22m[1m[22m
|
|
50
|
-
[2mdist/cjs/[22m[36mdatabases/
|
|
49
|
+
[2mdist/cjs/[22m[36mdatabases/centralDbStreamer.cjs [39m[1m[2m 5.30 kB[22m[1m[22m
|
|
50
|
+
[2mdist/cjs/[22m[36mdatabases/captcha.cjs [39m[1m[2m 8.70 kB[22m[1m[22m
|
|
51
51
|
[2mdist/cjs/[22m[36mredisCache.cjs [39m[1m[2m15.68 kB[22m[1m[22m
|
|
52
|
-
[2mdist/cjs/[22m[36mdatabases/provider.cjs [39m[1m[
|
|
53
|
-
[32m✓ built in
|
|
52
|
+
[2mdist/cjs/[22m[36mdatabases/provider.cjs [39m[1m[2m71.83 kB[22m[1m[22m
|
|
53
|
+
[32m✓ built in 301ms[39m
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/database@3.15.
|
|
2
|
+
> @prosopo/database@3.15.14 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
11:58:30 AM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../locale/tsconfig.json
|
|
8
8
|
* ../util/tsconfig.json
|
|
@@ -17,31 +17,31 @@
|
|
|
17
17
|
* ../types-database/tsconfig.json
|
|
18
18
|
* tsconfig.json
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
11:58:30 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
11:58:30 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
11:58:30 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
11:58:30 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
11:58:30 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
11:58:30 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
11:58:30 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
11:58:30 AM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
11:58:30 AM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
11:58:30 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
11:58:31 AM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
11:58:31 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/captcha.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
11:58:31 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
11:58:31 AM - Building project '/home/runner/work/captcha/captcha/packages/database/tsconfig.json'...
|
|
47
47
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/database@3.15.
|
|
2
|
+
> @prosopo/database@3.15.14 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/database@3.15.
|
|
6
|
+
> @prosopo/database@3.15.14 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -49,9 +49,9 @@ rendering chunks...
|
|
|
49
49
|
[2mdist/[22m[36mindex.js [39m[1m[2m 0.84 kB[22m[1m[22m
|
|
50
50
|
[2mdist/[22m[36mdatabases/client.js [39m[1m[2m 1.79 kB[22m[1m[22m
|
|
51
51
|
[2mdist/[22m[36mmongooseOptions.js [39m[1m[2m 2.24 kB[22m[1m[22m
|
|
52
|
-
[2mdist/[22m[36mdatabases/centralDbStreamer.js [39m[1m[2m 4.09 kB[22m[1m[22m
|
|
53
52
|
[2mdist/[22m[36mbase/mongo.js [39m[1m[2m 4.34 kB[22m[1m[22m
|
|
54
|
-
[2mdist/[22m[36mdatabases/
|
|
53
|
+
[2mdist/[22m[36mdatabases/centralDbStreamer.js [39m[1m[2m 5.19 kB[22m[1m[22m
|
|
54
|
+
[2mdist/[22m[36mdatabases/captcha.js [39m[1m[2m 8.63 kB[22m[1m[22m
|
|
55
55
|
[2mdist/[22m[36mredisCache.js [39m[1m[2m15.58 kB[22m[1m[22m
|
|
56
|
-
[2mdist/[22m[36mdatabases/provider.js [39m[1m[
|
|
57
|
-
[32m✓ built in
|
|
56
|
+
[2mdist/[22m[36mdatabases/provider.js [39m[1m[2m71.63 kB[22m[1m[22m
|
|
57
|
+
[32m✓ built in 551ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @prosopo/database
|
|
2
2
|
|
|
3
|
+
## 3.15.14
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 446f53b: test(database): prime CentralDbStreamer connection in beforeAll to remove startup race
|
|
7
|
+
|
|
8
|
+
`CentralDbStreamer` calls `ensureConnected` lazily on the first fire-and-forget stream, so `db.tables.<collection>` is populated by an async mongoose model registration that the tests don't await. On a fast CI runner the test's synchronous `tables.<collection>.findOne(...)` can execute before that registration lands, throwing `TypeError: Cannot read properties of undefined (reading 'findOne')` — observed intermittently on `puzzleCentralStreaming.integration.test.ts > streamPuzzleUpdate fetches the full record and streams it` (the failing case has an extra promise hop through `getFullRecord()`, which widens the race).
|
|
9
|
+
|
|
10
|
+
`beforeAll` in the two affected integration tests now awaits `db.connect()` directly (via the same cast style already used by `afterAll` for `db.close()`), guaranteeing `db.tables.*` is populated before any test reads from it. `MongoDatabase.connect()` is idempotent (base/mongo.ts:85) and mongoose's `connection.model(name, schema)` returns the existing model when re-registered with the same schema instance, so the streamer's later lazy `ensureConnected` call is safe.
|
|
11
|
+
|
|
12
|
+
Purely a test-race fix — no production code changes.
|
|
13
|
+
|
|
14
|
+
## 3.15.13
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 2bba03a: feat(database): stream puzzle captcha records to the central captchastorage DB in real-time
|
|
18
|
+
|
|
19
|
+
Puzzle records were being written to each provider node's local mongo but never reached the central `captchastorage` DB on mongo1 — `CentralDbStreamer` only exposed `streamPow*` and `streamImage*` methods, and `provider.ts`'s `storePuzzleCaptchaRecord` / `updatePuzzleCaptchaRecordResult` / `updatePuzzleCaptchaRecord` had no streamer calls at all. As a result 35 puzzle records were successfully written to per-pronode mongos over 7d but zero landed in the central store, so portal aggregations and the audit search return no puzzle data regardless of live activity.
|
|
20
|
+
|
|
21
|
+
Adds `streamPuzzleRecord` / `streamPuzzleUpdate` on `CentralDbStreamer` mirroring the PoW pattern (fire-and-forget, `challenge` upsert key, `pendingStage` guard callback so concurrent updates aren't dropped). Wires those calls into every puzzle write/update site in `provider.ts`. Adds `puzzlecaptcha` to `CaptchaDatabase`'s tables and extends `saveCaptchas`/`getCaptchas` with a puzzle branch for parity with the existing pow/image bulk-write paths. Adds `StoredPuzzleCaptchaRecordSchema` in `@prosopo/types-database` and threads `PuzzleCaptchaRecord` through the `ICaptchaDatabase` interface.
|
|
22
|
+
|
|
23
|
+
Existing puzzle records on pronode local mongos are not backfilled — this change is forward-only.
|
|
24
|
+
- Updated dependencies [2bba03a]
|
|
25
|
+
- @prosopo/types-database@4.11.12
|
|
26
|
+
- @prosopo/common@3.1.46
|
|
27
|
+
- @prosopo/types@4.9.9
|
|
28
|
+
- @prosopo/user-access-policy@3.12.4
|
|
29
|
+
|
|
3
30
|
## 3.15.12
|
|
4
31
|
### Patch Changes
|
|
5
32
|
|
|
@@ -13,6 +13,7 @@ var TableNames = /* @__PURE__ */ ((TableNames2) => {
|
|
|
13
13
|
TableNames2["session"] = "session";
|
|
14
14
|
TableNames2["commitment"] = "commitment";
|
|
15
15
|
TableNames2["powcaptcha"] = "powcaptcha";
|
|
16
|
+
TableNames2["puzzlecaptcha"] = "puzzlecaptcha";
|
|
16
17
|
return TableNames2;
|
|
17
18
|
})(TableNames || {});
|
|
18
19
|
const CAPTCHA_TABLES = [
|
|
@@ -30,6 +31,11 @@ const CAPTCHA_TABLES = [
|
|
|
30
31
|
collectionName: "commitment",
|
|
31
32
|
modelName: "UserCommitment",
|
|
32
33
|
schema: typesDatabase.StoredUserCommitmentRecordSchema
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
collectionName: "puzzlecaptcha",
|
|
37
|
+
modelName: "PuzzleCaptcha",
|
|
38
|
+
schema: typesDatabase.StoredPuzzleCaptchaRecordSchema
|
|
33
39
|
}
|
|
34
40
|
];
|
|
35
41
|
class CaptchaDatabase extends mongo.MongoDatabase {
|
|
@@ -128,7 +134,7 @@ class CaptchaDatabase extends mongo.MongoDatabase {
|
|
|
128
134
|
providedIp: CaptchaDatabase.normaliseCompositeIp(doc.providedIp)
|
|
129
135
|
};
|
|
130
136
|
}
|
|
131
|
-
async saveCaptchas(sessionEvents, imageCaptchaEvents, powCaptchaEvents) {
|
|
137
|
+
async saveCaptchas(sessionEvents, imageCaptchaEvents, powCaptchaEvents, puzzleCaptchaEvents = []) {
|
|
132
138
|
await this.connect();
|
|
133
139
|
if (sessionEvents.length) {
|
|
134
140
|
const result = await this.tables.session.bulkWrite(
|
|
@@ -197,6 +203,30 @@ class CaptchaDatabase extends mongo.MongoDatabase {
|
|
|
197
203
|
msg: "Mongo Saved PoW Events"
|
|
198
204
|
}));
|
|
199
205
|
}
|
|
206
|
+
if (puzzleCaptchaEvents.length) {
|
|
207
|
+
const result = await this.tables.puzzlecaptcha.bulkWrite(
|
|
208
|
+
puzzleCaptchaEvents.map((doc) => {
|
|
209
|
+
const { _id, ...safeDoc } = doc;
|
|
210
|
+
const normalised = CaptchaDatabase.normaliseDocCompositeIps(safeDoc);
|
|
211
|
+
return {
|
|
212
|
+
updateOne: {
|
|
213
|
+
filter: { challenge: normalised.challenge },
|
|
214
|
+
update: { $set: normalised },
|
|
215
|
+
upsert: true
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
})
|
|
219
|
+
);
|
|
220
|
+
logger.info(() => ({
|
|
221
|
+
data: {
|
|
222
|
+
upsertedCount: result.upsertedCount,
|
|
223
|
+
matchedCount: result.matchedCount,
|
|
224
|
+
modifiedCount: result.modifiedCount,
|
|
225
|
+
totalProcessed: puzzleCaptchaEvents.length
|
|
226
|
+
},
|
|
227
|
+
msg: "Mongo Saved Puzzle Events"
|
|
228
|
+
}));
|
|
229
|
+
}
|
|
200
230
|
await this.close();
|
|
201
231
|
}
|
|
202
232
|
async getCaptchas(filter = {}, limit = 100) {
|
|
@@ -204,9 +234,11 @@ class CaptchaDatabase extends mongo.MongoDatabase {
|
|
|
204
234
|
try {
|
|
205
235
|
const commitmentResults = await this.tables.commitment.find(filter).limit(limit).lean();
|
|
206
236
|
const powCaptchaResults = await this.tables.powcaptcha.find(filter).limit(limit).lean();
|
|
237
|
+
const puzzleCaptchaResults = await this.tables.puzzlecaptcha.find(filter).limit(limit).lean();
|
|
207
238
|
return {
|
|
208
239
|
userCommitmentRecords: commitmentResults,
|
|
209
|
-
powCaptchaRecords: powCaptchaResults
|
|
240
|
+
powCaptchaRecords: powCaptchaResults,
|
|
241
|
+
puzzleCaptchaRecords: puzzleCaptchaResults
|
|
210
242
|
};
|
|
211
243
|
} catch (error) {
|
|
212
244
|
throw new common.ProsopoDBError("DATABASE.QUERY_ERROR", {
|
|
@@ -112,6 +112,41 @@ class CentralDbStreamer {
|
|
|
112
112
|
}));
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Stream a puzzle captcha record (create or update) to the central DB.
|
|
117
|
+
* Fire-and-forget: errors are logged, never thrown.
|
|
118
|
+
*/
|
|
119
|
+
streamPuzzleRecord(record, markStored) {
|
|
120
|
+
const timestamp = this.getRecordTimestamp(record);
|
|
121
|
+
this.ensureConnected().then(() => {
|
|
122
|
+
const { _id, ...safeDoc } = record;
|
|
123
|
+
return this.db.tables.puzzlecaptcha.updateOne(
|
|
124
|
+
{ challenge: safeDoc.challenge },
|
|
125
|
+
{ $set: safeDoc },
|
|
126
|
+
{ upsert: true }
|
|
127
|
+
);
|
|
128
|
+
}).then(() => markStored?.(timestamp)).catch((err) => {
|
|
129
|
+
this.logger.error(() => ({
|
|
130
|
+
err,
|
|
131
|
+
msg: "Failed to stream puzzle record to central DB"
|
|
132
|
+
}));
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Stream a partial puzzle update by fetching the full record first, then upserting.
|
|
137
|
+
*/
|
|
138
|
+
streamPuzzleUpdate(getFullRecord, markStored) {
|
|
139
|
+
getFullRecord().then((record) => {
|
|
140
|
+
if (record) {
|
|
141
|
+
this.streamPuzzleRecord(record, markStored);
|
|
142
|
+
}
|
|
143
|
+
}).catch((err) => {
|
|
144
|
+
this.logger.error(() => ({
|
|
145
|
+
err,
|
|
146
|
+
msg: "Failed to fetch puzzle record for central DB streaming"
|
|
147
|
+
}));
|
|
148
|
+
});
|
|
149
|
+
}
|
|
115
150
|
/**
|
|
116
151
|
* Stream a session record to the central DB.
|
|
117
152
|
* Fire-and-forget: errors are logged, never thrown.
|
|
@@ -821,6 +821,17 @@ class ProviderDatabase extends mongo.MongoDatabase {
|
|
|
821
821
|
},
|
|
822
822
|
msg: "PuzzleCaptcha record added successfully"
|
|
823
823
|
}));
|
|
824
|
+
this.centralStreamer?.streamPuzzleRecord(
|
|
825
|
+
puzzleCaptchaRecord,
|
|
826
|
+
(ts) => this.tables.puzzlecaptcha.updateOne(
|
|
827
|
+
{ challenge, lastUpdatedTimestamp: { $lte: ts } },
|
|
828
|
+
{
|
|
829
|
+
$set: { storedAtTimestamp: ts },
|
|
830
|
+
$unset: { pendingStage: 1 }
|
|
831
|
+
}
|
|
832
|
+
).then(() => {
|
|
833
|
+
})
|
|
834
|
+
);
|
|
824
835
|
} catch (error) {
|
|
825
836
|
const err = new common.ProsopoDBError("DATABASE.CAPTCHA_UPDATE_FAILED", {
|
|
826
837
|
context: {
|
|
@@ -960,6 +971,17 @@ class ProviderDatabase extends mongo.MongoDatabase {
|
|
|
960
971
|
},
|
|
961
972
|
msg: "PuzzleCaptcha record updated successfully"
|
|
962
973
|
}));
|
|
974
|
+
this.centralStreamer?.streamPuzzleUpdate(
|
|
975
|
+
() => this.getPuzzleCaptchaRecordByChallenge(challenge),
|
|
976
|
+
(ts) => this.tables.puzzlecaptcha.updateOne(
|
|
977
|
+
{ challenge, lastUpdatedTimestamp: { $lte: ts } },
|
|
978
|
+
{
|
|
979
|
+
$set: { storedAtTimestamp: ts },
|
|
980
|
+
$unset: { pendingStage: 1 }
|
|
981
|
+
}
|
|
982
|
+
).then(() => {
|
|
983
|
+
})
|
|
984
|
+
);
|
|
963
985
|
} catch (error) {
|
|
964
986
|
const err = new common.ProsopoDBError("DATABASE.CAPTCHA_UPDATE_FAILED", {
|
|
965
987
|
context: {
|
|
@@ -1001,11 +1023,33 @@ class ProviderDatabase extends mongo.MongoDatabase {
|
|
|
1001
1023
|
}
|
|
1002
1024
|
if (Object.keys(pipelineExprs).length === 0) {
|
|
1003
1025
|
await tables.puzzlecaptcha.updateOne({ challenge }, { $set: baseSet });
|
|
1026
|
+
this.centralStreamer?.streamPuzzleUpdate(
|
|
1027
|
+
() => this.getPuzzleCaptchaRecordByChallenge(challenge),
|
|
1028
|
+
(ts) => this.tables.puzzlecaptcha.updateOne(
|
|
1029
|
+
{ challenge, lastUpdatedTimestamp: { $lte: ts } },
|
|
1030
|
+
{
|
|
1031
|
+
$set: { storedAtTimestamp: ts },
|
|
1032
|
+
$unset: { pendingStage: 1 }
|
|
1033
|
+
}
|
|
1034
|
+
).then(() => {
|
|
1035
|
+
})
|
|
1036
|
+
);
|
|
1004
1037
|
return;
|
|
1005
1038
|
}
|
|
1006
1039
|
await tables.puzzlecaptcha.updateOne({ challenge }, [
|
|
1007
1040
|
{ $set: { ...baseSet, ...pipelineExprs } }
|
|
1008
1041
|
]);
|
|
1042
|
+
this.centralStreamer?.streamPuzzleUpdate(
|
|
1043
|
+
() => this.getPuzzleCaptchaRecordByChallenge(challenge),
|
|
1044
|
+
(ts) => this.tables.puzzlecaptcha.updateOne(
|
|
1045
|
+
{ challenge, lastUpdatedTimestamp: { $lte: ts } },
|
|
1046
|
+
{
|
|
1047
|
+
$set: { storedAtTimestamp: ts },
|
|
1048
|
+
$unset: { pendingStage: 1 }
|
|
1049
|
+
}
|
|
1050
|
+
).then(() => {
|
|
1051
|
+
})
|
|
1052
|
+
);
|
|
1009
1053
|
}
|
|
1010
1054
|
/** @description Get serverChecked Dapp User image captcha commitments from the commitments table
|
|
1011
1055
|
*/
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type Logger } from "@prosopo/logger";
|
|
2
|
-
import { type CaptchaProperties, type ICaptchaDatabase, type PoWCaptchaRecord, type StoredSession, type Tables, type UserCommitmentRecord } from "@prosopo/types-database";
|
|
2
|
+
import { type CaptchaProperties, type ICaptchaDatabase, type PoWCaptchaRecord, type PuzzleCaptchaRecord, type StoredSession, type Tables, type UserCommitmentRecord } from "@prosopo/types-database";
|
|
3
3
|
import type { RootFilterQuery } from "mongoose";
|
|
4
4
|
import { MongoDatabase } from "../base/index.js";
|
|
5
5
|
declare enum TableNames {
|
|
6
6
|
frictionlessToken = "frictionlessToken",
|
|
7
7
|
session = "session",
|
|
8
8
|
commitment = "commitment",
|
|
9
|
-
powcaptcha = "powcaptcha"
|
|
9
|
+
powcaptcha = "powcaptcha",
|
|
10
|
+
puzzlecaptcha = "puzzlecaptcha"
|
|
10
11
|
}
|
|
11
12
|
export declare class CaptchaDatabase extends MongoDatabase implements ICaptchaDatabase {
|
|
12
13
|
tables: Tables<TableNames>;
|
|
@@ -17,10 +18,11 @@ export declare class CaptchaDatabase extends MongoDatabase implements ICaptchaDa
|
|
|
17
18
|
ensureIndexes(): Promise<void>;
|
|
18
19
|
private static normaliseCompositeIp;
|
|
19
20
|
private static normaliseDocCompositeIps;
|
|
20
|
-
saveCaptchas(sessionEvents: StoredSession[], imageCaptchaEvents: UserCommitmentRecord[], powCaptchaEvents: PoWCaptchaRecord[]): Promise<void>;
|
|
21
|
+
saveCaptchas(sessionEvents: StoredSession[], imageCaptchaEvents: UserCommitmentRecord[], powCaptchaEvents: PoWCaptchaRecord[], puzzleCaptchaEvents?: PuzzleCaptchaRecord[]): Promise<void>;
|
|
21
22
|
getCaptchas(filter?: RootFilterQuery<CaptchaProperties>, limit?: number): Promise<{
|
|
22
23
|
userCommitmentRecords: UserCommitmentRecord[];
|
|
23
24
|
powCaptchaRecords: PoWCaptchaRecord[];
|
|
25
|
+
puzzleCaptchaRecords: PuzzleCaptchaRecord[];
|
|
24
26
|
}>;
|
|
25
27
|
}
|
|
26
28
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/databases/captcha.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../../src/databases/captcha.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAGxB,KAAK,aAAa,EAGlB,KAAK,MAAM,EACX,KAAK,oBAAoB,EACzB,MAAM,yBAAyB,CAAC;AAajC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,aAAK,UAAU;IACd,iBAAiB,sBAAsB;IACvC,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,aAAa,kBAAkB;CAC/B;AAyBD,qBAAa,eAAgB,SAAQ,aAAc,YAAW,gBAAgB;IAC7E,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAS;gBAG9B,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;IAUvC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;IAUzB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAqDpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAoBnC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAajC,YAAY,CACjB,aAAa,EAAE,aAAa,EAAE,EAC9B,kBAAkB,EAAE,oBAAoB,EAAE,EAC1C,gBAAgB,EAAE,gBAAgB,EAAE,EACpC,mBAAmB,GAAE,mBAAmB,EAAO;IAsG1C,WAAW,CAChB,MAAM,GAAE,eAAe,CAAC,iBAAiB,CAAM,EAC/C,KAAK,SAAM,GACT,OAAO,CAAC;QACV,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;QAC9C,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACtC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;KAC5C,CAAC;CAsCF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProsopoDBError } from "@prosopo/common";
|
|
2
2
|
import { getLogger } from "@prosopo/logger";
|
|
3
|
-
import { StoredSessionRecordSchema, StoredPoWCaptchaRecordSchema, StoredUserCommitmentRecordSchema } from "@prosopo/types-database";
|
|
3
|
+
import { StoredSessionRecordSchema, StoredPoWCaptchaRecordSchema, StoredUserCommitmentRecordSchema, StoredPuzzleCaptchaRecordSchema } from "@prosopo/types-database";
|
|
4
4
|
import { Decimal128, Long } from "bson";
|
|
5
5
|
import "../base/index.js";
|
|
6
6
|
import { MongoDatabase } from "../base/mongo.js";
|
|
@@ -11,6 +11,7 @@ var TableNames = /* @__PURE__ */ ((TableNames2) => {
|
|
|
11
11
|
TableNames2["session"] = "session";
|
|
12
12
|
TableNames2["commitment"] = "commitment";
|
|
13
13
|
TableNames2["powcaptcha"] = "powcaptcha";
|
|
14
|
+
TableNames2["puzzlecaptcha"] = "puzzlecaptcha";
|
|
14
15
|
return TableNames2;
|
|
15
16
|
})(TableNames || {});
|
|
16
17
|
const CAPTCHA_TABLES = [
|
|
@@ -28,6 +29,11 @@ const CAPTCHA_TABLES = [
|
|
|
28
29
|
collectionName: "commitment",
|
|
29
30
|
modelName: "UserCommitment",
|
|
30
31
|
schema: StoredUserCommitmentRecordSchema
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
collectionName: "puzzlecaptcha",
|
|
35
|
+
modelName: "PuzzleCaptcha",
|
|
36
|
+
schema: StoredPuzzleCaptchaRecordSchema
|
|
31
37
|
}
|
|
32
38
|
];
|
|
33
39
|
class CaptchaDatabase extends MongoDatabase {
|
|
@@ -126,7 +132,7 @@ class CaptchaDatabase extends MongoDatabase {
|
|
|
126
132
|
providedIp: CaptchaDatabase.normaliseCompositeIp(doc.providedIp)
|
|
127
133
|
};
|
|
128
134
|
}
|
|
129
|
-
async saveCaptchas(sessionEvents, imageCaptchaEvents, powCaptchaEvents) {
|
|
135
|
+
async saveCaptchas(sessionEvents, imageCaptchaEvents, powCaptchaEvents, puzzleCaptchaEvents = []) {
|
|
130
136
|
await this.connect();
|
|
131
137
|
if (sessionEvents.length) {
|
|
132
138
|
const result = await this.tables.session.bulkWrite(
|
|
@@ -195,6 +201,30 @@ class CaptchaDatabase extends MongoDatabase {
|
|
|
195
201
|
msg: "Mongo Saved PoW Events"
|
|
196
202
|
}));
|
|
197
203
|
}
|
|
204
|
+
if (puzzleCaptchaEvents.length) {
|
|
205
|
+
const result = await this.tables.puzzlecaptcha.bulkWrite(
|
|
206
|
+
puzzleCaptchaEvents.map((doc) => {
|
|
207
|
+
const { _id, ...safeDoc } = doc;
|
|
208
|
+
const normalised = CaptchaDatabase.normaliseDocCompositeIps(safeDoc);
|
|
209
|
+
return {
|
|
210
|
+
updateOne: {
|
|
211
|
+
filter: { challenge: normalised.challenge },
|
|
212
|
+
update: { $set: normalised },
|
|
213
|
+
upsert: true
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
})
|
|
217
|
+
);
|
|
218
|
+
logger.info(() => ({
|
|
219
|
+
data: {
|
|
220
|
+
upsertedCount: result.upsertedCount,
|
|
221
|
+
matchedCount: result.matchedCount,
|
|
222
|
+
modifiedCount: result.modifiedCount,
|
|
223
|
+
totalProcessed: puzzleCaptchaEvents.length
|
|
224
|
+
},
|
|
225
|
+
msg: "Mongo Saved Puzzle Events"
|
|
226
|
+
}));
|
|
227
|
+
}
|
|
198
228
|
await this.close();
|
|
199
229
|
}
|
|
200
230
|
async getCaptchas(filter = {}, limit = 100) {
|
|
@@ -202,9 +232,11 @@ class CaptchaDatabase extends MongoDatabase {
|
|
|
202
232
|
try {
|
|
203
233
|
const commitmentResults = await this.tables.commitment.find(filter).limit(limit).lean();
|
|
204
234
|
const powCaptchaResults = await this.tables.powcaptcha.find(filter).limit(limit).lean();
|
|
235
|
+
const puzzleCaptchaResults = await this.tables.puzzlecaptcha.find(filter).limit(limit).lean();
|
|
205
236
|
return {
|
|
206
237
|
userCommitmentRecords: commitmentResults,
|
|
207
|
-
powCaptchaRecords: powCaptchaResults
|
|
238
|
+
powCaptchaRecords: powCaptchaResults,
|
|
239
|
+
puzzleCaptchaRecords: puzzleCaptchaResults
|
|
208
240
|
};
|
|
209
241
|
} catch (error) {
|
|
210
242
|
throw new ProsopoDBError("DATABASE.QUERY_ERROR", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/databases/captcha.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"captcha.js","sourceRoot":"","sources":["../../src/databases/captcha.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Logger } from "@prosopo/logger";
|
|
2
|
-
import type { PoWCaptchaRecord, StoredSession, UserCommitmentRecord } from "@prosopo/types-database";
|
|
2
|
+
import type { PoWCaptchaRecord, PuzzleCaptchaRecord, StoredSession, UserCommitmentRecord } from "@prosopo/types-database";
|
|
3
3
|
export type MarkStoredCallback = (streamedTimestamp: Date) => Promise<void>;
|
|
4
4
|
export declare class CentralDbStreamer {
|
|
5
5
|
private db;
|
|
@@ -14,6 +14,8 @@ export declare class CentralDbStreamer {
|
|
|
14
14
|
streamPowUpdate(getFullRecord: () => Promise<PoWCaptchaRecord | null>, markStored?: MarkStoredCallback): void;
|
|
15
15
|
streamImageRecord(record: UserCommitmentRecord, markStored?: MarkStoredCallback): void;
|
|
16
16
|
streamImageUpdate(getFullRecord: () => Promise<UserCommitmentRecord | null>, markStored?: MarkStoredCallback): void;
|
|
17
|
+
streamPuzzleRecord(record: PuzzleCaptchaRecord, markStored?: MarkStoredCallback): void;
|
|
18
|
+
streamPuzzleUpdate(getFullRecord: () => Promise<PuzzleCaptchaRecord | null>, markStored?: MarkStoredCallback): void;
|
|
17
19
|
streamSessionRecord(record: StoredSession, markStored?: MarkStoredCallback): void;
|
|
18
20
|
}
|
|
19
21
|
//# sourceMappingURL=centralDbStreamer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centralDbStreamer.d.ts","sourceRoot":"","sources":["../../src/databases/centralDbStreamer.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EACX,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,MAAM,yBAAyB,CAAC;AAUjC,MAAM,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAc5E,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAE1C,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAUpD,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,kBAAkB;IAiB1B,eAAe,CACd,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAuBP,eAAe,CACd,aAAa,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EACrD,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAmBP,iBAAiB,CAChB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAuBP,iBAAiB,CAChB,aAAa,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,EACzD,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAmBP,mBAAmB,CAClB,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;CAmBP"}
|
|
1
|
+
{"version":3,"file":"centralDbStreamer.d.ts","sourceRoot":"","sources":["../../src/databases/centralDbStreamer.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EACX,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,MAAM,yBAAyB,CAAC;AAUjC,MAAM,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAc5E,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAE1C,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAUpD,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,kBAAkB;IAiB1B,eAAe,CACd,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAuBP,eAAe,CACd,aAAa,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EACrD,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAmBP,iBAAiB,CAChB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAuBP,iBAAiB,CAChB,aAAa,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,EACzD,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAmBP,kBAAkB,CACjB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAuBP,kBAAkB,CACjB,aAAa,EAAE,MAAM,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,EACxD,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;IAmBP,mBAAmB,CAClB,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,kBAAkB,GAC7B,IAAI;CAmBP"}
|
|
@@ -110,6 +110,41 @@ class CentralDbStreamer {
|
|
|
110
110
|
}));
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Stream a puzzle captcha record (create or update) to the central DB.
|
|
115
|
+
* Fire-and-forget: errors are logged, never thrown.
|
|
116
|
+
*/
|
|
117
|
+
streamPuzzleRecord(record, markStored) {
|
|
118
|
+
const timestamp = this.getRecordTimestamp(record);
|
|
119
|
+
this.ensureConnected().then(() => {
|
|
120
|
+
const { _id, ...safeDoc } = record;
|
|
121
|
+
return this.db.tables.puzzlecaptcha.updateOne(
|
|
122
|
+
{ challenge: safeDoc.challenge },
|
|
123
|
+
{ $set: safeDoc },
|
|
124
|
+
{ upsert: true }
|
|
125
|
+
);
|
|
126
|
+
}).then(() => markStored?.(timestamp)).catch((err) => {
|
|
127
|
+
this.logger.error(() => ({
|
|
128
|
+
err,
|
|
129
|
+
msg: "Failed to stream puzzle record to central DB"
|
|
130
|
+
}));
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Stream a partial puzzle update by fetching the full record first, then upserting.
|
|
135
|
+
*/
|
|
136
|
+
streamPuzzleUpdate(getFullRecord, markStored) {
|
|
137
|
+
getFullRecord().then((record) => {
|
|
138
|
+
if (record) {
|
|
139
|
+
this.streamPuzzleRecord(record, markStored);
|
|
140
|
+
}
|
|
141
|
+
}).catch((err) => {
|
|
142
|
+
this.logger.error(() => ({
|
|
143
|
+
err,
|
|
144
|
+
msg: "Failed to fetch puzzle record for central DB streaming"
|
|
145
|
+
}));
|
|
146
|
+
});
|
|
147
|
+
}
|
|
113
148
|
/**
|
|
114
149
|
* Stream a session record to the central DB.
|
|
115
150
|
* Fire-and-forget: errors are logged, never thrown.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centralDbStreamer.js","sourceRoot":"","sources":["../../src/databases/centralDbStreamer.ts"],"names":[],"mappings":"AAcA,OAAO,EAAe,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"centralDbStreamer.js","sourceRoot":"","sources":["../../src/databases/centralDbStreamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/databases/provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/databases/provider.ts"],"names":[],"mappings":"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"}
|