import { createInsertSchema, createSchemaFactory } from "drizzle-zod";
export const { createInsertSchema: createInsertSchemaBroken } = createSchemaFactory({
coerce: true,
});
export const comments = pgTable("comments", {
postId: integer().notNull(),
content: text().notNull(),
userId: text().notNull(),
});
export const commentInsertSchema = createInsertSchema(comments);
export const commentInsertSchemaBroken = createInsertSchemaBroken(comments);
const wrongData = {
postId: 1,
}
const res1 = commentInsertSchema.safeParse(wrongData);
console.log(res1)
/*
ZodError: [
{
"expected": "string",
"code": "invalid_type",
"path": [
"content"
],
"message": "Invalid input: expected string, received undefined"
},
{
"expected": "string",
"code": "invalid_type",
"path": [
"userId"
],
"message": "Invalid input: expected string, received undefined"
}
]
}
*/
const res2 = commentInsertSchemaBroken.safeParse(wrongData);
console.log(res2)
/*
{
success: true,
data: {
postId: 1,
content: "undefined",
userId: "undefined",
},
}
*/
const trueData = {
postId: 1,
content: "This is a comment",
userId: "user123",
}
const res3 = commentInsertSchema.safeParse(trueData);
console.log(res3)
/*
{
success: true,
data: {
postId: 1,
content: "This is a comment",
userId: "user123",
},
}
*/
const res4 = commentInsertSchemaBroken.safeParse(trueData);
console.log(res4)
/*
{
success: true,
data: {
postId: 1,
content: "This is a comment",
userId: "user123",
},
}
*/
import { createInsertSchema, createSchemaFactory } from "drizzle-zod";
export const { createInsertSchema: createInsertSchemaBroken } = createSchemaFactory({
coerce: true,
});
export const comments = pgTable("comments", {
postId: integer().notNull(),
content: text().notNull(),
userId: text().notNull(),
});
export const commentInsertSchema = createInsertSchema(comments);
export const commentInsertSchemaBroken = createInsertSchemaBroken(comments);
const wrongData = {
postId: 1,
}
const res1 = commentInsertSchema.safeParse(wrongData);
console.log(res1)
/*
ZodError: [
{
"expected": "string",
"code": "invalid_type",
"path": [
"content"
],
"message": "Invalid input: expected string, received undefined"
},
{
"expected": "string",
"code": "invalid_type",
"path": [
"userId"
],
"message": "Invalid input: expected string, received undefined"
}
]
}
*/
const res2 = commentInsertSchemaBroken.safeParse(wrongData);
console.log(res2)
/*
{
success: true,
data: {
postId: 1,
content: "undefined",
userId: "undefined",
},
}
*/
const trueData = {
postId: 1,
content: "This is a comment",
userId: "user123",
}
const res3 = commentInsertSchema.safeParse(trueData);
console.log(res3)
/*
{
success: true,
data: {
postId: 1,
content: "This is a comment",
userId: "user123",
},
}
*/
const res4 = commentInsertSchemaBroken.safeParse(trueData);
console.log(res4)
/*
{
success: true,
data: {
postId: 1,
content: "This is a comment",
userId: "user123",
},
}
*/