mirror of
https://github.com/wasp-lang/open-saas.git
synced 2025-11-23 05:38:17 +01:00
18 lines
486 B
TypeScript
18 lines
486 B
TypeScript
import { HttpError } from "wasp/server";
|
|
import * as z from "zod";
|
|
|
|
export function ensureArgsSchemaOrThrowHttpError<Schema extends z.ZodType>(
|
|
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,
|
|
});
|
|
} else {
|
|
return parseResult.data;
|
|
}
|
|
}
|