mirror of
https://github.com/wasp-lang/open-saas.git
synced 2025-11-23 09:48:23 +01:00
Adds runtime validation for operation inputs.
This commit is contained in:
14
template/app/src/server/validation.ts
Normal file
14
template/app/src/server/validation.ts
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user