@ya-accelerators/web-backend-framework 0.0.100 → 0.0.102
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/@types/express.d.ts +0 -4
- package/dist/connector/google-auth/index.js +0 -30
- package/dist/connector/google-auth/index.js.map +1 -1
- package/dist/constants.d.ts +9 -0
- package/dist/constants.js +73 -4
- package/dist/constants.js.map +1 -1
- package/dist/context/audit/index.js.map +1 -1
- package/dist/context/request/index.js +0 -15
- package/dist/context/request/index.js.map +1 -1
- package/dist/coordination/lock/index.d.ts +0 -8
- package/dist/coordination/lock/index.js +0 -29
- package/dist/coordination/lock/index.js.map +1 -1
- package/dist/coordination/rate-limit/index.d.ts +0 -5
- package/dist/coordination/rate-limit/index.js +0 -23
- package/dist/coordination/rate-limit/index.js.map +1 -1
- package/dist/coordination/throttle/index.d.ts +0 -13
- package/dist/coordination/throttle/index.js +0 -13
- package/dist/coordination/throttle/index.js.map +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/env.js +5 -15
- package/dist/env.js.map +1 -1
- package/dist/internal/federation/index.d.ts +1 -1
- package/dist/internal/federation/index.js +0 -20
- package/dist/internal/federation/index.js.map +1 -1
- package/dist/logger/index.js +0 -18
- package/dist/logger/index.js.map +1 -1
- package/dist/repository/prisma/index.js +5 -7
- package/dist/repository/prisma/index.js.map +1 -1
- package/dist/repository/prisma/lifecycle.js +1 -28
- package/dist/repository/prisma/lifecycle.js.map +1 -1
- package/dist/repository/prisma/rds-log-record.d.ts +10 -0
- package/dist/repository/prisma/rds-log-record.js +20 -0
- package/dist/repository/prisma/rds-log-record.js.map +1 -0
- package/dist/repository/redis/index.js +0 -4
- package/dist/repository/redis/index.js.map +1 -1
- package/dist/repository/s3/index.js +1 -25
- package/dist/repository/s3/index.js.map +1 -1
- package/dist/server/express/index.js +20 -52
- package/dist/server/express/index.js.map +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/trpc/declaration/index.d.ts +38 -0
- package/dist/server/trpc/declaration/index.js +2 -0
- package/dist/server/trpc/declaration/index.js.map +1 -0
- package/dist/server/trpc/index.d.ts +10 -9
- package/dist/server/trpc/index.js +12 -28
- package/dist/server/trpc/index.js.map +1 -1
- package/dist/server/trpc/schema/index.js +0 -10
- package/dist/server/trpc/schema/index.js.map +1 -1
- package/dist/server/uploads/index.js +12 -12
- package/dist/server/uploads/index.js.map +1 -1
- package/dist/util/index.js +87 -96
- package/dist/util/index.js.map +1 -1
- package/package.json +13 -9
|
@@ -5,6 +5,7 @@ import { readReplicas } from '@prisma/extension-read-replicas';
|
|
|
5
5
|
import { defaultEnv } from '../../env.js';
|
|
6
6
|
import { logger } from '../../logger/index.js';
|
|
7
7
|
import { buildAggregateRegistry, discoverModelNames, lifecycleEmitExtension } from './lifecycle.js';
|
|
8
|
+
import { rdsLogRecord } from './rds-log-record.js';
|
|
8
9
|
class Singleton {
|
|
9
10
|
static storage = new AsyncLocalStorage();
|
|
10
11
|
static instances = new Map();
|
|
@@ -91,10 +92,10 @@ export const prisma = {
|
|
|
91
92
|
logger.debug('rds', { ...event, params: '***' });
|
|
92
93
|
});
|
|
93
94
|
primary.$on('warn', (event) => {
|
|
94
|
-
logger.warn('rds', event);
|
|
95
|
+
logger.warn('rds', rdsLogRecord(event));
|
|
95
96
|
});
|
|
96
97
|
primary.$on('error', (event) => {
|
|
97
|
-
logger.error('rds', event);
|
|
98
|
+
logger.error('rds', rdsLogRecord(event));
|
|
98
99
|
});
|
|
99
100
|
const replica = new PrismaClientConstructor({
|
|
100
101
|
log: [
|
|
@@ -117,15 +118,12 @@ export const prisma = {
|
|
|
117
118
|
}),
|
|
118
119
|
});
|
|
119
120
|
replica.$on('warn', (event) => {
|
|
120
|
-
logger.warn('rds', event);
|
|
121
|
+
logger.warn('rds', rdsLogRecord(event));
|
|
121
122
|
});
|
|
122
123
|
replica.$on('error', (event) => {
|
|
123
|
-
logger.error('rds', event);
|
|
124
|
+
logger.error('rds', rdsLogRecord(event));
|
|
124
125
|
});
|
|
125
126
|
const registry = buildAggregateRegistry(discoverModelNames(primary));
|
|
126
|
-
// Log the detected aggregate registry so an empty result (e.g. a Prisma change to delegate
|
|
127
|
-
// enumerability that breaks discovery) is visible at startup rather than silently disabling all
|
|
128
|
-
// audit emit.
|
|
129
127
|
logger.info('startup', { lifecycleAggregates: [...registry.keys()] });
|
|
130
128
|
const withReplicas = primary.$extends(readReplicas({
|
|
131
129
|
replicas: [replica],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/prisma/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/prisma/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { getCurrentAuditContext } from '../../context/audit/index.js';
|
|
2
2
|
import { logger } from '../../logger/index.js';
|
|
3
|
-
// Auto-discover model names from a Prisma client: each model delegate (`.user`, `.eventUserLifecycle`)
|
|
4
|
-
// is an enumerable own property whose value exposes `.create`; camelCase keys → PascalCase model names.
|
|
5
3
|
export const discoverModelNames = (instance) => {
|
|
6
4
|
if (!instance || typeof instance !== 'object') {
|
|
7
5
|
return [];
|
|
@@ -18,7 +16,6 @@ export const discoverModelNames = (instance) => {
|
|
|
18
16
|
}
|
|
19
17
|
return names;
|
|
20
18
|
};
|
|
21
|
-
// Map aggregate-root → event-model for every `Foo` whose `EventFooLifecycle` also exists.
|
|
22
19
|
export const buildAggregateRegistry = (modelNames) => {
|
|
23
20
|
const set = new Set(modelNames);
|
|
24
21
|
const registry = new Map();
|
|
@@ -34,11 +31,7 @@ export const buildAggregateRegistry = (modelNames) => {
|
|
|
34
31
|
return registry;
|
|
35
32
|
};
|
|
36
33
|
const toCamelCase = (name) => name.charAt(0).toLowerCase() + name.slice(1);
|
|
37
|
-
// Prisma writes a scalar as either the bare value or a `{ set: value }` wrapper; unwrap so a soft-delete
|
|
38
|
-
// restore (`deletedAt: { set: null }`) is not mistaken for a non-null object.
|
|
39
34
|
const unwrapWriteValue = (value) => value !== null && typeof value === 'object' && 'set' in value ? value.set : value;
|
|
40
|
-
// `update` classification: `data.deletedAt` set to a non-null value (bare or `{ set: … }`) → `deleted`;
|
|
41
|
-
// `deletedAt` null / `{ set: null }` (restore) or absent → `updated`.
|
|
42
35
|
export const classifyUpdateEvent = (data) => {
|
|
43
36
|
if (data && typeof data === 'object' && 'deletedAt' in data) {
|
|
44
37
|
const value = unwrapWriteValue(data.deletedAt);
|
|
@@ -48,18 +41,11 @@ export const classifyUpdateEvent = (data) => {
|
|
|
48
41
|
}
|
|
49
42
|
return 'updated';
|
|
50
43
|
};
|
|
51
|
-
// Operations that map to a lifecycle event. `createMany` / `updateMany` / `deleteMany` are absent on
|
|
52
|
-
// purpose — Prisma returns only an affected-row count for those, so no id can be linked.
|
|
53
44
|
const EMIT_OPERATIONS = new Set(['create', 'createManyAndReturn', 'update', 'updateManyAndReturn', 'upsert', 'delete']);
|
|
54
|
-
// Prisma `$extends` extension: emit a Lifecycle event row on single-row create / update / delete / upsert
|
|
55
|
-
// of an aggregate root, in the SAME transaction as the business write. Suppressed inside
|
|
56
|
-
// `runAsSystemAction`.
|
|
57
45
|
export const lifecycleEmitExtension = (options) => {
|
|
58
46
|
const { registry, getCurrentTransactionClient, getRawPrimaryClient } = options;
|
|
59
47
|
const emitOne = async (client, model, eventType, rowId) => {
|
|
60
48
|
if (rowId === undefined || rowId === null) {
|
|
61
|
-
// A single-row write with a `select` / `omit` that drops `id` returns a row we cannot link to its
|
|
62
|
-
// aggregate. Warn (was a silent skip) so the audit gap surfaces during an incident review.
|
|
63
49
|
logger.warn('lifecycle', {
|
|
64
50
|
model,
|
|
65
51
|
eventType,
|
|
@@ -80,16 +66,10 @@ export const lifecycleEmitExtension = (options) => {
|
|
|
80
66
|
reason: ctx?.reason,
|
|
81
67
|
},
|
|
82
68
|
});
|
|
83
|
-
// No `actorUserId`: a consumer may set it to a real identifier rather than a pseudonymous id
|
|
84
|
-
// (corporate-service assigns the operator's Google email), and it is already persisted on the event
|
|
85
|
-
// row this just wrote — logging it duplicates the record into a stream with different retention.
|
|
86
69
|
logger.debug('lifecycle-emitted', { model, eventType });
|
|
87
70
|
};
|
|
88
71
|
const rowsOf = (result) => (Array.isArray(result) ? result : [result]);
|
|
89
72
|
const idOf = (row) => row?.id;
|
|
90
|
-
// Run the business op on `emitClient`'s transaction and emit its event(s) on the same client.
|
|
91
|
-
// `runBusiness` performs the write; `emitClient` / `preCheckClient` are the transaction client the
|
|
92
|
-
// event row (and, for upsert, the pre-existence probe) are written / read on.
|
|
93
73
|
const runWithEmit = async (runBusiness, emitClient, preCheckClient, model, operation,
|
|
94
74
|
// biome-ignore lint/suspicious/noExplicitAny: Prisma per-operation args are generator-typed any
|
|
95
75
|
args) => {
|
|
@@ -98,8 +78,7 @@ export const lifecycleEmitExtension = (options) => {
|
|
|
98
78
|
// transaction) so the event type is accurate. The probe is a snapshot read and the upsert is a
|
|
99
79
|
// current-read write, so a concurrent insert of the same unique key committing between them can
|
|
100
80
|
// mislabel the event (created vs updated) — accepted: a rare same-key race that affects only the audit
|
|
101
|
-
// label, never the business row
|
|
102
|
-
// cost for that edge.
|
|
81
|
+
// label, never the business row.
|
|
103
82
|
const existed = (await preCheckClient[toCamelCase(model)].findUnique({ where: args?.where, select: { id: true } })) !== null;
|
|
104
83
|
const result = await runBusiness();
|
|
105
84
|
await emitOne(emitClient, model, existed ? classifyUpdateEvent(args?.update) : 'created', idOf(result));
|
|
@@ -141,15 +120,9 @@ export const lifecycleEmitExtension = (options) => {
|
|
|
141
120
|
}
|
|
142
121
|
const ambientTx = getCurrentTransactionClient();
|
|
143
122
|
if (ambientTx) {
|
|
144
|
-
// Case A — an ambient framework transaction (`prisma.transaction`). The business op already
|
|
145
|
-
// runs on that tx; co-locate the emit on the same client so both commit or roll back together.
|
|
146
123
|
return runWithEmit(() => query(args), ambientTx, ambientTx, model, operation, args);
|
|
147
124
|
}
|
|
148
125
|
if (__internalParams?.transaction) {
|
|
149
|
-
// Case C — a native `db().$transaction(...)` opened outside the framework wrapper. A query
|
|
150
|
-
// extension cannot obtain that connection's client, and writing the event on a separate
|
|
151
|
-
// connection would survive a rollback as a phantom event. Skip + warn (fail toward no false
|
|
152
|
-
// audit); `prisma.transaction()` is the supported path for an atomic aggregate write.
|
|
153
126
|
const result = await query(args);
|
|
154
127
|
logger.warn('lifecycle', {
|
|
155
128
|
model,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/repository/prisma/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/repository/prisma/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// The one numeric identifier a Prisma log event carries, and it carries it in the message text rather than
|
|
2
|
+
// as a field: `Raw query failed. Code: `1062`` for a query the server refused, `Database error. Code:
|
|
3
|
+
// `45028`` for an engine-level fault. It is the MySQL errno in the first case and an engine code in the
|
|
4
|
+
// second, so the projection names it as the message does. A `PrismaClientKnownRequestError`'s own `P####`
|
|
5
|
+
// code is NOT in this text — that value reaches the caller on the thrown error, never the log event — and
|
|
6
|
+
// neither is the driver's `(conn:…, no:…, SQLState:…)` prefix, which Prisma replaces with its own wording.
|
|
7
|
+
export const rdsLogRecord = (event) => {
|
|
8
|
+
const code = /\bCode: `(\d+)`/.exec(event.message)?.[1];
|
|
9
|
+
return {
|
|
10
|
+
target: event.target,
|
|
11
|
+
timestamp: event.timestamp,
|
|
12
|
+
// The message is the only failure signal the event carries when the projection above does not match —
|
|
13
|
+
// a unique-constraint violation states the constraint name and no code at all — so dropping it would
|
|
14
|
+
// leave a `warn` / `error` record with nothing an operator can act on at the prd threshold. `logger`
|
|
15
|
+
// applies `Util.sanitize`, which redacts the values a driver embeds in its own message text.
|
|
16
|
+
message: event.message,
|
|
17
|
+
...(code ? { code } : {}),
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=rds-log-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rds-log-record.js","sourceRoot":"","sources":["../../../src/repository/prisma/rds-log-record.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,sGAAsG;AACtG,wGAAwG;AACxG,0GAA0G;AAC1G,0GAA0G;AAC1G,2GAA2G;AAC3G,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAA2D,EAAE,EAAE;IAC1F,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACvD,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,sGAAsG;QACtG,qGAAqG;QACrG,qGAAqG;QACrG,6FAA6F;QAC7F,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -13,10 +13,6 @@ const createClient = () => defaultEnv.REDIS_CLUSTER
|
|
|
13
13
|
useTLS: defaultEnv.DEPLOY_ENV !== 'dev',
|
|
14
14
|
requestTimeout: 30000,
|
|
15
15
|
});
|
|
16
|
-
// A cache key is built by the caller and routinely embeds the value it is keyed on (a subject id, a jti, an
|
|
17
|
-
// email-derived hash), which `Util.sanitize` cannot catch because it redacts by key NAME, not by value. The
|
|
18
|
-
// prefix up to the last `:` names the keyspace an incident is grepped by; the length distinguishes a repeat
|
|
19
|
-
// on a different key. Same treatment as the object-storage key in the s3 wrapper.
|
|
20
16
|
const keyShape = (key) => ({ keyPrefix: key.slice(0, key.lastIndexOf(':') + 1), keyLength: key.length });
|
|
21
17
|
const getClient = async () => {
|
|
22
18
|
if (clientPromise === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE7F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,IAAI,aAA4E,CAAA;AAEhF,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,UAAU,CAAC,aAAa;IACtB,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACzE,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,KAAK;KACtB,CAAC;IACJ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;QACvB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;QACzE,MAAM,EAAE,UAAU,CAAC,UAAU,KAAK,KAAK;QACvC,cAAc,EAAE,KAAK;KACtB,CAAC,CAAA;AAER,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/redis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,7 @@ const client = () => {
|
|
|
13
13
|
if (clientInstance === undefined) {
|
|
14
14
|
clientInstance =
|
|
15
15
|
defaultEnv.LOCAL_S3_ENDPOINT === undefined
|
|
16
|
-
?
|
|
17
|
-
// leaving it unset there hands the storage location of every object this wrapper writes — uploads
|
|
18
|
-
// and the governance 正本 — to whatever the runtime happens to supply, which is the opposite of the
|
|
19
|
-
// one constraint `infra.md § 9` puts on personal data. The dev branch was already regioned, which
|
|
20
|
-
// is what made the omission read as deliberate.
|
|
21
|
-
new S3Client({ region: defaultEnv.AWS_REGION })
|
|
16
|
+
? new S3Client({ region: defaultEnv.AWS_REGION })
|
|
22
17
|
: new S3Client({
|
|
23
18
|
region: defaultEnv.AWS_REGION,
|
|
24
19
|
endpoint: defaultEnv.LOCAL_S3_ENDPOINT,
|
|
@@ -30,9 +25,6 @@ const client = () => {
|
|
|
30
25
|
};
|
|
31
26
|
export const s3 = {
|
|
32
27
|
client,
|
|
33
|
-
// Read an object (optionally a specific version). Returns undefined when the key/version does not exist so
|
|
34
|
-
// the caller decides whether "absent" is an error. Body is materialised to a Buffer; a string consumer
|
|
35
|
-
// calls `.toString()`.
|
|
36
28
|
getObject: async (params) => {
|
|
37
29
|
try {
|
|
38
30
|
const result = await client().send(new GetObjectCommand({ Bucket: params.bucket, Key: params.key, VersionId: params.versionId }));
|
|
@@ -77,8 +69,6 @@ export const s3 = {
|
|
|
77
69
|
throw e;
|
|
78
70
|
}
|
|
79
71
|
},
|
|
80
|
-
// Idempotent bucket create — an already-owned/existing bucket is a no-op. `objectLock` turns on versioning +
|
|
81
|
-
// Object Lock at creation (required before any WORM write).
|
|
82
72
|
createBucket: async (params) => {
|
|
83
73
|
try {
|
|
84
74
|
await client().send(new CreateBucketCommand({ Bucket: params.bucket, ObjectLockEnabledForBucket: params.objectLock }));
|
|
@@ -91,8 +81,6 @@ export const s3 = {
|
|
|
91
81
|
throw e;
|
|
92
82
|
}
|
|
93
83
|
},
|
|
94
|
-
// Upsert a single prefix-scoped expiration rule, preserving every other rule already on the bucket
|
|
95
|
-
// (GET-merge-PUT keyed by ruleId).
|
|
96
84
|
ensureBucketLifecycleRule: async (params) => {
|
|
97
85
|
try {
|
|
98
86
|
const existing = await client()
|
|
@@ -120,8 +108,6 @@ export const s3 = {
|
|
|
120
108
|
throw e;
|
|
121
109
|
}
|
|
122
110
|
},
|
|
123
|
-
// Seal an object under Object Lock retention. Returns the S3 version-id the caller records in its
|
|
124
|
-
// own index. Throws when the bucket returns no VersionId (versioning / Object Lock not enabled).
|
|
125
111
|
putObjectWorm: async (params) => {
|
|
126
112
|
try {
|
|
127
113
|
const result = await client().send(new PutObjectCommand({
|
|
@@ -142,7 +128,6 @@ export const s3 = {
|
|
|
142
128
|
throw e;
|
|
143
129
|
}
|
|
144
130
|
},
|
|
145
|
-
// Enumerate every version of a single key (evidence audit + orphan detection). Paginates fully.
|
|
146
131
|
listObjectVersions: async (params) => {
|
|
147
132
|
try {
|
|
148
133
|
const versions = [];
|
|
@@ -175,12 +160,6 @@ export const s3 = {
|
|
|
175
160
|
throw e;
|
|
176
161
|
}
|
|
177
162
|
},
|
|
178
|
-
// Delete versions of a key no longer referenced (`keepVersionIds` = the version-ids still indexed).
|
|
179
|
-
// A version still under retention cannot be deleted: it is returned in `skippedVersionIds` rather than
|
|
180
|
-
// failing the whole sweep. The retention denial surfaces as `AccessDenied` on AWS S3 and as
|
|
181
|
-
// `InvalidRequest` on MinIO (local/dev) — both are treated as "retained, skip". GOVERNANCE-mode
|
|
182
|
-
// versions under retention are deletable only with `governanceBypass` (requires
|
|
183
|
-
// `s3:BypassGovernanceRetention`). Any other error propagates.
|
|
184
163
|
deleteOrphanVersions: async (params) => {
|
|
185
164
|
try {
|
|
186
165
|
const keep = new Set(params.keepVersionIds);
|
|
@@ -201,9 +180,6 @@ export const s3 = {
|
|
|
201
180
|
}
|
|
202
181
|
catch (error) {
|
|
203
182
|
if (error instanceof Error && (error.name === 'AccessDenied' || error.name === 'InvalidRequest')) {
|
|
204
|
-
// AccessDenied (AWS) is the retention-still-active denial, but it is indistinguishable from an
|
|
205
|
-
// IAM misconfiguration — warn so an operator can spot a genuine permission gap instead of it
|
|
206
|
-
// silently reading as a normal under-retention skip. InvalidRequest (MinIO/dev) is unambiguous.
|
|
207
183
|
if (error.name === 'AccessDenied') {
|
|
208
184
|
logger.warn('storage', {
|
|
209
185
|
op: 'deleteOrphanVersions',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/s3/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sCAAsC,EACtC,gBAAgB,EAChB,yBAAyB,EACzB,sCAAsC,EACtC,gBAAgB,EAChB,QAAQ,GACT,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C,IAAI,cAAoC,CAAA;AACxC,uGAAuG;AACvG,qGAAqG;AACrG,qGAAqG;AACrG,+FAA+F;AAC/F,0FAA0F;AAC1F,wFAAwF;AACxF,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;AAEhH,MAAM,MAAM,GAAG,GAAG,EAAE;IAClB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,cAAc;YACZ,UAAU,CAAC,iBAAiB,KAAK,SAAS;gBACxC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/s3/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,17 @@
|
|
|
1
1
|
import cors from 'cors';
|
|
2
2
|
import express from 'express';
|
|
3
3
|
import { createProxyMiddleware } from 'http-proxy-middleware';
|
|
4
|
+
import { constants } from '../../constants.js';
|
|
4
5
|
import { requestContextStorage, resolveOutboundHeaders } from '../../context/request/index.js';
|
|
5
6
|
import { defaultEnv } from '../../env.js';
|
|
6
7
|
import { logger } from '../../logger/index.js';
|
|
7
8
|
import { Util } from '../../util/index.js';
|
|
8
9
|
import { claimUploadToken, storeUpload } from '../uploads/index.js';
|
|
9
10
|
let processErrorHandlersRegistered = false;
|
|
10
|
-
// Auto-forwarded outbound `fetch` headers are an ALLOW-list of tracing/correlation headers only — never
|
|
11
|
-
// credentials (`authorization` / `cookie` / `x-api-key` …), client-context quasi-identifiers
|
|
12
|
-
// (`x-forwarded-for` / `user-agent` / `referer` — GDPR Art. 5(1)(c) data minimisation / Art. 44 transfer),
|
|
13
|
-
// content negotiation (`content-type` / `accept*` / `if-*` / `range`), or `host` / `origin`. Forwarding
|
|
14
|
-
// any of those in-mesh is opt-in per call via `runWithRequestHeaders`. An allow-list, not a deny-list, so
|
|
15
|
-
// a not-yet-enumerated header — a new fork `x-*-key`, a CSRF token, `x-hub-signature` — is withheld by
|
|
16
|
-
// default rather than leaked to whatever host the outbound `fetch` targets. `traceparent` / `tracestate`
|
|
17
|
-
// are the W3C Trace Context pair; `x-request-id` is the framework's own correlation id.
|
|
18
11
|
const AUTO_FORWARD_ALLOW_LIST = new Set(['x-request-id', 'traceparent', 'tracestate']);
|
|
19
|
-
// Hard ceiling on the raw `/_uploads` body. The token is validated (single-use `getdel`) BEFORE this raw
|
|
20
|
-
// parser runs, so a request with no valid token is rejected without buffering; this bounds only a
|
|
21
|
-
// token-holder's single request. NOT the per-procedure size limit — that is `FileSchema`'s `maxSize`,
|
|
22
|
-
// enforced when the mutation validates its input.
|
|
23
12
|
const UPLOAD_MAX_BYTES = 512 * 1024 * 1024;
|
|
24
13
|
export const createApp = (params) => {
|
|
25
14
|
const { customRoutes, uploadsEnabled = false, middlewares = [], proxyTarget, nonForwardableHeaders: nonForwardableHeadersParam = [], } = params;
|
|
26
|
-
// Route process-level failures through `logger` (structured log first) while preserving the default
|
|
27
|
-
// crash behavior — exit non-zero so the orchestrator restarts a clean container. Guarded so repeated
|
|
28
|
-
// createApp calls register the handlers once.
|
|
29
15
|
if (!processErrorHandlersRegistered) {
|
|
30
16
|
processErrorHandlersRegistered = true;
|
|
31
17
|
process.on('uncaughtException', (error) => {
|
|
@@ -40,15 +26,9 @@ export const createApp = (params) => {
|
|
|
40
26
|
process.exit(1);
|
|
41
27
|
});
|
|
42
28
|
}
|
|
43
|
-
// Per-app additional deny-set subtracted from the auto-forward allow-list (lowercased so it matches
|
|
44
|
-
// Node's lowercased inbound header keys). Carried into the request store below — NOT a module-level
|
|
45
|
-
// `let` — so a second `createApp` in the same process cannot clobber the first app's config.
|
|
46
29
|
const appNonForwardableHeaders = new Set(nonForwardableHeadersParam.map((h) => h.toLowerCase()));
|
|
47
30
|
const app = express();
|
|
48
31
|
app.use(cors({
|
|
49
|
-
// A single configured origin is passed as a bare string, keeping the response headers byte-identical
|
|
50
|
-
// to the pre-multi-origin behaviour: `cors` then always emits that origin, whereas the array form
|
|
51
|
-
// emits `Access-Control-Allow-Origin` only when the request's Origin matches.
|
|
52
32
|
origin: defaultEnv.CORS_ORIGIN.length === 1 ? defaultEnv.CORS_ORIGIN[0] : defaultEnv.CORS_ORIGIN,
|
|
53
33
|
optionsSuccessStatus: 204,
|
|
54
34
|
}));
|
|
@@ -62,9 +42,6 @@ export const createApp = (params) => {
|
|
|
62
42
|
}
|
|
63
43
|
next();
|
|
64
44
|
});
|
|
65
|
-
// Request-id generation + AsyncLocalStorage context FIRST — before /health, customRoutes, and the
|
|
66
|
-
// proxied routes below — so every downstream route runs inside the scope and its log records carry the
|
|
67
|
-
// `x-request-id` and the auto-injected request `path`.
|
|
68
45
|
app.use('', (req, res, next) => {
|
|
69
46
|
const requestId = Util.getHeaderValue(req.headers, 'x-request-id') ?? Util.createULID();
|
|
70
47
|
req.headers['x-request-id'] = requestId;
|
|
@@ -117,15 +94,9 @@ export const createApp = (params) => {
|
|
|
117
94
|
res.json(healthChecks);
|
|
118
95
|
});
|
|
119
96
|
}
|
|
120
|
-
// Mounted before the body-parsers so a file sent as `application/json` isn't consumed by `express.json`.
|
|
121
97
|
if (uploadsEnabled) {
|
|
122
|
-
app.post('/_uploads',
|
|
123
|
-
// Validate the single-use token BEFORE `express.raw` buffers the body, so a request with no valid
|
|
124
|
-
// token is rejected without buffering up to UPLOAD_MAX_BYTES into memory.
|
|
125
|
-
async (req, res, next) => {
|
|
98
|
+
app.post('/_uploads', async (req, res, next) => {
|
|
126
99
|
try {
|
|
127
|
-
// Token arrives as `Authorization: Bearer <token>`, not a query param — a query string is logged
|
|
128
|
-
// verbatim by proxies / CDNs / access logs, which would leak the single-use replayable token.
|
|
129
100
|
const authorization = Util.getHeaderValue(req.headers, 'authorization');
|
|
130
101
|
const token = authorization?.startsWith('Bearer ') ? authorization.slice('Bearer '.length) : undefined;
|
|
131
102
|
if (token === undefined) {
|
|
@@ -149,8 +120,6 @@ export const createApp = (params) => {
|
|
|
149
120
|
res.status(400).json({ error: 'invalid upload' });
|
|
150
121
|
return;
|
|
151
122
|
}
|
|
152
|
-
// Filename arrives percent-encoded in `x-upload-filename` (headers are ASCII-only, and it stays out
|
|
153
|
-
// of the query string / request-line logs since a filename can be a direct identifier). Decode it.
|
|
154
123
|
const encodedName = Util.getHeaderValue(req.headers, 'x-upload-filename');
|
|
155
124
|
let name = 'file';
|
|
156
125
|
if (encodedName !== undefined) {
|
|
@@ -158,10 +127,26 @@ export const createApp = (params) => {
|
|
|
158
127
|
name = decodeURIComponent(encodedName);
|
|
159
128
|
}
|
|
160
129
|
catch {
|
|
161
|
-
|
|
130
|
+
res.status(400).json({ error: 'invalid upload' });
|
|
131
|
+
return;
|
|
162
132
|
}
|
|
133
|
+
// A filename can be a direct identifier, so the rejection says only that the upload is invalid
|
|
134
|
+
// and never names the value it refused — an error body is read by whatever logs it.
|
|
135
|
+
if (name.length > constants.UPLOAD_FILENAME_MAX_LENGTH ||
|
|
136
|
+
/[/\\]/.test(name) ||
|
|
137
|
+
name === '.' ||
|
|
138
|
+
name === '..') {
|
|
139
|
+
res.status(400).json({ error: 'invalid upload' });
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const contentType = Util.getHeaderValue(req.headers, 'content-type') ?? constants.UPLOAD_STORED_CONTENT_TYPE;
|
|
144
|
+
// The value is stored as S3 user metadata, which is ASCII-only — a byte outside that range makes the
|
|
145
|
+
// SDK sign a request the service rejects, so it is refused here rather than answered as a server error.
|
|
146
|
+
if (contentType.length > constants.UPLOAD_CONTENT_TYPE_MAX_LENGTH || !/^[\x20-\x7e]+$/.test(contentType)) {
|
|
147
|
+
res.status(400).json({ error: 'invalid upload' });
|
|
148
|
+
return;
|
|
163
149
|
}
|
|
164
|
-
const contentType = Util.getHeaderValue(req.headers, 'content-type') ?? 'application/octet-stream';
|
|
165
150
|
const bucket = res.locals.uploadBucket;
|
|
166
151
|
res.json(await storeUpload({ bucket, body: req.body, name, contentType }));
|
|
167
152
|
}
|
|
@@ -175,10 +160,6 @@ export const createApp = (params) => {
|
|
|
175
160
|
res.status(403).json({ error: 'file upload is not configured for this service' });
|
|
176
161
|
});
|
|
177
162
|
}
|
|
178
|
-
// Body parsing is applied before customRoutes so handlers can use `req.body`
|
|
179
|
-
// directly. The `verify` callback stashes the original bytes on `req.rawBody`
|
|
180
|
-
// for handlers that need to verify a signature against the unparsed payload
|
|
181
|
-
// (e.g. Stripe webhooks).
|
|
182
163
|
app.use(express.json({
|
|
183
164
|
limit: '10mb',
|
|
184
165
|
verify: (req, _res, buf) => {
|
|
@@ -199,10 +180,6 @@ export const createApp = (params) => {
|
|
|
199
180
|
proxyRes.on('end', () => {
|
|
200
181
|
if ((proxyRes.statusCode ?? 500) >= 400) {
|
|
201
182
|
const message = Buffer.concat(body).toString();
|
|
202
|
-
// Suppress the benign, expected downstream responses (an unauthenticated "who am I" 401,
|
|
203
|
-
// an empty-update poll). `.me"` matches a tRPC procedure PATH ending in `.me` in the JSON
|
|
204
|
-
// error body (e.g. `"path":"authentication.me"`) — not the bare `.me` substring, which also
|
|
205
|
-
// matched `.metrics` / `.member` / any host in a URL and silently dropped real warnings.
|
|
206
183
|
if (!message.includes('UNAUTHORIZED') &&
|
|
207
184
|
!message.includes('NO_UPDATES_FOUND') &&
|
|
208
185
|
!message.includes('.me"') &&
|
|
@@ -223,9 +200,6 @@ export const createApp = (params) => {
|
|
|
223
200
|
catch {
|
|
224
201
|
error = undefined;
|
|
225
202
|
}
|
|
226
|
-
// No `url`: the query string carries the tRPC `?input=…` payload, the same thing the logger
|
|
227
|
-
// drops elsewhere (coding-style.md § Logging), and `path` is already auto-injected from the
|
|
228
|
-
// request context — passing it here would only duplicate the canonical field.
|
|
229
203
|
logger.warn('proxy', { status: proxyRes.statusCode, error });
|
|
230
204
|
}
|
|
231
205
|
}
|
|
@@ -249,9 +223,6 @@ export const createApp = (params) => {
|
|
|
249
223
|
on: onHandlers,
|
|
250
224
|
}));
|
|
251
225
|
});
|
|
252
|
-
// Express error-handling middleware (4-arg signature). Catches errors from customRoutes
|
|
253
|
-
// and other non-tRPC paths, logs them, then delegates to Express's default handler for
|
|
254
|
-
// the response. tRPC errors are already handled by its own onError before reaching here.
|
|
255
226
|
app.use((err, req, _res, next) => {
|
|
256
227
|
logger.error('express', { method: req.method, message: err.message, stack: err.stack });
|
|
257
228
|
next(err);
|
|
@@ -293,9 +264,6 @@ const patchFetchWithRequestHeaders = () => {
|
|
|
293
264
|
allowList: AUTO_FORWARD_ALLOW_LIST,
|
|
294
265
|
targetHost: requestHost(input),
|
|
295
266
|
init,
|
|
296
|
-
// When `input` is a `Request`, passing a rebuilt `headers` in init drops its own headers — carry
|
|
297
|
-
// them so they survive (init.headers still win over them). `globalThis.Request` (the fetch Request)
|
|
298
|
-
// because `Request` is a type-only import from express here.
|
|
299
267
|
...(input instanceof globalThis.Request ? { inputHeaders: input.headers } : {}),
|
|
300
268
|
});
|
|
301
269
|
return originalFetch(input, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/express/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/express/index.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEnE,IAAI,8BAA8B,GAAG,KAAK,CAAA;AAE1C,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;AAEtF,MAAM,gBAAgB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAUzB,EAAE,EAAE;IACH,MAAM,EACJ,YAAY,EACZ,cAAc,GAAG,KAAK,EACtB,WAAW,GAAG,EAAE,EAChB,WAAW,EACX,qBAAqB,EAAE,0BAA0B,GAAG,EAAE,GACvD,GAAG,MAAM,CAAA;IACV,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACpC,8BAA8B,GAAG,IAAI,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACjC,OAAO,EAAE,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClE,KAAK,EAAE,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAC1D,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACrH,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;IACrB,GAAG,CAAC,GAAG,CACL,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW;QAChG,oBAAoB,EAAE,GAAG;KAC1B,CAAC,CACH,CAAA;IACD,GAAG,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC3D,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;QACxC,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;QAClD,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;QACtC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAA;QACnE,IAAI,UAAU,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,qCAAqC,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IACF,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAA;QACvF,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;QACvC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QACxC,qBAAqB,CAAC,GAAG,CACvB;YACE,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;qBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;qBAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACzE;gBACD,cAAc,EAAE,SAAS;aAC1B;YACD,qBAAqB,EAAE,wBAAwB;YAC/C,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,EACD,IAAI,CACL,CAAA;IACH,CAAC,CAAC,CAAA;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE;YAClC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAA;YACrE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YACnC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC7B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;gBAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,SAAS,CAAA;gBACxD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,GAAG,GAAG,SAAS,CAAA;oBACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;wBACtC,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;qBAClC,CAAC,CAAA;oBACF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAChB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;wBACxC,OAAO;4BACL,OAAO,EAAE,WAAW;4BACpB,GAAG,UAAU;yBACd,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO;4BACL,OAAO,EAAE,WAAW;4BACpB,MAAM,EAAE,IAAI;yBACb,CAAA;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;wBACL,OAAO,EAAE,WAAW;wBACpB,MAAM,EAAE,IAAI;qBACb,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAA;YACD,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CACN,WAAW,EACX,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;gBACvE,MAAM,KAAK,GAAG,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACtG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;oBACjD,OAAM;gBACR,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAA;oBAClE,OAAM;gBACR,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAA;gBAChC,IAAI,EAAE,CAAA;YACR,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAA;YACT,CAAC;QACH,CAAC,EACD,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,EAC1D,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;oBACjD,OAAM;gBACR,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;gBACzE,IAAI,IAAI,GAAG,MAAM,CAAA;gBACjB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;wBACjD,OAAM;oBACR,CAAC;oBACD,+FAA+F;oBAC/F,oFAAoF;oBACpF,IACE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,0BAA0B;wBAClD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClB,IAAI,KAAK,GAAG;wBACZ,IAAI,KAAK,IAAI,EACb,CAAC;wBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;wBACjD,OAAM;oBACR,CAAC;gBACH,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,SAAS,CAAC,0BAA0B,CAAA;gBAC5G,qGAAqG;gBACrG,wGAAwG;gBACxG,IAAI,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,8BAA8B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACzG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAA;oBACjD,OAAM;gBACR,CAAC;gBACD,MAAM,MAAM,GAAW,GAAG,CAAC,MAAM,CAAC,YAAY,CAAA;gBAC9C,GAAG,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;YAC5E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAA;YACT,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAClC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC,CAAA;QACnF,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,GAAG,CAAC,GAAG,CACL,OAAO,CAAC,IAAI,CAAC;QACX,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YACzB,CAAC;YAAC,GAAe,CAAC,OAAO,GAAG,GAAG,CAAA;QACjC,CAAC;KACF,CAAC,CACH,CAAA;IACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/C,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IACD,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAA;IAC5D,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,MAAM,UAAU,GAIZ;YACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrB,MAAM,IAAI,GAAiB,EAAE,CAAA;gBAC7B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;gBAChD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;wBACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;wBAC9C,IACE,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;4BACjC,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;4BACrC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;4BACzB,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAC3C,CAAC;4BACD,+FAA+F;4BAC/F,gGAAgG;4BAChG,wFAAwF;4BACxF,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE;gCACnC,MAAM,GAAG,GAAI,KAAmE,EAAE,KAAK,CAAA;gCACvF,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,CAE7B,CAAA;gCACb,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;4BAC7F,CAAC,CAAA;4BACD,IAAI,KAAc,CAAA;4BAClB,IAAI,CAAC;gCACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gCAC3C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;4BAC3E,CAAC;4BAAC,MAAM,CAAC;gCACP,KAAK,GAAG,SAAS,CAAA;4BACnB,CAAC;4BACD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;wBAC9D,CAAC;oBACH,CAAC;oBACD,WAAW,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAC/B,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,qFAAqF;YACrF,2FAA2F;YAC3F,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC1B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;gBACrE,IAAI,aAAa,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;SACF,CAAA;QACD,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;QAC5C,CAAC;QACD,GAAG,CAAC,GAAG,CACL,CAAC,CAAC,CAAC,CAAC,EACJ,qBAAqB,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACZ,EAAE,EAAE,UAAU;SACf,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,GAAG,CAAC,CAAC,GAAU,EAAE,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QACvE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;QACvF,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,CAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,uBAAuB,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,CACxG,CAAA;IACD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,mGAAmG;AACnG,2GAA2G;AAC3G,MAAM,WAAW,GAAG,CAAC,KAAkC,EAAE,EAAE;IACzD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1G,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,4BAA4B,GAAG,GAAG,EAAE;IACxC,MAAM,kBAAkB,GAAG,2BAA2B,CAAA;IACtD,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAM;IACR,CAAC;IACD,MAAM,YAAY,GAAG,UAAqC,CAAA;IAC1D,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAM;IACR,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvD,YAAY,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;IACvC,MAAM,YAAY,GAAiB,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAA;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE;YAC5C,SAAS,EAAE,uBAAuB;YAClC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC;YAC9B,IAAI;YACJ,GAAG,CAAC,KAAK,YAAY,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC,CAAA;QACF,OAAO,aAAa,CAAC,KAAK,EAAE;YAC1B,GAAG,IAAI;YACP,OAAO;SACR,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,UAAU,CAAC,KAAK,GAAG,YAAY,CAAA;AACjC,CAAC,CAAA;AACD,4BAA4B,EAAE,CAAA"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as express from './express/index.ts';
|
|
2
2
|
import * as trpc from './trpc/index.ts';
|
|
3
3
|
import { consume } from './uploads/index.ts';
|
|
4
|
+
export * from './trpc/declaration/index.ts';
|
|
4
5
|
export * from './trpc/error/index.ts';
|
|
5
6
|
export * from './trpc/schema/index.ts';
|
|
6
7
|
export declare const server: {
|