Compare commits
6 Commits
2a5098a89c
...
03acd7be29
| Author | SHA1 | Date | |
|---|---|---|---|
| 03acd7be29 | |||
| 183642805d | |||
| 72a33377eb | |||
| 9d6857f08c | |||
| b43210fca6 | |||
| f35e38b1fe |
@ -73,6 +73,18 @@ enum status_submission {
|
||||
rejected
|
||||
}
|
||||
|
||||
enum like_type {
|
||||
like
|
||||
dislike
|
||||
}
|
||||
|
||||
enum audit_action {
|
||||
delete
|
||||
restore
|
||||
edit
|
||||
flag
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@ -113,6 +125,17 @@ model User {
|
||||
reviewed_media MediaSubmission[] @relation("MediaSubmissionReviewer")
|
||||
updated_media Media[] @relation("MediaUpdater")
|
||||
deleted_media Media[] @relation("MediaDeleter")
|
||||
created_episodes Episode[]
|
||||
submitted_videos VideoSubmission[] @relation("VideoSubmissionSubmitter")
|
||||
reviewed_videos VideoSubmission[] @relation("VideoSubmissionReviewer")
|
||||
submitted_video_services VideoServiceSubmission[] @relation("VideoServiceSubmissionSubmitter")
|
||||
reviewed_video_services VideoServiceSubmission[] @relation("VideoServiceSubmissionReviewer")
|
||||
comments Comment[]
|
||||
comment_likes CommentLike[]
|
||||
comment_audit_logs CommentAuditLog[]
|
||||
comment_reports CommentReport[]
|
||||
@@index([email])
|
||||
@@index([username])
|
||||
@@map("users")
|
||||
}
|
||||
|
||||
@ -534,6 +557,157 @@ model Staff {
|
||||
@@map("staff")
|
||||
}
|
||||
|
||||
model Episode {
|
||||
id String @id @db.Uuid @default(uuid(7))
|
||||
media_id String @db.Uuid
|
||||
episode Int @db.SmallInt
|
||||
mal_url String? @db.VarChar(255)
|
||||
forum_url String? @db.VarChar(255)
|
||||
title String @db.VarChar(155)
|
||||
title_origin String? @db.VarChar(155)
|
||||
title_romanji String? @db.VarChar(155)
|
||||
aired_at DateTime? @db.Date
|
||||
filler Boolean
|
||||
recap Boolean
|
||||
total_score Int @default(0)
|
||||
score_count Int @default(0)
|
||||
deleted_at DateTime? @db.Timestamptz()
|
||||
updated_at DateTime @updatedAt @db.Timestamptz()
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
created_by User @relation(fields: [created_by_id], references: [id])
|
||||
|
||||
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[]
|
||||
Episode Episode @relation(fields: [episode_id], references: [id])
|
||||
video_code String @db.VarChar(255)
|
||||
short_code String? @db.VarChar(255)
|
||||
thumbnail_code String? @db.VarChar(255)
|
||||
download_code String? @db.VarChar(255)
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
deleted_at DateTime? @db.Timestamptz()
|
||||
updated_at DateTime @updatedAt @db.Timestamptz()
|
||||
|
||||
episode_id String @db.Uuid
|
||||
created_by_id String @db.Uuid
|
||||
video_submission VideoSubmission?
|
||||
@@map("videos")
|
||||
}
|
||||
|
||||
model VideoSubmission {
|
||||
video_id String @id @db.Uuid
|
||||
created_by User @relation(fields: [created_by_id], references: [id], name: "VideoSubmissionSubmitter")
|
||||
reviewer User? @relation(fields: [reviewer_id], references: [id], name: "VideoSubmissionReviewer")
|
||||
status status_submission @default(pending)
|
||||
reviewed_at DateTime? @db.Timestamptz()
|
||||
reason String? @db.Text
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
|
||||
created_by_id String @db.Uuid
|
||||
reviewer_id String? @db.Uuid
|
||||
video Video @relation(fields: [video_id], references: [id])
|
||||
@@map("video_submissions")
|
||||
}
|
||||
|
||||
model VideoService {
|
||||
id String @id @db.Uuid @default(uuid(7))
|
||||
name String @db.VarChar(155)
|
||||
resolution Int @db.SmallInt
|
||||
domain String @db.VarChar(255)
|
||||
image_url String? @db.VarChar(255)
|
||||
hex_color String? @db.VarChar(10)
|
||||
endpoint_video String @db.VarChar(255)
|
||||
endpoint_short String? @db.VarChar(255)
|
||||
endpoint_image String? @db.VarChar(255)
|
||||
endpoint_download String? @db.VarChar(255)
|
||||
deleted_at DateTime? @db.Timestamptz()
|
||||
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")
|
||||
}
|
||||
|
||||
model VideoServiceSubmission {
|
||||
video_service_id String @id @db.Uuid
|
||||
created_by User @relation(fields: [created_by_id], references: [id], name: "VideoServiceSubmissionSubmitter")
|
||||
status status_submission @default(pending)
|
||||
reviewer User? @relation(fields: [reviewer_id], references: [id], name: "VideoServiceSubmissionReviewer")
|
||||
reviewed_at DateTime? @db.Timestamptz()
|
||||
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[]
|
||||
audit_logs CommentAuditLog[]
|
||||
reports CommentReport[]
|
||||
@@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")
|
||||
}
|
||||
|
||||
model CommentAuditLog {
|
||||
id String @id @db.Uuid @default(uuid(7))
|
||||
comment Comment @relation(fields: [comment_id], references: [id])
|
||||
performed_by User @relation(fields: [performed_by_id], references: [id])
|
||||
action audit_action
|
||||
created_at DateTime @default(now()) @db.Timestamptz()
|
||||
|
||||
comment_id String @db.Uuid
|
||||
performed_by_id String @db.Uuid
|
||||
@@map("comment_audit_logs")
|
||||
}
|
||||
|
||||
model CommentReport {
|
||||
id String @id @db.Uuid @default(uuid(7))
|
||||
reporter User @relation(fields: [reporter_id], references: [id])
|
||||
comment Comment @relation(fields: [comment_id], references: [id])
|
||||
title String @db.VarChar(115)
|
||||
status status_submission
|
||||
description String? @db.Text
|
||||
reported_at DateTime @default(now()) @db.Timestamptz()
|
||||
closed_at DateTime? @db.Timestamptz()
|
||||
|
||||
reporter_id String @db.Uuid
|
||||
comment_id String @db.Uuid
|
||||
@@map("comment_reports")
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user