was-teaching-server 0.9.1

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 (295) hide show
  1. package/CHANGELOG.md +1432 -0
  2. package/LICENSE +661 -0
  3. package/README.md +305 -0
  4. package/common/css/materialize.1.0.0.min.css +13 -0
  5. package/dist/auth-header-hooks.d.ts +84 -0
  6. package/dist/auth-header-hooks.d.ts.map +1 -0
  7. package/dist/auth-header-hooks.js +136 -0
  8. package/dist/auth-header-hooks.js.map +1 -0
  9. package/dist/authorize.d.ts +45 -0
  10. package/dist/authorize.d.ts.map +1 -0
  11. package/dist/authorize.js +76 -0
  12. package/dist/authorize.js.map +1 -0
  13. package/dist/backends/filesystem.d.ts +1179 -0
  14. package/dist/backends/filesystem.d.ts.map +1 -0
  15. package/dist/backends/filesystem.js +2727 -0
  16. package/dist/backends/filesystem.js.map +1 -0
  17. package/dist/backends/postgres.d.ts +833 -0
  18. package/dist/backends/postgres.d.ts.map +1 -0
  19. package/dist/backends/postgres.js +2164 -0
  20. package/dist/backends/postgres.js.map +1 -0
  21. package/dist/backends/postgresSchema.d.ts +36 -0
  22. package/dist/backends/postgresSchema.d.ts.map +1 -0
  23. package/dist/backends/postgresSchema.js +203 -0
  24. package/dist/backends/postgresSchema.js.map +1 -0
  25. package/dist/config.default.d.ts +360 -0
  26. package/dist/config.default.d.ts.map +1 -0
  27. package/dist/config.default.js +493 -0
  28. package/dist/config.default.js.map +1 -0
  29. package/dist/corsProxy.d.ts +45 -0
  30. package/dist/corsProxy.d.ts.map +1 -0
  31. package/dist/corsProxy.js +278 -0
  32. package/dist/corsProxy.js.map +1 -0
  33. package/dist/digest.d.ts +45 -0
  34. package/dist/digest.d.ts.map +1 -0
  35. package/dist/digest.js +174 -0
  36. package/dist/digest.js.map +1 -0
  37. package/dist/errors.d.ts +654 -0
  38. package/dist/errors.d.ts.map +1 -0
  39. package/dist/errors.js +960 -0
  40. package/dist/errors.js.map +1 -0
  41. package/dist/index.d.ts +22 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +21 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/lib/atomicFile.d.ts +61 -0
  46. package/dist/lib/atomicFile.d.ts.map +1 -0
  47. package/dist/lib/atomicFile.js +150 -0
  48. package/dist/lib/atomicFile.js.map +1 -0
  49. package/dist/lib/backendRegistry.d.ts +59 -0
  50. package/dist/lib/backendRegistry.d.ts.map +1 -0
  51. package/dist/lib/backendRegistry.js +92 -0
  52. package/dist/lib/backendRegistry.js.map +1 -0
  53. package/dist/lib/backendUsage.d.ts +28 -0
  54. package/dist/lib/backendUsage.d.ts.map +1 -0
  55. package/dist/lib/backendUsage.js +55 -0
  56. package/dist/lib/backendUsage.js.map +1 -0
  57. package/dist/lib/backends.d.ts +142 -0
  58. package/dist/lib/backends.d.ts.map +1 -0
  59. package/dist/lib/backends.js +272 -0
  60. package/dist/lib/backends.js.map +1 -0
  61. package/dist/lib/blindedIndex.d.ts +156 -0
  62. package/dist/lib/blindedIndex.d.ts.map +1 -0
  63. package/dist/lib/blindedIndex.js +338 -0
  64. package/dist/lib/blindedIndex.js.map +1 -0
  65. package/dist/lib/collectionDescription.d.ts +33 -0
  66. package/dist/lib/collectionDescription.d.ts.map +1 -0
  67. package/dist/lib/collectionDescription.js +21 -0
  68. package/dist/lib/collectionDescription.js.map +1 -0
  69. package/dist/lib/cursor.d.ts +18 -0
  70. package/dist/lib/cursor.d.ts.map +1 -0
  71. package/dist/lib/cursor.js +50 -0
  72. package/dist/lib/cursor.js.map +1 -0
  73. package/dist/lib/edvEnvelope.d.ts +50 -0
  74. package/dist/lib/edvEnvelope.d.ts.map +1 -0
  75. package/dist/lib/edvEnvelope.js +106 -0
  76. package/dist/lib/edvEnvelope.js.map +1 -0
  77. package/dist/lib/encryption.d.ts +192 -0
  78. package/dist/lib/encryption.d.ts.map +1 -0
  79. package/dist/lib/encryption.js +383 -0
  80. package/dist/lib/encryption.js.map +1 -0
  81. package/dist/lib/etag.d.ts +33 -0
  82. package/dist/lib/etag.d.ts.map +1 -0
  83. package/dist/lib/etag.js +36 -0
  84. package/dist/lib/etag.js.map +1 -0
  85. package/dist/lib/exportManifest.d.ts +29 -0
  86. package/dist/lib/exportManifest.d.ts.map +1 -0
  87. package/dist/lib/exportManifest.js +77 -0
  88. package/dist/lib/exportManifest.js.map +1 -0
  89. package/dist/lib/importTar.d.ts +81 -0
  90. package/dist/lib/importTar.d.ts.map +1 -0
  91. package/dist/lib/importTar.js +301 -0
  92. package/dist/lib/importTar.js.map +1 -0
  93. package/dist/lib/isJson.d.ts +16 -0
  94. package/dist/lib/isJson.d.ts.map +1 -0
  95. package/dist/lib/isJson.js +17 -0
  96. package/dist/lib/isJson.js.map +1 -0
  97. package/dist/lib/keyEpoch.d.ts +38 -0
  98. package/dist/lib/keyEpoch.d.ts.map +1 -0
  99. package/dist/lib/keyEpoch.js +75 -0
  100. package/dist/lib/keyEpoch.js.map +1 -0
  101. package/dist/lib/keyedMutex.d.ts +28 -0
  102. package/dist/lib/keyedMutex.d.ts.map +1 -0
  103. package/dist/lib/keyedMutex.js +45 -0
  104. package/dist/lib/keyedMutex.js.map +1 -0
  105. package/dist/lib/kmsModule.d.ts +62 -0
  106. package/dist/lib/kmsModule.d.ts.map +1 -0
  107. package/dist/lib/kmsModule.js +327 -0
  108. package/dist/lib/kmsModule.js.map +1 -0
  109. package/dist/lib/kmsRecordCipher.d.ts +82 -0
  110. package/dist/lib/kmsRecordCipher.d.ts.map +1 -0
  111. package/dist/lib/kmsRecordCipher.js +226 -0
  112. package/dist/lib/kmsRecordCipher.js.map +1 -0
  113. package/dist/lib/pagination.d.ts +19 -0
  114. package/dist/lib/pagination.d.ts.map +1 -0
  115. package/dist/lib/pagination.js +21 -0
  116. package/dist/lib/pagination.js.map +1 -0
  117. package/dist/lib/paths.d.ts +273 -0
  118. package/dist/lib/paths.d.ts.map +1 -0
  119. package/dist/lib/paths.js +270 -0
  120. package/dist/lib/paths.js.map +1 -0
  121. package/dist/lib/preconditions.d.ts +65 -0
  122. package/dist/lib/preconditions.d.ts.map +1 -0
  123. package/dist/lib/preconditions.js +112 -0
  124. package/dist/lib/preconditions.js.map +1 -0
  125. package/dist/lib/resourceFileName.d.ts +41 -0
  126. package/dist/lib/resourceFileName.d.ts.map +1 -0
  127. package/dist/lib/resourceFileName.js +58 -0
  128. package/dist/lib/resourceFileName.js.map +1 -0
  129. package/dist/lib/revocations.d.ts +49 -0
  130. package/dist/lib/revocations.d.ts.map +1 -0
  131. package/dist/lib/revocations.js +86 -0
  132. package/dist/lib/revocations.js.map +1 -0
  133. package/dist/lib/validateDid.d.ts +19 -0
  134. package/dist/lib/validateDid.d.ts.map +1 -0
  135. package/dist/lib/validateDid.js +35 -0
  136. package/dist/lib/validateDid.js.map +1 -0
  137. package/dist/lib/validateId.d.ts +66 -0
  138. package/dist/lib/validateId.d.ts.map +1 -0
  139. package/dist/lib/validateId.js +126 -0
  140. package/dist/lib/validateId.js.map +1 -0
  141. package/dist/plugin.d.ts +115 -0
  142. package/dist/plugin.d.ts.map +1 -0
  143. package/dist/plugin.js +134 -0
  144. package/dist/plugin.js.map +1 -0
  145. package/dist/policy.d.ts +78 -0
  146. package/dist/policy.d.ts.map +1 -0
  147. package/dist/policy.js +115 -0
  148. package/dist/policy.js.map +1 -0
  149. package/dist/provisioning.d.ts +38 -0
  150. package/dist/provisioning.d.ts.map +1 -0
  151. package/dist/provisioning.js +72 -0
  152. package/dist/provisioning.js.map +1 -0
  153. package/dist/requests/BackendRequest.d.ts +61 -0
  154. package/dist/requests/BackendRequest.d.ts.map +1 -0
  155. package/dist/requests/BackendRequest.js +152 -0
  156. package/dist/requests/BackendRequest.js.map +1 -0
  157. package/dist/requests/CollectionRequest.d.ts +234 -0
  158. package/dist/requests/CollectionRequest.d.ts.map +1 -0
  159. package/dist/requests/CollectionRequest.js +705 -0
  160. package/dist/requests/CollectionRequest.js.map +1 -0
  161. package/dist/requests/KeyRequest.d.ts +115 -0
  162. package/dist/requests/KeyRequest.d.ts.map +1 -0
  163. package/dist/requests/KeyRequest.js +468 -0
  164. package/dist/requests/KeyRequest.js.map +1 -0
  165. package/dist/requests/KeystoreRequest.d.ts +99 -0
  166. package/dist/requests/KeystoreRequest.d.ts.map +1 -0
  167. package/dist/requests/KeystoreRequest.js +247 -0
  168. package/dist/requests/KeystoreRequest.js.map +1 -0
  169. package/dist/requests/PolicyRequest.d.ts +53 -0
  170. package/dist/requests/PolicyRequest.d.ts.map +1 -0
  171. package/dist/requests/PolicyRequest.js +124 -0
  172. package/dist/requests/PolicyRequest.js.map +1 -0
  173. package/dist/requests/ResourceRequest.d.ts +134 -0
  174. package/dist/requests/ResourceRequest.d.ts.map +1 -0
  175. package/dist/requests/ResourceRequest.js +548 -0
  176. package/dist/requests/ResourceRequest.js.map +1 -0
  177. package/dist/requests/RevocationRequest.d.ts +67 -0
  178. package/dist/requests/RevocationRequest.d.ts.map +1 -0
  179. package/dist/requests/RevocationRequest.js +187 -0
  180. package/dist/requests/RevocationRequest.js.map +1 -0
  181. package/dist/requests/SpaceRequest.d.ts +204 -0
  182. package/dist/requests/SpaceRequest.d.ts.map +1 -0
  183. package/dist/requests/SpaceRequest.js +520 -0
  184. package/dist/requests/SpaceRequest.js.map +1 -0
  185. package/dist/requests/SpacesRepositoryRequest.d.ts +50 -0
  186. package/dist/requests/SpacesRepositoryRequest.d.ts.map +1 -0
  187. package/dist/requests/SpacesRepositoryRequest.js +159 -0
  188. package/dist/requests/SpacesRepositoryRequest.js.map +1 -0
  189. package/dist/requests/collectionContext.d.ts +21 -0
  190. package/dist/requests/collectionContext.d.ts.map +1 -0
  191. package/dist/requests/collectionContext.js +30 -0
  192. package/dist/requests/collectionContext.js.map +1 -0
  193. package/dist/requests/controllerConsent.d.ts +58 -0
  194. package/dist/requests/controllerConsent.d.ts.map +1 -0
  195. package/dist/requests/controllerConsent.js +73 -0
  196. package/dist/requests/controllerConsent.js.map +1 -0
  197. package/dist/requests/keystoreContext.d.ts +68 -0
  198. package/dist/requests/keystoreContext.d.ts.map +1 -0
  199. package/dist/requests/keystoreContext.js +87 -0
  200. package/dist/requests/keystoreContext.js.map +1 -0
  201. package/dist/requests/resourceInput.d.ts +19 -0
  202. package/dist/requests/resourceInput.d.ts.map +1 -0
  203. package/dist/requests/resourceInput.js +102 -0
  204. package/dist/requests/resourceInput.js.map +1 -0
  205. package/dist/requests/spaceContext.d.ts +127 -0
  206. package/dist/requests/spaceContext.d.ts.map +1 -0
  207. package/dist/requests/spaceContext.js +201 -0
  208. package/dist/requests/spaceContext.js.map +1 -0
  209. package/dist/routes.d.ts +55 -0
  210. package/dist/routes.d.ts.map +1 -0
  211. package/dist/routes.js +306 -0
  212. package/dist/routes.js.map +1 -0
  213. package/dist/server.d.ts +20 -0
  214. package/dist/server.d.ts.map +1 -0
  215. package/dist/server.js +60 -0
  216. package/dist/server.js.map +1 -0
  217. package/dist/start.d.ts +7 -0
  218. package/dist/start.d.ts.map +1 -0
  219. package/dist/start.js +61 -0
  220. package/dist/start.js.map +1 -0
  221. package/dist/storage.d.ts +29 -0
  222. package/dist/storage.d.ts.map +1 -0
  223. package/dist/storage.js +47 -0
  224. package/dist/storage.js.map +1 -0
  225. package/dist/types.d.ts +915 -0
  226. package/dist/types.d.ts.map +1 -0
  227. package/dist/types.js +2 -0
  228. package/dist/types.js.map +1 -0
  229. package/dist/views/home.hbs +9 -0
  230. package/dist/views/templates/main.hbs +12 -0
  231. package/dist/zcap.d.ts +267 -0
  232. package/dist/zcap.d.ts.map +1 -0
  233. package/dist/zcap.js +478 -0
  234. package/dist/zcap.js.map +1 -0
  235. package/package.json +109 -0
  236. package/src/auth-header-hooks.ts +163 -0
  237. package/src/authorize.ts +117 -0
  238. package/src/backends/filesystem.ts +3626 -0
  239. package/src/backends/postgres.ts +3073 -0
  240. package/src/backends/postgresSchema.ts +231 -0
  241. package/src/config.default.ts +657 -0
  242. package/src/corsProxy.ts +326 -0
  243. package/src/declarations.d.ts +28 -0
  244. package/src/digest.ts +223 -0
  245. package/src/errors.ts +1122 -0
  246. package/src/index.ts +21 -0
  247. package/src/lib/atomicFile.ts +176 -0
  248. package/src/lib/backendRegistry.ts +139 -0
  249. package/src/lib/backendUsage.ts +79 -0
  250. package/src/lib/backends.ts +351 -0
  251. package/src/lib/blindedIndex.ts +466 -0
  252. package/src/lib/collectionDescription.ts +43 -0
  253. package/src/lib/cursor.ts +52 -0
  254. package/src/lib/edvEnvelope.ts +120 -0
  255. package/src/lib/encryption.ts +472 -0
  256. package/src/lib/etag.ts +40 -0
  257. package/src/lib/exportManifest.ts +115 -0
  258. package/src/lib/importTar.ts +381 -0
  259. package/src/lib/isJson.ts +18 -0
  260. package/src/lib/keyEpoch.ts +89 -0
  261. package/src/lib/keyedMutex.ts +45 -0
  262. package/src/lib/kmsModule.ts +451 -0
  263. package/src/lib/kmsRecordCipher.ts +292 -0
  264. package/src/lib/pagination.ts +22 -0
  265. package/src/lib/paths.ts +382 -0
  266. package/src/lib/preconditions.ts +145 -0
  267. package/src/lib/resourceFileName.ts +69 -0
  268. package/src/lib/revocations.ts +116 -0
  269. package/src/lib/validateDid.ts +41 -0
  270. package/src/lib/validateId.ts +148 -0
  271. package/src/plugin.ts +288 -0
  272. package/src/policy.ts +176 -0
  273. package/src/provisioning.ts +98 -0
  274. package/src/requests/BackendRequest.ts +219 -0
  275. package/src/requests/CollectionRequest.ts +899 -0
  276. package/src/requests/KeyRequest.ts +617 -0
  277. package/src/requests/KeystoreRequest.ts +325 -0
  278. package/src/requests/PolicyRequest.ts +169 -0
  279. package/src/requests/ResourceRequest.ts +649 -0
  280. package/src/requests/RevocationRequest.ts +267 -0
  281. package/src/requests/SpaceRequest.ts +686 -0
  282. package/src/requests/SpacesRepositoryRequest.ts +194 -0
  283. package/src/requests/collectionContext.ts +41 -0
  284. package/src/requests/controllerConsent.ts +108 -0
  285. package/src/requests/keystoreContext.ts +124 -0
  286. package/src/requests/resourceInput.ts +118 -0
  287. package/src/requests/spaceContext.ts +311 -0
  288. package/src/routes.ts +420 -0
  289. package/src/server.ts +69 -0
  290. package/src/start.ts +71 -0
  291. package/src/storage.ts +60 -0
  292. package/src/types.ts +1016 -0
  293. package/src/views/home.hbs +9 -0
  294. package/src/views/templates/main.hbs +12 -0
  295. package/src/zcap.ts +657 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/backends/postgres.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * PostgreSQL schema for the `PostgresBackend`: an ordered list of migration
