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 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
@@ -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":"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"}
@@ -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 t.procedure.input(inputSchema).query(handler);
24
+ return procedure.input(inputSchema).query(handler);
25
25
  }
26
26
  else {
27
- return t.procedure.input(inputSchema).mutation(handler);
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zenstack-trpc",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "Auto-generate type-safe tRPC routers from ZenStack V3 schemas",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",