model User { id String @id @default(cuid()) name String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Credentials (one-to-one relationship) credentials Credentials? // Job experiences jobExperiences UserJobExperience[] // Organizations memberships Membership[] // Vacancies owned by user ownedVacancies Vacancy[] @relation("VacancyOwner") // CVs cvs CV[] // Applications applications Application[] // Education history educationHistory Education[] // Refresh tokens refreshTokens RefreshToken[] @@map("users") } model Credentials { id String @id @default(cuid()) userId String @unique email String @unique password String emailVerifiedAt DateTime? emailVerificationToken String? emailVerificationTokenExpiresAt DateTime? passwordResetToken String? passwordResetTokenExpiresAt DateTime? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relation to User user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@map("credentials") } model Institution { id String @id @default(cuid()) name String @unique description String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Education entries at this institution educationEntries Education[] @@map("institutions") } model Education { id String @id @default(cuid()) userId String institutionId String degree String fieldOfStudy String? startDate DateTime endDate DateTime? description String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt // Relations user User @relation(fields: [userId], references: [id], onDelete: Cascade) institution Institution @relation(fields: [institutionId], references: [id], onDelete: Cascade) skills Skill[] @@map("educations") }