@enbox/dwn-server 0.0.7 → 0.0.9
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/dist/esm/src/admin/admin-api.d.ts +5 -1
- package/dist/esm/src/admin/admin-api.d.ts.map +1 -1
- package/dist/esm/src/admin/admin-api.js +327 -7
- package/dist/esm/src/admin/admin-api.js.map +1 -1
- package/dist/esm/src/admin/admin-auth.d.ts +21 -3
- package/dist/esm/src/admin/admin-auth.d.ts.map +1 -1
- package/dist/esm/src/admin/admin-auth.js +17 -9
- package/dist/esm/src/admin/admin-auth.js.map +1 -1
- package/dist/esm/src/admin/admin-passkey-store.d.ts +68 -0
- package/dist/esm/src/admin/admin-passkey-store.d.ts.map +1 -0
- package/dist/esm/src/admin/admin-passkey-store.js +132 -0
- package/dist/esm/src/admin/admin-passkey-store.js.map +1 -0
- package/dist/esm/src/admin/admin-session.d.ts +35 -0
- package/dist/esm/src/admin/admin-session.d.ts.map +1 -0
- package/dist/esm/src/admin/admin-session.js +91 -0
- package/dist/esm/src/admin/admin-session.js.map +1 -0
- package/dist/esm/src/admin/admin-store.d.ts +4 -0
- package/dist/esm/src/admin/admin-store.d.ts.map +1 -1
- package/dist/esm/src/admin/admin-store.js +6 -2
- package/dist/esm/src/admin/admin-store.js.map +1 -1
- package/dist/esm/src/admin/audit-log.d.ts.map +1 -1
- package/dist/esm/src/admin/audit-log.js +5 -43
- package/dist/esm/src/admin/audit-log.js.map +1 -1
- package/dist/esm/src/admin/index.d.ts +5 -1
- package/dist/esm/src/admin/index.d.ts.map +1 -1
- package/dist/esm/src/admin/index.js +2 -0
- package/dist/esm/src/admin/index.js.map +1 -1
- package/dist/esm/src/admin/types.d.ts +22 -0
- package/dist/esm/src/admin/types.d.ts.map +1 -1
- package/dist/esm/src/admin/webhook-manager.d.ts.map +1 -1
- package/dist/esm/src/admin/webhook-manager.js +11 -10
- package/dist/esm/src/admin/webhook-manager.js.map +1 -1
- package/dist/esm/src/config.d.ts +18 -0
- package/dist/esm/src/config.d.ts.map +1 -1
- package/dist/esm/src/config.js +18 -0
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/connect/connect-server.d.ts +75 -0
- package/dist/esm/src/connect/connect-server.d.ts.map +1 -0
- package/dist/esm/src/{web5-connect/web5-connect-server.js → connect/connect-server.js} +32 -24
- package/dist/esm/src/connect/connect-server.js.map +1 -0
- package/dist/esm/src/{web5-connect → connect}/sql-ttl-cache.d.ts +11 -1
- package/dist/esm/src/connect/sql-ttl-cache.d.ts.map +1 -0
- package/dist/esm/src/{web5-connect → connect}/sql-ttl-cache.js +19 -20
- package/dist/esm/src/connect/sql-ttl-cache.js.map +1 -0
- package/dist/esm/src/dwn-server.d.ts.map +1 -1
- package/dist/esm/src/dwn-server.js +46 -11
- package/dist/esm/src/dwn-server.js.map +1 -1
- package/dist/esm/src/http-api.d.ts +6 -2
- package/dist/esm/src/http-api.d.ts.map +1 -1
- package/dist/esm/src/http-api.js +31 -17
- package/dist/esm/src/http-api.js.map +1 -1
- package/dist/esm/src/migrations/001-initial-server-schema.d.ts +21 -0
- package/dist/esm/src/migrations/001-initial-server-schema.d.ts.map +1 -0
- package/dist/esm/src/migrations/001-initial-server-schema.js +97 -0
- package/dist/esm/src/migrations/001-initial-server-schema.js.map +1 -0
- package/dist/esm/src/migrations/index.d.ts +13 -0
- package/dist/esm/src/migrations/index.d.ts.map +1 -0
- package/dist/esm/src/migrations/index.js +5 -0
- package/dist/esm/src/migrations/index.js.map +1 -0
- package/dist/esm/src/registration/registration-store.d.ts +4 -0
- package/dist/esm/src/registration/registration-store.d.ts.map +1 -1
- package/dist/esm/src/registration/registration-store.js +11 -34
- package/dist/esm/src/registration/registration-store.js.map +1 -1
- package/dist/esm/src/server-migration-runner.d.ts +23 -0
- package/dist/esm/src/server-migration-runner.d.ts.map +1 -0
- package/dist/esm/src/server-migration-runner.js +57 -0
- package/dist/esm/src/server-migration-runner.js.map +1 -0
- package/dist/esm/src/storage.d.ts +15 -0
- package/dist/esm/src/storage.d.ts.map +1 -1
- package/dist/esm/src/storage.js +135 -17
- package/dist/esm/src/storage.js.map +1 -1
- package/package.json +8 -27
- package/src/admin/admin-api.ts +403 -10
- package/src/admin/admin-auth.ts +38 -9
- package/src/admin/admin-passkey-store.ts +190 -0
- package/src/admin/admin-session.ts +116 -0
- package/src/admin/admin-store.ts +6 -2
- package/src/admin/audit-log.ts +7 -44
- package/src/admin/index.ts +5 -0
- package/src/admin/types.ts +28 -0
- package/src/admin/webhook-manager.ts +12 -10
- package/src/config.ts +21 -0
- package/src/connect/connect-server.ts +150 -0
- package/src/{web5-connect → connect}/sql-ttl-cache.ts +21 -22
- package/src/dwn-server.ts +49 -11
- package/src/http-api.ts +37 -18
- package/src/migrations/001-initial-server-schema.ts +114 -0
- package/src/migrations/index.ts +18 -0
- package/src/registration/registration-store.ts +13 -36
- package/src/server-migration-runner.ts +74 -0
- package/src/storage.ts +145 -17
- package/dist/esm/src/web5-connect/sql-ttl-cache.d.ts.map +0 -1
- package/dist/esm/src/web5-connect/sql-ttl-cache.js.map +0 -1
- package/dist/esm/src/web5-connect/web5-connect-server.d.ts +0 -58
- package/dist/esm/src/web5-connect/web5-connect-server.d.ts.map +0 -1
- package/dist/esm/src/web5-connect/web5-connect-server.js.map +0 -1
- package/src/web5-connect/web5-connect-server.ts +0 -123
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/admin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3G,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/admin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3G,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { ActivityLog } from './activity-log.js';
|
|
2
2
|
export { AdminApi } from './admin-api.js';
|
|
3
|
+
export { AdminPasskeyStore } from './admin-passkey-store.js';
|
|
4
|
+
export { AdminSessionManager } from './admin-session.js';
|
|
3
5
|
export { AdminStore } from './admin-store.js';
|
|
4
6
|
export { AuditLog } from './audit-log.js';
|
|
5
7
|
export { validateAdminAuth } from './admin-auth.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/admin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/admin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -303,4 +303,26 @@ export type AdminWebhookInput = {
|
|
|
303
303
|
events: string[];
|
|
304
304
|
secret?: string;
|
|
305
305
|
};
|
|
306
|
+
/**
|
|
307
|
+
* Summary of a registered passkey for the admin API response.
|
|
308
|
+
*
|
|
309
|
+
* Future: migrate to DID/DWN-based auth (see https://github.com/enboxorg/enbox/issues/546).
|
|
310
|
+
*/
|
|
311
|
+
export type AdminPasskeySummary = {
|
|
312
|
+
/** Base64url-encoded credential ID. */
|
|
313
|
+
id: string;
|
|
314
|
+
/** Human-readable name (e.g. "MacBook Touch ID"). */
|
|
315
|
+
name: string;
|
|
316
|
+
/** ISO-8601 timestamp when the passkey was registered. */
|
|
317
|
+
createdAt: string;
|
|
318
|
+
/** ISO-8601 timestamp of the most recent successful authentication. */
|
|
319
|
+
lastUsedAt: string | null;
|
|
320
|
+
};
|
|
321
|
+
/**
|
|
322
|
+
* Request body for registering a new passkey.
|
|
323
|
+
*/
|
|
324
|
+
export type AdminPasskeyRegisterInput = {
|
|
325
|
+
/** Human-readable name for the passkey. */
|
|
326
|
+
name?: string;
|
|
327
|
+
};
|
|
306
328
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/admin/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/admin/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-manager.d.ts","sourceRoot":"","sources":["../../../../src/admin/webhook-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOlE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,0BAA0B;IAC1B,EAAE,EAAG,MAAM,CAAC;IACZ,0BAA0B;IAC1B,SAAS,EAAG,MAAM,CAAC;IACnB,2DAA2D;IAC3D,KAAK,EAAG,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAG,MAAM,CAAC;IACjB,6BAA6B;IAC7B,IAAI,CAAC,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,cAAc;;IAOzB,OAAO;IAIP;;OAEG;WACiB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"webhook-manager.d.ts","sourceRoot":"","sources":["../../../../src/admin/webhook-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOlE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,0BAA0B;IAC1B,EAAE,EAAG,MAAM,CAAC;IACZ,0BAA0B;IAC1B,SAAS,EAAG,MAAM,CAAC;IACnB,2DAA2D;IAC3D,KAAK,EAAG,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAG,MAAM,CAAC;IACjB,6BAA6B;IAC7B,IAAI,CAAC,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,cAAc;;IAOzB,OAAO;IAIP;;OAEG;WACiB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAwBrE;;OAEG;IACU,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBtE;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAgB5C;;OAEG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAajD;;;OAGG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0FjF;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHmac } from 'crypto';
|
|
2
|
-
import { Kysely } from 'kysely';
|
|
3
2
|
import log from 'loglevel';
|
|
4
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
import { Kysely, sql } from 'kysely';
|
|
5
5
|
/**
|
|
6
6
|
* Manages webhook registrations and event delivery.
|
|
7
7
|
*
|
|
@@ -26,16 +26,17 @@ export class WebhookManager {
|
|
|
26
26
|
await manager.#initialize();
|
|
27
27
|
return manager;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Verifies that the required table exists. Throws a clear error directing
|
|
31
|
+
* the caller to run server migrations first.
|
|
32
|
+
*/
|
|
29
33
|
async #initialize() {
|
|
30
|
-
|
|
31
|
-
.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
.addColumn('secret', 'text')
|
|
37
|
-
.addColumn('createdAt', 'text', (col) => col.notNull())
|
|
38
|
-
.execute();
|
|
34
|
+
try {
|
|
35
|
+
await sql `SELECT 1 FROM ${sql.table(WebhookManager.#tableName)} LIMIT 0`.execute(this.#db);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
throw new Error(`WebhookManager: table '${WebhookManager.#tableName}' does not exist. Run server migrations before starting.`);
|
|
39
|
+
}
|
|
39
40
|
}
|
|
40
41
|
// ---------------------------------------------------------------------------
|
|
41
42
|
// CRUD
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-manager.js","sourceRoot":"","sources":["../../../../src/admin/webhook-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"webhook-manager.js","sourceRoot":"","sources":["../../../../src/admin/webhook-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/config.d.ts
CHANGED
|
@@ -92,6 +92,24 @@ export declare const config: {
|
|
|
92
92
|
* the admin store. Defaults to 30 seconds.
|
|
93
93
|
*/
|
|
94
94
|
adminMetricsUpdateIntervalSeconds: number;
|
|
95
|
+
/**
|
|
96
|
+
* WebAuthn Relying Party ID for admin passkey authentication. Typically
|
|
97
|
+
* the hostname of the DWN server (e.g. `dev.aws.dwn.enbox.id`). When not
|
|
98
|
+
* set, the hostname is extracted from `DWN_BASE_URL` at runtime.
|
|
99
|
+
*
|
|
100
|
+
* @see https://github.com/enboxorg/enbox/issues/546
|
|
101
|
+
*/
|
|
102
|
+
adminWebAuthnRpId: string;
|
|
103
|
+
/**
|
|
104
|
+
* Human-readable Relying Party name shown during passkey registration.
|
|
105
|
+
* Defaults to `"DWN Admin"`.
|
|
106
|
+
*/
|
|
107
|
+
adminWebAuthnRpName: string;
|
|
108
|
+
/**
|
|
109
|
+
* Session time-to-live (in seconds) for passkey-authenticated sessions.
|
|
110
|
+
* Defaults to 86400 (24 hours).
|
|
111
|
+
*/
|
|
112
|
+
adminSessionTtlSeconds: number;
|
|
95
113
|
/**
|
|
96
114
|
* Default maximum number of messages a tenant may store. 0 = unlimited (default).
|
|
97
115
|
* Per-tenant overrides are managed via the admin API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC;AAE5C,eAAO,MAAM,MAAM;IACjB;;OAEG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAGH;;;;OAIG;;;IAMH;;;OAGG;;;;;;IASH;;;;OAIG;;;;;;;;;;;;;;;;;;IAyBH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;;;OAKG;;IAGH;;;;;OAKG;;IAOH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAOH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;CAEJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC;AAE5C,eAAO,MAAM,MAAM;IACjB;;OAEG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAGH;;;;OAIG;;;IAMH;;;OAGG;;;;;;IASH;;;;OAIG;;;;;;;;;;;;;;;;;;IAyBH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;;;OAMG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;OAGG;;IAGH;;;OAGG;;IAOH;;;;;OAKG;;IAGH;;;;;OAKG;;IAOH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAOH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;CAEJ,CAAC"}
|
package/dist/esm/src/config.js
CHANGED
|
@@ -100,6 +100,24 @@ export const config = {
|
|
|
100
100
|
* the admin store. Defaults to 30 seconds.
|
|
101
101
|
*/
|
|
102
102
|
adminMetricsUpdateIntervalSeconds: parseInt(process.env.DWN_ADMIN_METRICS_UPDATE_INTERVAL || '30'),
|
|
103
|
+
/**
|
|
104
|
+
* WebAuthn Relying Party ID for admin passkey authentication. Typically
|
|
105
|
+
* the hostname of the DWN server (e.g. `dev.aws.dwn.enbox.id`). When not
|
|
106
|
+
* set, the hostname is extracted from `DWN_BASE_URL` at runtime.
|
|
107
|
+
*
|
|
108
|
+
* @see https://github.com/enboxorg/enbox/issues/546
|
|
109
|
+
*/
|
|
110
|
+
adminWebAuthnRpId: process.env.DWN_ADMIN_WEBAUTHN_RP_ID || undefined,
|
|
111
|
+
/**
|
|
112
|
+
* Human-readable Relying Party name shown during passkey registration.
|
|
113
|
+
* Defaults to `"DWN Admin"`.
|
|
114
|
+
*/
|
|
115
|
+
adminWebAuthnRpName: process.env.DWN_ADMIN_WEBAUTHN_RP_NAME || 'DWN Admin',
|
|
116
|
+
/**
|
|
117
|
+
* Session time-to-live (in seconds) for passkey-authenticated sessions.
|
|
118
|
+
* Defaults to 86400 (24 hours).
|
|
119
|
+
*/
|
|
120
|
+
adminSessionTtlSeconds: parseInt(process.env.DWN_ADMIN_SESSION_TTL || '86400'),
|
|
103
121
|
// ---------------------------------------------------------------------------
|
|
104
122
|
// Per-tenant storage quotas
|
|
105
123
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { Dialect } from '@enbox/dwn-sql-store';
|
|
2
|
+
/**
|
|
3
|
+
* The Connect Request object.
|
|
4
|
+
*/
|
|
5
|
+
export type ConnectRequest = any;
|
|
6
|
+
/**
|
|
7
|
+
* The Connect Response object, which is also an OIDC ID token
|
|
8
|
+
*/
|
|
9
|
+
export type ConnectResponse = any;
|
|
10
|
+
/**
|
|
11
|
+
* The result of the setConnectRequest() method.
|
|
12
|
+
*/
|
|
13
|
+
export type SetConnectRequestResult = {
|
|
14
|
+
/**
|
|
15
|
+
* The Request URI that the wallet should use to retrieve the request object.
|
|
16
|
+
*/
|
|
17
|
+
request_uri: string;
|
|
18
|
+
/**
|
|
19
|
+
* The time in seconds that the Request URI is valid for.
|
|
20
|
+
*/
|
|
21
|
+
expires_in: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The Connect Server is responsible for handling the DWeb Connect flow.
|
|
25
|
+
*/
|
|
26
|
+
export declare class ConnectServer {
|
|
27
|
+
static readonly ttlInSeconds = 600;
|
|
28
|
+
private baseUrl;
|
|
29
|
+
private cache;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new instance of the Connect Server.
|
|
32
|
+
* @param params.baseUrl The the base URL of the connect server including the port.
|
|
33
|
+
* This is given to the Identity Provider (wallet) to fetch the Connect Request object.
|
|
34
|
+
* @param params.sqlDialect The SQL dialect to use for the TTL cache. Must point to a database
|
|
35
|
+
* where server migrations have already been run.
|
|
36
|
+
*/
|
|
37
|
+
static create({ baseUrl, sqlDialect }: {
|
|
38
|
+
baseUrl: string;
|
|
39
|
+
sqlDialect: Dialect;
|
|
40
|
+
}): Promise<ConnectServer>;
|
|
41
|
+
private constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Stores the given Connect Request object, which is also an OAuth 2 Pushed Authorization Request (PAR) object.
|
|
44
|
+
* This is the initial call to the connect server to start the DWeb Connect flow.
|
|
45
|
+
*/
|
|
46
|
+
setConnectRequest(request: ConnectRequest): Promise<SetConnectRequestResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the Connect Request object. The request ID can only be used once.
|
|
49
|
+
*/
|
|
50
|
+
getConnectRequest(requestId: string): Promise<ConnectRequest | undefined>;
|
|
51
|
+
/**
|
|
52
|
+
* Sets the Connect Response object, which is also an OIDC ID token.
|
|
53
|
+
*/
|
|
54
|
+
setConnectResponse(state: string, response: ConnectResponse): Promise<any>;
|
|
55
|
+
/**
|
|
56
|
+
* Gets the Connect Response object. The `state` string can only be used once.
|
|
57
|
+
*/
|
|
58
|
+
getConnectResponse(state: string): Promise<ConnectResponse | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* Stops the TTL cache cleanup timer. Must be called during shutdown to
|
|
61
|
+
* prevent leaked timers.
|
|
62
|
+
*/
|
|
63
|
+
close(): void;
|
|
64
|
+
}
|
|
65
|
+
/** @deprecated Use {@link ConnectRequest} instead. Will be removed in a future version. */
|
|
66
|
+
export type Web5ConnectRequest = ConnectRequest;
|
|
67
|
+
/** @deprecated Use {@link ConnectResponse} instead. Will be removed in a future version. */
|
|
68
|
+
export type Web5ConnectResponse = ConnectResponse;
|
|
69
|
+
/** @deprecated Use {@link SetConnectRequestResult} instead. Will be removed in a future version. */
|
|
70
|
+
export type SetWeb5ConnectRequestResult = SetConnectRequestResult;
|
|
71
|
+
/** @deprecated Use {@link ConnectServer} instead. Will be removed in a future version. */
|
|
72
|
+
export declare const Web5ConnectServer: typeof ConnectServer;
|
|
73
|
+
/** @deprecated Use {@link ConnectServer} instead. Will be removed in a future version. */
|
|
74
|
+
export type Web5ConnectServer = ConnectServer;
|
|
75
|
+
//# sourceMappingURL=connect-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-server.d.ts","sourceRoot":"","sources":["../../../../src/connect/connect-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAMpD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,gBAAuB,YAAY,OAAO;IAE1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAc;IAE3B;;;;;;OAMG;WACiB,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;QAClD,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,aAAa,CAAC;IAS1B,OAAO;IAMP;;;OAGG;IACU,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAczF;;OAEG;IACU,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IActF;;OAEG;IACU,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvF;;OAEG;IACU,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAcpF;;;OAGG;IACI,KAAK,IAAI,IAAI;CAGrB;AAMD,2FAA2F;AAC3F,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEhD,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,oGAAoG;AACpG,MAAM,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAElE,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,sBAAgB,CAAC;AAC/C,0FAA0F;AAC1F,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC"}
|
|
@@ -1,48 +1,47 @@
|
|
|
1
1
|
import { CryptoUtils } from '@enbox/crypto';
|
|
2
|
-
import { getDialectFromUrl } from '../storage.js';
|
|
3
2
|
import { SqlTtlCache } from './sql-ttl-cache.js';
|
|
4
3
|
/**
|
|
5
|
-
* The
|
|
4
|
+
* The Connect Server is responsible for handling the DWeb Connect flow.
|
|
6
5
|
*/
|
|
7
|
-
export class
|
|
6
|
+
export class ConnectServer {
|
|
8
7
|
static ttlInSeconds = 600;
|
|
9
8
|
baseUrl;
|
|
10
9
|
cache;
|
|
11
10
|
/**
|
|
12
|
-
* Creates a new instance of the
|
|
11
|
+
* Creates a new instance of the Connect Server.
|
|
13
12
|
* @param params.baseUrl The the base URL of the connect server including the port.
|
|
14
|
-
* This is given to the Identity Provider (wallet) to fetch the
|
|
15
|
-
* @param params.
|
|
13
|
+
* This is given to the Identity Provider (wallet) to fetch the Connect Request object.
|
|
14
|
+
* @param params.sqlDialect The SQL dialect to use for the TTL cache. Must point to a database
|
|
15
|
+
* where server migrations have already been run.
|
|
16
16
|
*/
|
|
17
|
-
static async create({ baseUrl,
|
|
18
|
-
const
|
|
17
|
+
static async create({ baseUrl, sqlDialect }) {
|
|
18
|
+
const connectServer = new ConnectServer({ baseUrl });
|
|
19
19
|
// Initialize TTL cache.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return web5ConnectServer;
|
|
20
|
+
connectServer.cache = await SqlTtlCache.create(sqlDialect);
|
|
21
|
+
return connectServer;
|
|
23
22
|
}
|
|
24
23
|
constructor({ baseUrl }) {
|
|
25
24
|
this.baseUrl = baseUrl;
|
|
26
25
|
}
|
|
27
26
|
/**
|
|
28
|
-
* Stores the given
|
|
29
|
-
* This is the initial call to the connect server to start the
|
|
27
|
+
* Stores the given Connect Request object, which is also an OAuth 2 Pushed Authorization Request (PAR) object.
|
|
28
|
+
* This is the initial call to the connect server to start the DWeb Connect flow.
|
|
30
29
|
*/
|
|
31
|
-
async
|
|
30
|
+
async setConnectRequest(request) {
|
|
32
31
|
// Generate a request URI
|
|
33
32
|
const requestId = CryptoUtils.randomUuid();
|
|
34
33
|
const request_uri = `${this.baseUrl}/connect/authorize/${requestId}.jwt`;
|
|
35
34
|
// Store the Request Object.
|
|
36
|
-
this.cache.insert(`request:${requestId}`, request,
|
|
35
|
+
this.cache.insert(`request:${requestId}`, request, ConnectServer.ttlInSeconds);
|
|
37
36
|
return {
|
|
38
37
|
request_uri,
|
|
39
|
-
expires_in:
|
|
38
|
+
expires_in: ConnectServer.ttlInSeconds,
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
41
|
/**
|
|
43
|
-
* Returns the
|
|
42
|
+
* Returns the Connect Request object. The request ID can only be used once.
|
|
44
43
|
*/
|
|
45
|
-
async
|
|
44
|
+
async getConnectRequest(requestId) {
|
|
46
45
|
const request = await this.cache.get(`request:${requestId}`);
|
|
47
46
|
// Delete the Request Object from cache once it has been retrieved.
|
|
48
47
|
// IMPORTANT: only delete if the object exists, otherwise there could be a race condition
|
|
@@ -54,15 +53,15 @@ export class Web5ConnectServer {
|
|
|
54
53
|
return request;
|
|
55
54
|
}
|
|
56
55
|
/**
|
|
57
|
-
* Sets the
|
|
56
|
+
* Sets the Connect Response object, which is also an OIDC ID token.
|
|
58
57
|
*/
|
|
59
|
-
async
|
|
60
|
-
this.cache.insert(`response:${state}`, response,
|
|
58
|
+
async setConnectResponse(state, response) {
|
|
59
|
+
this.cache.insert(`response:${state}`, response, ConnectServer.ttlInSeconds);
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
|
-
* Gets the
|
|
62
|
+
* Gets the Connect Response object. The `state` string can only be used once.
|
|
64
63
|
*/
|
|
65
|
-
async
|
|
64
|
+
async getConnectResponse(state) {
|
|
66
65
|
const response = await this.cache.get(`response:${state}`);
|
|
67
66
|
// Delete the Response object from the cache once it has been retrieved.
|
|
68
67
|
// IMPORTANT: only delete if the object exists, otherwise there could be a race condition
|
|
@@ -73,5 +72,14 @@ export class Web5ConnectServer {
|
|
|
73
72
|
}
|
|
74
73
|
return response;
|
|
75
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Stops the TTL cache cleanup timer. Must be called during shutdown to
|
|
77
|
+
* prevent leaked timers.
|
|
78
|
+
*/
|
|
79
|
+
close() {
|
|
80
|
+
this.cache.close();
|
|
81
|
+
}
|
|
76
82
|
}
|
|
77
|
-
|
|
83
|
+
/** @deprecated Use {@link ConnectServer} instead. Will be removed in a future version. */
|
|
84
|
+
export const Web5ConnectServer = ConnectServer;
|
|
85
|
+
//# sourceMappingURL=connect-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-server.js","sourceRoot":"","sources":["../../../../src/connect/connect-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2BjD;;GAEG;AACH,MAAM,OAAO,aAAa;IACjB,MAAM,CAAU,YAAY,GAAG,GAAG,CAAC;IAElC,OAAO,CAAS;IAChB,KAAK,CAAc;IAE3B;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAG/C;QACC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAErD,wBAAwB;QACxB,aAAa,CAAC,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE3D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,YAAoB,EAAE,OAAO,EAE5B;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,OAAuB;QACpD,yBAAyB;QACzB,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,sBAAsB,SAAS,MAAM,CAAC;QAEzE,4BAA4B;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAE/E,OAAO;YACL,WAAW;YACX,UAAU,EAAE,aAAa,CAAC,YAAY;SACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;QAE7D,mEAAmE;QACnE,yFAAyF;QACzF,wFAAwF;QACxF,mEAAmE;QACnE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,QAAyB;QACtE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,kBAAkB,CAAC,KAAa;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;QAE3D,wEAAwE;QACxE,yFAAyF;QACzF,wFAAwF;QACxF,mEAAmE;QACnE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;;AAgBH,0FAA0F;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC"}
|
|
@@ -5,7 +5,6 @@ import type { Dialect } from '@enbox/dwn-sql-store';
|
|
|
5
5
|
export declare class SqlTtlCache {
|
|
6
6
|
private static readonly cacheTableName;
|
|
7
7
|
private static readonly cleanupIntervalInSeconds;
|
|
8
|
-
private sqlDialect;
|
|
9
8
|
private db;
|
|
10
9
|
private cleanupTimer;
|
|
11
10
|
private constructor();
|
|
@@ -13,6 +12,10 @@ export declare class SqlTtlCache {
|
|
|
13
12
|
* Creates a new SqlTtlCache instance.
|
|
14
13
|
*/
|
|
15
14
|
static create(sqlDialect: Dialect): Promise<SqlTtlCache>;
|
|
15
|
+
/**
|
|
16
|
+
* Verifies that the required table exists and starts the cleanup timer.
|
|
17
|
+
* Throws a clear error directing the caller to run server migrations first.
|
|
18
|
+
*/
|
|
16
19
|
private initialize;
|
|
17
20
|
/**
|
|
18
21
|
* Starts a timer to periodically clean up expired cache entries.
|
|
@@ -35,5 +38,12 @@ export declare class SqlTtlCache {
|
|
|
35
38
|
* Cleans up expired cache entries.
|
|
36
39
|
*/
|
|
37
40
|
cleanUpExpiredEntries(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Stops the background cleanup timer. The underlying database connection is
|
|
43
|
+
* NOT destroyed here because the dialect is shared with other components
|
|
44
|
+
* (e.g. DWN stores, registration store) and its lifecycle is managed by the
|
|
45
|
+
* dialect owner.
|
|
46
|
+
*/
|
|
47
|
+
close(): void;
|
|
38
48
|
}
|
|
39
49
|
//# sourceMappingURL=sql-ttl-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-ttl-cache.d.ts","sourceRoot":"","sources":["../../../../src/connect/sql-ttl-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAM;IAEtD,OAAO,CAAC,EAAE,CAAwB;IAClC,OAAO,CAAC,YAAY,CAAiB;IAErC,OAAO;IAIP;;OAEG;WACiB,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAQrE;;;OAGG;YACW,UAAU;IAaxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3E;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA+B1D;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C;;OAEG;IACU,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOnD;;;;;OAKG;IACI,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { Kysely } from 'kysely';
|
|
1
|
+
import { Kysely, sql } from 'kysely';
|
|
2
2
|
/**
|
|
3
3
|
* The SqlTtlCache is responsible for storing and retrieving cache data with TTL (Time-to-Live).
|
|
4
4
|
*/
|
|
5
5
|
export class SqlTtlCache {
|
|
6
6
|
static cacheTableName = 'cacheEntries';
|
|
7
7
|
static cleanupIntervalInSeconds = 60;
|
|
8
|
-
sqlDialect;
|
|
9
8
|
db;
|
|
10
9
|
cleanupTimer;
|
|
11
10
|
constructor(sqlDialect) {
|
|
12
11
|
this.db = new Kysely({ dialect: sqlDialect });
|
|
13
|
-
this.sqlDialect = sqlDialect;
|
|
14
12
|
}
|
|
15
13
|
/**
|
|
16
14
|
* Creates a new SqlTtlCache instance.
|
|
@@ -20,24 +18,16 @@ export class SqlTtlCache {
|
|
|
20
18
|
await cacheManager.initialize();
|
|
21
19
|
return cacheManager;
|
|
22
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Verifies that the required table exists and starts the cleanup timer.
|
|
23
|
+
* Throws a clear error directing the caller to run server migrations first.
|
|
24
|
+
*/
|
|
23
25
|
async initialize() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
.ifNotExists() // kept to show supported by all dialects in contrast to ifNotExists() below, though not needed due to tableExists check above
|
|
30
|
-
// 512 chars to accommodate potentially large `state` in Web5 Connect flow
|
|
31
|
-
.addColumn('key', 'varchar(512)', (column) => column.primaryKey())
|
|
32
|
-
.addColumn('value', 'text', (column) => column.notNull())
|
|
33
|
-
.addColumn('expiry', 'bigint', (column) => column.notNull())
|
|
34
|
-
.execute();
|
|
35
|
-
await this.db.schema
|
|
36
|
-
.createIndex('index_expiry')
|
|
37
|
-
// .ifNotExists() // intentionally kept commented out code to show that it is not supported by all dialects (ie. MySQL)
|
|
38
|
-
.on(SqlTtlCache.cacheTableName)
|
|
39
|
-
.column('expiry')
|
|
40
|
-
.execute();
|
|
26
|
+
try {
|
|
27
|
+
await sql `SELECT 1 FROM ${sql.table(SqlTtlCache.cacheTableName)} LIMIT 0`.execute(this.db);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
throw new Error(`SqlTtlCache: table '${SqlTtlCache.cacheTableName}' does not exist. Run server migrations before starting.`);
|
|
41
31
|
}
|
|
42
32
|
// Start the cleanup timer
|
|
43
33
|
this.startCleanupTimer();
|
|
@@ -110,5 +100,14 @@ export class SqlTtlCache {
|
|
|
110
100
|
.where('expiry', '<', Date.now())
|
|
111
101
|
.execute();
|
|
112
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Stops the background cleanup timer. The underlying database connection is
|
|
105
|
+
* NOT destroyed here because the dialect is shared with other components
|
|
106
|
+
* (e.g. DWN stores, registration store) and its lifecycle is managed by the
|
|
107
|
+
* dialect owner.
|
|
108
|
+
*/
|
|
109
|
+
close() {
|
|
110
|
+
clearInterval(this.cleanupTimer);
|
|
111
|
+
}
|
|
113
112
|
}
|
|
114
113
|
//# sourceMappingURL=sql-ttl-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-ttl-cache.js","sourceRoot":"","sources":["../../../../src/connect/sql-ttl-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn-server.d.ts","sourceRoot":"","sources":["../../../src/dwn-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,GAAG,EAAwB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dwn-server.d.ts","sourceRoot":"","sources":["../../../src/dwn-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,GAAG,EAAwB,MAAM,mBAAmB,CAAC;AAe9D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAM7E;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAE/C;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,aAAK,cAAc;IACjB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,qBAAa,SAAS;;IACpB,WAAW,iBAA0B;IACrC,eAAe,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,eAAe,CAAC;IAaxB;;;;OAIG;gBACS,OAAO,GAAE,gBAAqB;IAe1C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6R5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4C3B,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAE/B;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,mBAAmB,CAE7C;CACF"}
|