@enbox/dwn-server 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/esm/src/admin/admin-api.d.ts +5 -1
  2. package/dist/esm/src/admin/admin-api.d.ts.map +1 -1
  3. package/dist/esm/src/admin/admin-api.js +327 -7
  4. package/dist/esm/src/admin/admin-api.js.map +1 -1
  5. package/dist/esm/src/admin/admin-auth.d.ts +21 -3
  6. package/dist/esm/src/admin/admin-auth.d.ts.map +1 -1
  7. package/dist/esm/src/admin/admin-auth.js +17 -9
  8. package/dist/esm/src/admin/admin-auth.js.map +1 -1
  9. package/dist/esm/src/admin/admin-passkey-store.d.ts +68 -0
  10. package/dist/esm/src/admin/admin-passkey-store.d.ts.map +1 -0
  11. package/dist/esm/src/admin/admin-passkey-store.js +132 -0
  12. package/dist/esm/src/admin/admin-passkey-store.js.map +1 -0
  13. package/dist/esm/src/admin/admin-session.d.ts +35 -0
  14. package/dist/esm/src/admin/admin-session.d.ts.map +1 -0
  15. package/dist/esm/src/admin/admin-session.js +91 -0
  16. package/dist/esm/src/admin/admin-session.js.map +1 -0
  17. package/dist/esm/src/admin/audit-log.d.ts.map +1 -1
  18. package/dist/esm/src/admin/audit-log.js +5 -43
  19. package/dist/esm/src/admin/audit-log.js.map +1 -1
  20. package/dist/esm/src/admin/index.d.ts +5 -1
  21. package/dist/esm/src/admin/index.d.ts.map +1 -1
  22. package/dist/esm/src/admin/index.js +2 -0
  23. package/dist/esm/src/admin/index.js.map +1 -1
  24. package/dist/esm/src/admin/types.d.ts +22 -0
  25. package/dist/esm/src/admin/types.d.ts.map +1 -1
  26. package/dist/esm/src/admin/webhook-manager.d.ts.map +1 -1
  27. package/dist/esm/src/admin/webhook-manager.js +11 -10
  28. package/dist/esm/src/admin/webhook-manager.js.map +1 -1
  29. package/dist/esm/src/config.d.ts +18 -0
  30. package/dist/esm/src/config.d.ts.map +1 -1
  31. package/dist/esm/src/config.js +18 -0
  32. package/dist/esm/src/config.js.map +1 -1
  33. package/dist/esm/src/dwn-server.d.ts.map +1 -1
  34. package/dist/esm/src/dwn-server.js +46 -11
  35. package/dist/esm/src/dwn-server.js.map +1 -1
  36. package/dist/esm/src/http-api.d.ts +4 -0
  37. package/dist/esm/src/http-api.d.ts.map +1 -1
  38. package/dist/esm/src/http-api.js +14 -4
  39. package/dist/esm/src/http-api.js.map +1 -1
  40. package/dist/esm/src/migrations/001-initial-server-schema.d.ts +21 -0
  41. package/dist/esm/src/migrations/001-initial-server-schema.d.ts.map +1 -0
  42. package/dist/esm/src/migrations/001-initial-server-schema.js +97 -0
  43. package/dist/esm/src/migrations/001-initial-server-schema.js.map +1 -0
  44. package/dist/esm/src/migrations/index.d.ts +13 -0
  45. package/dist/esm/src/migrations/index.d.ts.map +1 -0
  46. package/dist/esm/src/migrations/index.js +5 -0
  47. package/dist/esm/src/migrations/index.js.map +1 -0
  48. package/dist/esm/src/registration/registration-store.d.ts +4 -0
  49. package/dist/esm/src/registration/registration-store.d.ts.map +1 -1
  50. package/dist/esm/src/registration/registration-store.js +11 -34
  51. package/dist/esm/src/registration/registration-store.js.map +1 -1
  52. package/dist/esm/src/server-migration-runner.d.ts +23 -0
  53. package/dist/esm/src/server-migration-runner.d.ts.map +1 -0
  54. package/dist/esm/src/server-migration-runner.js +57 -0
  55. package/dist/esm/src/server-migration-runner.js.map +1 -0
  56. package/dist/esm/src/storage.d.ts +15 -0
  57. package/dist/esm/src/storage.d.ts.map +1 -1
  58. package/dist/esm/src/storage.js +135 -17
  59. package/dist/esm/src/storage.js.map +1 -1
  60. package/dist/esm/src/web5-connect/sql-ttl-cache.d.ts +11 -1
  61. package/dist/esm/src/web5-connect/sql-ttl-cache.d.ts.map +1 -1
  62. package/dist/esm/src/web5-connect/sql-ttl-cache.js +19 -20
  63. package/dist/esm/src/web5-connect/sql-ttl-cache.js.map +1 -1
  64. package/dist/esm/src/web5-connect/web5-connect-server.d.ts +10 -3
  65. package/dist/esm/src/web5-connect/web5-connect-server.d.ts.map +1 -1
  66. package/dist/esm/src/web5-connect/web5-connect-server.js +10 -4
  67. package/dist/esm/src/web5-connect/web5-connect-server.js.map +1 -1
  68. package/package.json +3 -2
  69. package/src/admin/admin-api.ts +403 -10
  70. package/src/admin/admin-auth.ts +38 -9
  71. package/src/admin/admin-passkey-store.ts +190 -0
  72. package/src/admin/admin-session.ts +116 -0
  73. package/src/admin/audit-log.ts +7 -44
  74. package/src/admin/index.ts +5 -0
  75. package/src/admin/types.ts +28 -0
  76. package/src/admin/webhook-manager.ts +12 -10
  77. package/src/config.ts +21 -0
  78. package/src/dwn-server.ts +49 -11
  79. package/src/http-api.ts +20 -5
  80. package/src/migrations/001-initial-server-schema.ts +114 -0
  81. package/src/migrations/index.ts +18 -0
  82. package/src/registration/registration-store.ts +13 -36
  83. package/src/server-migration-runner.ts +74 -0
  84. package/src/storage.ts +145 -17
  85. package/src/web5-connect/sql-ttl-cache.ts +21 -22
  86. package/src/web5-connect/web5-connect-server.ts +14 -5
