bunderstack 0.17.0-beta.4 → 0.17.0-beta.6
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/README.md +13 -7
- package/dist/api/builder.d.ts +211 -1
- package/dist/api/builder.d.ts.map +1 -1
- package/dist/api/builder.js +18 -1
- package/dist/api/builder.js.map +1 -1
- package/dist/api/context.d.ts +10 -0
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +7 -1
- package/dist/api/context.js.map +1 -1
- package/dist/api/crud-router.d.ts.map +1 -1
- package/dist/api/crud-router.js +7 -29
- package/dist/api/crud-router.js.map +1 -1
- package/dist/api/list-input-schema.d.ts +22 -0
- package/dist/api/list-input-schema.d.ts.map +1 -0
- package/dist/api/list-input-schema.js +47 -0
- package/dist/api/list-input-schema.js.map +1 -0
- package/dist/api/list-spec.d.ts +44 -0
- package/dist/api/list-spec.d.ts.map +1 -0
- package/dist/api/list-spec.js +49 -0
- package/dist/api/list-spec.js.map +1 -0
- package/dist/api/router.d.ts +3 -0
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +9 -1
- package/dist/api/router.js.map +1 -1
- package/dist/config.d.ts +38 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/db.d.ts +8 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,22 +7,28 @@ bun add bunderstack better-auth drizzle-orm valibot @libsql/client
|
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
```ts
|
|
10
|
-
import { createBunderstack } from 'bunderstack'
|
|
10
|
+
import { createBunderstack, defineApi } from 'bunderstack'
|
|
11
11
|
import { libsql } from 'bunderstack/database/libsql'
|
|
12
12
|
import * as v from 'valibot'
|
|
13
13
|
import * as schema from './schema'
|
|
14
14
|
|
|
15
|
+
// api.ts — the builder is a plain module value, so router modules import the
|
|
16
|
+
// bases they need instead of receiving them through a factory argument.
|
|
17
|
+
const o = defineApi({ schema })
|
|
18
|
+
|
|
19
|
+
export const api = {
|
|
20
|
+
ping: o.public
|
|
21
|
+
.route({ method: 'GET', path: '/api/ping' })
|
|
22
|
+
.input(v.optional(v.object({})))
|
|
23
|
+
.handler(() => ({ ok: true })),
|
|
24
|
+
}
|
|
25
|
+
|
|
15
26
|
export const app = await createBunderstack({
|
|
16
27
|
schema,
|
|
17
28
|
database: { adapter: libsql(), url: 'file:./data.db' },
|
|
18
29
|
access: { posts: { crud: true } },
|
|
19
30
|
realtime: true,
|
|
20
|
-
api
|
|
21
|
-
ping: o.public
|
|
22
|
-
.route({ method: 'GET', path: '/api/ping' })
|
|
23
|
-
.input(v.optional(v.object({})))
|
|
24
|
-
.handler(() => ({ ok: true })),
|
|
25
|
-
}),
|
|
31
|
+
api,
|
|
26
32
|
})
|
|
27
33
|
|
|
28
34
|
Bun.serve({ fetch: app.handler })
|
package/dist/api/builder.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { type AnyRouter } from '@orpc/server';
|
|
1
|
+
import { type AnyMiddleware, type AnyRouter, type Context, type Middleware } from '@orpc/server';
|
|
2
|
+
import type { EnvConfigInput, ValidatedEnv } from '../env.js';
|
|
2
3
|
import type { ApiContext } from './context.js';
|
|
4
|
+
import { BUNDERSTACK_ERRORS } from '../errors.js';
|
|
3
5
|
export type { ProtectedContextAdditions } from './types.js';
|
|
4
6
|
export declare function createApiBuilder<TSchema extends Record<string, unknown> = Record<string, unknown>, TEnv = Record<string, unknown>>(): {
|
|
5
7
|
public: import("@orpc/server").BuilderWithMiddlewares<ApiContext<TSchema, TEnv> & object, object, {
|
|
@@ -139,6 +141,214 @@ export declare function createApiBuilder<TSchema extends Record<string, unknown>
|
|
|
139
141
|
}, undefined>;
|
|
140
142
|
};
|
|
141
143
|
}>;
|
|
144
|
+
/**
|
|
145
|
+
* Declares a standalone middleware over the base context. Use it for
|
|
146
|
+
* `createBunderstack({ middleware })`, which reaches every procedure in
|
|
147
|
+
* the graph, and for `.use(...)` on any base declared here.
|
|
148
|
+
*
|
|
149
|
+
* The annotation is explicit because the inferred `DecoratedMiddleware`
|
|
150
|
+
* is internal to `@orpc/server` and cannot be named in the emitted types.
|
|
151
|
+
*/
|
|
152
|
+
middleware: <TOutContext extends Context>(middleware: Middleware<ApiContext<TSchema, TEnv>, TOutContext, unknown, unknown, typeof BUNDERSTACK_ERRORS>) => AnyMiddleware;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Same builder as `createApiBuilder`, but the generics come from the values an
|
|
156
|
+
* application already has. It reads nothing at runtime, so a module can call it
|
|
157
|
+
* at import time and export the bases that its router modules import.
|
|
158
|
+
*/
|
|
159
|
+
export declare function defineApi<TSchema extends Record<string, unknown>, TEnv extends EnvConfigInput | undefined = undefined>(_options: {
|
|
160
|
+
schema: TSchema;
|
|
161
|
+
env?: TEnv;
|
|
162
|
+
}): {
|
|
163
|
+
public: import("@orpc/server").BuilderWithMiddlewares<ApiContext<TSchema, ValidatedEnv<TEnv>> & object, object, {
|
|
164
|
+
readonly BAD_REQUEST: {
|
|
165
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
166
|
+
readonly code: import("valibot").LiteralSchema<"BAD_REQUEST", undefined>;
|
|
167
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
168
|
+
}, undefined>;
|
|
169
|
+
};
|
|
170
|
+
readonly UNAUTHORIZED: {
|
|
171
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
172
|
+
readonly code: import("valibot").LiteralSchema<"UNAUTHORIZED", undefined>;
|
|
173
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
174
|
+
}, undefined>;
|
|
175
|
+
};
|
|
176
|
+
readonly FORBIDDEN: {
|
|
177
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
178
|
+
readonly code: import("valibot").LiteralSchema<"FORBIDDEN", undefined>;
|
|
179
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
180
|
+
}, undefined>;
|
|
181
|
+
};
|
|
182
|
+
readonly NOT_FOUND: {
|
|
183
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
184
|
+
readonly code: import("valibot").LiteralSchema<"NOT_FOUND", undefined>;
|
|
185
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
186
|
+
}, undefined>;
|
|
187
|
+
};
|
|
188
|
+
readonly CONFLICT: {
|
|
189
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
190
|
+
readonly code: import("valibot").LiteralSchema<"CONFLICT", undefined>;
|
|
191
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
192
|
+
}, undefined>;
|
|
193
|
+
};
|
|
194
|
+
readonly PAYLOAD_TOO_LARGE: {
|
|
195
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
196
|
+
readonly code: import("valibot").LiteralSchema<"PAYLOAD_TOO_LARGE", undefined>;
|
|
197
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
198
|
+
}, undefined>;
|
|
199
|
+
};
|
|
200
|
+
readonly TOO_MANY_REQUESTS: {
|
|
201
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
202
|
+
readonly code: import("valibot").LiteralSchema<"TOO_MANY_REQUESTS", undefined>;
|
|
203
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
204
|
+
}, undefined>;
|
|
205
|
+
};
|
|
206
|
+
}>;
|
|
207
|
+
protected: import("@orpc/server").BuilderWithMiddlewares<ApiContext<TSchema, ValidatedEnv<TEnv>> & object, Omit<object, "user" | "session"> & {
|
|
208
|
+
user: import("..").AccessUser;
|
|
209
|
+
session: {
|
|
210
|
+
activeOrganizationId: string | null;
|
|
211
|
+
};
|
|
212
|
+
}, {
|
|
213
|
+
readonly BAD_REQUEST: {
|
|
214
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
215
|
+
readonly code: import("valibot").LiteralSchema<"BAD_REQUEST", undefined>;
|
|
216
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
217
|
+
}, undefined>;
|
|
218
|
+
};
|
|
219
|
+
readonly UNAUTHORIZED: {
|
|
220
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
221
|
+
readonly code: import("valibot").LiteralSchema<"UNAUTHORIZED", undefined>;
|
|
222
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
223
|
+
}, undefined>;
|
|
224
|
+
};
|
|
225
|
+
readonly FORBIDDEN: {
|
|
226
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
227
|
+
readonly code: import("valibot").LiteralSchema<"FORBIDDEN", undefined>;
|
|
228
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
229
|
+
}, undefined>;
|
|
230
|
+
};
|
|
231
|
+
readonly NOT_FOUND: {
|
|
232
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
233
|
+
readonly code: import("valibot").LiteralSchema<"NOT_FOUND", undefined>;
|
|
234
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
235
|
+
}, undefined>;
|
|
236
|
+
};
|
|
237
|
+
readonly CONFLICT: {
|
|
238
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
239
|
+
readonly code: import("valibot").LiteralSchema<"CONFLICT", undefined>;
|
|
240
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
241
|
+
}, undefined>;
|
|
242
|
+
};
|
|
243
|
+
readonly PAYLOAD_TOO_LARGE: {
|
|
244
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
245
|
+
readonly code: import("valibot").LiteralSchema<"PAYLOAD_TOO_LARGE", undefined>;
|
|
246
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
247
|
+
}, undefined>;
|
|
248
|
+
};
|
|
249
|
+
readonly TOO_MANY_REQUESTS: {
|
|
250
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
251
|
+
readonly code: import("valibot").LiteralSchema<"TOO_MANY_REQUESTS", undefined>;
|
|
252
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
253
|
+
}, undefined>;
|
|
254
|
+
};
|
|
255
|
+
}>;
|
|
256
|
+
webhook: import("@orpc/server").BuilderWithMiddlewares<ApiContext<TSchema, ValidatedEnv<TEnv>> & object, object, {
|
|
257
|
+
readonly BAD_REQUEST: {
|
|
258
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
259
|
+
readonly code: import("valibot").LiteralSchema<"BAD_REQUEST", undefined>;
|
|
260
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
261
|
+
}, undefined>;
|
|
262
|
+
};
|
|
263
|
+
readonly UNAUTHORIZED: {
|
|
264
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
265
|
+
readonly code: import("valibot").LiteralSchema<"UNAUTHORIZED", undefined>;
|
|
266
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
267
|
+
}, undefined>;
|
|
268
|
+
};
|
|
269
|
+
readonly FORBIDDEN: {
|
|
270
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
271
|
+
readonly code: import("valibot").LiteralSchema<"FORBIDDEN", undefined>;
|
|
272
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
273
|
+
}, undefined>;
|
|
274
|
+
};
|
|
275
|
+
readonly NOT_FOUND: {
|
|
276
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
277
|
+
readonly code: import("valibot").LiteralSchema<"NOT_FOUND", undefined>;
|
|
278
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
279
|
+
}, undefined>;
|
|
280
|
+
};
|
|
281
|
+
readonly CONFLICT: {
|
|
282
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
283
|
+
readonly code: import("valibot").LiteralSchema<"CONFLICT", undefined>;
|
|
284
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
285
|
+
}, undefined>;
|
|
286
|
+
};
|
|
287
|
+
readonly PAYLOAD_TOO_LARGE: {
|
|
288
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
289
|
+
readonly code: import("valibot").LiteralSchema<"PAYLOAD_TOO_LARGE", undefined>;
|
|
290
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
291
|
+
}, undefined>;
|
|
292
|
+
};
|
|
293
|
+
readonly TOO_MANY_REQUESTS: {
|
|
294
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
295
|
+
readonly code: import("valibot").LiteralSchema<"TOO_MANY_REQUESTS", undefined>;
|
|
296
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
297
|
+
}, undefined>;
|
|
298
|
+
};
|
|
299
|
+
}>;
|
|
300
|
+
/**
|
|
301
|
+
* Declares a standalone middleware over the base context. Use it for
|
|
302
|
+
* `createBunderstack({ middleware })`, which reaches every procedure in
|
|
303
|
+
* the graph, and for `.use(...)` on any base declared here.
|
|
304
|
+
*
|
|
305
|
+
* The annotation is explicit because the inferred `DecoratedMiddleware`
|
|
306
|
+
* is internal to `@orpc/server` and cannot be named in the emitted types.
|
|
307
|
+
*/
|
|
308
|
+
middleware: <TOutContext extends Context>(middleware: Middleware<ApiContext<TSchema, ValidatedEnv<TEnv>>, TOutContext, unknown, unknown, {
|
|
309
|
+
readonly BAD_REQUEST: {
|
|
310
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
311
|
+
readonly code: import("valibot").LiteralSchema<"BAD_REQUEST", undefined>;
|
|
312
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
313
|
+
}, undefined>;
|
|
314
|
+
};
|
|
315
|
+
readonly UNAUTHORIZED: {
|
|
316
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
317
|
+
readonly code: import("valibot").LiteralSchema<"UNAUTHORIZED", undefined>;
|
|
318
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
319
|
+
}, undefined>;
|
|
320
|
+
};
|
|
321
|
+
readonly FORBIDDEN: {
|
|
322
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
323
|
+
readonly code: import("valibot").LiteralSchema<"FORBIDDEN", undefined>;
|
|
324
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
325
|
+
}, undefined>;
|
|
326
|
+
};
|
|
327
|
+
readonly NOT_FOUND: {
|
|
328
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
329
|
+
readonly code: import("valibot").LiteralSchema<"NOT_FOUND", undefined>;
|
|
330
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
331
|
+
}, undefined>;
|
|
332
|
+
};
|
|
333
|
+
readonly CONFLICT: {
|
|
334
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
335
|
+
readonly code: import("valibot").LiteralSchema<"CONFLICT", undefined>;
|
|
336
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
337
|
+
}, undefined>;
|
|
338
|
+
};
|
|
339
|
+
readonly PAYLOAD_TOO_LARGE: {
|
|
340
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
341
|
+
readonly code: import("valibot").LiteralSchema<"PAYLOAD_TOO_LARGE", undefined>;
|
|
342
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
343
|
+
}, undefined>;
|
|
344
|
+
};
|
|
345
|
+
readonly TOO_MANY_REQUESTS: {
|
|
346
|
+
readonly data: import("valibot").StrictObjectSchema<{
|
|
347
|
+
readonly code: import("valibot").LiteralSchema<"TOO_MANY_REQUESTS", undefined>;
|
|
348
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
349
|
+
}, undefined>;
|
|
350
|
+
};
|
|
351
|
+
}>) => AnyMiddleware;
|
|
142
352
|
};
|
|
143
353
|
export type BunderstackApiBuilder<TSchema extends Record<string, unknown>, TEnv = Record<string, unknown>> = ReturnType<typeof createApiBuilder<TSchema, TEnv>>;
|
|
144
354
|
export type ApiFactory<TSchema extends Record<string, unknown>, TEnv, TCustomApiRouter extends AnyRouter> = (builder: BunderstackApiBuilder<TSchema, TEnv>) => TCustomApiRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/api/builder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/api/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EAChB,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,EACL,kBAAkB,EAGnB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,wBAAgB,gBAAgB,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0B5B;;;;;;;OAOG;gBACuC,CAAC,WAAW,SAAS,OAAO,EACpE,UAAU,EAAE,UAAU,CACpB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EACzB,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,kBAAkB,CAC1B,KACE,aAAa;EAErB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,IAAI,SAAS,cAAc,GAAG,SAAS,GAAG,SAAS,EACnD,QAAQ,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA5BvC;;;;;;;OAOG;iBACwC,WAAW,SAAS,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAQjE,aAAa;EAcrB;AAED,MAAM,MAAM,qBAAqB,CAC/B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC5B,UAAU,CAAC,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;AAEtD,MAAM,MAAM,UAAU,CACpB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,IAAI,EACJ,gBAAgB,SAAS,SAAS,IAChC,CAAC,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,gBAAgB,CAAA"}
|
package/dist/api/builder.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { os } from '@orpc/server';
|
|
1
|
+
import { os, } from '@orpc/server';
|
|
2
2
|
import { BUNDERSTACK_ERRORS, BunderstackError, mapBunderstackErrors, } from '../errors.js';
|
|
3
3
|
export function createApiBuilder() {
|
|
4
4
|
const base = os
|
|
@@ -23,6 +23,23 @@ export function createApiBuilder() {
|
|
|
23
23
|
public: base,
|
|
24
24
|
protected: protectedProc,
|
|
25
25
|
webhook: base,
|
|
26
|
+
/**
|
|
27
|
+
* Declares a standalone middleware over the base context. Use it for
|
|
28
|
+
* `createBunderstack({ middleware })`, which reaches every procedure in
|
|
29
|
+
* the graph, and for `.use(...)` on any base declared here.
|
|
30
|
+
*
|
|
31
|
+
* The annotation is explicit because the inferred `DecoratedMiddleware`
|
|
32
|
+
* is internal to `@orpc/server` and cannot be named in the emitted types.
|
|
33
|
+
*/
|
|
34
|
+
middleware: base.middleware.bind(base),
|
|
26
35
|
};
|
|
27
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Same builder as `createApiBuilder`, but the generics come from the values an
|
|
39
|
+
* application already has. It reads nothing at runtime, so a module can call it
|
|
40
|
+
* at import time and export the bases that its router modules import.
|
|
41
|
+
*/
|
|
42
|
+
export function defineApi(_options) {
|
|
43
|
+
return createApiBuilder();
|
|
44
|
+
}
|
|
28
45
|
//# sourceMappingURL=builder.js.map
|
package/dist/api/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/api/builder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/api/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,GAKH,MAAM,cAAc,CAAA;AAKrB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAGlB,MAAM,UAAU,gBAAgB;IAI9B,MAAM,IAAI,GAAG,EAAE;SACZ,QAAQ,EAA6B;SACrC,MAAM,CAAC,kBAAkB,CAAC;SAC1B,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAA;QACvE,CAAC;QACD,OAAO,IAAI,CAAC;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE;oBACP,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;iBACnD;aACF;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,IAAI;QACb;;;;;;;WAOG;QACH,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAQnB;KACnB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAGvB,QAAyC;IACzC,OAAO,gBAAgB,EAA+B,CAAA;AACxD,CAAC"}
|
package/dist/api/context.d.ts
CHANGED
|
@@ -29,6 +29,16 @@ export interface ApiContext<TSchema extends Record<string, unknown> = Record<str
|
|
|
29
29
|
user: AccessUser | null;
|
|
30
30
|
activeOrganizationId: string | null;
|
|
31
31
|
}>;
|
|
32
|
+
/**
|
|
33
|
+
* The session that some earlier code already resolved, or `undefined`.
|
|
34
|
+
* Never starts a resolution, so a global middleware can log the caller
|
|
35
|
+
* without removing the lazy session behavior that signed webhooks rely on.
|
|
36
|
+
* Use it for observability only. Never use it for authorization.
|
|
37
|
+
*/
|
|
38
|
+
peekSession: () => {
|
|
39
|
+
user: AccessUser | null;
|
|
40
|
+
activeOrganizationId: string | null;
|
|
41
|
+
} | undefined;
|
|
32
42
|
}
|
|
33
43
|
export declare function createApiContext<TSchema extends Record<string, unknown> = Record<string, unknown>, TEnv = Record<string, unknown>>(deps: ApiContextDeps<TSchema, TEnv>, request: Request): ApiContext<TSchema, TEnv>;
|
|
34
44
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD,MAAM,WAAW,cAAc,CAC7B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE9B,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,GAAG,EAAE,IAAI,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,iBAAiB,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,EAAE,YAAY,CAAA;IAClB,YAAY,CAAC,EAAE,mBAAmB,CAAA;CACnC;AAED,MAAM,WAAW,UAAU,CACzB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE9B,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,GAAG,EAAE,IAAI,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,iBAAiB,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IACjC,UAAU,EAAE,MAAM,OAAO,CAAC;QACxB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;QACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KACpC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD,MAAM,WAAW,cAAc,CAC7B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE9B,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,GAAG,EAAE,IAAI,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,iBAAiB,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,EAAE,YAAY,CAAA;IAClB,YAAY,CAAC,EAAE,mBAAmB,CAAA;CACnC;AAED,MAAM,WAAW,UAAU,CACzB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE9B,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,GAAG,EAAE,IAAI,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,iBAAiB,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IACjC,UAAU,EAAE,MAAM,OAAO,CAAC;QACxB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;QACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KACpC,CAAC,CAAA;IACF;;;;;OAKG;IACH,WAAW,EAAE,MACT;QAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAChE,SAAS,CAAA;CACd;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE9B,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EACnC,OAAO,EAAE,OAAO,GACf,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CA6C3B"}
|
package/dist/api/context.js
CHANGED
|
@@ -4,12 +4,17 @@ export function createApiContext(deps, request) {
|
|
|
4
4
|
const rawBodyRequest = request.clone();
|
|
5
5
|
let rawBodyPromise;
|
|
6
6
|
let sessionPromise;
|
|
7
|
+
let settledSession;
|
|
7
8
|
const getSession = () => {
|
|
8
9
|
if (!sessionPromise) {
|
|
9
|
-
sessionPromise = resolveSession(deps.authResolver, request.headers)
|
|
10
|
+
sessionPromise = resolveSession(deps.authResolver, request.headers).then((session) => {
|
|
11
|
+
settledSession = session;
|
|
12
|
+
return session;
|
|
13
|
+
});
|
|
10
14
|
}
|
|
11
15
|
return sessionPromise;
|
|
12
16
|
};
|
|
17
|
+
const peekSession = () => settledSession;
|
|
13
18
|
const getRawBody = () => {
|
|
14
19
|
if (!rawBodyPromise)
|
|
15
20
|
rawBodyPromise = rawBodyRequest.text();
|
|
@@ -27,6 +32,7 @@ export function createApiContext(deps, request) {
|
|
|
27
32
|
resHeaders: new Headers(),
|
|
28
33
|
getRawBody,
|
|
29
34
|
getSession,
|
|
35
|
+
peekSession,
|
|
30
36
|
};
|
|
31
37
|
}
|
|
32
38
|
//# sourceMappingURL=context.js.map
|
package/dist/api/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/api/context.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AA6C1C,MAAM,UAAU,gBAAgB,CAI9B,IAAmC,EACnC,OAAgB;IAEhB,uEAAuE;IACvE,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IACtC,IAAI,cAA2C,CAAA;IAC/C,IAAI,cAES,CAAA;IAEb,IAAI,cAES,CAAA;IAEb,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACtE,CAAC,OAAO,EAAE,EAAE;gBACV,cAAc,GAAG,OAAO,CAAA;gBACxB,OAAO,OAAO,CAAA;YAChB,CAAC,CACF,CAAA;QACH,CAAC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,cAAc,CAAA;IAExC,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,cAAc;YAAE,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,CAAA;QAC3D,OAAO,cAAc,CAAA;IACvB,CAAC,CAAA;IAED,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO;QACP,UAAU,EAAE,IAAI,OAAO,EAAE;QACzB,UAAU;QACV,UAAU;QACV,WAAW;KACZ,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-router.d.ts","sourceRoot":"","sources":["../../src/api/crud-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AAMhF,OAAO,gCAAgC,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"crud-router.d.ts","sourceRoot":"","sources":["../../src/api/crud-router.ts"],"names":[],"mappings":"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"}
|
package/dist/api/crud-router.js
CHANGED
|
@@ -4,8 +4,8 @@ import '@orpc/openapi/extensions/route';
|
|
|
4
4
|
import * as v from 'valibot';
|
|
5
5
|
import { tableEntryForName, } from '../access.js';
|
|
6
6
|
import { createCrudOperations } from '../crud-operations.js';
|
|
7
|
-
import { MAX_LIST_LIMIT } from '../list-query.js';
|
|
8
7
|
import { createApiBuilder } from './builder.js';
|
|
8
|
+
import { buildListInputSchema } from './list-input-schema.js';
|
|
9
9
|
function strictObject(schema) {
|
|
10
10
|
return v.strictObject(schema.entries);
|
|
11
11
|
}
|
|
@@ -55,34 +55,12 @@ export function buildTableCrudProcedures(args) {
|
|
|
55
55
|
// for `=`, a list for `IN`, and `null` for `IS NULL`. Query strings are
|
|
56
56
|
// coerced to these types by SmartCoercionHandlerPlugin, so REST and RPC share
|
|
57
57
|
// one contract and nothing has to re-read the raw URL.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
filterEntries[column] = v.optional(v.union([
|
|
65
|
-
// `?filters[col]=null` — a query string cannot carry a real null.
|
|
66
|
-
v.pipe(v.literal('null'), v.transform(() => null)),
|
|
67
|
-
base,
|
|
68
|
-
v.pipe(v.array(base), v.maxLength(MAX_LIST_LIMIT)),
|
|
69
|
-
v.null(),
|
|
70
|
-
]));
|
|
71
|
-
}
|
|
72
|
-
// Built from runtime column lists, so the schema's own inferred type cannot
|
|
73
|
-
// name the columns; the cast restates it with the literals the caller's
|
|
74
|
-
// `access` config carries. Runtime shape and this type are the same object.
|
|
75
|
-
const listQuerySchema = v.optional(v.strictObject({
|
|
76
|
-
limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
|
|
77
|
-
offset: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
|
|
78
|
-
cursor: v.optional(v.string()),
|
|
79
|
-
sort: v.optional(v.picklist(access.sortableColumns)),
|
|
80
|
-
order: v.optional(v.picklist(['asc', 'desc'])),
|
|
81
|
-
q: v.optional(v.pipe(v.string(), v.maxLength(100))),
|
|
82
|
-
count: v.optional(v.boolean()),
|
|
83
|
-
// Always present, even with no filterable columns: clients send `{}`.
|
|
84
|
-
filters: v.optional(v.strictObject(filterEntries)),
|
|
85
|
-
}));
|
|
58
|
+
// The cast restates the schema with the literals the caller's `access`
|
|
59
|
+
// config carries, which the runtime column lists cannot name on their own.
|
|
60
|
+
const listQuerySchema = buildListInputSchema(table, {
|
|
61
|
+
filterableColumns: access.filterableColumns,
|
|
62
|
+
sortableColumns: access.sortableColumns,
|
|
63
|
+
});
|
|
86
64
|
const listOutputSchema = v.strictObject({
|
|
87
65
|
items: v.array(selectSchema),
|
|
88
66
|
nextCursor: v.optional(v.string()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-router.js","sourceRoot":"","sources":["../../src/api/crud-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAc,MAAM,aAAa,CAAA;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,gCAAgC,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAO5B,OAAO,EACL,iBAAiB,GAIlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"crud-router.js","sourceRoot":"","sources":["../../src/api/crud-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAc,MAAM,aAAa,CAAA;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,gCAAgC,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAO5B,OAAO,EACL,iBAAiB,GAIlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAU1D,SAAS,YAAY,CAAmC,MAEvD;IACC,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AACvC,CAAC;AAmDD,MAAM,UAAU,wBAAwB,CAKtC,IAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACnD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAEhC,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,iCAAiC;IACjC,MAAM,YAAY,GAAG,YAAY,CAC/B,kBAAkB,CAAC,KAAK,CAAC,CAI1B,CAAA;IACD,MAAM,qBAAqB,GAAG,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;IACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,oBAAoB,GAAG;QAC3B,GAAG,MAAM,CAAC,eAAe;QACzB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;KAC7B,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,MAAM,aAAa,GAAyE;QAC1F,GAAG,qBAAqB,CAAC,OAAO;KACjC,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,MAAM;YAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,CAGhD,CAAA;IACD,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACrD,IAAkD;KACnD,CAAC,CAAA;IACF,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;QACvC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,mEAAmE;QACnE,sDAAsD;QACtD,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAGlC;KACF,CAAC,CAAA;IAEF,4EAA4E;IAC5E,wEAAwE;IACxE,8EAA8E;IAC9E,uDAAuD;IACvD,uEAAuE;IACvE,2EAA2E;IAC3E,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,EAAE;QAClD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAGA,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;QACtC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC9B,CAAC,CAAA;IAEF,oBAAoB;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM;SACxB,KAAK,CAAC;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ,IAAI,EAAE;QACpB,OAAO,EAAE,QAAQ,IAAI,EAAE;QACvB,IAAI,EAAE,CAAC,IAAI,CAAC;KACb,CAAC;SACD,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,gBAAgB,CAAC;SACxB,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAC1C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE;SAChE,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;QAChE,OAAO;YACL,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,CAAC,KAAiC;SAChD,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,mBAAmB;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM;SACvB,KAAK,CAAC;QACL,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,QAAQ,IAAI,OAAO;QACzB,OAAO,EAAE,OAAO,IAAI,QAAQ;QAC5B,IAAI,EAAE,CAAC,IAAI,CAAC;KACb,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACzC,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAC1C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE;SAChE,CAAA;QACD,OAAO,CAAC,MAAM,UAAU,CAAC,GAAG,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,EACR,OAAO,CACR,CAA2B,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEJ,sBAAsB;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;SAC1B,KAAK,CAAC;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ,IAAI,EAAE;QACpB,OAAO,EAAE,UAAU,IAAI,EAAE;QACzB,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,aAAa,EAAE,GAAG;KACnB,CAAC;SACD,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAC1C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE;SAChE,CAAA;QACD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO;aAC3C,GAAG,CAAC,iBAAiB,CAAC;YACvB,EAAE,IAAI,EAAE,CAAA;QACV,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAE1C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CACjC,IAAI,EACJ,KAAK,EACL,OAAO,EACP,cAAc,EACd,OAAO,CACR,CAAA;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;YACtD,OAAO,GAAG,CAAC,MAAgC,CAAA;QAC7C,CAAC;QACD,OAAO,GAAG,CAAC,MAAgC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEJ,sBAAsB;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;SAC1B,KAAK,CAAC;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,QAAQ,IAAI,OAAO;QACzB,OAAO,EAAE,UAAU,IAAI,EAAE;QACzB,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,cAAc,EAAE,UAAU;KAC3B,CAAC;SACD,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAC1C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE;SAChE,CAAA;QAED,OAAO,CAAC,MAAM,UAAU,CAAC,MAAM,CAC7B,IAAI,EACJ,KAAK,CAAC,MAAM,CAAC,EAAE,EACf,KAAK,CAAC,IAAI,EACV,OAAO,CACR,CAA2B,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEJ,sBAAsB;IACtB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM;SAC9B,KAAK,CAAC;QACL,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ,IAAI,OAAO;QACzB,OAAO,EAAE,UAAU,IAAI,EAAE;QACzB,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,aAAa,EAAE,GAAG;KACnB,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;QAC1C,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE;SAChE,CAAA;QACD,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAChD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA;IAEJ,OAAO;QACL,IAAI;QACJ,GAAG;QACH,MAAM;QACN,MAAM;QACN,MAAM,EAAE,UAAU;KACnB,CAAA;AACH,CAAC;AAeD,MAAM,UAAU,kBAAkB,CAIhC,MAAe,EACf,EAAS,EACT,OAAsC;IAEtC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IACjD,MAAM,OAAO,GAAG,gBAAgB,EAAW,CAAA;IAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC;QACtC,MAAM;QACN,EAAE;QACF,MAAM;QACN,WAAW;QACX,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,SAAS,GAA4B,EAAE,CAAA;IAE7C,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAQ;QAE7B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,OAAO;YAAE,SAAQ;QAEnC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK;YAAE,SAAQ;QAEpB,MAAM,UAAU,GAAG,wBAAwB,CAAC;YAC1C,KAAK,EAAE,KAAc;YACrB,UAAU;YACV,OAAO;YACP,MAAM,EAAE,WAAW;SACpB,CAAC,CAAA;QAEF,SAAS,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAA;IAClC,CAAC;IAED,OAAO,SAA+C,CAAA;AACxD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Table } from 'drizzle-orm';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
/**
|
|
4
|
+
* The input contract every list endpoint shares. Built from runtime column
|
|
5
|
+
* lists, so the schema's own inferred type cannot name the columns; callers
|
|
6
|
+
* restate it with the literals their configuration carries. Runtime shape and
|
|
7
|
+
* the restated type are the same object.
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildListInputSchema(table: Table, options: {
|
|
10
|
+
filterableColumns: readonly string[];
|
|
11
|
+
sortableColumns: readonly string[];
|
|
12
|
+
}): v.OptionalSchema<v.StrictObjectSchema<{
|
|
13
|
+
readonly limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>, undefined>;
|
|
14
|
+
readonly offset: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
15
|
+
readonly cursor: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
16
|
+
readonly sort: v.OptionalSchema<v.PicklistSchema<string[], undefined>, undefined>;
|
|
17
|
+
readonly order: v.OptionalSchema<v.PicklistSchema<["asc", "desc"], undefined>, undefined>;
|
|
18
|
+
readonly q: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 100, undefined>]>, undefined>;
|
|
19
|
+
readonly count: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
20
|
+
readonly filters: v.OptionalSchema<v.StrictObjectSchema<v.ObjectEntries, undefined>, undefined>;
|
|
21
|
+
}, undefined>, undefined>;
|
|
22
|
+
//# sourceMappingURL=list-input-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-input-schema.d.ts","sourceRoot":"","sources":["../../src/api/list-input-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsC5B;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE;IACP,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC;;;;;;;;;0BAiBF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createSelectSchema } from 'drizzle-valibot';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { MAX_LIST_LIMIT } from '../list-query.js';
|
|
4
|
+
/**
|
|
5
|
+
* One filter field per allowed column, typed by the column itself: a scalar
|
|
6
|
+
* for `=`, a list for `IN`, and `null` for `IS NULL`. Query strings are
|
|
7
|
+
* coerced to these types by SmartCoercionHandlerPlugin, so REST and RPC share
|
|
8
|
+
* one contract and nothing has to re-read the raw URL.
|
|
9
|
+
*/
|
|
10
|
+
function buildFilterEntries(table, filterableColumns) {
|
|
11
|
+
const selectEntries = createSelectSchema(table).entries;
|
|
12
|
+
const filterEntries = {};
|
|
13
|
+
for (const column of filterableColumns) {
|
|
14
|
+
const base = selectEntries[column];
|
|
15
|
+
if (!base)
|
|
16
|
+
continue;
|
|
17
|
+
filterEntries[column] = v.optional(v.union([
|
|
18
|
+
// `?filters[col]=null` — a query string cannot carry a real null.
|
|
19
|
+
v.pipe(v.literal('null'), v.transform(() => null)),
|
|
20
|
+
base,
|
|
21
|
+
v.pipe(v.array(base), v.maxLength(MAX_LIST_LIMIT)),
|
|
22
|
+
v.null(),
|
|
23
|
+
]));
|
|
24
|
+
}
|
|
25
|
+
return filterEntries;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The input contract every list endpoint shares. Built from runtime column
|
|
29
|
+
* lists, so the schema's own inferred type cannot name the columns; callers
|
|
30
|
+
* restate it with the literals their configuration carries. Runtime shape and
|
|
31
|
+
* the restated type are the same object.
|
|
32
|
+
*/
|
|
33
|
+
export function buildListInputSchema(table, options) {
|
|
34
|
+
const filterEntries = buildFilterEntries(table, options.filterableColumns);
|
|
35
|
+
return v.optional(v.strictObject({
|
|
36
|
+
limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
|
|
37
|
+
offset: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
|
|
38
|
+
cursor: v.optional(v.string()),
|
|
39
|
+
sort: v.optional(v.picklist(options.sortableColumns)),
|
|
40
|
+
order: v.optional(v.picklist(['asc', 'desc'])),
|
|
41
|
+
q: v.optional(v.pipe(v.string(), v.maxLength(100))),
|
|
42
|
+
count: v.optional(v.boolean()),
|
|
43
|
+
// Always present, even with no filterable columns: clients send `{}`.
|
|
44
|
+
filters: v.optional(v.strictObject(filterEntries)),
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=list-input-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-input-schema.js","sourceRoot":"","sources":["../../src/api/list-input-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,KAAY,EACZ,iBAAoC;IAEpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAG/C,CAAA;IACD,MAAM,aAAa,GAAoB,EAAE,CAAA;IACzC,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAChC,CAAC,CAAC,KAAK,CAAC;YACN,kEAAkE;YAClE,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACxB;YACD,IAAI;YACJ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAClD,CAAC,CAAC,IAAI,EAAE;SACT,CAAC,CACH,CAAA;IACH,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAY,EACZ,OAGC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAE1E,OAAO,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,YAAY,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,eAA2B,CAAC,CAAC;QACjE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9B,sEAAsE;QACtE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;KACnD,CAAC,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Table } from 'drizzle-orm';
|
|
2
|
+
import type * as v from 'valibot';
|
|
3
|
+
import type { ListParamsInput, ListResult } from '../list-query.js';
|
|
4
|
+
export type ListSpecOptions = {
|
|
5
|
+
/** Columns a caller may filter on. Others are rejected by the schema. */
|
|
6
|
+
filterable?: readonly string[];
|
|
7
|
+
/** Columns a caller may sort on. Defaults to the default sort column. */
|
|
8
|
+
sortable?: readonly string[];
|
|
9
|
+
defaultSort?: {
|
|
10
|
+
column: string;
|
|
11
|
+
order: 'asc' | 'desc';
|
|
12
|
+
};
|
|
13
|
+
/** Columns the `q` parameter searches. */
|
|
14
|
+
searchable?: readonly string[];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The input schema and handler of a list endpoint, with the same filter, sort,
|
|
18
|
+
* cursor, and count contract that the generated CRUD list uses.
|
|
19
|
+
*
|
|
20
|
+
* The caller applies both to its own base procedure:
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* const logsList = listSpec(appLogs, { filterable: ['level'] })
|
|
24
|
+
* getLogs: adminProcedure.input(logsList.input).handler(logsList.handler)
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* The two parts are returned separately rather than as a finished procedure,
|
|
28
|
+
* because a procedure built here would have to receive the builder as a
|
|
29
|
+
* generic parameter. TypeScript resolves a method call on a generic parameter
|
|
30
|
+
* through its constraint, which erases the input schema and the row type. With
|
|
31
|
+
* this shape the builder stays concrete at the call site and keeps both.
|
|
32
|
+
*
|
|
33
|
+
* It reads no `access` configuration: the base procedure carries the policy.
|
|
34
|
+
*/
|
|
35
|
+
export declare function listSpec<TTable extends Table>(table: TTable, options?: ListSpecOptions): {
|
|
36
|
+
input: v.GenericSchema<ListParamsInput | undefined, ListParamsInput | undefined>;
|
|
37
|
+
handler: (handlerOptions: {
|
|
38
|
+
context: {
|
|
39
|
+
db: unknown;
|
|
40
|
+
};
|
|
41
|
+
input: ListParamsInput | undefined;
|
|
42
|
+
}) => Promise<ListResult<TTable["$inferSelect"]>>;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=list-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-spec.d.ts","sourceRoot":"","sources":["../../src/api/list-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,KAAK,CAAC,MAAM,SAAS,CAAA;AAKjC,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAKhE,MAAM,MAAM,eAAe,GAAG;IAC5B,yEAAyE;IACzE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAA;IACvD,0CAA0C;IAC1C,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,SAAS,KAAK,EAC3C,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB;;8BA8BU;QACrC,OAAO,EAAE;YAAE,EAAE,EAAE,OAAO,CAAA;SAAE,CAAA;QACxB,KAAK,EAAE,eAAe,GAAG,SAAS,CAAA;KACnC,KAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;EAYhD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { getTableColumns, getTableName } from 'drizzle-orm';
|
|
2
|
+
import { executeList, resolveListParams } from '../list-query.js';
|
|
3
|
+
import { buildListInputSchema } from './list-input-schema.js';
|
|
4
|
+
/**
|
|
5
|
+
* The input schema and handler of a list endpoint, with the same filter, sort,
|
|
6
|
+
* cursor, and count contract that the generated CRUD list uses.
|
|
7
|
+
*
|
|
8
|
+
* The caller applies both to its own base procedure:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* const logsList = listSpec(appLogs, { filterable: ['level'] })
|
|
12
|
+
* getLogs: adminProcedure.input(logsList.input).handler(logsList.handler)
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* The two parts are returned separately rather than as a finished procedure,
|
|
16
|
+
* because a procedure built here would have to receive the builder as a
|
|
17
|
+
* generic parameter. TypeScript resolves a method call on a generic parameter
|
|
18
|
+
* through its constraint, which erases the input schema and the row type. With
|
|
19
|
+
* this shape the builder stays concrete at the call site and keeps both.
|
|
20
|
+
*
|
|
21
|
+
* It reads no `access` configuration: the base procedure carries the policy.
|
|
22
|
+
*/
|
|
23
|
+
export function listSpec(table, options = {}) {
|
|
24
|
+
const defaultSort = options.defaultSort ?? { column: 'id', order: 'asc' };
|
|
25
|
+
const sortableColumns = options.sortable ?? [defaultSort.column];
|
|
26
|
+
const inputSchema = buildListInputSchema(table, {
|
|
27
|
+
filterableColumns: options.filterable ?? [],
|
|
28
|
+
sortableColumns,
|
|
29
|
+
});
|
|
30
|
+
// `executeList` reads its policy from a resolved access record. This spec
|
|
31
|
+
// declares that policy at the call site instead, because the base procedure
|
|
32
|
+
// — not `access.ts` — carries the authorization for it.
|
|
33
|
+
const access = {
|
|
34
|
+
filterableColumns: options.filterable ?? [],
|
|
35
|
+
sortableColumns,
|
|
36
|
+
searchableColumns: options.searchable ?? [],
|
|
37
|
+
defaultSort,
|
|
38
|
+
};
|
|
39
|
+
const idColumn = getTableColumns(table).id;
|
|
40
|
+
if (!idColumn) {
|
|
41
|
+
throw new Error(`[bunderstack] listSpec requires an "id" column on table "${getTableName(table)}"`);
|
|
42
|
+
}
|
|
43
|
+
const handler = async (handlerOptions) => {
|
|
44
|
+
const params = resolveListParams(handlerOptions.input ?? {}, access);
|
|
45
|
+
return executeList(handlerOptions.context.db, table, access, params, idColumn);
|
|
46
|
+
};
|
|
47
|
+
return { input: inputSchema, handler };
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=list-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-spec.js","sourceRoot":"","sources":["../../src/api/list-spec.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK3D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAY1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzE,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAEhE,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE;QAC9C,iBAAiB,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QAC3C,eAAe;KAChB,CAGA,CAAA;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,MAAM,GAAG;QACb,iBAAiB,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QAC3C,eAAe;QACf,iBAAiB,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QAC3C,WAAW;KACsB,CAAA;IAEnC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,4DAA4D,YAAY,CAAC,KAAK,CAAC,GAAG,CACnF,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,EAAE,cAGtB,EAA+C,EAAE;QAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;QACpE,OAAO,WAAW,CAChB,cAAc,CAAC,OAAO,CAAC,EAAW,EAClC,KAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,CACT,CAAA;IACH,CAAC,CAAA;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAA;AACxC,CAAC"}
|
package/dist/api/router.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import '@orpc/openapi/extensions/route';
|
|
2
|
+
import type { AnyMiddleware } from '@orpc/server';
|
|
2
3
|
export interface BuildApiRouterOptions {
|
|
3
4
|
crud: Record<string, unknown>;
|
|
4
5
|
storage: Record<string, unknown>;
|
|
5
6
|
realtime?: Record<string, unknown>;
|
|
6
7
|
custom?: Record<string, unknown>;
|
|
8
|
+
/** Applied to every procedure in the graph, outermost first. */
|
|
9
|
+
middleware?: AnyMiddleware[];
|
|
7
10
|
}
|
|
8
11
|
export declare function buildApiRouter(options: BuildApiRouterOptions): Record<string, unknown>;
|
|
9
12
|
//# sourceMappingURL=router.d.ts.map
|
package/dist/api/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAOjD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;CAC7B;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,2BAiC5D"}
|
package/dist/api/router.js
CHANGED
|
@@ -8,12 +8,20 @@ export function buildApiRouter(options) {
|
|
|
8
8
|
.route({ method: 'GET', path: '/api/health', tags: ['system'] })
|
|
9
9
|
.output(v.strictObject({ status: v.literal('ok') }))
|
|
10
10
|
.handler(() => ({ status: 'ok' }));
|
|
11
|
-
|
|
11
|
+
const merged = [
|
|
12
12
|
{ health },
|
|
13
13
|
options.crud,
|
|
14
14
|
options.storage,
|
|
15
15
|
options.realtime,
|
|
16
16
|
options.custom,
|
|
17
17
|
].reduce((router, addition) => mergeApiRoutersStrict(router, addition), {});
|
|
18
|
+
const middleware = options.middleware ?? [];
|
|
19
|
+
if (middleware.length === 0)
|
|
20
|
+
return merged;
|
|
21
|
+
// `.router()` applies the builder's middleware to every procedure inside, so
|
|
22
|
+
// one list covers CRUD, storage, realtime, health, and custom procedures
|
|
23
|
+
// instead of only the bases an application happens to declare.
|
|
24
|
+
const withMiddleware = middleware.reduce((acc, mw) => acc.use(mw), builder.public);
|
|
25
|
+
return withMiddleware.router(merged);
|
|
18
26
|
}
|
|
19
27
|
//# sourceMappingURL=router.js.map
|
package/dist/api/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/api/router.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;AAGvC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAWlD,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,OAAO,GAAG,gBAAgB,EAG7B,CAAA;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;SAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC/D,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnD,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAa,EAAE,CAAC,CAAC,CAAA;IAE7C,MAAM,MAAM,GAAG;QACb,EAAE,MAAM,EAAE;QACV,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,MAAM;KACf,CAAC,MAAM,CACN,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC7D,EAAE,CACH,CAAA;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAA;IAC3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IAE1C,6EAA6E;IAC7E,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAW,CAAC,EACjC,OAAO,CAAC,MAAM,CACf,CAAA;IAED,OAAO,cAAc,CAAC,MAAM,CAAC,MAAe,CAA4B,CAAA;AAC1E,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { betterAuth } from 'better-auth';
|
|
2
|
-
import type { AnyRouter } from '@orpc/server';
|
|
2
|
+
import type { AnyMiddleware, AnyRouter } from '@orpc/server';
|
|
3
3
|
import type { AuthSessionResolver, TableAccessInput } from './access.js';
|
|
4
4
|
import type { BunderstackApiBuilder } from './api/builder.js';
|
|
5
5
|
import type { DatabaseAdapter } from './database/adapter.js';
|
|
@@ -22,6 +22,29 @@ export type AuthConfigContext<TSchema extends Record<string, unknown>, TEnv exte
|
|
|
22
22
|
env: ValidatedEnv<TEnv>;
|
|
23
23
|
};
|
|
24
24
|
export type AuthConfigInput<TSchema extends Record<string, unknown>, TEnv extends EnvConfigInput | undefined = undefined> = BetterAuthConfig | ((ctx: AuthConfigContext<TSchema, TEnv>) => BetterAuthConfig);
|
|
25
|
+
/**
|
|
26
|
+
* Identity helper for defining an auth config in a separate file with full
|
|
27
|
+
* type inference — no explicit generic annotations required.
|
|
28
|
+
*
|
|
29
|
+
* Follows the `defineConfig` / `defineComponent` ecosystem convention:
|
|
30
|
+
* the function does nothing at runtime but gives TypeScript an inference
|
|
31
|
+
* anchor through the `schema` parameter.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* // Static config (no db/env access needed)
|
|
36
|
+
* export const authConfig = defineAuth({ ... })
|
|
37
|
+
*
|
|
38
|
+
* // Builder with schema-typed db
|
|
39
|
+
* export const authConfig = defineAuth(schema, ({ db }) => ({
|
|
40
|
+
* databaseHooks: {
|
|
41
|
+
* user: { create: { after: async (user) => { await db.insert(...) } } }
|
|
42
|
+
* }
|
|
43
|
+
* }))
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function defineAuth(config: BetterAuthConfig): BetterAuthConfig;
|
|
47
|
+
export declare function defineAuth<TSchema extends Record<string, unknown>, TEnv extends EnvConfigInput | undefined = undefined>(schema: TSchema, builder: (ctx: AuthConfigContext<TSchema, TEnv>) => BetterAuthConfig): (ctx: AuthConfigContext<TSchema, TEnv>) => BetterAuthConfig;
|
|
25
48
|
/**
|
|
26
49
|
* The builder as {@link ResolvedConfig} carries it: schema-agnostic, because
|
|
27
50
|
* ResolvedConfig is not generic. {@link resolveAuthConfig} is the only caller.
|
|
@@ -64,9 +87,21 @@ export type BunderstackConfig<TSchema extends Record<string, unknown>, TAccess e
|
|
|
64
87
|
};
|
|
65
88
|
email?: EmailConfigInput;
|
|
66
89
|
/**
|
|
67
|
-
*
|
|
90
|
+
* The application's oRPC router. Pass the finished router object, or a
|
|
91
|
+
* callback when the router needs the framework builder at configuration
|
|
92
|
+
* time. Declare the router at module scope with `defineApi` and the object
|
|
93
|
+
* form keeps router modules free of factory wrappers.
|
|
94
|
+
*/
|
|
95
|
+
api?: TCustomApiRouter | ((builder: BunderstackApiBuilder<TSchema, ValidatedEnv<TEnv>>) => TCustomApiRouter);
|
|
96
|
+
/**
|
|
97
|
+
* Middleware applied to every procedure in the graph: generated CRUD,
|
|
98
|
+
* storage, realtime, health, and the application's own procedures. Declare
|
|
99
|
+
* each one with `o.middleware(...)` from `defineApi`.
|
|
100
|
+
*
|
|
101
|
+
* It runs before authentication, so `context.user` is not available inside
|
|
102
|
+
* it. Read an already-resolved caller with `context.peekSession()`.
|
|
68
103
|
*/
|
|
69
|
-
|
|
104
|
+
middleware?: AnyMiddleware[];
|
|
70
105
|
rateLimit?: boolean | RateLimitConfig;
|
|
71
106
|
idempotency?: boolean | IdempotencyConfig;
|
|
72
107
|
/** Generate and serve `/api/openapi.json`. Disabled by default. */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -3,6 +3,9 @@ import { betterAuth } from 'better-auth';
|
|
|
3
3
|
import * as v from 'valibot';
|
|
4
4
|
import { validateEnv } from './env.js';
|
|
5
5
|
import { resolveBuckets, } from './storage/buckets.js';
|
|
6
|
+
export function defineAuth(schemaOrConfig, builder) {
|
|
7
|
+
return builder ?? schemaOrConfig;
|
|
8
|
+
}
|
|
6
9
|
// Only the union-shaped options need runtime validation: they are the ones a
|
|
7
10
|
// JavaScript caller can plausibly get wrong in a way that fails confusingly
|
|
8
11
|
// downstream. Everything else is either typed-only or read raw from `options`.
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B,OAAO,EAAE,WAAW,EAAwD,MAAM,OAAO,CAAA;AACzF,OAAO,EACL,cAAc,GAGf,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/db.d.ts
CHANGED
|
@@ -7,6 +7,14 @@ export type Driver = 'libsql' | 'pglite' | 'bun-sql' | 'postgres-js';
|
|
|
7
7
|
export type DbFor<TSchema extends Record<string, unknown>> = [
|
|
8
8
|
Extract<TSchema[keyof TSchema], PgTable>
|
|
9
9
|
] extends [never] ? LibSQLDatabase<TSchema> : PgDatabase<PgQueryResultHKT, TSchema>;
|
|
10
|
+
/** The database an application receives on `context.db` and `app.db`. */
|
|
11
|
+
export type BunderstackDb<TSchema extends Record<string, unknown>> = DbFor<TSchema>;
|
|
12
|
+
/**
|
|
13
|
+
* The transaction handle inside `db.transaction(...)`. Drizzle publishes no
|
|
14
|
+
* single transaction type for both dialects, so this reads the callback
|
|
15
|
+
* parameter of the resolved database type.
|
|
16
|
+
*/
|
|
17
|
+
export type BunderstackTx<TSchema extends Record<string, unknown>> = Parameters<Parameters<DbFor<TSchema>['transaction']>[0]>[0];
|
|
10
18
|
export declare function validateDatabaseUrl(url: string, dialect: Dialect): void;
|
|
11
19
|
export declare function createDb<TSchema extends Record<string, unknown>>(schema: TSchema, cfg: DatabaseConnection & {
|
|
12
20
|
adapter: DatabaseAdapter;
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAEhF,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAA;AAEpE,2EAA2E;AAC3E,MAAM,MAAM,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC3D,OAAO,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,EAAE,OAAO,CAAC;CACzC,SAAS,CAAC,KAAK,CAAC,GACb,cAAc,CAAC,OAAO,CAAC,GACvB,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAEhF,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAA;AAEpE,2EAA2E;AAC3E,MAAM,MAAM,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC3D,OAAO,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,EAAE,OAAO,CAAC;CACzC,SAAS,CAAC,KAAK,CAAC,GACb,cAAc,CAAC,OAAO,CAAC,GACvB,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;AAEzC,yEAAyE;AACzE,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC/D,KAAK,CAAC,OAAO,CAAC,CAAA;AAEhB;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,UAAU,CAC7E,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAC,CAAC,CAAC,CAAA;AAKJ,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,QAgBhE;AAED,wBAAsB,QAAQ,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,kBAAkB,GAAG;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GACA,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAajE"}
|
package/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAgCA,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAC1C,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAErD,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,OAAgB;IAC/D,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,gFAAgF;gBAC9E,yFAAyF,CAC5F,CAAA;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,wFAAwF;gBACtF,qEAAqE,CACxE,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAe,EACf,GAIC;IAED,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,0CAA0C,GAAG,CAAC,OAAO,CAAC,OAAO,mBAAmB,GAAG,CAAC,OAAO,SAAS,CACrG,CAAA;IACH,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CACtC,MAAM,EACN,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,EAC1C,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE,CACxC,CAAA;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;AAClD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -99,10 +99,13 @@ export type BunderstackApp<TSchema extends Record<string, unknown>, TAccess exte
|
|
|
99
99
|
export declare function createBunderstack<TSchema extends Record<string, unknown>, const TAccess extends Record<string, TableAccessInput> | undefined = undefined, const TStorage extends StorageConfigInput | undefined = undefined, const TEnv extends EnvConfigInput | undefined = undefined, const TJobsDefs extends JobsDefs | undefined = undefined, TCustomApiRouter extends AnyORPCRouter | undefined = undefined>(options: BunderstackConfig<TSchema, TAccess, TStorage, TEnv, TCustomApiRouter> & {
|
|
100
100
|
jobs?: TJobsDefs | ((j: BunderstackJobsBuilder<TSchema, ValidatedEnv<TEnv>>) => TJobsDefs);
|
|
101
101
|
}): Promise<BunderstackApp<TSchema, TAccess, BucketNamesOf<TStorage>, TEnv, TJobsDefs, TCustomApiRouter>>;
|
|
102
|
+
export { listSpec } from './api/list-spec.js';
|
|
103
|
+
export type { ListSpecOptions } from './api/list-spec.js';
|
|
104
|
+
export type { BunderstackDb, BunderstackTx } from './db.js';
|
|
102
105
|
export { MAX_LIST_LIMIT } from './list-query.js';
|
|
103
106
|
export { BunderstackError } from './errors.js';
|
|
104
107
|
export type { BunderstackErrorCode } from './errors.js';
|
|
105
|
-
export { resolveConfig, resolveAuthConfig } from './config.js';
|
|
108
|
+
export { resolveConfig, resolveAuthConfig, defineAuth } from './config.js';
|
|
106
109
|
export type { AuthConfigContext, AuthConfigFactory, AuthConfigInput, BetterAuthConfig, BunderstackConfig, ResolvedConfig, } from './config.js';
|
|
107
110
|
export { validateEnv, createClientEnv, BunderstackEnvError } from './env.js';
|
|
108
111
|
export type { EnvConfigInput, BaseEnv, ValidatedEnv } from './env.js';
|
|
@@ -124,7 +127,7 @@ export { mockAuthSession } from './testing.js';
|
|
|
124
127
|
export type { RealtimeAction } from './realtime/publisher.js';
|
|
125
128
|
export { createRealtimeFacade } from './realtime/facade.js';
|
|
126
129
|
export type { RealtimeFacade, RealtimeTransport, SchemaTable, } from './realtime/facade.js';
|
|
127
|
-
export { createApiBuilder } from './api/builder.js';
|
|
130
|
+
export { createApiBuilder, defineApi } from './api/builder.js';
|
|
128
131
|
export type { BunderstackApiBuilder, ApiFactory } from './api/builder.js';
|
|
129
132
|
export type { ApiContext } from './api/context.js';
|
|
130
133
|
export type { CrudApiRouterFor, ExposedApiTables, MergeApiRouterTypes, UnifiedApiRouter, } from './api/types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA;AAS9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,KAAK,EACV,sBAAsB,EAEtB,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA;AAS9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,KAAK,EACV,sBAAsB,EAEtB,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAgBrD,OAAO,EACL,UAAU,EAGX,MAAM,QAAQ,CAAA;AACf,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAIhE,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAe,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAU3E,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKpE,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAA;AAW1B,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA;AA2BxD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,uEAAuE;IACvE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;IAChD;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5C;;;OAGG;IACH,MAAM,CACJ,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB;;;;OAIG;IACH,MAAM,CACJ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAAG,UAAU,EAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;AACpE,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG;IACxD;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAA;AACD,2EAA2E;AAC3E,MAAM,MAAM,aAAa,CAAC,QAAQ,IAAI,QAAQ,SAAS;IACrD,OAAO,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjD,GACG,MAAM,CAAC,GAAG,MAAM,GAChB,MAAM,CAAA;AAEV,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,GAAG,SAAS,EACxE,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,IAAI,SAAS,cAAc,GAAG,SAAS,GAAG,SAAS,EACnD,SAAS,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EAClD,gBAAgB,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,IAC5D;IACF,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC5C,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,aAAa,CAAA;IACtB,gFAAgF;IAChF,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;IACvB,gFAAgF;IAChF,KAAK,EAAE,WAAW,CAAA;IAClB,qFAAqF;IACrF,IAAI,EAAE,UAAU,CACd,SAAS,SAAS,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAC9D,CAAA;IACD,8EAA8E;IAC9E,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjC,WAAW,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACnE,oEAAoE;IACpE,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,kEAAkE;IAClE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,kEAAkE;IAClE,QAAQ,EAAE,mBAAmB,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtB,MAAM,EAAE,OAAO,CAAA;QACf,MAAM,EAAE,OAAO,CAAA;QACf,OAAO,EAAE,QAAQ,CAAA;QACjB,GAAG,EAAE,mBAAmB,CACtB,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,EACtE,iBAAiB,CAClB,CAAA;KACF,CAAA;CACF,CAAA;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,GAAG,SAAS,EAC9E,KAAK,CAAC,QAAQ,SAAS,kBAAkB,GAAG,SAAS,GAAG,SAAS,EACjE,KAAK,CAAC,IAAI,SAAS,cAAc,GAAG,SAAS,GAAG,SAAS,EACzD,KAAK,CAAC,SAAS,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EACxD,gBAAgB,SAAS,aAAa,GAAG,SAAS,GAAG,SAAS,EAE9D,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG;IAC/E,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,CAAA;CAC3F,GACA,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAygBxG,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACvE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AACzE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,WAAW,GACZ,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,WAAW,EACX,gBAAgB,GACjB,MAAM,UAAU,CAAA;AACjB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,GACX,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,MAAM,EACN,QAAQ,IAAI,cAAc,EAC1B,KAAK,IAAI,WAAW,EACpB,QAAQ,GACT,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC3D,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAGtE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -282,14 +282,15 @@ export async function createBunderstack(options) {
|
|
|
282
282
|
idempotency: options.idempotency,
|
|
283
283
|
realtime,
|
|
284
284
|
});
|
|
285
|
-
const customApiRouter = options.api
|
|
285
|
+
const customApiRouter = typeof options.api === 'function'
|
|
286
286
|
? options.api(createApiBuilder())
|
|
287
|
-
:
|
|
287
|
+
: options.api;
|
|
288
288
|
const nativeRouter = buildApiRouter({
|
|
289
289
|
crud: crudApiRouter,
|
|
290
290
|
storage: storageApiRouter,
|
|
291
291
|
realtime: realtimeApiRouter,
|
|
292
292
|
custom: customApiRouter,
|
|
293
|
+
middleware: options.middleware,
|
|
293
294
|
});
|
|
294
295
|
const authOpenAPISpecRaw = options.openapi &&
|
|
295
296
|
auth.api &&
|
|
@@ -463,9 +464,10 @@ export async function createBunderstack(options) {
|
|
|
463
464
|
throw cause;
|
|
464
465
|
}
|
|
465
466
|
}
|
|
467
|
+
export { listSpec } from './api/list-spec.js';
|
|
466
468
|
export { MAX_LIST_LIMIT } from './list-query.js';
|
|
467
469
|
export { BunderstackError } from './errors.js';
|
|
468
|
-
export { resolveConfig, resolveAuthConfig } from './config.js';
|
|
470
|
+
export { resolveConfig, resolveAuthConfig, defineAuth } from './config.js';
|
|
469
471
|
export { validateEnv, createClientEnv, BunderstackEnvError } from './env.js';
|
|
470
472
|
export { buildManifest, parseManifest } from './manifest.js';
|
|
471
473
|
export { createEmail } from './email.js';
|
|
@@ -474,7 +476,7 @@ export { defineAccess, validateAndResolveAccess, checkAccess, AUTH_TABLE_NAMES,
|
|
|
474
476
|
export { typeid, generate as generateTypeId, parse as parseTypeId, asTypeId, } from './typeid.js';
|
|
475
477
|
export { mockAuthSession } from './testing.js';
|
|
476
478
|
export { createRealtimeFacade } from './realtime/facade.js';
|
|
477
|
-
export { createApiBuilder } from './api/builder.js';
|
|
479
|
+
export { createApiBuilder, defineApi } from './api/builder.js';
|
|
478
480
|
export { buildApiRegistry, mergeApiRoutersStrict, normalizeApiPath, normalizeForeignOpenAPISpec, } from './api/registry.js';
|
|
479
481
|
export { mergeOpenAPISpecs } from './api/openapi.js';
|
|
480
482
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bunderstack",
|
|
3
|
-
"version": "0.17.0-beta.
|
|
3
|
+
"version": "0.17.0-beta.6",
|
|
4
4
|
"description": "Batteries-included backend framework for Bun: type-safe oRPC APIs, auth, storage, realtime, jobs, email, and validated env from one config.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"backend",
|