tinbase 0.8.1 → 0.10.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/assets/logo.svg +9 -13
- package/dist/admin/ui.d.ts +1 -1
- package/dist/admin/ui.js +1 -1
- package/dist/auth/handler.d.ts +25 -0
- package/dist/auth/handler.js +127 -8
- package/dist/auth/handler.js.map +1 -1
- package/dist/auth/oauth.d.ts +1 -0
- package/dist/auth/oauth.js +28 -9
- package/dist/auth/oauth.js.map +1 -1
- package/dist/cli.js +23 -9
- package/dist/cli.js.map +1 -1
- package/dist/cron/service.js +2 -1
- package/dist/cron/service.js.map +1 -1
- package/dist/db/bootstrap.d.ts +2 -2
- package/dist/db/bootstrap.js +19 -0
- package/dist/db/bootstrap.js.map +1 -1
- package/dist/db/database.d.ts +3 -1
- package/dist/db/database.js +6 -1
- package/dist/db/database.js.map +1 -1
- package/dist/db/emulated.d.ts +3 -3
- package/dist/db/emulated.js +46 -13
- package/dist/db/emulated.js.map +1 -1
- package/dist/functions/deno-shim.d.ts +3 -2
- package/dist/functions/deno-shim.js +12 -4
- package/dist/functions/deno-shim.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +32 -6
- package/dist/index.js.map +1 -1
- package/dist/jwt.js +5 -0
- package/dist/jwt.js.map +1 -1
- package/dist/net/service.d.ts +9 -0
- package/dist/net/service.js +97 -10
- package/dist/net/service.js.map +1 -1
- package/dist/node/native/database-url.d.ts +25 -0
- package/dist/node/native/database-url.js +38 -0
- package/dist/node/native/database-url.js.map +1 -0
- package/dist/node/native/engine.js +5 -78
- package/dist/node/native/engine.js.map +1 -1
- package/dist/node/native/wire-engine.d.ts +16 -0
- package/dist/node/native/wire-engine.js +83 -0
- package/dist/node/native/wire-engine.js.map +1 -0
- package/dist/node/native/wire.d.ts +10 -7
- package/dist/node/native/wire.js +98 -5
- package/dist/node/native/wire.js.map +1 -1
- package/dist/node/ws.d.ts +9 -0
- package/dist/node/ws.js +8 -2
- package/dist/node/ws.js.map +1 -1
- package/dist/realtime/engine.js +19 -1
- package/dist/realtime/engine.js.map +1 -1
- package/dist/rest/build.d.ts +7 -0
- package/dist/rest/build.js +51 -5
- package/dist/rest/build.js.map +1 -1
- package/dist/rest/handler.js +77 -5
- package/dist/rest/handler.js.map +1 -1
- package/dist/rest/parse.d.ts +2 -0
- package/dist/rest/parse.js +22 -1
- package/dist/rest/parse.js.map +1 -1
- package/dist/retention/service.d.ts +37 -0
- package/dist/retention/service.js +66 -0
- package/dist/retention/service.js.map +1 -0
- package/dist/storage/handler.d.ts +10 -0
- package/dist/storage/handler.js +230 -28
- package/dist/storage/handler.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/rest/handler.js
CHANGED
|
@@ -21,6 +21,45 @@ function parsePrefer(header) {
|
|
|
21
21
|
return prefer;
|
|
22
22
|
}
|
|
23
23
|
const OBJECT_MEDIA = 'application/vnd.pgrst.object+json';
|
|
24
|
+
const CSV_MEDIA = 'text/csv';
|
|
25
|
+
const PLAN_MEDIA = 'application/vnd.pgrst.plan';
|
|
26
|
+
/** Parse an `.explain()` Accept header into an EXPLAIN format + option list. */
|
|
27
|
+
function parseExplain(accept) {
|
|
28
|
+
if (!accept.includes(PLAN_MEDIA))
|
|
29
|
+
return null;
|
|
30
|
+
const format = accept.includes(`${PLAN_MEDIA}+json`) ? 'JSON' : 'TEXT';
|
|
31
|
+
const allowed = new Set(['analyze', 'verbose', 'settings', 'buffers', 'wal']);
|
|
32
|
+
const m = accept.match(/options=([^;]+)/);
|
|
33
|
+
const options = m
|
|
34
|
+
? m[1].split('|').map((s) => s.trim().toLowerCase()).filter((o) => allowed.has(o))
|
|
35
|
+
: [];
|
|
36
|
+
return { format, options };
|
|
37
|
+
}
|
|
38
|
+
/** Serialize an array of row objects to CSV (RFC 4180), matching `.csv()`. */
|
|
39
|
+
function rowsToCsv(rows) {
|
|
40
|
+
const objs = rows;
|
|
41
|
+
// header = union of keys in first-appearance order
|
|
42
|
+
const cols = [];
|
|
43
|
+
const seen = new Set();
|
|
44
|
+
for (const row of objs) {
|
|
45
|
+
for (const k of Object.keys(row ?? {})) {
|
|
46
|
+
if (!seen.has(k)) {
|
|
47
|
+
seen.add(k);
|
|
48
|
+
cols.push(k);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const cell = (v) => {
|
|
53
|
+
if (v === null || v === undefined)
|
|
54
|
+
return '';
|
|
55
|
+
const s = typeof v === 'object' ? JSON.stringify(v) : String(v);
|
|
56
|
+
return /[",\r\n]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s;
|
|
57
|
+
};
|
|
58
|
+
const lines = [cols.join(',')];
|
|
59
|
+
for (const row of objs)
|
|
60
|
+
lines.push(cols.map((c) => cell((row ?? {})[c])).join(','));
|
|
61
|
+
return lines.join('\n');
|
|
62
|
+
}
|
|
24
63
|
export class RestHandler {
|
|
25
64
|
db;
|
|
26
65
|
constructor(db) {
|
|
@@ -48,13 +87,37 @@ export class RestHandler {
|
|
|
48
87
|
async handleTable(req, ctx, url, schema, table) {
|
|
49
88
|
const method = req.method.toUpperCase();
|
|
50
89
|
const prefer = parsePrefer(req.headers.get('prefer'));
|
|
51
|
-
const
|
|
90
|
+
const accept = req.headers.get('accept') ?? '';
|
|
91
|
+
const wantsObject = accept.includes(OBJECT_MEDIA);
|
|
92
|
+
const wantsCsv = accept.includes(CSV_MEDIA);
|
|
52
93
|
const q = parseQuery(url.searchParams);
|
|
53
94
|
const info = await this.db.getSchemaInfo(schema);
|
|
54
95
|
const builder = new QueryBuilder(schema, info, q, { aliasMutations: !this.db.engine.minimalBootstrap });
|
|
55
96
|
switch (method) {
|
|
56
97
|
case 'GET':
|
|
57
98
|
case 'HEAD': {
|
|
99
|
+
const explain = parseExplain(accept);
|
|
100
|
+
if (explain) {
|
|
101
|
+
const plan = builder.buildSelect(table, { count: false });
|
|
102
|
+
const explainOpts = [
|
|
103
|
+
...explain.options.map((o) => o.toUpperCase()),
|
|
104
|
+
`FORMAT ${explain.format}`,
|
|
105
|
+
].join(', ');
|
|
106
|
+
const res = await this.db.withContext(ctx, (query) => query(`explain (${explainOpts}) ${plan.sql}`, plan.params));
|
|
107
|
+
const cell = res.rows[0]['QUERY PLAN'];
|
|
108
|
+
if (explain.format === 'JSON') {
|
|
109
|
+
const body = typeof cell === 'string' ? cell : JSON.stringify(cell);
|
|
110
|
+
return new Response(body, {
|
|
111
|
+
status: 200,
|
|
112
|
+
headers: { 'content-type': 'application/json; charset=utf-8' },
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
const text = res.rows.map((r) => r['QUERY PLAN']).join('\n');
|
|
116
|
+
return new Response(text, {
|
|
117
|
+
status: 200,
|
|
118
|
+
headers: { 'content-type': `${PLAN_MEDIA}+text; charset=utf-8` },
|
|
119
|
+
});
|
|
120
|
+
}
|
|
58
121
|
const built = builder.buildSelect(table, { count: prefer.count !== undefined });
|
|
59
122
|
const { rows, count } = await this.db.withContext(ctx, async (query) => {
|
|
60
123
|
const res = await query(built.sql, built.params);
|
|
@@ -70,6 +133,7 @@ export class RestHandler {
|
|
|
70
133
|
count,
|
|
71
134
|
offset: q.offsets.get('') ?? 0,
|
|
72
135
|
wantsObject,
|
|
136
|
+
wantsCsv,
|
|
73
137
|
head: method === 'HEAD',
|
|
74
138
|
});
|
|
75
139
|
}
|
|
@@ -87,7 +151,7 @@ export class RestHandler {
|
|
|
87
151
|
missingDefault: prefer.missing === 'default',
|
|
88
152
|
returning: queryReturning,
|
|
89
153
|
});
|
|
90
|
-
return this.runMutation(ctx, built, { status: 201, returning, queryReturning, wantsObject, prefer, cdc });
|
|
154
|
+
return this.runMutation(ctx, built, { status: 201, returning, queryReturning, wantsObject, wantsCsv, prefer, cdc });
|
|
91
155
|
}
|
|
92
156
|
case 'PATCH': {
|
|
93
157
|
const body = await readJsonBody(req);
|
|
@@ -103,14 +167,14 @@ export class RestHandler {
|
|
|
103
167
|
const cdc = this.db.jsCdc ? { schema, table, type: 'UPDATE' } : null;
|
|
104
168
|
const queryReturning = returning || !!cdc;
|
|
105
169
|
const built = builder.buildUpdate(table, body, { returning: queryReturning });
|
|
106
|
-
return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, prefer, cdc });
|
|
170
|
+
return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, wantsCsv, prefer, cdc });
|
|
107
171
|
}
|
|
108
172
|
case 'DELETE': {
|
|
109
173
|
const returning = prefer.return === 'representation' || wantsObject;
|
|
110
174
|
const cdc = this.db.jsCdc ? { schema, table, type: 'DELETE' } : null;
|
|
111
175
|
const queryReturning = returning || !!cdc;
|
|
112
176
|
const built = builder.buildDelete(table, { returning: queryReturning });
|
|
113
|
-
return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, prefer, cdc });
|
|
177
|
+
return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, wantsCsv, prefer, cdc });
|
|
114
178
|
}
|
|
115
179
|
default:
|
|
116
180
|
return jsonResponse(405, { code: 'PGRST105', message: `Method ${method} not allowed`, details: null, hint: null });
|
|
@@ -139,6 +203,7 @@ export class RestHandler {
|
|
|
139
203
|
count: opts.prefer.count !== undefined ? rows.length : null,
|
|
140
204
|
offset: 0,
|
|
141
205
|
wantsObject: opts.wantsObject,
|
|
206
|
+
wantsCsv: opts.wantsCsv,
|
|
142
207
|
head: false,
|
|
143
208
|
});
|
|
144
209
|
}
|
|
@@ -148,6 +213,10 @@ export class RestHandler {
|
|
|
148
213
|
const headers = {
|
|
149
214
|
'content-range': `${rangePart}/${total}`,
|
|
150
215
|
};
|
|
216
|
+
if (opts.wantsCsv) {
|
|
217
|
+
headers['content-type'] = `${CSV_MEDIA}; charset=utf-8`;
|
|
218
|
+
return new Response(opts.head ? null : rowsToCsv(rows), { status: opts.status, headers });
|
|
219
|
+
}
|
|
151
220
|
if (opts.wantsObject) {
|
|
152
221
|
if (rows.length !== 1) {
|
|
153
222
|
return jsonResponse(406, {
|
|
@@ -173,7 +242,9 @@ export class RestHandler {
|
|
|
173
242
|
return jsonResponse(405, { code: 'PGRST105', message: `Method ${method} not allowed`, details: null, hint: null });
|
|
174
243
|
}
|
|
175
244
|
const prefer = parsePrefer(req.headers.get('prefer'));
|
|
176
|
-
const
|
|
245
|
+
const rpcAccept = req.headers.get('accept') ?? '';
|
|
246
|
+
const wantsObject = rpcAccept.includes(OBJECT_MEDIA);
|
|
247
|
+
const wantsCsv = rpcAccept.includes(CSV_MEDIA);
|
|
177
248
|
const fns = await this.db.getFunctions(schema, fnName);
|
|
178
249
|
if (fns.length === 0) {
|
|
179
250
|
throw new ApiError(404, {
|
|
@@ -274,6 +345,7 @@ export class RestHandler {
|
|
|
274
345
|
count,
|
|
275
346
|
offset: q.offsets.get('') ?? 0,
|
|
276
347
|
wantsObject,
|
|
348
|
+
wantsCsv,
|
|
277
349
|
head: method === 'HEAD',
|
|
278
350
|
});
|
|
279
351
|
}
|
package/dist/rest/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/rest/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/rest/handler.ts"],"names":[],"mappings":"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"}
|
package/dist/rest/parse.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface SelectColumn {
|
|
|
9
9
|
name: string;
|
|
10
10
|
alias?: string;
|
|
11
11
|
cast?: string;
|
|
12
|
+
/** aggregate function applied to the column (col.sum(), count(), ...) */
|
|
13
|
+
aggregate?: 'avg' | 'count' | 'max' | 'min' | 'sum';
|
|
12
14
|
}
|
|
13
15
|
export interface SelectEmbed {
|
|
14
16
|
kind: 'embed';
|
package/dist/rest/parse.js
CHANGED
|
@@ -205,6 +205,20 @@ function parseSelectItem(item) {
|
|
|
205
205
|
alias = unquote(item.slice(0, aliasIdx));
|
|
206
206
|
item = item.slice(aliasIdx + 1);
|
|
207
207
|
}
|
|
208
|
+
// aggregate with empty parens (count(), col.sum(), …) — a column, not an
|
|
209
|
+
// embed. Cast-suffixed aggregates (col.sum()::text) don't end in ')' and are
|
|
210
|
+
// handled in the column branch below.
|
|
211
|
+
if (!spread) {
|
|
212
|
+
const agg = item.match(/^(?:(.+)\.)?(avg|count|max|min|sum)\(\)$/);
|
|
213
|
+
if (agg) {
|
|
214
|
+
return {
|
|
215
|
+
kind: 'column',
|
|
216
|
+
name: agg[1] ? unquote(agg[1]) : '',
|
|
217
|
+
alias,
|
|
218
|
+
aggregate: agg[2],
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
}
|
|
208
222
|
const parenIdx = item.indexOf('(');
|
|
209
223
|
if (parenIdx !== -1 && item.endsWith(')')) {
|
|
210
224
|
// embed: name[!hint][!inner](children)
|
|
@@ -235,7 +249,14 @@ function parseSelectItem(item) {
|
|
|
235
249
|
throw new ParseError(`invalid cast: ${cast}`);
|
|
236
250
|
item = item.slice(0, castIdx);
|
|
237
251
|
}
|
|
238
|
-
|
|
252
|
+
// aggregate: col.sum()/avg()/max()/min()/count(), or a bare count()
|
|
253
|
+
let aggregate;
|
|
254
|
+
const aggMatch = item.match(/^(?:(.+)\.)?(avg|count|max|min|sum)\(\)$/);
|
|
255
|
+
if (aggMatch) {
|
|
256
|
+
aggregate = aggMatch[2];
|
|
257
|
+
item = aggMatch[1] ?? '';
|
|
258
|
+
}
|
|
259
|
+
return { kind: 'column', name: item === '' ? '' : unquote(item), alias, cast, aggregate };
|
|
239
260
|
}
|
|
240
261
|
/** Index of an alias ':' (not '::'), outside quotes/parens; -1 when absent. */
|
|
241
262
|
function findAliasColon(item) {
|
package/dist/rest/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/rest/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/rest/parse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiEH,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;AAExC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;IAC1D,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI;IACtD,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;IAClB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;IAC5B,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK;IACpD,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC/C,UAAU,EAAE,kBAAkB;CAC/B,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,YAA6B;IACtD,MAAM,CAAC,GAAgB;QACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACvC,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAA;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;YAC/C,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACpE,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACnE,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE1C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAClC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;YACjD,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,KAAK,KAAK,EAAE,CAAC,CAC9E;YAAA,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACvD,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAA;YACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;YAC7D,SAAQ;QACV,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC/B,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAQ;QAE9B,oDAAoD;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,GAAW,EAAE,IAAc;IACnE,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,IAAI,GAAG,GAAG,CAAA;IACd,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,EAAU,EAAE,KAAa,CAAA;IAC7B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,EAAE,GAAG,IAAI,CAAA;QACT,KAAK,GAAG,EAAE,CAAA;IACZ,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,iDAAiD;IACjD,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAC7D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAClG,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAA;IAC/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AAC7D,CAAC;AAED,2DAA2D;AAC3D,SAAS,cAAc,CAAC,EAAgB,EAAE,GAAW,EAAE,IAAc,EAAE,OAAgB;IACrF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,UAAU,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,UAAU,GAAW,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACxF,SAAQ;QACV,CAAC;QACD,mEAAmE;QACnE,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC9B,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,IAAc;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,IAAI,UAA+B,CAAA;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,KAAK;YAAE,GAAG,GAAG,IAAI,CAAA;aACtB,IAAI,CAAC,KAAK,MAAM;YAAE,GAAG,GAAG,KAAK,CAAA;aAC7B,IAAI,CAAC,KAAK,YAAY;YAAE,UAAU,GAAG,IAAI,CAAA;aACzC,IAAI,CAAC,KAAK,WAAW;YAAE,UAAU,GAAG,KAAK,CAAA;;YACzC,MAAM,IAAI,UAAU,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC1C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IACtD,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,EAAE,CAAA;YACb,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,GAAG,KAAK,CAAA;YAC/B,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,EAAE,CAAA;YACP,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,EAAE,CAAA;YACP,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjB,OAAO,GAAG,EAAE,CAAA;QACd,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,IAAI,KAAK,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAE1D,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAA;QACb,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,sCAAsC;IACtC,IAAI,KAAyB,CAAA;IAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QACxC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,sCAAsC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAClE,IAAI,GAAG,EAAE,CAAC;YACR,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnC,KAAK;gBACL,SAAS,EAAE,GAAG,CAAC,CAAC,CAA8B;aAC/C,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAClC,IAAI,IAAwB,CAAA;QAC5B,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,KAAK,OAAO;gBAAE,KAAK,GAAG,IAAI,CAAA;iBAC7B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC;;gBAClD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IACtE,CAAC;IAED,IAAI,MAAM;QAAE,MAAM,IAAI,UAAU,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAA;IAExE,gEAAgE;IAChE,IAAI,IAAwB,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;QAC9B,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC9F,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,oEAAoE;IACpE,IAAI,SAAoC,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;IACvE,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,GAAG,QAAQ,CAAC,CAAC,CAA8B,CAAA;QACpD,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AAC3F,CAAC;AAED,+EAA+E;AAC/E,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAClB,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC,OAAO,CAAA;QAClC,IAAI,OAAO;YAAE,SAAQ;QACrB,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC,CAAA;QACzB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAC1C,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-process data-retention sweeper. Periodically purges expired or stale rows
|
|
3
|
+
* that would otherwise accumulate forever: consumed/expired one-time tokens,
|
|
4
|
+
* revoked and aged-out refresh tokens, expired MFA challenges and OAuth flow
|
|
5
|
+
* state, and audit-log entries past the retention window.
|
|
6
|
+
*
|
|
7
|
+
* Supports GDPR data-minimization and keeps the auth tables from growing
|
|
8
|
+
* unbounded. All windows are configurable; a window of 0 disables that sweep.
|
|
9
|
+
*/
|
|
10
|
+
import type { Database } from '../db/database.js';
|
|
11
|
+
export interface RetentionConfig {
|
|
12
|
+
/** How often to run a sweep (ms). Default 1 hour. */
|
|
13
|
+
intervalMs?: number;
|
|
14
|
+
/** Delete audit_log_entries older than this many days (0 = keep forever). Default 90. */
|
|
15
|
+
auditLogDays?: number;
|
|
16
|
+
/** Delete revoked/expired refresh tokens older than this many days (0 = keep). Default 30. */
|
|
17
|
+
refreshTokenDays?: number;
|
|
18
|
+
}
|
|
19
|
+
export declare class RetentionService {
|
|
20
|
+
private db;
|
|
21
|
+
private now;
|
|
22
|
+
private timer;
|
|
23
|
+
private inFlight;
|
|
24
|
+
private readonly intervalMs;
|
|
25
|
+
private readonly auditLogDays;
|
|
26
|
+
private readonly refreshTokenDays;
|
|
27
|
+
constructor(db: Database, config?: RetentionConfig, now?: () => Date);
|
|
28
|
+
start(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Stop future sweeps and wait for any in-flight one to settle, so the caller
|
|
31
|
+
* can safely close the database without racing a queued sweep query.
|
|
32
|
+
*/
|
|
33
|
+
stop(): Promise<void>;
|
|
34
|
+
/** Run a single retention pass (also callable directly in tests). */
|
|
35
|
+
sweep(): Promise<void>;
|
|
36
|
+
private run;
|
|
37
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
2
|
+
export class RetentionService {
|
|
3
|
+
db;
|
|
4
|
+
now;
|
|
5
|
+
timer = null;
|
|
6
|
+
// Tracks the sweep currently in flight. The boot sweep and interval sweeps
|
|
7
|
+
// run un-awaited, but stop() must be able to drain the in-flight one before
|
|
8
|
+
// the caller closes the database: PGlite has a single connection, and calling
|
|
9
|
+
// close() while a sweep query is still queued busy-loops the shutdown.
|
|
10
|
+
inFlight = Promise.resolve();
|
|
11
|
+
intervalMs;
|
|
12
|
+
auditLogDays;
|
|
13
|
+
refreshTokenDays;
|
|
14
|
+
constructor(db, config = {}, now = () => new Date()) {
|
|
15
|
+
this.db = db;
|
|
16
|
+
this.now = now;
|
|
17
|
+
this.intervalMs = config.intervalMs ?? 60 * 60 * 1000;
|
|
18
|
+
this.auditLogDays = config.auditLogDays ?? 90;
|
|
19
|
+
this.refreshTokenDays = config.refreshTokenDays ?? 30;
|
|
20
|
+
}
|
|
21
|
+
start() {
|
|
22
|
+
if (this.timer)
|
|
23
|
+
return;
|
|
24
|
+
// run once at boot, then on the interval (tracking the in-flight sweep)
|
|
25
|
+
this.inFlight = this.sweep();
|
|
26
|
+
this.timer = setInterval(() => {
|
|
27
|
+
this.inFlight = this.sweep();
|
|
28
|
+
}, this.intervalMs);
|
|
29
|
+
if (typeof this.timer === 'object' && 'unref' in this.timer)
|
|
30
|
+
this.timer.unref();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Stop future sweeps and wait for any in-flight one to settle, so the caller
|
|
34
|
+
* can safely close the database without racing a queued sweep query.
|
|
35
|
+
*/
|
|
36
|
+
async stop() {
|
|
37
|
+
if (this.timer)
|
|
38
|
+
clearInterval(this.timer);
|
|
39
|
+
this.timer = null;
|
|
40
|
+
await this.inFlight.catch(() => { });
|
|
41
|
+
}
|
|
42
|
+
/** Run a single retention pass (also callable directly in tests). */
|
|
43
|
+
async sweep() {
|
|
44
|
+
const now = this.now();
|
|
45
|
+
await this.run(`delete from auth.one_time_tokens where expires_at < now()`);
|
|
46
|
+
await this.run(`delete from auth.mfa_challenges where expires_at < now()`);
|
|
47
|
+
await this.run(`delete from auth.flow_state where expires_at < now()`);
|
|
48
|
+
if (this.refreshTokenDays > 0) {
|
|
49
|
+
const cutoff = new Date(now.getTime() - this.refreshTokenDays * DAY_MS).toISOString();
|
|
50
|
+
await this.run(`delete from auth.refresh_tokens where revoked = true and updated_at < $1`, [cutoff]);
|
|
51
|
+
}
|
|
52
|
+
if (this.auditLogDays > 0) {
|
|
53
|
+
const cutoff = new Date(now.getTime() - this.auditLogDays * DAY_MS).toISOString();
|
|
54
|
+
await this.run(`delete from auth.audit_log_entries where created_at < $1`, [cutoff]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async run(sql, params = []) {
|
|
58
|
+
try {
|
|
59
|
+
await this.db.query(sql, params);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// table may not exist on a subset engine (pg-mem) — skip
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/retention/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,14 @@ import type { Database } from '../db/database.js';
|
|
|
7
7
|
import type { RequestContext, StorageDriver } from '../types.js';
|
|
8
8
|
export interface StorageConfig {
|
|
9
9
|
jwtSecret: string;
|
|
10
|
+
log?: (message: string) => void;
|
|
10
11
|
}
|
|
11
12
|
export declare class StorageHandler {
|
|
12
13
|
private db;
|
|
13
14
|
private driver;
|
|
14
15
|
private config;
|
|
16
|
+
private tusUploads;
|
|
17
|
+
private warnedTransform;
|
|
15
18
|
constructor(db: Database, driver: StorageDriver, config: StorageConfig);
|
|
16
19
|
handle(req: Request, ctx: RequestContext, url: URL): Promise<Response>;
|
|
17
20
|
private requireService;
|
|
@@ -23,6 +26,13 @@ export declare class StorageHandler {
|
|
|
23
26
|
private emptyBucket;
|
|
24
27
|
private loadBucket;
|
|
25
28
|
private upload;
|
|
29
|
+
/** Warn once that image transforms are unsupported (the original is served). */
|
|
30
|
+
private warnTransformUnsupported;
|
|
31
|
+
/** Insert (or upsert) the object row and write its bytes to the driver. */
|
|
32
|
+
private persistObject;
|
|
33
|
+
private handleTus;
|
|
34
|
+
/** Append a chunk at `offset`; finalize the object once fully received. */
|
|
35
|
+
private appendTus;
|
|
26
36
|
private download;
|
|
27
37
|
private downloadPublic;
|
|
28
38
|
private serveObject;
|