3
+ * scripts plus the tiny hand-rolled runner that applies them idempotently
4
+ * (inside an advisory-locked transaction) on backend `init()`. The whole
5
+ * schema is readable in this one file; there is no external migration tool.
6
+ *
7
+ * Collation note: every identifier or ISO-8601 timestamp column that
8
+ * participates in an `ORDER BY` or keyset `>` comparison is declared
9
+ * `COLLATE "C"` (byte order, which for UTF-8 is code-point order) so Postgres
10
+ * ordering agrees with the JS code-unit comparisons the filesystem backend and
11
+ * the pagination cursors use. (The two orders could theoretically diverge for
12
+ * supplementary-plane characters -- unreachable here because the request layer
13
+ * validates ids as URL-safe ASCII.) Timestamps are stored as the fixed-width
14
+ * ISO-8601 strings the wire model uses (`new Date().toISOString()`), not
15
+ * `timestamptz`, so change-feed checkpoints round-trip byte-identically.
16
+ */
17
+ import type pg from 'pg';
18
+ /**
19
+ * Ordered migration scripts. Version `n` is `MIGRATIONS[n - 1]`; append only,
20
+ * never edit an applied entry.
21
+ */
22
+ export declare const MIGRATIONS: string[];
23
+ /**
24
+ * Applies any not-yet-applied migrations, inside a transaction holding a
25
+ * schema-scoped advisory lock so concurrent server instances sharing one
26
+ * database serialize their startup migration runs. Idempotent: applied
27
+ * versions are recorded in `schema_migrations` and skipped on the next run.
28
+ * @param options {object}
29
+ * @param options.client {pg.PoolClient} a dedicated client (not the pool);
30
+ * the caller is responsible for releasing it
31
+ * @returns {Promise<void>}
32
+ */
33
+ export declare function applyMigrations({ client }: {
34
+ client: pg.PoolClient;
35
+ }): Promise<void>;
36
+ //# sourceMappingURL=postgresSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresSchema.d.ts","sourceRoot":"","sources":["../../src/backends/postgresSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AAExB;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EA8J9B,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACP,EAAE;IACD,MAAM,EAAE,EAAE,CAAC,UAAU,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Ordered migration scripts. Version `n` is `MIGRATIONS[n - 1]`; append only,
3
+ * never edit an applied entry.
4
+ */
5
+ export const MIGRATIONS = [
6
+ // v1: the full WAS + WebKMS surface.
7
+ `
8
+ -- The Spaces tree. 'description' is NULL for a placeholder row created by a
9
+ -- write below the Space level (a resource/policy write to a Space whose
10
+ -- description was never written) -- the analogue of a Space directory
11
+ -- without a '.space.' file; getSpaceDescription treats it as absent.
12
+ -- 'usage_bytes' is the transactional quota counter (spec "Quotas"),
13
+ -- maintained in the same transaction as every content write and delete.
14
+ CREATE TABLE spaces (
15
+ space_id text COLLATE "C" PRIMARY KEY,
16
+ description jsonb,
17
+ usage_bytes bigint NOT NULL DEFAULT 0
18
+ );
19
+
20
+ CREATE TABLE collections (
21
+ space_id text COLLATE "C" NOT NULL
22
+ REFERENCES spaces ON DELETE CASCADE,
23
+ collection_id text COLLATE "C" NOT NULL,
24
+ description jsonb,
25
+ PRIMARY KEY (space_id, collection_id)
26
+ );
27
+
28
+ -- One row per Resource, live or tombstoned. 'content' is the byte-for-byte
29
+ -- representation (JSON stored as its serialized UTF-8 bytes, NOT jsonb --
30
+ -- jsonb normalization would break byte fidelity); NULL on a tombstone.
31
+ -- 'content_type' records the last-known type on a tombstone. 'version' /
32
+ -- 'meta_version' are the two ETag validators; 'custom' is the user-writable
33
+ -- metadata (or the opaque encryption envelope on an encrypted Collection).
34
+ CREATE TABLE resources (
35
+ space_id text COLLATE "C" NOT NULL,
36
+ collection_id text COLLATE "C" NOT NULL,
37
+ resource_id text COLLATE "C" NOT NULL,
38
+ content_type text NOT NULL,
39
+ content bytea,
40
+ is_json boolean NOT NULL,
41
+ size_bytes bigint NOT NULL DEFAULT 0,
42
+ version integer NOT NULL,
43
+ meta_version integer,
44
+ custom jsonb,
45
+ deleted boolean NOT NULL DEFAULT false,
46
+ created_at text COLLATE "C" NOT NULL,
47
+ updated_at text COLLATE "C" NOT NULL,
48
+ PRIMARY KEY (space_id, collection_id, resource_id),
49
+ FOREIGN KEY (space_id, collection_id)
50
+ REFERENCES collections ON DELETE CASCADE
51
+ );
52
+
53
+ -- The changes-feed keyset: (updatedAt, resourceId) ascending within a
54
+ -- collection. Also serves the tie-broken seek.
55
+ CREATE INDEX resources_changes_idx
56
+ ON resources (space_id, collection_id, updated_at, resource_id);
57
+
58
+ -- Policies for all three levels in one table; '' sentinel columns keep the
59
+ -- primary key total (Postgres PKs reject NULL). Space policy: ('', '');
60
+ -- collection policy: (cid, ''); resource policy: (cid, rid).
61
+ CREATE TABLE policies (
62
+ space_id text COLLATE "C" NOT NULL
63
+ REFERENCES spaces ON DELETE CASCADE,
64
+ collection_id text COLLATE "C" NOT NULL DEFAULT '',
65
+ resource_id text COLLATE "C" NOT NULL DEFAULT '',
66
+ policy jsonb NOT NULL,
67
+ PRIMARY KEY (space_id, collection_id, resource_id)
68
+ );
69
+
70
+ -- Registered external backend records; 'record' is the full secret-bearing
71
+ -- StoredBackendRecord (same custody posture as the filesystem file).
72
+ CREATE TABLE backend_records (
73
+ space_id text COLLATE "C" NOT NULL REFERENCES spaces ON DELETE CASCADE,
74
+ backend_id text COLLATE "C" NOT NULL,
75
+ record jsonb NOT NULL,
76
+ PRIMARY KEY (space_id, backend_id)
77
+ );
78
+
79
+ -- WebKMS facet: a sibling tree to spaces, exactly as on the filesystem.
80
+ -- 'controller' / 'sequence' / 'kms_module' are denormalized from the
81
+ -- verbatim config for the list filter and the update gates.
82
+ CREATE TABLE keystores (
83
+ keystore_id text COLLATE "C" PRIMARY KEY,
84
+ controller text NOT NULL,
85
+ sequence integer NOT NULL,
86
+ kms_module text NOT NULL,
87
+ config jsonb NOT NULL
88
+ );
89
+ CREATE INDEX keystores_controller_idx ON keystores (controller);
90
+
91
+ -- 'record' is the opaque (possibly envelope-encrypted above the backend)
92
+ -- KmsKeyRecord, stored verbatim; the primary key is the create-only gate.
93
+ CREATE TABLE kms_keys (
94
+ keystore_id text COLLATE "C" NOT NULL
95
+ REFERENCES keystores ON DELETE CASCADE,
96
+ local_id text COLLATE "C" NOT NULL,
97
+ record jsonb NOT NULL,
98
+ PRIMARY KEY (keystore_id, local_id)
99
+ );
100
+
101
+ -- 'expires' is meta.expires (the GC horizon), NULL = never.
102
+ CREATE TABLE revocations (
103
+ keystore_id text COLLATE "C" NOT NULL
104
+ REFERENCES keystores ON DELETE CASCADE,
105
+ delegator text COLLATE "C" NOT NULL,
106
+ capability_id text COLLATE "C" NOT NULL,
107
+ record jsonb NOT NULL,
108
+ expires text COLLATE "C",
109
+ PRIMARY KEY (keystore_id, delegator, capability_id)
110
+ );
111
+ `,
112
+ // v2: denormalize a Space's controller onto its own column for the Spaces
113
+ // count quota (spec "Quotas"). The controller also lives inside 'description'
114
+ // (description->>'controller'), but a dedicated, indexed column keeps the
115
+ // per-controller COUNT(*) cheap and lockable. Backfill from existing rows;
116
+ // writeSpace maintains it on every insert and update.
117
+ `
118
+ ALTER TABLE spaces ADD COLUMN controller text;
119
+ UPDATE spaces SET controller = description->>'controller';
120
+ CREATE INDEX spaces_controller_idx ON spaces (controller);
121
+ `,
122
+ // v3: record a Resource's creator -- the DID of the invoker of its FIRST
123
+ // content write, set once and preserved verbatim thereafter (the spec's
124
+ // OPTIONAL `createdBy`). NULL for a pre-existing row and for one written by
125
+ // a caller with no resolved invoker. Not `COLLATE "C"`: unlike `created_at` /
126
+ // `updated_at`, this column never participates in an `ORDER BY` or keyset
127
+ // comparison.
128
+ `
129
+ ALTER TABLE resources ADD COLUMN created_by text;
130
+ `,
131
+ // v4: Space-scoped zcap revocations -- the WAS route families' sibling of the
132
+ // keystore-scoped `revocations` table above. A separate table (rather than a
133
+ // nullable-FK union over one table) lets each keep its own `ON DELETE CASCADE`
134
+ // to its parent and its own composite primary key; deleting a Space here
135
+ // deletes its revocations. Columns mirror `revocations`, with 'space_id'
136
+ // referencing the spaces tree in place of 'keystore_id'.
137
+ `
138
+ CREATE TABLE space_revocations (
139
+ space_id text COLLATE "C" NOT NULL REFERENCES spaces ON DELETE CASCADE,
140
+ delegator text COLLATE "C" NOT NULL,
141
+ capability_id text COLLATE "C" NOT NULL,
142
+ record jsonb NOT NULL,
143
+ expires text COLLATE "C",
144
+ PRIMARY KEY (space_id, delegator, capability_id)
145
+ );
146
+ `,
147
+ // v5: the client-declared key epoch a Resource's content was encrypted under
148
+ // (multi-recipient encrypted Collections). Stored opaquely: the server never
149
+ // computes or verifies it. NULL when no epoch was declared (a plaintext
150
+ // Collection, or an encrypted write that omitted the stamp). Not `COLLATE "C"`
151
+ // -- it never participates in an `ORDER BY` or keyset comparison.
152
+ `
153
+ ALTER TABLE resources ADD COLUMN epoch text;
154
+ `,
155
+ // v6: the monotonic Collection Description version -- the ETag validator behind
156
+ // conditional (`If-Match`) Collection Description writes, so concurrent
157
+ // recipient edits compare-and-swap instead of clobbering. Kept out of the
158
+ // stored 'description' jsonb (it travels only as the `ETag` header). Backfill
159
+ // existing rows to 1; writeCollection bumps it on every write.
160
+ `
161
+ ALTER TABLE collections ADD COLUMN description_version integer NOT NULL DEFAULT 1;
162
+ `
163
+ ];
164
+ /**
165
+ * Applies any not-yet-applied migrations, inside a transaction holding a
166
+ * schema-scoped advisory lock so concurrent server instances sharing one
167
+ * database serialize their startup migration runs. Idempotent: applied
168
+ * versions are recorded in `schema_migrations` and skipped on the next run.
169
+ * @param options {object}
170
+ * @param options.client {pg.PoolClient} a dedicated client (not the pool);
171
+ * the caller is responsible for releasing it
172
+ * @returns {Promise<void>}
173
+ */
174
+ export async function applyMigrations({ client }) {
175
+ await client.query('BEGIN');
176
+ try {
177
+ // Scope the advisory lock to the active schema so parallel test schemas
178
+ // in one database do not serialize against each other.
179
+ await client.query(`SELECT pg_advisory_xact_lock(hashtext(current_schema() || ':was-migrations'))`);
180
+ await client.query(`
181
+ CREATE TABLE IF NOT EXISTS schema_migrations (
182
+ version integer PRIMARY KEY,
183
+ applied_at timestamptz NOT NULL DEFAULT now()
184
+ )
185
+ `);
186
+ const { rows } = await client.query('SELECT version FROM schema_migrations');
187
+ const applied = new Set(rows.map(row => row.version));
188
+ for (let index = 0; index < MIGRATIONS.length; index++) {
189
+ const version = index + 1;
190
+ if (applied.has(version)) {
191
+ continue;
192
+ }
193
+ await client.query(MIGRATIONS[index]);
194
+ await client.query('INSERT INTO schema_migrations (version) VALUES ($1)', [version]);
195
+ }
196
+ await client.query('COMMIT');
197
+ }
198
+ catch (err) {
199
+ await client.query('ROLLBACK');
200
+ throw err;
201
+ }
202
+ }
203
+ //# sourceMappingURL=postgresSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgresSchema.js","sourceRoot":"","sources":["../../src/backends/postgresSchema.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,qCAAqC;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGC;IACD,0EAA0E;IAC1E,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,sDAAsD;IACtD;;;;GAIC;IACD,yEAAyE;IACzE,wEAAwE;IACxE,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,cAAc;IACd;;GAEC;IACD,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,yEAAyE;IACzE,yEAAyE;IACzE,yDAAyD;IACzD;;;;;;;;;GASC;IACD,6EAA6E;IAC7E,6EAA6E;IAC7E,wEAAwE;IACxE,+EAA+E;IAC/E,kEAAkE;IAClE;;GAEC;IACD,gFAAgF;IAChF,wEAAwE;IACxE,0EAA0E;IAC1E,8EAA8E;IAC9E,+DAA+D;IAC/D;;GAEC;CACF,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,MAAM,EAGP;IACC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3B,IAAI,CAAC;QACH,wEAAwE;QACxE,uDAAuD;QACvD,MAAM,MAAM,CAAC,KAAK,CAChB,+EAA+E,CAChF,CAAA;QACD,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;KAKlB,CAAC,CAAA;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,uCAAuC,CACxC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAA;YACzB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,SAAQ;YACV,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC,CAAA;YACtC,MAAM,MAAM,CAAC,KAAK,CAChB,qDAAqD,EACrD,CAAC,OAAO,CAAC,CACV,CAAA;QACH,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC9B,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}