@haverstack/server 0.11.0 → 0.12.0
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/app.d.ts.map +1 -1
- package/dist/app.js +2 -0
- package/dist/app.js.map +1 -1
- package/dist/lib/canonicalJson.d.ts +7 -0
- package/dist/lib/canonicalJson.d.ts.map +1 -0
- package/dist/lib/canonicalJson.js +18 -0
- package/dist/lib/canonicalJson.js.map +1 -0
- package/dist/lib/historyPage.d.ts +12 -0
- package/dist/lib/historyPage.d.ts.map +1 -0
- package/dist/lib/historyPage.js +24 -0
- package/dist/lib/historyPage.js.map +1 -0
- package/dist/lib/ifMatch.d.ts +11 -0
- package/dist/lib/ifMatch.d.ts.map +1 -0
- package/dist/lib/ifMatch.js +11 -0
- package/dist/lib/ifMatch.js.map +1 -0
- package/dist/lib/installRequestStore.d.ts +46 -0
- package/dist/lib/installRequestStore.d.ts.map +1 -0
- package/dist/lib/installRequestStore.js +102 -0
- package/dist/lib/installRequestStore.js.map +1 -0
- package/dist/lib/queryWorker/protocol.d.ts +1 -1
- package/dist/lib/queryWorker/worker.js +1 -1
- package/dist/lib/queryWorker/worker.js.map +1 -1
- package/dist/lib/resumeBuffer.d.ts +0 -1
- package/dist/lib/resumeBuffer.d.ts.map +1 -1
- package/dist/lib/resumeBuffer.js +2 -1
- package/dist/lib/resumeBuffer.js.map +1 -1
- package/dist/lib/selfService.d.ts +2 -0
- package/dist/lib/selfService.d.ts.map +1 -0
- package/dist/lib/selfService.js +6 -0
- package/dist/lib/selfService.js.map +1 -0
- package/dist/middleware/auth.d.ts +10 -9
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +21 -10
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/errors.js +1 -1
- package/dist/middleware/errors.js.map +1 -1
- package/dist/middleware/params.d.ts +3 -5
- package/dist/middleware/params.d.ts.map +1 -1
- package/dist/middleware/params.js +3 -12
- package/dist/middleware/params.js.map +1 -1
- package/dist/routes/attachments.d.ts.map +1 -1
- package/dist/routes/attachments.js +5 -5
- package/dist/routes/attachments.js.map +1 -1
- package/dist/routes/auth.d.ts.map +1 -1
- package/dist/routes/auth.js +9 -20
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/changes.d.ts.map +1 -1
- package/dist/routes/changes.js +6 -7
- package/dist/routes/changes.js.map +1 -1
- package/dist/routes/entity.d.ts.map +1 -1
- package/dist/routes/entity.js +9 -11
- package/dist/routes/entity.js.map +1 -1
- package/dist/routes/installs.d.ts +13 -0
- package/dist/routes/installs.d.ts.map +1 -0
- package/dist/routes/installs.js +101 -0
- package/dist/routes/installs.js.map +1 -0
- package/dist/routes/records.d.ts.map +1 -1
- package/dist/routes/records.js +105 -165
- package/dist/routes/records.js.map +1 -1
- package/dist/routes/types.d.ts.map +1 -1
- package/dist/routes/types.js +7 -39
- package/dist/routes/types.js.map +1 -1
- package/dist/routes/wellknown.d.ts.map +1 -1
- package/dist/routes/wellknown.js +2 -0
- package/dist/routes/wellknown.js.map +1 -1
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +1 -0
- package/dist/shutdown.js.map +1 -1
- package/dist/stack.d.ts +2 -0
- package/dist/stack.d.ts.map +1 -1
- package/dist/stack.js +28 -6
- package/dist/stack.js.map +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +13 -2
- package/dist/testing.js.map +1 -1
- package/package.json +6 -6
- package/dist/lib/queryLimit.d.ts +0 -6
- package/dist/lib/queryLimit.d.ts.map +0 -1
- package/dist/lib/queryLimit.js +0 -20
- package/dist/lib/queryLimit.js.map +0 -1
package/dist/routes/records.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import { knownParams
|
|
3
|
-
import { requireAuth
|
|
2
|
+
import { knownParams } from '../middleware/params.js';
|
|
3
|
+
import { requireAuth } from '../middleware/auth.js';
|
|
4
4
|
import { readJson } from '../lib/json.js';
|
|
5
|
-
import { parseQueryBody, parseQueryParams, parseJournalParams,
|
|
6
|
-
import {
|
|
5
|
+
import { parseQueryBody, parseQueryParams, parseGetRecordParams, parseDeleteParams, parseJournalParams, parseVersionsParams, parseAssociationParams, parseUnsignedInt, createOptionsFromWireRecord, parseContentPatchBody, parseParentBody, parseUnlistedBody, parseAssociationEditsBody, parseAssociationsBody, parsePermissionsBody, parseMigrationBody, } from '@haverstack/core/wire';
|
|
6
|
+
import { readHistoryPage } from '../lib/historyPage.js';
|
|
7
|
+
import { ifMatchVersion } from '../lib/ifMatch.js';
|
|
7
8
|
import { serializeRecord, serializeVersion, serializeJournalEntry } from '@haverstack/wire-types';
|
|
8
|
-
import {
|
|
9
|
+
import { StackNotFoundError } from '@haverstack/core';
|
|
9
10
|
// ---------------------------------------------------------------------------
|
|
10
11
|
// Route factory
|
|
11
12
|
// ---------------------------------------------------------------------------
|
|
@@ -30,7 +31,7 @@ export function recordRoutes(ctx, queryTimeoutMs) {
|
|
|
30
31
|
// the literal "query" segment.
|
|
31
32
|
app.post('/query', knownParams(), async (c) => {
|
|
32
33
|
const auth = c.get('auth');
|
|
33
|
-
const query =
|
|
34
|
+
const query = parseQueryBody(await readJson(c));
|
|
34
35
|
const result = await queryWorker.query(auth, query, queryTimeoutMs);
|
|
35
36
|
const body = {
|
|
36
37
|
records: result.records.map(serializeRecord),
|
|
@@ -41,7 +42,7 @@ export function recordRoutes(ctx, queryTimeoutMs) {
|
|
|
41
42
|
// GET /records — query by native fields via URL params
|
|
42
43
|
app.get('/', async (c) => {
|
|
43
44
|
const auth = c.get('auth');
|
|
44
|
-
const query =
|
|
45
|
+
const query = parseQueryParams(new URL(c.req.url));
|
|
45
46
|
const result = await queryWorker.query(auth, query, queryTimeoutMs);
|
|
46
47
|
const body = {
|
|
47
48
|
records: result.records.map(serializeRecord),
|
|
@@ -63,226 +64,165 @@ export function recordRoutes(ctx, queryTimeoutMs) {
|
|
|
63
64
|
const created = await stack.asActor(auth).create(typeId, content, options);
|
|
64
65
|
return c.json(serializeRecord(created), 200);
|
|
65
66
|
});
|
|
66
|
-
// GET /records/:id
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const
|
|
70
|
-
const record = await scopeFor(auth).get(id);
|
|
67
|
+
// GET /records/:id — a tombstone answers 404 unless ?includeDeleted=true,
|
|
68
|
+
// as on GET /records. See docs/spec/wire-format.md § Records.
|
|
69
|
+
app.get('/:id', async (c) => {
|
|
70
|
+
const opts = parseGetRecordParams(new URL(c.req.url));
|
|
71
|
+
const record = await scopeFor(c.get('auth')).get(c.req.param('id'), opts);
|
|
71
72
|
if (!record)
|
|
72
73
|
throw new StackNotFoundError('Record not found');
|
|
73
74
|
return c.json(serializeRecord(record));
|
|
74
75
|
});
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const
|
|
76
|
+
// Every aspect of a record has one write endpoint, and each endpoint
|
|
77
|
+
// reads If-Match and answers with the record it produced. Which gate a
|
|
78
|
+
// write passes — write, reshare, the _attachment@1 immutable fields, the
|
|
79
|
+
// _grant@1 owner-only rule — is ScopedStack's to resolve, so a denial
|
|
80
|
+
// round-trips as the core error it is rather than a guess made here.
|
|
81
|
+
// See docs/spec/wire-format.md § Records and § Optimistic concurrency.
|
|
82
|
+
app.patch('/:id/content', knownParams(), requireAuth(), async (c) => {
|
|
83
|
+
const patch = parseContentPatchBody(await readJson(c));
|
|
84
|
+
const updated = await stack
|
|
85
|
+
.asActor(c.get('auth'))
|
|
86
|
+
.patchContent(c.req.param('id'), patch, ifMatchVersion(c));
|
|
87
|
+
return c.json(serializeRecord(updated));
|
|
88
|
+
});
|
|
89
|
+
app.put('/:id/parent', knownParams(), requireAuth(), async (c) => {
|
|
90
|
+
const { parentId } = parseParentBody(await readJson(c));
|
|
91
|
+
const updated = await stack
|
|
92
|
+
.asActor(c.get('auth'))
|
|
93
|
+
.setParent(c.req.param('id'), parentId, ifMatchVersion(c));
|
|
94
|
+
return c.json(serializeRecord(updated));
|
|
95
|
+
});
|
|
96
|
+
app.put('/:id/unlisted', knownParams(), requireAuth(), async (c) => {
|
|
97
|
+
const { unlisted } = parseUnlistedBody(await readJson(c));
|
|
97
98
|
const updated = await stack
|
|
98
|
-
.asActor(auth)
|
|
99
|
-
.
|
|
99
|
+
.asActor(c.get('auth'))
|
|
100
|
+
.setUnlisted(c.req.param('id'), unlisted, ifMatchVersion(c));
|
|
100
101
|
return c.json(serializeRecord(updated));
|
|
101
102
|
});
|
|
102
103
|
// DELETE /records/:id (?purge=true for permanent). Both answer 200 with
|
|
103
|
-
// a record: a soft delete with the tombstone it produced, a purge
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const auth = c.get('auth');
|
|
114
|
-
const purge = booleanParam(new URL(c.req.url), 'purge');
|
|
115
|
-
const session = stack.asActor(auth);
|
|
116
|
-
const { record } = await session.deleteAndReturn(id, {
|
|
117
|
-
purge,
|
|
118
|
-
ifVersion: parseIfMatch(c.req.header('If-Match')),
|
|
119
|
-
});
|
|
104
|
+
// a record: a soft delete with the tombstone it produced, a purge with
|
|
105
|
+
// the record as it stood immediately before destruction. That body is
|
|
106
|
+
// the requester's only report of the files the purge stranded, and
|
|
107
|
+
// delete() captures it inside the same write that destroys the record.
|
|
108
|
+
// See docs/spec/attachments.md § A purge strands the bytes it referenced.
|
|
109
|
+
app.delete('/:id', requireAuth(), async (c) => {
|
|
110
|
+
const { purge } = parseDeleteParams(new URL(c.req.url));
|
|
111
|
+
const { record } = await stack
|
|
112
|
+
.asActor(c.get('auth'))
|
|
113
|
+
.delete(c.req.param('id'), { purge, ...ifMatchVersion(c) });
|
|
120
114
|
if (!record)
|
|
121
115
|
throw new StackNotFoundError('Record not found');
|
|
122
116
|
return c.json(serializeRecord(record));
|
|
123
117
|
});
|
|
124
118
|
// POST /records/:id/undelete — reverses a soft delete; idempotent
|
|
125
119
|
app.post('/:id/undelete', knownParams(), requireAuth(), async (c) => {
|
|
126
|
-
const id = c.req.param('id');
|
|
127
|
-
const auth = c.get('auth');
|
|
128
120
|
const restored = await stack
|
|
129
|
-
.asActor(auth)
|
|
130
|
-
.undelete(
|
|
121
|
+
.asActor(c.get('auth'))
|
|
122
|
+
.undelete(c.req.param('id'), ifMatchVersion(c));
|
|
131
123
|
return c.json(serializeRecord(restored));
|
|
132
124
|
});
|
|
133
125
|
// ------------------------------------------------------------------
|
|
134
|
-
// Permissions
|
|
126
|
+
// Permissions and associations
|
|
135
127
|
// ------------------------------------------------------------------
|
|
128
|
+
// Two surfaces, one shape: a POST edits the set with a list of adds and
|
|
129
|
+
// removes applied as one write, and a PUT replaces it. An element sent to
|
|
130
|
+
// the wrong surface is ScopedStack's 400, so nothing here inspects one.
|
|
131
|
+
// See docs/spec/wire-format.md § Permissions and § Associations.
|
|
136
132
|
app.get('/:id/permissions', knownParams(), async (c) => {
|
|
137
|
-
const
|
|
138
|
-
const auth = c.get('auth');
|
|
139
|
-
const record = await scopeFor(auth).get(id);
|
|
133
|
+
const record = await scopeFor(c.get('auth')).get(c.req.param('id'));
|
|
140
134
|
if (!record)
|
|
141
135
|
throw new StackNotFoundError('Record not found');
|
|
142
136
|
return c.json({ permissions: record.permissions ?? [] });
|
|
143
137
|
});
|
|
144
|
-
// The amending spelling, where the change set's `permissions` key
|
|
145
|
-
// replaces the whole set — which is what survives two admins sharing one
|
|
146
|
-
// record at once. Both carry the reshare gate rather than the write bit,
|
|
147
|
-
// and both are ScopedStack's to apply: it refuses a data kind sent to
|
|
148
|
-
// this surface and holds the set to `write` implying `read`, so nothing
|
|
149
|
-
// here inspects the body. See docs/spec/access-control.md
|
|
150
|
-
// § Record-level permissions.
|
|
151
138
|
app.post('/:id/permissions', knownParams(), requireAuth(), async (c) => {
|
|
152
|
-
const
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
139
|
+
const edits = parseAssociationEditsBody(await readJson(c));
|
|
140
|
+
const updated = await stack
|
|
141
|
+
.asActor(c.get('auth'))
|
|
142
|
+
.editAccess(c.req.param('id'), edits, ifMatchVersion(c));
|
|
156
143
|
return c.json(serializeRecord(updated));
|
|
157
144
|
});
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
const body = await readJson(c);
|
|
164
|
-
const updated = await stack.asActor(auth).revokeAccess(id, body);
|
|
145
|
+
app.put('/:id/permissions', knownParams(), requireAuth(), async (c) => {
|
|
146
|
+
const permissions = parsePermissionsBody(await readJson(c));
|
|
147
|
+
const updated = await stack
|
|
148
|
+
.asActor(c.get('auth'))
|
|
149
|
+
.setAccess(c.req.param('id'), permissions, ifMatchVersion(c));
|
|
165
150
|
return c.json(serializeRecord(updated));
|
|
166
151
|
});
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
app.get('/:id/associations', knownParams('kind', 'label'), async (c) => {
|
|
171
|
-
const id = c.req.param('id');
|
|
172
|
-
const auth = c.get('auth');
|
|
173
|
-
const record = await scopeFor(auth).get(id);
|
|
152
|
+
app.get('/:id/associations', async (c) => {
|
|
153
|
+
const { kind, label } = parseAssociationParams(new URL(c.req.url));
|
|
154
|
+
const record = await scopeFor(c.get('auth')).get(c.req.param('id'));
|
|
174
155
|
if (!record)
|
|
175
156
|
throw new StackNotFoundError('Record not found');
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
if (kind)
|
|
179
|
-
assocs = assocs.filter((a) => a.kind === kind);
|
|
180
|
-
const label = c.req.query('label');
|
|
181
|
-
if (label)
|
|
182
|
-
assocs = assocs.filter((a) => a.label === label);
|
|
183
|
-
return c.json({ associations: assocs });
|
|
157
|
+
const associations = (record.associations ?? []).filter((a) => (kind === undefined || a.kind === kind) && (label === undefined || a.label === label));
|
|
158
|
+
return c.json({ associations });
|
|
184
159
|
});
|
|
185
|
-
// Neither mutating endpoint reads If-Match, and one sent to either is
|
|
186
|
-
// ignored rather than refused: a set add/remove composes whatever the
|
|
187
|
-
// write order, so there is no race for a precondition to fence. Both
|
|
188
|
-
// answer with a record carrying whatever version it already had. See
|
|
189
|
-
// docs/spec/wire-format.md § Associations.
|
|
190
160
|
app.post('/:id/associations', knownParams(), requireAuth(), async (c) => {
|
|
191
|
-
const
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
throw new StackBadRequestError('kind and label are required');
|
|
196
|
-
const updated = await stack.asActor(auth).associate(id, body);
|
|
161
|
+
const edits = parseAssociationEditsBody(await readJson(c));
|
|
162
|
+
const updated = await stack
|
|
163
|
+
.asActor(c.get('auth'))
|
|
164
|
+
.editAssociations(c.req.param('id'), edits, ifMatchVersion(c));
|
|
197
165
|
return c.json(serializeRecord(updated));
|
|
198
166
|
});
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const auth = c.get('auth');
|
|
205
|
-
const body = await readJson(c);
|
|
206
|
-
const updated = await stack.asActor(auth).dissociate(id, body);
|
|
167
|
+
app.put('/:id/associations', knownParams(), requireAuth(), async (c) => {
|
|
168
|
+
const associations = parseAssociationsBody(await readJson(c));
|
|
169
|
+
const updated = await stack
|
|
170
|
+
.asActor(c.get('auth'))
|
|
171
|
+
.setAssociations(c.req.param('id'), associations, ifMatchVersion(c));
|
|
207
172
|
return c.json(serializeRecord(updated));
|
|
208
173
|
});
|
|
209
174
|
// ------------------------------------------------------------------
|
|
210
175
|
// Journal
|
|
211
176
|
// ------------------------------------------------------------------
|
|
212
|
-
// GET /records/:id/journal — the change journal, oldest first.
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
//
|
|
216
|
-
//
|
|
217
|
-
//
|
|
218
|
-
// non-resharer gets are both ScopedStack.getJournal()'s, so this route
|
|
219
|
-
// decodes the window, bounds the page and serializes. `cursor` is the
|
|
220
|
-
// only end-of-log signal — a page filled to the ceiling carries the seq
|
|
221
|
-
// to resume from, whether or not the log ends there. See
|
|
222
|
-
// docs/spec/journal.md and docs/spec/wire-format.md § Journal.
|
|
177
|
+
// GET /records/:id/journal — the change journal, oldest first. Never
|
|
178
|
+
// answered empty for a record this server doesn't hold: an empty log
|
|
179
|
+
// means "nothing changed" unconditionally, so a missing or purged record
|
|
180
|
+
// is the 404 ScopedStack raises. The mutate-surface gate and the
|
|
181
|
+
// authority-element projection are both ScopedStack.getJournal()'s.
|
|
182
|
+
// See docs/spec/journal.md and docs/spec/wire-format.md § Journal.
|
|
223
183
|
app.get('/:id/journal', async (c) => {
|
|
224
184
|
const id = c.req.param('id');
|
|
225
|
-
const auth = c.get('auth');
|
|
226
185
|
const query = parseJournalParams(new URL(c.req.url));
|
|
227
|
-
const
|
|
228
|
-
const
|
|
229
|
-
const body = {
|
|
230
|
-
entries: entries.map(serializeJournalEntry),
|
|
231
|
-
cursor: entries.length > 0 && entries.length === limit ? entries[entries.length - 1].seq : null,
|
|
232
|
-
};
|
|
186
|
+
const scoped = scopeFor(c.get('auth'));
|
|
187
|
+
const { rows, cursor } = await readHistoryPage(query.limit, (limit) => scoped.getJournal(id, { ...query, limit }), (entry) => entry.seq);
|
|
188
|
+
const body = { entries: rows.map(serializeJournalEntry), cursor };
|
|
233
189
|
return c.json(body);
|
|
234
190
|
});
|
|
235
191
|
// ------------------------------------------------------------------
|
|
236
192
|
// Versions
|
|
237
193
|
// ------------------------------------------------------------------
|
|
238
|
-
|
|
194
|
+
// Newest first, paged like the journal. See docs/spec/wire-format.md § Versions.
|
|
195
|
+
app.get('/:id/versions', async (c) => {
|
|
239
196
|
const id = c.req.param('id');
|
|
240
|
-
const
|
|
241
|
-
const
|
|
242
|
-
|
|
197
|
+
const query = parseVersionsParams(new URL(c.req.url));
|
|
198
|
+
const scoped = scopeFor(c.get('auth'));
|
|
199
|
+
const { rows, cursor } = await readHistoryPage(query.limit, (limit) => scoped.getVersions(id, { ...query, limit }), (version) => version.version);
|
|
200
|
+
const body = { versions: rows.map(serializeVersion), cursor };
|
|
201
|
+
return c.json(body);
|
|
243
202
|
});
|
|
244
203
|
app.get('/:id/versions/:version', knownParams(), async (c) => {
|
|
245
|
-
const
|
|
246
|
-
const vNum = parsePositiveInt(c.req.param('version'), 'version number');
|
|
247
|
-
const auth = c.get('auth');
|
|
248
|
-
const version = await scopeFor(auth).getVersion(id, vNum);
|
|
204
|
+
const version = await scopeFor(c.get('auth')).getVersion(c.req.param('id'), parseUnsignedInt(c.req.param('version'), 'version number'));
|
|
249
205
|
if (!version)
|
|
250
206
|
throw new StackNotFoundError('Version not found');
|
|
251
207
|
return c.json(serializeVersion(version));
|
|
252
208
|
});
|
|
253
209
|
// POST /records/:id/restore/:version — creates new version, does not rewrite history
|
|
254
210
|
app.post('/:id/restore/:version', knownParams(), requireAuth(), async (c) => {
|
|
255
|
-
const id = c.req.param('id');
|
|
256
|
-
const vNum = parsePositiveInt(c.req.param('version'), 'version number');
|
|
257
|
-
const auth = c.get('auth');
|
|
258
211
|
const restored = await stack
|
|
259
|
-
.asActor(auth)
|
|
260
|
-
.restoreVersion(id,
|
|
212
|
+
.asActor(c.get('auth'))
|
|
213
|
+
.restoreVersion(c.req.param('id'), parseUnsignedInt(c.req.param('version'), 'version number'), ifMatchVersion(c));
|
|
261
214
|
return c.json(serializeRecord(restored));
|
|
262
215
|
});
|
|
263
216
|
// POST /records/:id/migrate — the only way typeId changes after creation.
|
|
264
|
-
// The body carries the full post-migration content, computed
|
|
265
|
-
//
|
|
266
|
-
//
|
|
267
|
-
//
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
const id = c.req.param('id');
|
|
271
|
-
const auth = c.get('auth');
|
|
272
|
-
const body = await readJson(c, ['toTypeId', 'content']);
|
|
273
|
-
if (!body.toTypeId || typeof body.toTypeId !== 'string')
|
|
274
|
-
throw new StackBadRequestError('toTypeId is required');
|
|
275
|
-
if (!body.content || typeof body.content !== 'object')
|
|
276
|
-
throw new StackBadRequestError('content is required');
|
|
277
|
-
if (!(await stack.getType(body.toTypeId)))
|
|
278
|
-
throw new StackValidationError([
|
|
279
|
-
{ path: 'toTypeId', message: `Unknown type: "${body.toTypeId}"` },
|
|
280
|
-
]);
|
|
217
|
+
// The body carries the full post-migration content, computed by the
|
|
218
|
+
// type's owning app. Who may commit one — the owner, or an installed app
|
|
219
|
+
// within the families its install claims — is ScopedStack's to decide.
|
|
220
|
+
// See docs/spec/wire-format.md § Migration commit.
|
|
221
|
+
app.post('/:id/migrate', knownParams(), requireAuth(), async (c) => {
|
|
222
|
+
const { toTypeId, content } = parseMigrationBody(await readJson(c));
|
|
281
223
|
const migrated = await stack
|
|
282
|
-
.asActor(auth)
|
|
283
|
-
.commitMigration(id,
|
|
284
|
-
ifVersion: parseIfMatch(c.req.header('If-Match')),
|
|
285
|
-
});
|
|
224
|
+
.asActor(c.get('auth'))
|
|
225
|
+
.commitMigration(c.req.param('id'), toTypeId, content, ifMatchVersion(c));
|
|
286
226
|
return c.json(serializeRecord(migrated));
|
|
287
227
|
});
|
|
288
228
|
return app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/routes/records.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/routes/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routes/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routes/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,wBAAgB,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CA0B1D"}
|
package/dist/routes/types.js
CHANGED
|
@@ -3,7 +3,8 @@ import { knownParams } from '../middleware/params.js';
|
|
|
3
3
|
import { requireOwner } from '../middleware/auth.js';
|
|
4
4
|
import { readJson } from '../lib/json.js';
|
|
5
5
|
import { serializeType } from '@haverstack/wire-types';
|
|
6
|
-
import {
|
|
6
|
+
import { parseTypeBody } from '@haverstack/core/wire';
|
|
7
|
+
import { StackNotFoundError } from '@haverstack/core';
|
|
7
8
|
export function typeRoutes(ctx) {
|
|
8
9
|
const app = new Hono();
|
|
9
10
|
const { adapter, stack } = ctx;
|
|
@@ -18,45 +19,12 @@ export function typeRoutes(ctx) {
|
|
|
18
19
|
throw new StackNotFoundError('Type not found');
|
|
19
20
|
return c.json(serializeType(type));
|
|
20
21
|
});
|
|
22
|
+
// Served through the unscoped Stack: ScopedStack has no defineType(), and
|
|
23
|
+
// no grant confers defining a stack-wide Type. stack.defineType() rather
|
|
24
|
+
// than adapter.saveType() is what runs the schema-drift check.
|
|
25
|
+
// See docs/spec/wire-format.md § Types.
|
|
21
26
|
app.post('/', knownParams(), requireOwner(stack.ownerEntityId), async (c) => {
|
|
22
|
-
|
|
23
|
-
// and createdAt are derived or stamped here, like a record's stamped
|
|
24
|
-
// fields, so sending them back is not a mistake.
|
|
25
|
-
const body = await readJson(c, [
|
|
26
|
-
'id',
|
|
27
|
-
'baseId',
|
|
28
|
-
'version',
|
|
29
|
-
'name',
|
|
30
|
-
'schema',
|
|
31
|
-
'schemaHash',
|
|
32
|
-
'migratesFrom',
|
|
33
|
-
'createdAt',
|
|
34
|
-
]);
|
|
35
|
-
if (!body.id || typeof body.id !== 'string')
|
|
36
|
-
throw new StackBadRequestError('id is required');
|
|
37
|
-
if (!body.name || typeof body.name !== 'string')
|
|
38
|
-
throw new StackBadRequestError('name is required');
|
|
39
|
-
if (!body.schema || typeof body.schema !== 'object')
|
|
40
|
-
throw new StackBadRequestError('schema is required');
|
|
41
|
-
if (!body.schemaHash || typeof body.schemaHash !== 'string')
|
|
42
|
-
throw new StackBadRequestError('schemaHash is required');
|
|
43
|
-
if (body.migratesFrom !== undefined && typeof body.migratesFrom !== 'string')
|
|
44
|
-
throw new StackValidationError([{ path: 'migratesFrom', message: 'Must be a string' }]);
|
|
45
|
-
const computedHash = await hashSchema(body.schema);
|
|
46
|
-
if (body.schemaHash !== computedHash)
|
|
47
|
-
throw new StackValidationError([
|
|
48
|
-
{ path: 'schemaHash', message: 'schemaHash does not match schema' },
|
|
49
|
-
]);
|
|
50
|
-
// stack.defineType() (not adapter.saveType() directly) is what runs the
|
|
51
|
-
// schema-drift check: redefining an existing typeId with anything
|
|
52
|
-
// beyond additive evolution throws StackSchemaDriftError, which
|
|
53
|
-
// adapter.saveType() alone has no way to enforce — it's a raw write.
|
|
54
|
-
const type = await stack.defineType({
|
|
55
|
-
id: body.id,
|
|
56
|
-
name: body.name,
|
|
57
|
-
schema: body.schema,
|
|
58
|
-
...(body.migratesFrom !== undefined && { migratesFrom: body.migratesFrom }),
|
|
59
|
-
});
|
|
27
|
+
const type = await stack.defineType(parseTypeBody(await readJson(c)));
|
|
60
28
|
return c.json(serializeType(type), 201);
|
|
61
29
|
});
|
|
62
30
|
return app;
|
package/dist/routes/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/routes/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/routes/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,UAAU,CAAC,GAAiB;IAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAE/B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,yEAAyE;IACzE,+DAA+D;IAC/D,wCAAwC;IACxC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wellknown.d.ts","sourceRoot":"","sources":["../../src/routes/wellknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAO5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"wellknown.d.ts","sourceRoot":"","sources":["../../src/routes/wellknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAO5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CA6C/E"}
|
package/dist/routes/wellknown.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wellknown.js","sourceRoot":"","sources":["../../src/routes/wellknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,MAAM,UAAU,eAAe,CAAC,GAAiB,EAAE,MAAc;IAC/D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAC;IAE/B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,GAAsB;YAC9B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;YACjC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ;YAC5B,iEAAiE;YACjE,iEAAiE;YACjE,sDAAsD;YACtD,wCAAwC;YACxC,YAAY,EAAE;gBACZ,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY;gBACzB,MAAM,EAAE;oBACN,eAAe,EAAE,MAAM,CAAC,kBAAkB;oBAC1C,YAAY,EAAE,MAAM,CAAC,eAAe;iBACrC;aACF;YACD,qEAAqE;YACrE,6DAA6D;YAC7D,mEAAmE;YACnE,2DAA2D;YAC3D,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,yBAAyB,CAAC,EAAE;YAC9C,kEAAkE;YAClE,uEAAuE;YACvE,kEAAkE;YAClE,mEAAmE;YACnE,EAAE;YACF,qEAAqE;YACrE,qEAAqE;YACrE,mEAAmE;YACnE,iCAAiC;YACjC,OAAO,EAAE;gBACP,UAAU,EAAE,CAAC,oBAAoB,CAAC;gBAClC,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd;
|
|
1
|
+
{"version":3,"file":"wellknown.js","sourceRoot":"","sources":["../../src/routes/wellknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,MAAM,UAAU,eAAe,CAAC,GAAiB,EAAE,MAAc;IAC/D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAC;IAE/B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,GAAsB;YAC9B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;YACjC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ;YAC5B,iEAAiE;YACjE,iEAAiE;YACjE,sDAAsD;YACtD,wCAAwC;YACxC,YAAY,EAAE;gBACZ,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY;gBACzB,MAAM,EAAE;oBACN,eAAe,EAAE,MAAM,CAAC,kBAAkB;oBAC1C,YAAY,EAAE,MAAM,CAAC,eAAe;iBACrC;aACF;YACD,qEAAqE;YACrE,6DAA6D;YAC7D,mEAAmE;YACnE,2DAA2D;YAC3D,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,yBAAyB,CAAC,EAAE;YAC9C,kEAAkE;YAClE,uEAAuE;YACvE,kEAAkE;YAClE,mEAAmE;YACnE,EAAE;YACF,qEAAqE;YACrE,qEAAqE;YACrE,mEAAmE;YACnE,iCAAiC;YACjC,OAAO,EAAE;gBACP,UAAU,EAAE,CAAC,oBAAoB,CAAC;gBAClC,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd;YACD,0EAA0E;YAC1E,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC7B,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/shutdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,IAAI,IAAI,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,IAAI,IAAI,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CA4BnC"}
|
package/dist/shutdown.js
CHANGED
package/dist/shutdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAsB,EACtB,GAAiB,EACjB,MAAc,EACd,SAAiB;IAEjB,OAAO,KAAK,EAAE,MAAc,EAAE,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;QAEzC,wEAAwE;QACxE,uDAAuD;QACvD,4BAA4B;QAC5B,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAE7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,4DAA4D,CAAC,CAAC;gBACzF,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACjC,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAsB,EACtB,GAAiB,EACjB,MAAc,EACd,SAAiB;IAEjB,OAAO,KAAK,EAAE,MAAc,EAAE,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;QAEzC,wEAAwE;QACxE,uDAAuD;QACvD,4BAA4B;QAC5B,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAE7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,4DAA4D,CAAC,CAAC;gBACzF,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACjC,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/stack.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { StackTokenStore } from '@haverstack/core/wire';
|
|
|
4
4
|
import type { Logger } from 'pino';
|
|
5
5
|
import type { Config } from './config.js';
|
|
6
6
|
import { AuthNonceStore } from './lib/nonceStore.js';
|
|
7
|
+
import { InstallRequestStore } from './lib/installRequestStore.js';
|
|
7
8
|
import { QueryWorkerPool } from './lib/queryWorker/pool.js';
|
|
8
9
|
import { ChangeStreamRegistry } from './lib/changeStreams.js';
|
|
9
10
|
export type StackContext = {
|
|
@@ -13,6 +14,7 @@ export type StackContext = {
|
|
|
13
14
|
close(): Promise<void>;
|
|
14
15
|
};
|
|
15
16
|
nonces: AuthNonceStore;
|
|
17
|
+
installRequests: InstallRequestStore;
|
|
16
18
|
queryWorker: QueryWorkerPool;
|
|
17
19
|
changeStreams: ChangeStreamRegistry;
|
|
18
20
|
};
|
package/dist/stack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2C,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2C,MAAM,2BAA2B,CAAC;AAclG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAyB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAkC,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IAIb,MAAM,EAAE,eAAe,GAAG;QAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAGrD,MAAM,EAAE,cAAc,CAAC;IAGvB,eAAe,EAAE,mBAAmB,CAAC;IAIrC,WAAW,EAAE,eAAe,CAAC;IAG7B,aAAa,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA6ErF"}
|