Theo's Typesafe CultTTC
Theo's Typesafe Cult3y ago
4 replies
test_1

help with basic ts error

prisma schema
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()

tRPC route
    updateUser:
        t.procedure
            .input(z_user.extend({ id: z.number() }))
            .mutation(async ({ input }) => {
                return prisma.user.update({ where: { input.id }, data: input })
            })
image.png
Was this page helpful?