Skip to main content

Function: validateQuery()

validateQuery<T>(schema): MiddlewareHandler<ChiveEnv>

Defined in: src/api/middleware/validation.ts:68

Validates query parameters against a Zod schema.

Type Parameters

T

Schema output type

Parameters

schema

ZodType<T>

Zod schema for validation

Returns

MiddlewareHandler<ChiveEnv>

Middleware that validates query params and sets validatedInput

Remarks

Validated input is stored in context as validatedInput for handler access.

Example

const paramsSchema = z.object({
uri: z.string().startsWith('at://'),
limit: z.coerce.number().min(1).max(100).default(50),
});

app.get(
'/xrpc/pub.chive.preprint.getSubmission',
validateQuery(paramsSchema),
(c) => {
const params = c.get('validatedInput') as z.infer<typeof paramsSchema>;
// params.uri and params.limit are type-safe
}
);