// docs:  https://pris.ly/d/prisma-schema

generator client {
    provider = "prisma-client-js"
}

datasource db {
    provider = "postgresql"
    url = env("DATABASE_URL")
}

// REGION: Services

model Post {
    id String @id @default(cuid())
    title String
    content String
}

// REGION: NextAuth stuffs
// NOTE: When using postgresql, mysql or sqlserver, 
// uncomment the @db.Text annotations below
// @see https://next-auth.js.org/schemas/models

model Account {
    id String @id @default(cuid())
    userId String
    type String
    provider String
    providerAccountId String
    refresh_token String? // @db.Text
    access_token String? // @db.Text
    expires_at Int?
    token_type String?
    scope String?
    id_token String? // @db.Text
    session_state String?
    user User @relation(fields: [userId], references: [id], onDelete: Cascade)
    @@unique([provider, providerAccountId])
}

model Session {
    id String @id @default(cuid())
    sessionToken String @unique
    userId String
    expires DateTime
    user User @relation(fields: [userId], references: [id], onDelete: Cascade)
}

model User {
    id String @id @default(cuid())
    name String?
    email String? @unique
    emailVerified DateTime?
    image String?
    accounts Account[]
    sessions Session[]
}

model VerificationToken {
    identifier String
    token String @unique
    expires DateTime
    @@unique([identifier, token])
}

