/opt/mawid/apps/api/src/common
Edit: /opt/mawid/apps/api/src/common/zod-validation.pipe.ts (591B)
import { BadRequestException, PipeTransform } from '@nestjs/common';
import { ZodSchema } from 'zod';
export class ZodValidationPipe
implements PipeTransform {
constructor(private readonly schema: ZodSchema) {}
transform(value: unknown): T {
const result = this.schema.safeParse(value);
if (!result.success) {
throw new BadRequestException({
message: 'Validation failed',
issues: result.error.issues.map((i) => ({
path: i.path.join('.'),
message: i.message,
})),
});
}
return result.data;
}
}