// This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { provider = "prisma-client-js" output = "./client" } generator dbml { provider = "prisma-dbml-generator" } generator json { provider = "prisma-json-types-generator" namespace = "PrismaJson" allowAny = false } generator zod { provider = "zod-prisma-types" output = "./zod" // default is ./generated/zod useMultipleFiles = true // default is false writeBarrelFiles = true // default is true createInputTypes = false // default is true createModelTypes = true // default is true addInputTypeValidation = false // default is true addIncludeType = false // default is true addSelectType = false // default is true validateWhereUniqueInput = false // default is false createOptionalDefaultValuesTypes = true // default is false createRelationValuesTypes = false // default is false createPartialTypes = false // default is false useDefaultValidators = true // default is true coerceDate = true // default is true writeNullishInModelTypes = false // default is false } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model User { id String @id @default("") username String @unique() @db.VarChar(80) password String @db.VarChar(80) /// @zod.string.url() avatar String @db.VarChar(1024) /// @zod.string.email() email String? @unique() @db.VarChar(80) status Int? @default(1) @db.SmallInt createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) updatedAt DateTime @updatedAt @map("updated_at") role Role @default(User) todos Todo[] } model Todo { id String @id @default("") value String status Boolean @default(false) createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) updatedAt DateTime @updatedAt @map("updated_at") user User @relation(fields: [userId], references: [id], onDelete: Cascade) userId String } enum Role { Admin User }