generator client { provider = "prisma-client" output = "../src/generated/prisma" } datasource db { provider = "postgresql" } model User { id String @id name String email String emailVerified Boolean @default(false) image String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt sessions Session[] accounts Account[] role String? banned Boolean? @default(false) banReason String? banExpires DateTime? members Member[] invitations Invitation[] @@unique([email]) @@map("user") } model Session { id String @id expiresAt DateTime token String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt ipAddress String? userAgent String? userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) impersonatedBy String? activeOrganizationId String? @@unique([token]) @@index([userId]) @@map("session") } model Account { id String @id accountId String providerId String userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) accessToken String? refreshToken String? idToken String? accessTokenExpiresAt DateTime? refreshTokenExpiresAt DateTime? scope String? password String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@index([userId]) @@map("account") } model Verification { id String @id identifier String value String expiresAt DateTime createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@index([identifier]) @@map("verification") } model Organization { id String @id name String slug String logo String? createdAt DateTime metadata String? members Member[] invitations Invitation[] color String? @default("#000000") @@unique([slug]) @@map("organization") } model Member { id String @id organizationId String organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade) userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) role String @default("member") createdAt DateTime @@index([organizationId]) @@index([userId]) @@map("member") } model Invitation { id String @id organizationId String organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade) email String role String? status String @default("pending") expiresAt DateTime createdAt DateTime @default(now()) inviterId String user User @relation(fields: [inviterId], references: [id], onDelete: Cascade) @@index([organizationId]) @@index([email]) @@map("invitation") }