🪜DATABASE SCHEMA
User
id String @id @unique @default(nanoid())
email String @unique
firstName String
lastName String
birthday DateTime
role UserRole
companyName String
companyLocation String @default("Улаанбаатар")
phoneNumber String @unique
password String
salary Int @default(10000)
salaryType String @default("HOUR")
pfp String
about String?
profileViews Int @default(0)
createdAt DateTime @default(now())
featuredSkills featuredSkills[]
jobpost job[]
clientJobApplication jobApplication[] @relation("clientJobApplication")
freelancerJobApplication jobApplication[] @relation("freelancerJobApplication")
reportedUsers reportUser[] @relation("reportedUser")
reporterUser reportUser[] @relation("reporter")
reviewee review[] @relation("reviewee_")
reviewer review[] @relation("reviewer_")
skill skill[] @relation("skillTouser")
Skill
id String @id @default(nanoid())
name String @unique
createdAt DateTime @default(now())
featuredSkills featuredSkills[]
job job[] @relation("jobToskill")
user user[] @relation("skillTouser")
Review
id String @id @default(nanoid())
rating Int
reviewerId String
revieweeId String
message String
createdAt DateTime @default(now())
reviewee user @relation("reviewee_", fields: [revieweeId], references: [id])
reviewer user @relation("reviewer_", fields: [reviewerId], references: [id])
Job
id String @id @default(nanoid())
title String
description String
status JobStatus @default(ACTIVE)
experienced Boolean
jobLocation String @default("Улаанбаатар")
jobPostView Int @default(0)
salary Int
salaryRate SalaryType
postedAt DateTime @default(now())
updatedAt DateTime @updatedAt
posterId String
poster user @relation(fields: [posterId], references: [id])
jobApplication jobApplication[]
skill skill[] @relation("jobToskill")
Job application
id String @id @default(nanoid())
jobId String
freelancerId String
clientId String
createdAt DateTime @default(now())
cancelled Boolean @default(false)
clientStatus clientStatus @default(waiting)
client user @relation("clientJobApplication", fields: [clientId], references: [id])
freelancer user @relation("freelancerJobApplication", fields: [freelancerId], references: [id])
job job @relation(fields: [jobId], references: [id])
Report User
id String @id @default(nanoid())
reason String?
reportedUserId String
reporterUserId String
reportedUser user @relation("reportedUser", fields: [reportedUserId], references: [id])
reporterUser user @relation("reporter", fields: [reporterUserId], references: [id])
Last updated