Files

23 lines
722 B
JavaScript

import { BadRequestException } from "@nestjs/common";
import { toIssues } from "@imen/shared";
import { z } from "zod";
z.config(z.locales.fa());
export class ZodPipe {
schema;
constructor(schema) {
this.schema = schema;
}
transform(value) {
const result = this.schema.safeParse(value);
if (!result.success) {
throw new BadRequestException({
statusCode: 400,
message: "اطلاعات واردشده معتبر نیست",
issues: toIssues(result.error),
});
}
return result.data;
}
}
export const IdPipe = new ZodPipe(z.coerce.number().int().positive());
//# sourceMappingURL=zod.pipe.js.map