zenstack-trpc 0.1.19 → 0.1.20
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 +16 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/router-generator.d.ts +4 -1
- package/dist/router-generator.d.ts.map +1 -1
- package/dist/router-generator.js +6 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -119,7 +119,7 @@ For each model in your schema, the following procedures are generated:
|
|
|
119
119
|
|
|
120
120
|
## API Reference
|
|
121
121
|
|
|
122
|
-
### `createZenStackRouter(schema, t)`
|
|
122
|
+
### `createZenStackRouter(schema, t, options?)`
|
|
123
123
|
|
|
124
124
|
Generates a tRPC router from a ZenStack schema.
|
|
125
125
|
|
|
@@ -131,6 +131,21 @@ const t = initTRPC.context<{ db: any }>().create();
|
|
|
131
131
|
const appRouter = createZenStackRouter(schema, t);
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
Pass a custom base procedure to apply middleware (e.g., auth) to all generated routes:
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
import { TRPCError } from "@trpc/server";
|
|
138
|
+
|
|
139
|
+
const protectedProcedure = t.procedure.use(({ ctx, next }) => {
|
|
140
|
+
if (!ctx.user) throw new TRPCError({ code: "UNAUTHORIZED" });
|
|
141
|
+
return next({ ctx });
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
const appRouter = createZenStackRouter(schema, t, {
|
|
145
|
+
procedure: protectedProcedure,
|
|
146
|
+
});
|
|
147
|
+
```
|
|
148
|
+
|
|
134
149
|
### `TypedRouterCaller<SchemaType>`
|
|
135
150
|
|
|
136
151
|
Type helper for server-side caller with full type inference, including dynamic `include`/`select` result typing.
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
*
|
|
27
27
|
* @packageDocumentation
|
|
28
28
|
*/
|
|
29
|
-
export { createZenStackRouter, type ZenStackRouter, type ZenStackRouterRecord, type TypedRouterCaller, type TRPCInstance, } from "./router-generator.js";
|
|
29
|
+
export { createZenStackRouter, type ZenStackRouter, type ZenStackRouterRecord, type TypedRouterCaller, type CreateZenStackRouterOptions, type TRPCInstance, } from "./router-generator.js";
|
|
30
30
|
export { type WithZenStack, type WithReact, type WithClient, typedClient, type TypedTRPCClient, type TypedTRPCReact, type TypedTRPCReactUtils, } from "./typed-client.js";
|
|
31
31
|
export { createModelSchemas, createWhereSchema, createCreateDataSchema, createUpdateDataSchema, createUniqueWhereSchema, createSelectSchema, createIncludeSchema, createOrderBySchema, } from "./zod-schemas.js";
|
|
32
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
|
|
@@ -75,6 +75,9 @@ export interface TRPCInstance {
|
|
|
75
75
|
};
|
|
76
76
|
router: (procedures: Record<string, any>) => any;
|
|
77
77
|
}
|
|
78
|
+
export type CreateZenStackRouterOptions = {
|
|
79
|
+
procedure?: TRPCInstance["procedure"];
|
|
80
|
+
};
|
|
78
81
|
/**
|
|
79
82
|
* Creates a tRPC router from a ZenStack schema.
|
|
80
83
|
*
|
|
@@ -103,7 +106,7 @@ export interface TRPCInstance {
|
|
|
103
106
|
*/
|
|
104
107
|
export declare function createZenStackRouter<Schema extends SchemaDef, TContext extends {
|
|
105
108
|
db: any;
|
|
106
|
-
}>(schema: Schema, t: TRPCInstance): ZenStackRouter<Schema, TContext>;
|
|
109
|
+
}>(schema: Schema, t: TRPCInstance, options?: CreateZenStackRouterOptions): ZenStackRouter<Schema, TContext>;
|
|
107
110
|
type ProcedureDef<TInput, TOutput> = {
|
|
108
111
|
input: TInput;
|
|
109
112
|
output: TOutput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-generator.d.ts","sourceRoot":"","sources":["../src/router-generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"router-generator.d.ts","sourceRoot":"","sources":["../src/router-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,KAAK,aAAa,CAChB,MAAM,SAAS,SAAS,EACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,IAC7B,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAE7C,KAAK,iBAAiB,CACpB,MAAM,SAAS,SAAS,EACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,EAC/B,EAAE,SAAS,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7C,IAAI,IAEJ,EAAE,SAAS,UAAU,GACjB,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAC5C,EAAE,SAAS,YAAY,GAAG,WAAW,GACnC,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,GACjD,EAAE,SAAS,cAAc,GACvB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB,EAAE,SAAS,eAAe,GACxB,MAAM,GACN,EAAE,SAAS,YAAY,GACrB,GAAG,GACH,EAAE,SAAS,SAAS,GAClB,GAAG,EAAE,GACL,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAE3D,KAAK,cAAc,CACjB,MAAM,SAAS,SAAS,EACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,EAC/B,EAAE,SAAS,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAE7C,EAAE,SAAS,UAAU,GACjB;IACE,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EACzC,KAAK,CAAC,EAAE,CAAC,GACR,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CACE,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GACnD,OAAO,CACR,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CACzC,CAAC;CACH,GACD,EAAE,SAAS,WAAW,GACpB;IACE,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EACzC,KAAK,CAAC,EAAE,CAAC,GACR,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CACE,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GACnD,OAAO,CACR,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CACzC,CAAC;CACH,GACD,EAAE,SAAS,OAAO,GAChB,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAC7D,EAAE,SAAS,cAAc,GACvB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GACvE,EAAE,SAAS,YAAY,GACrB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GACzD,EAAE,SAAS,SAAS,GAClB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,GAC3D;IACE,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EACzC,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CACE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,GACtC,OAAO,CACR,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CACzC,CAAC;CACH,CAAC;AAElB;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,SAAS,EACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,IAC7B;KACD,EAAE,IAAI,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;CAC9E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,SAAS,IAAI;KACvD,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE;QACT,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,KAAK;YAC5B,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;gBAAE,GAAG,EAAE,GAAG,CAAC;gBAAC,KAAK,EAAE,GAAG,CAAA;aAAE,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;YAC1E,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;gBAAE,GAAG,EAAE,GAAG,CAAC;gBAAC,KAAK,EAAE,GAAG,CAAA;aAAE,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;SAC9E,CAAC;KACH,CAAC;IACF,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;CAClD;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;CACvC,CAAC;AAuDF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,SAAS,EACxB,QAAQ,SAAS;IAAE,EAAE,EAAE,GAAG,CAAA;CAAE,EAE5B,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,YAAY,EACf,OAAO,CAAC,EAAE,2BAA2B,GACpC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAkBlC;AAED,KAAK,YAAY,CAAC,MAAM,EAAE,OAAO,IAAI;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,CAAC,MAAM,EAAE,OAAO,IAAI,kBAAkB,CAC5D,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAC9B,CAAC;AAEF,KAAK,sBAAsB,CAAC,MAAM,EAAE,OAAO,IAAI,qBAAqB,CAClE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAC9B,CAAC;AAEF,KAAK,cAAc,CACjB,MAAM,SAAS,SAAS,EACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,EAC/B,EAAE,SAAS,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAE7C,EAAE,SAAS,UAAU,GAAG,WAAW,GAAG,OAAO,GACzC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GAC5C,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAEvC,KAAK,eAAe,CAClB,MAAM,SAAS,SAAS,EACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,EAC/B,EAAE,SAAS,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAE7C,EAAE,SAAS,UAAU,GACjB,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAC9B,EAAE,SAAS,YAAY,GAAG,WAAW,GACnC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,GACnC,EAAE,SAAS,cAAc,GACvB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB,EAAE,SAAS,eAAe,GACxB,MAAM,GACN,EAAE,SAAS,YAAY,GACrB,GAAG,GACH,EAAE,SAAS,SAAS,GAClB,GAAG,EAAE,GACL,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE7C;;;;GAIG;AACH,KAAK,mBAAmB,CACtB,MAAM,SAAS,SAAS,EACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,IAC7B;KACD,EAAE,IAAI,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,WAAW,GAC9D,sBAAsB,CACpB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EACjC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC,GACD,mBAAmB,CACjB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EACjC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACnC;CACN,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,SAAS,IAAI;KAC1D,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5E,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,SAAS,EAAE,QAAQ,GAAG,GAAG,IAAI;IACrE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,GAAG,EAAE,QAAQ,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;gBACb,UAAU,EAAE,GAAG,CAAC;gBAChB,WAAW,EAAE,KAAK,CAAC;aACpB,CAAC;YACF,WAAW,EAAE,GAAG,CAAC;YACjB,cAAc,EAAE,GAAG,CAAC;YACpB,oBAAoB,EAAE,OAAO,CAAC;YAC9B,QAAQ,EAAE,OAAO,CAAC;YAClB,KAAK,EAAE,OAAO,CAAC;SAChB,CAAC;QACF,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,EAAE,IAAI,CAAC;QACb,UAAU,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAC5D,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/router-generator.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createModelSchemas } from "./zod-schemas.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates procedures for a single model
|
|
5
5
|
*/
|
|
6
|
-
function createModelProcedures(schema, modelName, t) {
|
|
6
|
+
function createModelProcedures(schema, modelName, t, procedure) {
|
|
7
7
|
const schemas = createModelSchemas(schema, modelName);
|
|
8
8
|
const modelNameLower = modelName.charAt(0).toLowerCase() + modelName.slice(1);
|
|
9
9
|
const createHandler = (op, isQuery) => {
|
|
@@ -21,10 +21,10 @@ function createModelProcedures(schema, modelName, t) {
|
|
|
21
21
|
return result;
|
|
22
22
|
};
|
|
23
23
|
if (isQuery) {
|
|
24
|
-
return
|
|
24
|
+
return procedure.input(inputSchema).query(handler);
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
return
|
|
27
|
+
return procedure.input(inputSchema).mutation(handler);
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
const procedures = {
|
|
@@ -70,13 +70,14 @@ function createModelProcedures(schema, modelName, t) {
|
|
|
70
70
|
* // const users = await client.user.findMany.query(); // Fully typed!
|
|
71
71
|
* ```
|
|
72
72
|
*/
|
|
73
|
-
export function createZenStackRouter(schema, t) {
|
|
73
|
+
export function createZenStackRouter(schema, t, options) {
|
|
74
74
|
const modelRouters = {};
|
|
75
|
+
const procedure = options?.procedure ?? t.procedure;
|
|
75
76
|
// Get all model names from the schema
|
|
76
77
|
const modelNames = Object.keys(schema.models);
|
|
77
78
|
for (const modelName of modelNames) {
|
|
78
79
|
const modelNameLower = modelName.charAt(0).toLowerCase() + modelName.slice(1);
|
|
79
|
-
modelRouters[modelNameLower] = createModelProcedures(schema, modelName, t);
|
|
80
|
+
modelRouters[modelNameLower] = createModelProcedures(schema, modelName, t, procedure);
|
|
80
81
|
}
|
|
81
82
|
return t.router(modelRouters);
|
|
82
83
|
}
|