Compare commits
2 Commits
03acd7be29
...
e07d9cfa87
| Author | SHA1 | Date | |
|---|---|---|---|
| e07d9cfa87 | |||
| 8cb63e0e36 |
@ -85,6 +85,19 @@ enum audit_action {
|
|||||||
flag
|
flag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum privacy_level {
|
||||||
|
public
|
||||||
|
unlisted
|
||||||
|
private
|
||||||
|
}
|
||||||
|
|
||||||
|
enum collection_access_level {
|
||||||
|
owner
|
||||||
|
moderator
|
||||||
|
contributor
|
||||||
|
viewer
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -134,6 +147,11 @@ model User {
|
|||||||
comment_likes CommentLike[]
|
comment_likes CommentLike[]
|
||||||
comment_audit_logs CommentAuditLog[]
|
comment_audit_logs CommentAuditLog[]
|
||||||
comment_reports CommentReport[]
|
comment_reports CommentReport[]
|
||||||
|
home_media_banners HomeMediaBanner[]
|
||||||
|
watch_histories UserWatchHistory[]
|
||||||
|
saved_collections CollectionMember[] @relation("CollectionMemberUser")
|
||||||
|
invited_collections CollectionMember[] @relation("CollectionMemberInviter")
|
||||||
|
contributed_collections MediaCollection[] @relation("MediaCollectionAdder")
|
||||||
@@index([email])
|
@@index([email])
|
||||||
@@index([username])
|
@@index([username])
|
||||||
@@map("users")
|
@@map("users")
|
||||||
@ -187,7 +205,7 @@ model UserSession {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model UserPreference {
|
model UserPreference {
|
||||||
user_id String @id @db.Uuid
|
user User @relation(fields: [user_id], references: [id])
|
||||||
char_as_partner Character @relation(fields: [char_as_partner_id], references: [id])
|
char_as_partner Character @relation(fields: [char_as_partner_id], references: [id])
|
||||||
comment_picture String? @db.VarChar(255)
|
comment_picture String? @db.VarChar(255)
|
||||||
enable_watch_history Boolean @default(true)
|
enable_watch_history Boolean @default(true)
|
||||||
@ -205,7 +223,7 @@ model UserPreference {
|
|||||||
rating_preferences UserRatingPreference[]
|
rating_preferences UserRatingPreference[]
|
||||||
country_preferences UserCountryPreference[]
|
country_preferences UserCountryPreference[]
|
||||||
|
|
||||||
user User @relation(fields: [user_id], references: [id])
|
user_id String @id @db.Uuid
|
||||||
char_as_partner_id String @db.Uuid
|
char_as_partner_id String @db.Uuid
|
||||||
@@map("user_preferences")
|
@@map("user_preferences")
|
||||||
}
|
}
|
||||||
@ -248,12 +266,51 @@ model UserFollow {
|
|||||||
following User @relation("UserFollowFollowing", fields: [following_id], references: [id])
|
following User @relation("UserFollowFollowing", fields: [following_id], references: [id])
|
||||||
created_at DateTime @default(now()) @db.Timestamptz()
|
created_at DateTime @default(now()) @db.Timestamptz()
|
||||||
|
|
||||||
follower_id String @db.Uuid
|
follower_id String @db.Uuid
|
||||||
following_id String @db.Uuid
|
following_id String @db.Uuid
|
||||||
@@id([follower_id, following_id])
|
@@id([follower_id, following_id])
|
||||||
@@map("user_follows")
|
@@map("user_follows")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model UserWatchHistory {
|
||||||
|
user User @relation(fields: [user_id], references: [id])
|
||||||
|
episode Episode @relation(fields: [episode_id], references: [id])
|
||||||
|
updated_at DateTime @updatedAt @db.Timestamptz()
|
||||||
|
|
||||||
|
user_id String @db.Uuid
|
||||||
|
episode_id String @db.Uuid
|
||||||
|
@@id([user_id, episode_id])
|
||||||
|
@@map("user_watch_histories")
|
||||||
|
}
|
||||||
|
|
||||||
|
model Collection {
|
||||||
|
id String @id @db.Uuid @default(uuid(7))
|
||||||
|
name String @db.VarChar(64)
|
||||||
|
code String? @db.VarChar(12)
|
||||||
|
cover_url String? @db.VarChar(255)
|
||||||
|
privacy privacy_level @default(private)
|
||||||
|
created_at DateTime @default(now()) @db.Timestamptz()
|
||||||
|
updated_at DateTime @updatedAt @db.Timestamptz()
|
||||||
|
|
||||||
|
saved_media MediaCollection[]
|
||||||
|
members CollectionMember[]
|
||||||
|
@@map("collections")
|
||||||
|
}
|
||||||
|
|
||||||
|
model CollectionMember {
|
||||||
|
collection Collection @relation(fields: [collection_id], references: [id])
|
||||||
|
user User @relation(fields: [user_id], references: [id], name: "CollectionMemberUser")
|
||||||
|
access_level collection_access_level
|
||||||
|
invited_by User? @relation(fields: [invited_by_id], references: [id], name: "CollectionMemberInviter")
|
||||||
|
invited_at DateTime? @db.Timestamptz()
|
||||||
|
|
||||||
|
collection_id String @db.Uuid
|
||||||
|
user_id String @db.Uuid
|
||||||
|
invited_by_id String? @db.Uuid
|
||||||
|
@@id([collection_id, user_id])
|
||||||
|
@@map("collection_members")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -315,6 +372,8 @@ model Media {
|
|||||||
created_by_id String? @db.Uuid
|
created_by_id String? @db.Uuid
|
||||||
updated_by_id String? @db.Uuid
|
updated_by_id String? @db.Uuid
|
||||||
deleted_by_id String? @db.Uuid
|
deleted_by_id String? @db.Uuid
|
||||||
|
home_media_banners HomeMediaBanner[]
|
||||||
|
saved_to_collections MediaCollection[]
|
||||||
@@map("medias")
|
@@map("medias")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,6 +393,19 @@ model MediaSubmission {
|
|||||||
@@map("media_submissions")
|
@@map("media_submissions")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model MediaCollection {
|
||||||
|
media Media @relation(fields: [media_id], references: [id])
|
||||||
|
collection Collection @relation(fields: [collection_id], references: [id])
|
||||||
|
added_by User @relation(fields: [added_by_id], references: [id], name: "MediaCollectionAdder")
|
||||||
|
added_at DateTime @default(now()) @db.Timestamptz()
|
||||||
|
|
||||||
|
media_id String @db.Uuid
|
||||||
|
collection_id String @db.Uuid
|
||||||
|
added_by_id String @db.Uuid
|
||||||
|
@@id([media_id, collection_id])
|
||||||
|
@@map("media_collections")
|
||||||
|
}
|
||||||
|
|
||||||
model MediaTrailer {
|
model MediaTrailer {
|
||||||
media_id String @id @db.Uuid
|
media_id String @id @db.Uuid
|
||||||
url String? @db.VarChar(255)
|
url String? @db.VarChar(255)
|
||||||
@ -579,6 +651,7 @@ model Episode {
|
|||||||
videos Video[]
|
videos Video[]
|
||||||
created_by_id String @db.Uuid
|
created_by_id String @db.Uuid
|
||||||
comments Comment[]
|
comments Comment[]
|
||||||
|
watch_histories UserWatchHistory[]
|
||||||
@@index([media_id, episode])
|
@@index([media_id, episode])
|
||||||
@@map("episodes")
|
@@map("episodes")
|
||||||
}
|
}
|
||||||
@ -740,3 +813,17 @@ model Country {
|
|||||||
Media Media[]
|
Media Media[]
|
||||||
@@map("countries")
|
@@map("countries")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model HomeMediaBanner {
|
||||||
|
id String @id @db.Uuid @default(uuid(7))
|
||||||
|
media Media @relation(fields: [media_id], references: [id])
|
||||||
|
created_by User @relation(fields: [created_by_id], references: [id])
|
||||||
|
priority Int @db.SmallInt @unique
|
||||||
|
start_show DateTime @db.Date
|
||||||
|
end_show DateTime @db.Date
|
||||||
|
created_at DateTime @default(now()) @db.Timestamptz()
|
||||||
|
|
||||||
|
media_id String @db.Uuid
|
||||||
|
created_by_id String @db.Uuid
|
||||||
|
@@map("home_media_banners")
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user