UNPKG

@upv/ushi-shared

Version:

Shared DTOs, types, and utilities for the USHI platform (LMS, Trials, Social, Wallet).

23 lines (22 loc) 809 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateBody = void 0; const errors_1 = require("../../api/errors"); const console_1 = require("console"); const zod_1 = require("zod"); // import { ApiErrorCode } from '../../api'; const validateBody = (event, schema) => { try { const parsed = JSON.parse(event.body || '{}'); return schema.parse(parsed); } catch (err) { if (err instanceof zod_1.ZodError) { return (0, console_1.error)(errors_1.ApiErrorCode.VALIDATION_FAILED, 'Invalid request body', 400, { issues: err.flatten().fieldErrors, }); } return (0, console_1.error)(errors_1.ApiErrorCode.UNKNOWN, 'Malformed request', 400); } }; exports.validateBody = validateBody;