@@ -1,6 +1,7 @@
1
+ import type { Dialect } from '@enbox/dwn-sql-store';
2
+
1
3
  import { CryptoUtils } from '@enbox/crypto';
2
4
 
3
- import { getDialectFromUrl } from '../storage.js';
4
5
  import { SqlTtlCache } from './sql-ttl-cache.js';
5
6
 
6
7
  /**
@@ -41,16 +42,16 @@ export class Web5ConnectServer {
41
42
  * Creates a new instance of the Web5 Connect Server.
42
43
  * @param params.baseUrl The the base URL of the connect server including the port.
43
44
  * This is given to the Identity Provider (wallet) to fetch the Web5 Connect Request object.
44
- * @param params.sqlTtlCacheUrl The URL of the SQL database to use as the TTL cache.
45
+ * @param params.sqlDialect The SQL dialect to use for the TTL cache. Must point to a database
46
+ * where server migrations have already been run.
45
47
  */
46
- public static async create({ baseUrl, sqlTtlCacheUrl }: {
48
+ public static async create({ baseUrl, sqlDialect }: {
47
49
  baseUrl: string;
48
- sqlTtlCacheUrl: string;
50
+ sqlDialect: Dialect;
49
51
  }): Promise<Web5ConnectServer> {
50
52
  const web5ConnectServer = new Web5ConnectServer({ baseUrl });
51
53
 
52
54
  // Initialize TTL cache.
53
- const sqlDialect = getDialectFromUrl(new URL(sqlTtlCacheUrl));
54
55
  web5ConnectServer.cache = await SqlTtlCache.create(sqlDialect);
55
56
 
56
57
  return web5ConnectServer;
@@ -120,4 +121,12 @@ export class Web5ConnectServer {
120
121
 
121
122
  return response;
122
123
  }
124
+
125
+ /**
126
+ * Stops the TTL cache cleanup timer. Must be called during shutdown to
127
+ * prevent leaked timers.
128
+ */
129
+ public close(): void {
130
+ this.cache.close();
131
+ }
123
132
  }