Adds runtime validation for operation inputs.

This commit is contained in:
Mihovil Ilakovac
2025-02-20 22:22:38 +01:00
parent 40f6b72290
commit ae3782bd15
10 changed files with 233 additions and 107 deletions

View File

@@ -0,0 +1,14 @@
import { HttpError } from 'wasp/server';
import * as z from 'zod';
export function ensureArgsSchemaOrThrowHttpError<Schema extends z.ZodType<any, any>>(
schema: Schema,
rawArgs: unknown
): z.infer<Schema> {
const parseResult = schema.safeParse(rawArgs);
if (!parseResult.success) {
console.error(parseResult.error);
throw new HttpError(400, 'Operation arguments validation failed', { errors: parseResult.error.errors });
}
return parseResult.data;
}