23 lines
722 B
JavaScript
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
|