mirror of
https://github.com/p-stream/backend.git
synced 2026-03-11 17:55:35 +00:00
94 lines
2.5 KiB
SQL
94 lines
2.5 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "bookmarks" (
|
|
"tmdb_id" VARCHAR(255) NOT NULL,
|
|
"user_id" VARCHAR(255) NOT NULL,
|
|
"meta" JSONB NOT NULL,
|
|
"updated_at" TIMESTAMPTZ(0) NOT NULL,
|
|
|
|
CONSTRAINT "bookmarks_pkey" PRIMARY KEY ("tmdb_id","user_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "challenge_codes" (
|
|
"code" UUID NOT NULL,
|
|
"flow" TEXT NOT NULL,
|
|
"auth_type" VARCHAR(255) NOT NULL,
|
|
"created_at" TIMESTAMPTZ(0) NOT NULL,
|
|
"expires_at" TIMESTAMPTZ(0) NOT NULL,
|
|
|
|
CONSTRAINT "challenge_codes_pkey" PRIMARY KEY ("code")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "mikro_orm_migrations" (
|
|
"id" SERIAL NOT NULL,
|
|
"name" VARCHAR(255),
|
|
"executed_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "mikro_orm_migrations_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "progress_items" (
|
|
"id" UUID NOT NULL,
|
|
"tmdb_id" VARCHAR(255) NOT NULL,
|
|
"user_id" VARCHAR(255) NOT NULL,
|
|
"season_id" VARCHAR(255),
|
|
"episode_id" VARCHAR(255),
|
|
"meta" JSONB NOT NULL,
|
|
"updated_at" TIMESTAMPTZ(0) NOT NULL,
|
|
"duration" BIGINT NOT NULL,
|
|
"watched" BIGINT NOT NULL,
|
|
"season_number" INTEGER,
|
|
"episode_number" INTEGER,
|
|
|
|
CONSTRAINT "progress_items_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "sessions" (
|
|
"id" UUID NOT NULL,
|
|
"user" TEXT NOT NULL,
|
|
"created_at" TIMESTAMPTZ(0) NOT NULL,
|
|
"accessed_at" TIMESTAMPTZ(0) NOT NULL,
|
|
"expires_at" TIMESTAMPTZ(0) NOT NULL,
|
|
"device" TEXT NOT NULL,
|
|
"user_agent" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "sessions_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "user_settings" (
|
|
"id" TEXT NOT NULL,
|
|
"application_theme" VARCHAR(255),
|
|
"application_language" VARCHAR(255),
|
|
"default_subtitle_language" VARCHAR(255),
|
|
"proxy_urls" TEXT[],
|
|
"trakt_key" VARCHAR(255),
|
|
"febbox_key" VARCHAR(255),
|
|
|
|
CONSTRAINT "user_settings_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "users" (
|
|
"id" TEXT NOT NULL,
|
|
"public_key" TEXT NOT NULL,
|
|
"namespace" VARCHAR(255) NOT NULL,
|
|
"created_at" TIMESTAMPTZ(0) NOT NULL,
|
|
"last_logged_in" TIMESTAMPTZ(0),
|
|
"permissions" TEXT[],
|
|
"profile" JSONB NOT NULL,
|
|
|
|
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "bookmarks_tmdb_id_user_id_unique" ON "bookmarks"("tmdb_id", "user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "progress_items_tmdb_id_user_id_season_id_episode_id_unique" ON "progress_items"("tmdb_id", "user_id", "season_id", "episode_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "users_public_key_unique" ON "users"("public_key");
|