help with basic ts error
prisma schema
zod schema
tRPC route
model User {
id Int @id @default(autoincrement())
/// @zod.string.min(2, { message: "Must be between 2-12 characters" }).max(12, { message: "Must be between 2-12 characters" })
username String @unique
password String
settings Json?
role Role @default(USER)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// one to many
posts Post[] @relation("posts")
comments Comment[] @relation("comments")
// many to many
likedPosts Post[] @relation("likedPosts")
dislikedPosts Post[] @relation("dislikedPosts")
likedComments Comment[] @relation("likedComments")
dislikedComments Comment[] @relation("dislikedComments")
}model User {
id Int @id @default(autoincrement())
/// @zod.string.min(2, { message: "Must be between 2-12 characters" }).max(12, { message: "Must be between 2-12 characters" })
username String @unique
password String
settings Json?
role Role @default(USER)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// one to many
posts Post[] @relation("posts")
comments Comment[] @relation("comments")
// many to many
likedPosts Post[] @relation("likedPosts")
dislikedPosts Post[] @relation("dislikedPosts")
likedComments Comment[] @relation("likedComments")
dislikedComments Comment[] @relation("dislikedComments")
}zod schema
export const z_user = z.object({
username: z.string()
.nonempty({ message: "This field is required" })
.min(2, { message: "Must be between 2-12 characters" })
.max(12, { message: "Must be between 2-12 characters" }),
password: z.string()
.nonempty({ message: "This field is required" })
.min(2, { message: "Must be between 2-12 characters" })
.max(12, { message: "Must be between 2-12 characters" }),
}).strict()export const z_user = z.object({
username: z.string()
.nonempty({ message: "This field is required" })
.min(2, { message: "Must be between 2-12 characters" })
.max(12, { message: "Must be between 2-12 characters" }),
password: z.string()
.nonempty({ message: "This field is required" })
.min(2, { message: "Must be between 2-12 characters" })
.max(12, { message: "Must be between 2-12 characters" }),
}).strict()tRPC route
updateUser:
t.procedure
.input(z_user.extend({ id: z.number() }))
.mutation(async ({ input }) => {
return prisma.user.update({ where: { input.id }, data: input })
}) updateUser:
t.procedure
.input(z_user.extend({ id: z.number() }))
.mutation(async ({ input }) => {
return prisma.user.update({ where: { input.id }, data: input })
})
