generator client { provider = "prisma-client-js" } datasource db { provider = "sqlite" url = "file:./dev.db" } model User { id String @id @default(uuid()) email String @unique name String role Role @default(STUDENT) year Int? faculty String? balance Float? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relationships enrollments Enrollment[] surveys Survey[] chatSessions ChatSession[] advisorId String? advisor User? @relation("AdvisorStudent", fields: [advisorId], references: [id]) students User[] @relation("AdvisorStudent") @@map("users") } model Course { id String @id @default(uuid()) code String @unique name String description String? credits Int semester String schedule String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relationships enrollments Enrollment[] @@map("courses") } model Enrollment { id String @id @default(uuid()) userId String courseId String grade String? status EnrollmentStatus @default(ENROLLED) // Relationships user User @relation(fields: [userId], references: [id]) course Course @relation(fields: [courseId], references: [id]) @@unique([userId, courseId]) @@map("enrollments") } model FAQ { id String @id @default(uuid()) question String answer String category String language String @default("en") priority Int @default(1) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@map("faqs") } model ChatSession { id String @id @default(uuid()) userId String? type ChatType @default(GENERAL) messages Json createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relationships user User? @relation(fields: [userId], references: [id]) @@map("chat_sessions") } model Survey { id String @id @default(uuid()) userId String? type String rating Int feedback String? sessionId String? createdAt DateTime @default(now()) // Relationships user User? @relation(fields: [userId], references: [id]) @@map("surveys") } model AccessibilityAudit { id String @id @default(uuid()) url String imagePath String? altText String? wcagScore Float? issues Json? suggestions Json? createdAt DateTime @default(now()) @@map("accessibility_audits") } enum Role { STUDENT STAFF ADMIN } enum EnrollmentStatus { ENROLLED COMPLETED DROPPED PENDING } enum ChatType { GENERAL MENTAL_HEALTH ACADEMIC TECHNICAL }