because I got bored of customising my CV for every job
at main 84 lines 2.1 kB view raw
1model User { 2 id String @id @default(cuid()) 3 name String 4 createdAt DateTime @default(now()) 5 updatedAt DateTime @updatedAt 6 7 // Credentials (one-to-one relationship) 8 credentials Credentials? 9 10 // Job experiences 11 jobExperiences UserJobExperience[] 12 13 // Organizations 14 memberships Membership[] 15 16 // Vacancies owned by user 17 ownedVacancies Vacancy[] @relation("VacancyOwner") 18 19 // CVs 20 cvs CV[] 21 22 // Applications 23 applications Application[] 24 25 // Education history 26 educationHistory Education[] 27 28 // Refresh tokens 29 refreshTokens RefreshToken[] 30 31 @@map("users") 32} 33 34model Credentials { 35 id String @id @default(cuid()) 36 userId String @unique 37 email String @unique 38 password String 39 emailVerifiedAt DateTime? 40 emailVerificationToken String? 41 emailVerificationTokenExpiresAt DateTime? 42 passwordResetToken String? 43 passwordResetTokenExpiresAt DateTime? 44 createdAt DateTime @default(now()) 45 updatedAt DateTime @updatedAt 46 47 // Relation to User 48 user User @relation(fields: [userId], references: [id], onDelete: Cascade) 49 50 @@map("credentials") 51} 52 53model Institution { 54 id String @id @default(cuid()) 55 name String @unique 56 description String? 57 createdAt DateTime @default(now()) 58 updatedAt DateTime @updatedAt 59 60 // Education entries at this institution 61 educationEntries Education[] 62 63 @@map("institutions") 64} 65 66model Education { 67 id String @id @default(cuid()) 68 userId String 69 institutionId String 70 degree String 71 fieldOfStudy String? 72 startDate DateTime 73 endDate DateTime? 74 description String? 75 createdAt DateTime @default(now()) 76 updatedAt DateTime @updatedAt 77 78 // Relations 79 user User @relation(fields: [userId], references: [id], onDelete: Cascade) 80 institution Institution @relation(fields: [institutionId], references: [id], onDelete: Cascade) 81 skills Skill[] 82 83 @@map("educations") 84}