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,234 @@
1
+ /**
2
+ * Request handlers for Collection operations: get/update/delete a Collection,
3
+ * list its items, and add a Resource to it.
4
+ */
5
+ import type { FastifyReply, FastifyRequest } from 'fastify';
6
+ import type { StorageBackend } from '../types.js';
7
+ export declare class CollectionRequest {
8
+ /**
9
+ * POST /space/:spaceId/:collectionId/
10
+ * Request handler for "Create Resource" request
11
+ * Before this, `parseAuthHeaders()` hook executed, resulting in:
12
+ * request.zcap: {
13
+ * keyId, headers, signature, created, expires, invocation, digest
14
+ * }
15
+ *
16
+ * @param request {import('fastify').FastifyRequest}
17
+ * @param reply {import('fastify').FastifyReply}
18
+ * @returns {Promise<FastifyReply>}
19
+ */
20
+ static post(request: FastifyRequest<{
21
+ Params: {
22
+ spaceId: string;
23
+ collectionId: string;
24
+ };
25
+ }>, reply: FastifyReply): Promise<FastifyReply>;
26
+ /**
27
+ * PUT /space/:spaceId/:collectionId
28
+ * Request handler for "Update (or Create By Id) Collection" request
29
+ * Before this, `parseAuthHeaders()` hook executed, resulting in:
30
+ * request.zcap: {
31
+ * keyId, headers, signature, created, expires, invocation, digest
32
+ * }
33
+ *
34
+ * @param request {import('fastify').FastifyRequest}
35
+ * @param reply {import('fastify').FastifyReply}
36
+ * @returns {Promise<FastifyReply>}
37
+ */
38
+ static put(request: FastifyRequest<{
39
+ Params: {
40
+ spaceId: string;
41
+ collectionId: string;
42
+ };
43
+ Body: {
44
+ id?: string;
45
+ name?: string;
46
+ backend?: unknown;
47
+ encryption?: unknown;
48
+ };
49
+ }>, reply: FastifyReply): Promise<FastifyReply>;
50
+ /**
51
+ * GET /space/:spaceId/:collectionId (no trailing slash): Get Collection details
52
+ *
53
+ * @param request {import('fastify').FastifyRequest}
54
+ * @param reply {import('fastify').FastifyReply}
55
+ * @returns {Promise<FastifyReply>}
56
+ */
57
+ static get(request: FastifyRequest<{
58
+ Params: {
59
+ spaceId: string;
60
+ collectionId: string;
61
+ };
62
+ }>, reply: FastifyReply): Promise<FastifyReply>;
63
+ /**
64
+ * GET /space/:spaceId/:collectionId/linkset
65
+ * Request handler for the Collection's linkset (RFC9264): advertises the
66
+ * Collection's access-control `policy` and selected `backend` resources for
67
+ * discovery. Readable by whoever may read the Collection (capability or
68
+ * fallback policy).
69
+ *
70
+ * @param request {import('fastify').FastifyRequest}
71
+ * @param reply {import('fastify').FastifyReply}
72
+ * @returns {Promise<FastifyReply>}
73
+ */
74
+ static linkset(request: FastifyRequest<{
75
+ Params: {
76
+ spaceId: string;
77
+ collectionId: string;
78
+ };
79
+ }>, reply: FastifyReply): Promise<FastifyReply>;
80
+ /**
81
+ * GET /space/:spaceId/:collectionId/backend
82
+ * Request handler for "Collection Backend Selected": returns the detailed
83
+ * backend description object for the Collection's selected backend (resolved
84
+ * from the Collection's stored `{ id }` against the Space's backends-available;
85
+ * default-filled for Collections created before the property existed).
86
+ *
87
+ * Authorization is capability-or-policy, the same as Get Collection: the
88
+ * selected backend is no more sensitive than the Collection description, so a
89
+ * public-readable Collection may also read its backend.
90
+ *
91
+ * @param request {import('fastify').FastifyRequest}
92
+ * @param reply {import('fastify').FastifyReply}
93
+ * @returns {Promise<FastifyReply>}
94
+ */
95
+ static getBackend(request: FastifyRequest<{
96
+ Params: {
97
+ spaceId: string;
98
+ collectionId: string;
99
+ };
100
+ }>, reply: FastifyReply): Promise<FastifyReply>;
101
+ /**
102
+ * GET /space/:spaceId/:collectionId/quota
103
+ * Request handler for the per-Collection "Quotas" report (spec "Quotas"):
104
+ * the storage report for a single Collection, scoped to its backend (a single
105
+ * backend-usage entry whose `usageBytes` reflects only this Collection). A
106
+ * backend that cannot account per-Collection yields `unsupported-operation`
107
+ * (501); the filesystem backend supports it.
108
+ *
109
+ * Authorization is capability-or-policy, the same as the Space Quota report:
110
+ * a caller not authorized to read it receives a 404 (maximum-privacy
111
+ * invariant), and a public-readable Collection may read its quota.
112
+ *
113
+ * @param request {import('fastify').FastifyRequest}
114
+ * @param reply {import('fastify').FastifyReply}
115
+ * @returns {Promise<FastifyReply>}
116
+ */
117
+ static getQuota(request: FastifyRequest<{
118
+ Params: {
119
+ spaceId: string;
120
+ collectionId: string;
121
+ };
122
+ }>, reply: FastifyReply): Promise<FastifyReply>;
123
+ /**
124
+ * POST /space/:spaceId/:collectionId/query
125
+ * The reserved Collection `query` endpoint (spec "Collection-level reserved
126
+ * endpoints"). This server serves two profiles, selected by the body's
127
+ * `profile`:
128
+ *
129
+ * - `changes` -- the replication change feed: the Collection's JSON
130
+ * documents and tombstones changed strictly after `checkpoint`, in change
131
+ * order, capped at `limit`.
132
+ * - `blinded-index` -- the EDV blinded-attribute query (the
133
+ * `blinded-index-query` backend feature): `{index, equals | has, count,
134
+ * limit, cursor}` evaluated against the HMAC-blinded `indexed` entries of
135
+ * the Collection's stored documents, answering `{documents, hasMore,
136
+ * cursor?}` (matching documents verbatim, opaque-cursor paginated) or
137
+ * `{count}`.
138
+ *
139
+ * The query parameters ride the signed JSON POST body (covered by the
140
+ * `Digest`), so no `allowTargetQuery` is needed. A body naming any other
141
+ * profile, or a backend without the profile's method, yields
142
+ * `unsupported-operation` (501). Authorization is capability-or-policy, the
143
+ * same read semantics as List Collection: an under-authorized caller
144
+ * receives a 404.
145
+ *
146
+ * @param request {import('fastify').FastifyRequest}
147
+ * @param reply {import('fastify').FastifyReply}
148
+ * @returns {Promise<FastifyReply>}
149
+ */
150
+ static query(request: FastifyRequest<{
151
+ Params: {
152
+ spaceId: string;
153
+ collectionId: string;
154
+ };
155
+ Body: {
156
+ profile?: string;
157
+ checkpoint?: {
158
+ id?: unknown;
159
+ updatedAt?: unknown;
160
+ };
161
+ limit?: unknown;
162
+ index?: unknown;
163
+ equals?: unknown;
164
+ has?: unknown;
165
+ count?: unknown;
166
+ cursor?: unknown;
167
+ };
168
+ }>, reply: FastifyReply): Promise<FastifyReply>;
169
+ /**
170
+ * The `changes` profile of the Collection `query` endpoint (see `query`
171
+ * above): parses the checkpoint/limit, pulls the page from the backend's
172
+ * change feed, and projects it to the wire shape.
173
+ *
174
+ * @param options {object}
175
+ * @param options.reply {import('fastify').FastifyReply}
176
+ * @param options.dataBackend {StorageBackend}
177
+ * @param options.spaceId {string}
178
+ * @param options.collectionId {string}
179
+ * @param options.body {object} the query POST body
180
+ * @param options.requestName {string}
181
+ * @returns {Promise<FastifyReply>}
182
+ */
183
+ static _queryChanges({ reply, dataBackend, spaceId, collectionId, body, requestName }: {
184
+ reply: FastifyReply;
185
+ dataBackend: StorageBackend;
186
+ spaceId: string;
187
+ collectionId: string;
188
+ body: {
189
+ checkpoint?: {
190
+ id?: unknown;
191
+ updatedAt?: unknown;
192
+ };
193
+ limit?: unknown;
194
+ };
195
+ requestName: string;
196
+ }): Promise<FastifyReply>;
197
+ /**
198
+ * DELETE /space/:spaceId/:collectionId
199
+ * Request handler for "Delete Collection" request
200
+ * Before this, `parseAuthHeaders()` hook executed, resulting in:
201
+ * request.zcap: {
202
+ * keyId, headers, signature, created, expires, invocation, digest
203
+ * }
204
+ *
205
+ * @param request {import('fastify').FastifyRequest}
206
+ * @param reply {import('fastify').FastifyReply}
207
+ * @returns {Promise<FastifyReply>}
208
+ */
209
+ static delete(request: FastifyRequest<{
210
+ Params: {
211
+ spaceId: string;
212
+ collectionId: string;
213
+ };
214
+ }>, reply: FastifyReply): Promise<FastifyReply>;
215
+ /**
216
+ * GET /space/:spaceId/:collectionId/ (with trailing slash):
217
+ * List Collection items
218
+ *
219
+ * @param request {import('fastify').FastifyRequest}
220
+ * @param reply {import('fastify').FastifyReply}
221
+ * @returns {Promise<FastifyReply>}
222
+ */
223
+ static list(request: FastifyRequest<{
224
+ Params: {
225
+ spaceId: string;
226
+ collectionId: string;
227
+ };
228
+ Querystring: {
229
+ limit?: string;
230
+ cursor?: string;
231
+ };
232
+ }>, reply: FastifyReply): Promise<FastifyReply>;
233
+ }
234
+ //# sourceMappingURL=CollectionRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollectionRequest.d.ts","sourceRoot":"","sources":["../../src/requests/CollectionRequest.ts"],"names":[],"mappings":"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"}