mirror of
https://github.com/p-stream/backend.git
synced 2026-01-11 20:10:33 +00:00
160 lines
5.4 KiB
Text
160 lines
5.4 KiB
Text
generator client {
|
|
provider = "prisma-client"
|
|
output = "../generated"
|
|
moduleFormat = "esm"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
}
|
|
|
|
model bookmarks {
|
|
tmdb_id String @db.VarChar(255)
|
|
user_id String @db.VarChar(255)
|
|
meta Json
|
|
updated_at DateTime @db.Timestamptz(0)
|
|
group String[]
|
|
favorite_episodes String[] @default([])
|
|
|
|
@@id([tmdb_id, user_id])
|
|
@@unique([tmdb_id, user_id], map: "bookmarks_tmdb_id_user_id_unique")
|
|
}
|
|
|
|
model challenge_codes {
|
|
code String @id @db.Uuid
|
|
flow String
|
|
auth_type String @db.VarChar(255)
|
|
created_at DateTime @db.Timestamptz(0)
|
|
expires_at DateTime @db.Timestamptz(0)
|
|
}
|
|
|
|
model mikro_orm_migrations {
|
|
id Int @id @default(autoincrement())
|
|
name String? @db.VarChar(255)
|
|
executed_at DateTime? @default(now()) @db.Timestamptz(6)
|
|
}
|
|
|
|
model progress_items {
|
|
id String @id @db.Uuid
|
|
tmdb_id String @db.VarChar(255)
|
|
user_id String @db.VarChar(255)
|
|
season_id String? @db.VarChar(255)
|
|
episode_id String? @db.VarChar(255)
|
|
meta Json
|
|
updated_at DateTime @db.Timestamptz(0)
|
|
duration BigInt
|
|
watched BigInt
|
|
season_number Int?
|
|
episode_number Int?
|
|
|
|
@@unique([tmdb_id, user_id, season_id, episode_id], map: "progress_items_tmdb_id_user_id_season_id_episode_id_unique")
|
|
}
|
|
|
|
model sessions {
|
|
id String @id @db.Uuid
|
|
user String
|
|
created_at DateTime @db.Timestamptz(0)
|
|
accessed_at DateTime @db.Timestamptz(0)
|
|
expires_at DateTime @db.Timestamptz(0)
|
|
device String
|
|
user_agent String
|
|
}
|
|
|
|
model user_settings {
|
|
id String @id
|
|
application_theme String? @db.VarChar(255)
|
|
application_language String? @db.VarChar(255)
|
|
default_subtitle_language String? @db.VarChar(255)
|
|
proxy_urls String[]
|
|
trakt_key String? @db.VarChar(255)
|
|
febbox_key String? @db.VarChar(255)
|
|
debrid_token String? @db.VarChar(255)
|
|
debrid_service String? @db.VarChar(255)
|
|
enable_thumbnails Boolean @default(false)
|
|
enable_autoplay Boolean @default(true)
|
|
enable_skip_credits Boolean @default(true)
|
|
enable_discover Boolean @default(true)
|
|
enable_featured Boolean @default(false)
|
|
enable_details_modal Boolean @default(false)
|
|
enable_image_logos Boolean @default(true)
|
|
enable_carousel_view Boolean @default(false)
|
|
force_compact_episode_view Boolean @default(false)
|
|
source_order String[] @default([])
|
|
enable_source_order Boolean @default(false)
|
|
disabled_sources String[] @default([])
|
|
embed_order String[] @default([])
|
|
enable_embed_order Boolean @default(false)
|
|
disabled_embeds String[] @default([])
|
|
proxy_tmdb Boolean @default(false)
|
|
enable_low_performance_mode Boolean @default(false)
|
|
enable_native_subtitles Boolean @default(false)
|
|
enable_hold_to_boost Boolean @default(false)
|
|
home_section_order String[] @default([])
|
|
manual_source_selection Boolean @default(false)
|
|
enable_double_click_to_seek Boolean @default(false)
|
|
enable_auto_resume_on_playback_error Boolean @default(false)
|
|
}
|
|
|
|
model users {
|
|
id String @id
|
|
public_key String @unique(map: "users_public_key_unique")
|
|
namespace String @db.VarChar(255)
|
|
nickname String @db.VarChar(255)
|
|
created_at DateTime @db.Timestamptz(0)
|
|
last_logged_in DateTime? @db.Timestamptz(0)
|
|
permissions String[]
|
|
profile Json
|
|
ratings Json @default("[]")
|
|
}
|
|
|
|
model lists {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
user_id String @db.VarChar(255)
|
|
name String @db.VarChar(255)
|
|
description String? @db.VarChar(255)
|
|
created_at DateTime @default(now()) @db.Timestamptz(0)
|
|
updated_at DateTime @updatedAt @db.Timestamptz(0)
|
|
public Boolean @default(false)
|
|
list_items list_items[]
|
|
|
|
@@index([user_id], map: "lists_user_id_index")
|
|
}
|
|
|
|
model list_items {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
list_id String @db.Uuid
|
|
tmdb_id String @db.VarChar(255)
|
|
added_at DateTime @default(now()) @db.Timestamptz(0)
|
|
type String? @db.VarChar(255)
|
|
list lists @relation(fields: [list_id], references: [id])
|
|
|
|
@@unique([list_id, tmdb_id], map: "list_items_list_id_tmdb_id_unique")
|
|
}
|
|
|
|
model user_group_order {
|
|
id String @id @default(uuid()) @db.Uuid
|
|
user_id String @db.VarChar(255)
|
|
group_order String[] @default([])
|
|
created_at DateTime @default(now()) @db.Timestamptz(0)
|
|
updated_at DateTime @default(now()) @db.Timestamptz(0)
|
|
|
|
@@unique([user_id], map: "user_group_order_user_id_unique")
|
|
}
|
|
|
|
model watch_history {
|
|
id String @id @db.Uuid
|
|
user_id String @db.VarChar(255)
|
|
tmdb_id String @db.VarChar(255)
|
|
season_id String? @db.VarChar(255)
|
|
episode_id String? @db.VarChar(255)
|
|
meta Json
|
|
duration BigInt
|
|
watched BigInt
|
|
watched_at DateTime @db.Timestamptz(0)
|
|
completed Boolean @default(false)
|
|
season_number Int?
|
|
episode_number Int?
|
|
updated_at DateTime @default(now()) @updatedAt @db.Timestamptz(0)
|
|
|
|
@@unique([tmdb_id, user_id, season_id, episode_id], map: "watch_history_tmdb_id_user_id_season_id_episode_id_unique")
|
|
}
|