refactor-db #33

Merged
vivy-agent merged 42 commits from refactor-db into main 2026-05-26 21:33:21 +07:00
7 changed files with 7578 additions and 2366 deletions
Showing only changes of commit 72a33377eb - Show all commits

View File

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