refactor-db #33
@ -73,6 +73,11 @@ enum status_submission {
|
||||
rejected
|
||||
}
|
||||
|
||||
enum like_type {
|
||||
like
|
||||
dislike
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@ -118,6 +123,8 @@ model User {
|
||||
reviewed_videos VideoSubmission[] @relation("VideoSubmissionReviewer")
|
||||
submitted_video_services VideoServiceSubmission[] @relation("VideoServiceSubmissionSubmitter")
|
||||
reviewed_video_services VideoServiceSubmission[] @relation("VideoServiceSubmissionReviewer")
|
||||
comments Comment[]
|
||||
comment_likes CommentLike[]
|
||||
@@index([email])
|
||||
@@index([username])
|
||||
@@map("users")
|
||||
@ -562,13 +569,14 @@ model Episode {
|
||||
|
||||
videos Video[]
|
||||
created_by_id String @db.Uuid
|
||||
comments Comment[]
|
||||
@@index([media_id, episode])
|
||||
@@map("episodes")
|
||||
}
|
||||
|
||||
model Video {
|
||||
id String @id @db.Uuid @default(uuid(7))
|
||||
// service VideoService[]
|
||||
service VideoService[]
|
||||
Episode Episode @relation(fields: [episode_id], references: [id])
|
||||
video_code String @db.VarChar(255)
|
||||
short_code String? @db.VarChar(255)
|
||||
@ -614,6 +622,8 @@ model VideoService {
|
||||
updated_at DateTime @updatedAt @db.Timestamptz()
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
|
||||
videos Video[]
|
||||
video_service_submissions VideoServiceSubmission?
|
||||
@@unique([name, resolution])
|
||||
@@map("video_services")
|
||||
}
|
||||
@ -627,11 +637,39 @@ model VideoServiceSubmission {
|
||||
reason String? @db.Text
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
|
||||
video_service VideoService @relation(fields: [video_service_id], references: [id])
|
||||
created_by_id String @db.Uuid
|
||||
reviewer_id String? @db.Uuid
|
||||
@@map("video_service_submissions")
|
||||
}
|
||||
|
||||
model Comment {
|
||||
id String @id @db.Uuid @default(uuid(7))
|
||||
user User @relation(fields: [user_id], references: [id])
|
||||
episode Episode @relation(fields: [episode_id], references: [id])
|
||||
content String @db.Text
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
updated_at DateTime @updatedAt @db.Timestamptz()
|
||||
deleted_at DateTime? @db.Timestamptz()
|
||||
|
||||
user_id String @db.Uuid
|
||||
episode_id String @db.Uuid
|
||||
likes CommentLike[]
|
||||
@@map("comments")
|
||||
}
|
||||
|
||||
model CommentLike {
|
||||
user_id String @db.Uuid
|
||||
comment_id String @db.Uuid
|
||||
type like_type
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
|
||||
user User @relation(fields: [user_id], references: [id])
|
||||
comment Comment @relation(fields: [comment_id], references: [id])
|
||||
@@id([user_id, comment_id])
|
||||
@@map("comment_likes")
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user