diff --git a/api/drizzle/0000_init.sql b/api/drizzle/0000_init.sql index dc4826ad..d10a1160 100644 --- a/api/drizzle/0000_init.sql +++ b/api/drizzle/0000_init.sql @@ -1,20 +1,28 @@ +CREATE SCHEMA "kyoo"; +--> statement-breakpoint CREATE TYPE "kyoo"."entry_type" AS ENUM('unknown', 'episode', 'movie', 'special', 'extra');--> statement-breakpoint +CREATE TYPE "kyoo"."genres" AS ENUM('action', 'adventure', 'animation', 'comedy', 'crime', 'documentary', 'drama', 'family', 'fantasy', 'history', 'horror', 'music', 'mystery', 'romance', 'science-fiction', 'thriller', 'war', 'western', 'kids', 'reality', 'politics', 'soap', 'talk');--> statement-breakpoint +CREATE TYPE "kyoo"."show_kind" AS ENUM('serie', 'movie');--> statement-breakpoint +CREATE TYPE "kyoo"."show_status" AS ENUM('unknown', 'finished', 'airing', 'planned');--> statement-breakpoint CREATE TABLE IF NOT EXISTS "kyoo"."entries" ( "pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."entries_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), "id" uuid DEFAULT gen_random_uuid() NOT NULL, "slug" varchar(255) NOT NULL, + "show_id" integer, "order" integer NOT NULL, - "seasonNumber" integer, - "episodeNumber" integer, + "season_number" integer, + "episode_number" integer, "type" "kyoo"."entry_type" NOT NULL, - "airDate" date, + "air_date" date, "runtime" integer, "thumbnails" jsonb, - "nextRefresh" timestamp with time zone, - "externalId" jsonb DEFAULT '{}'::jsonb NOT NULL, + "external_id" jsonb DEFAULT '{}'::jsonb NOT NULL, + "created_at" timestamp with time zone DEFAULT now(), + "next_refresh" timestamp with time zone, CONSTRAINT "entries_id_unique" UNIQUE("id"), CONSTRAINT "entries_slug_unique" UNIQUE("slug"), - CONSTRAINT "orderPositive" CHECK ("entries"."order" >= 0) + CONSTRAINT "entries_showId_seasonNumber_episodeNumber_unique" UNIQUE("show_id","season_number","episode_number"), + CONSTRAINT "order_positive" CHECK ("entries"."order" >= 0) ); --> statement-breakpoint CREATE TABLE IF NOT EXISTS "kyoo"."entries_translation" ( @@ -25,8 +33,72 @@ CREATE TABLE IF NOT EXISTS "kyoo"."entries_translation" ( CONSTRAINT "entries_translation_pk_language_pk" PRIMARY KEY("pk","language") ); --> statement-breakpoint +CREATE TABLE IF NOT EXISTS "kyoo"."show_translations" ( + "pk" integer NOT NULL, + "language" varchar(255) NOT NULL, + "name" text NOT NULL, + "description" text, + "tagline" text, + "aliases" text[] NOT NULL, + "tags" text[] NOT NULL, + "trailer_url" text, + "poster" jsonb, + "thumbnail" jsonb, + "banner" jsonb, + "logo" jsonb, + CONSTRAINT "show_translations_pk_language_pk" PRIMARY KEY("pk","language") +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "kyoo"."shows" ( + "pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."shows_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), + "id" uuid DEFAULT gen_random_uuid() NOT NULL, + "slug" varchar(255) NOT NULL, + "kind" "kyoo"."show_kind" NOT NULL, + "genres" "genres"[] NOT NULL, + "rating" smallint, + "runtime" integer, + "status" "kyoo"."show_status" NOT NULL, + "start_air" date, + "end_air" date, + "original_language" varchar(255), + "external_id" jsonb DEFAULT '{}'::jsonb NOT NULL, + "created_at" timestamp with time zone DEFAULT now() NOT NULL, + "next_refresh" timestamp with time zone NOT NULL, + CONSTRAINT "shows_id_unique" UNIQUE("id"), + CONSTRAINT "shows_slug_unique" UNIQUE("slug"), + CONSTRAINT "rating_valid" CHECK ("shows"."rating" between 0 and 100), + CONSTRAINT "runtime_valid" CHECK ("shows"."runtime" >= 0) +); +--> statement-breakpoint +CREATE TABLE IF NOT EXISTS "kyoo"."videos" ( + "pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."videos_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), + "id" uuid DEFAULT gen_random_uuid() NOT NULL, + "path" text NOT NULL, + "rendering" integer, + "part" integer, + "version" integer, + "created_at" timestamp with time zone DEFAULT now() NOT NULL, + CONSTRAINT "videos_id_unique" UNIQUE("id"), + CONSTRAINT "videos_path_unique" UNIQUE("path"), + CONSTRAINT "rendering_pos" CHECK ("videos"."rendering" >= 0), + CONSTRAINT "part_pos" CHECK ("videos"."part" >= 0), + CONSTRAINT "version_pos" CHECK ("videos"."version" >= 0) +); +--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "kyoo"."entries" ADD CONSTRAINT "entries_show_id_shows_id_fk" FOREIGN KEY ("show_id") REFERENCES "kyoo"."shows"("id") ON DELETE cascade ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; +--> statement-breakpoint DO $$ BEGIN ALTER TABLE "kyoo"."entries_translation" ADD CONSTRAINT "entries_translation_pk_entries_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."entries"("pk") ON DELETE cascade ON UPDATE no action; EXCEPTION WHEN duplicate_object THEN null; END $$; +--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "kyoo"."show_translations" ADD CONSTRAINT "show_translations_pk_shows_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; diff --git a/api/drizzle/0001_shows.sql b/api/drizzle/0001_shows.sql deleted file mode 100644 index 3779aea7..00000000 --- a/api/drizzle/0001_shows.sql +++ /dev/null @@ -1,45 +0,0 @@ ---> statement-breakpoint -CREATE TYPE "kyoo"."genres" AS ENUM('action', 'adventure', 'animation', 'comedy', 'crime', 'documentary', 'drama', 'family', 'fantasy', 'history', 'horror', 'music', 'mystery', 'romance', 'science-fiction', 'thriller', 'war', 'western', 'kids', 'reality', 'politics', 'soap', 'talk');--> statement-breakpoint -CREATE TYPE "kyoo"."show_kind" AS ENUM('serie', 'movie');--> statement-breakpoint -CREATE TYPE "kyoo"."show_status" AS ENUM('unknown', 'finished', 'airing', 'planned');--> statement-breakpoint -CREATE TABLE IF NOT EXISTS "kyoo"."show_translations" ( - "pk" integer NOT NULL, - "language" varchar(255) NOT NULL, - "name" text NOT NULL, - "description" text, - "tagline" text, - "aliases" text[] NOT NULL, - "tags" text[] NOT NULL, - "trailerUrl" text, - "poster" jsonb, - "thumbnail" jsonb, - "banner" jsonb, - "logo" jsonb, - CONSTRAINT "show_translations_pk_language_pk" PRIMARY KEY("pk","language") -); ---> statement-breakpoint -CREATE TABLE IF NOT EXISTS "kyoo"."shows" ( - "pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."shows_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), - "id" uuid DEFAULT gen_random_uuid() NOT NULL, - "slug" varchar(255) NOT NULL, - "kind" "kyoo"."show_kind" NOT NULL, - "genres" "kyoo"."genres"[] NOT NULL, - "rating" smallint, - "status" "kyoo"."show_status" NOT NULL, - "startAir" date, - "endAir" date, - "originalLanguage" varchar(255), - "externalId" jsonb DEFAULT '{}'::jsonb NOT NULL, - "createdAt" timestamp with time zone DEFAULT now(), - "nextRefresh" timestamp with time zone, - CONSTRAINT "shows_id_unique" UNIQUE("id"), - CONSTRAINT "shows_slug_unique" UNIQUE("slug"), - CONSTRAINT "ratingValid" CHECK ("shows"."rating" between 0 and 100) -); ---> statement-breakpoint -ALTER TABLE "kyoo"."entries" ADD COLUMN "createdAt" timestamp with time zone DEFAULT now();--> statement-breakpoint -DO $$ BEGIN - ALTER TABLE "kyoo"."show_translations" ADD CONSTRAINT "show_translations_pk_shows_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action; -EXCEPTION - WHEN duplicate_object THEN null; -END $$; diff --git a/api/drizzle/0002_shows.sql b/api/drizzle/0002_shows.sql deleted file mode 100644 index bd83742f..00000000 --- a/api/drizzle/0002_shows.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE "kyoo"."shows" ALTER COLUMN "createdAt" SET NOT NULL;--> statement-breakpoint -ALTER TABLE "kyoo"."shows" ALTER COLUMN "nextRefresh" SET NOT NULL; diff --git a/api/drizzle/0003_runtime.sql b/api/drizzle/0003_runtime.sql deleted file mode 100644 index 2221b568..00000000 --- a/api/drizzle/0003_runtime.sql +++ /dev/null @@ -1,17 +0,0 @@ -CREATE TABLE IF NOT EXISTS "kyoo"."videos" ( - "pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."videos_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), - "id" uuid DEFAULT gen_random_uuid() NOT NULL, - "path" text NOT NULL, - "rendering" integer, - "part" integer, - "version" integer, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - CONSTRAINT "videos_id_unique" UNIQUE("id"), - CONSTRAINT "videos_path_unique" UNIQUE("path"), - CONSTRAINT "renderingPos" CHECK (0 <= "videos"."rendering"), - CONSTRAINT "partPos" CHECK (0 <= "videos"."part"), - CONSTRAINT "versionPos" CHECK (0 <= "videos"."version") -); ---> statement-breakpoint -ALTER TABLE "kyoo"."shows" ADD COLUMN "runtime" integer;--> statement-breakpoint -ALTER TABLE "kyoo"."shows" ADD CONSTRAINT "runtimeValid" CHECK (0 <= "shows"."runtime"); diff --git a/api/drizzle/meta/0000_snapshot.json b/api/drizzle/meta/0000_snapshot.json index 9d29e87f..1bc85231 100644 --- a/api/drizzle/meta/0000_snapshot.json +++ b/api/drizzle/meta/0000_snapshot.json @@ -1,5 +1,5 @@ { - "id": "362abc74-1487-46ff-bfe2-203ea699f19e", + "id": "88c55813-3ceb-468d-b010-c2b8f7fa875e", "prevId": "00000000-0000-0000-0000-000000000000", "version": "7", "dialect": "postgresql", @@ -38,20 +38,26 @@ "primaryKey": false, "notNull": true }, + "show_id": { + "name": "show_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, "order": { "name": "order", "type": "integer", "primaryKey": false, "notNull": true }, - "seasonNumber": { - "name": "seasonNumber", + "season_number": { + "name": "season_number", "type": "integer", "primaryKey": false, "notNull": false }, - "episodeNumber": { - "name": "episodeNumber", + "episode_number": { + "name": "episode_number", "type": "integer", "primaryKey": false, "notNull": false @@ -63,8 +69,8 @@ "primaryKey": false, "notNull": true }, - "airDate": { - "name": "airDate", + "air_date": { + "name": "air_date", "type": "date", "primaryKey": false, "notNull": false @@ -81,22 +87,40 @@ "primaryKey": false, "notNull": false }, - "nextRefresh": { - "name": "nextRefresh", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false - }, - "externalId": { - "name": "externalId", + "external_id": { + "name": "external_id", "type": "jsonb", "primaryKey": false, "notNull": true, "default": "'{}'::jsonb" + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "next_refresh": { + "name": "next_refresh", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false } }, "indexes": {}, - "foreignKeys": {}, + "foreignKeys": { + "entries_show_id_shows_id_fk": { + "name": "entries_show_id_shows_id_fk", + "tableFrom": "entries", + "tableTo": "shows", + "schemaTo": "kyoo", + "columnsFrom": ["show_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, "compositePrimaryKeys": {}, "uniqueConstraints": { "entries_id_unique": { @@ -108,14 +132,21 @@ "name": "entries_slug_unique", "nullsNotDistinct": false, "columns": ["slug"] + }, + "entries_showId_seasonNumber_episodeNumber_unique": { + "name": "entries_showId_seasonNumber_episodeNumber_unique", + "nullsNotDistinct": false, + "columns": ["show_id", "season_number", "episode_number"] } }, + "policies": {}, "checkConstraints": { - "orderPositive": { - "name": "orderPositive", + "order_positive": { + "name": "order_positive", "value": "\"entries\".\"order\" >= 0" } - } + }, + "isRLSEnabled": false }, "kyoo.entries_translation": { "name": "entries_translation", @@ -166,7 +197,335 @@ } }, "uniqueConstraints": {}, - "checkConstraints": {} + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "kyoo.show_translations": { + "name": "show_translations", + "schema": "kyoo", + "columns": { + "pk": { + "name": "pk", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "language": { + "name": "language", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tagline": { + "name": "tagline", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "aliases": { + "name": "aliases", + "type": "text[]", + "primaryKey": false, + "notNull": true + }, + "tags": { + "name": "tags", + "type": "text[]", + "primaryKey": false, + "notNull": true + }, + "trailer_url": { + "name": "trailer_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "poster": { + "name": "poster", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "thumbnail": { + "name": "thumbnail", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "banner": { + "name": "banner", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "logo": { + "name": "logo", + "type": "jsonb", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "show_translations_pk_shows_pk_fk": { + "name": "show_translations_pk_shows_pk_fk", + "tableFrom": "show_translations", + "tableTo": "shows", + "schemaTo": "kyoo", + "columnsFrom": ["pk"], + "columnsTo": ["pk"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "show_translations_pk_language_pk": { + "name": "show_translations_pk_language_pk", + "columns": ["pk", "language"] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "kyoo.shows": { + "name": "shows", + "schema": "kyoo", + "columns": { + "pk": { + "name": "pk", + "type": "integer", + "primaryKey": true, + "notNull": true, + "identity": { + "type": "always", + "name": "shows_pk_seq", + "schema": "kyoo", + "increment": "1", + "startWith": "1", + "minValue": "1", + "maxValue": "2147483647", + "cache": "1", + "cycle": false + } + }, + "id": { + "name": "id", + "type": "uuid", + "primaryKey": false, + "notNull": true, + "default": "gen_random_uuid()" + }, + "slug": { + "name": "slug", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "show_kind", + "typeSchema": "kyoo", + "primaryKey": false, + "notNull": true + }, + "genres": { + "name": "genres", + "type": "genres[]", + "primaryKey": false, + "notNull": true + }, + "rating": { + "name": "rating", + "type": "smallint", + "primaryKey": false, + "notNull": false + }, + "runtime": { + "name": "runtime", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "show_status", + "typeSchema": "kyoo", + "primaryKey": false, + "notNull": true + }, + "start_air": { + "name": "start_air", + "type": "date", + "primaryKey": false, + "notNull": false + }, + "end_air": { + "name": "end_air", + "type": "date", + "primaryKey": false, + "notNull": false + }, + "original_language": { + "name": "original_language", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false + }, + "external_id": { + "name": "external_id", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'::jsonb" + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "next_refresh": { + "name": "next_refresh", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "shows_id_unique": { + "name": "shows_id_unique", + "nullsNotDistinct": false, + "columns": ["id"] + }, + "shows_slug_unique": { + "name": "shows_slug_unique", + "nullsNotDistinct": false, + "columns": ["slug"] + } + }, + "policies": {}, + "checkConstraints": { + "rating_valid": { + "name": "rating_valid", + "value": "\"shows\".\"rating\" between 0 and 100" + }, + "runtime_valid": { + "name": "runtime_valid", + "value": "\"shows\".\"runtime\" >= 0" + } + }, + "isRLSEnabled": false + }, + "kyoo.videos": { + "name": "videos", + "schema": "kyoo", + "columns": { + "pk": { + "name": "pk", + "type": "integer", + "primaryKey": true, + "notNull": true, + "identity": { + "type": "always", + "name": "videos_pk_seq", + "schema": "kyoo", + "increment": "1", + "startWith": "1", + "minValue": "1", + "maxValue": "2147483647", + "cache": "1", + "cycle": false + } + }, + "id": { + "name": "id", + "type": "uuid", + "primaryKey": false, + "notNull": true, + "default": "gen_random_uuid()" + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "rendering": { + "name": "rendering", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "part": { + "name": "part", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version": { + "name": "version", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "videos_id_unique": { + "name": "videos_id_unique", + "nullsNotDistinct": false, + "columns": ["id"] + }, + "videos_path_unique": { + "name": "videos_path_unique", + "nullsNotDistinct": false, + "columns": ["path"] + } + }, + "policies": {}, + "checkConstraints": { + "rendering_pos": { + "name": "rendering_pos", + "value": "\"videos\".\"rendering\" >= 0" + }, + "part_pos": { + "name": "part_pos", + "value": "\"videos\".\"part\" >= 0" + }, + "version_pos": { + "name": "version_pos", + "value": "\"videos\".\"version\" >= 0" + } + }, + "isRLSEnabled": false } }, "enums": { @@ -174,10 +533,53 @@ "name": "entry_type", "schema": "kyoo", "values": ["unknown", "episode", "movie", "special", "extra"] + }, + "kyoo.genres": { + "name": "genres", + "schema": "kyoo", + "values": [ + "action", + "adventure", + "animation", + "comedy", + "crime", + "documentary", + "drama", + "family", + "fantasy", + "history", + "horror", + "music", + "mystery", + "romance", + "science-fiction", + "thriller", + "war", + "western", + "kids", + "reality", + "politics", + "soap", + "talk" + ] + }, + "kyoo.show_kind": { + "name": "show_kind", + "schema": "kyoo", + "values": ["serie", "movie"] + }, + "kyoo.show_status": { + "name": "show_status", + "schema": "kyoo", + "values": ["unknown", "finished", "airing", "planned"] } }, - "schemas": {}, + "schemas": { + "kyoo": "kyoo" + }, "sequences": {}, + "roles": {}, + "policies": {}, "views": {}, "_meta": { "columns": {}, diff --git a/api/drizzle/meta/0001_snapshot.json b/api/drizzle/meta/0001_snapshot.json deleted file mode 100644 index 1e5684ce..00000000 --- a/api/drizzle/meta/0001_snapshot.json +++ /dev/null @@ -1,455 +0,0 @@ -{ - "id": "0f48a319-94fe-4bcc-b63c-28ce280abc9a", - "prevId": "362abc74-1487-46ff-bfe2-203ea699f19e", - "version": "7", - "dialect": "postgresql", - "tables": { - "kyoo.entries": { - "name": "entries", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": true, - "notNull": true, - "identity": { - "type": "always", - "name": "entries_pk_seq", - "schema": "kyoo", - "increment": "1", - "startWith": "1", - "minValue": "1", - "maxValue": "2147483647", - "cache": "1", - "cycle": false - } - }, - "id": { - "name": "id", - "type": "uuid", - "primaryKey": false, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slug": { - "name": "slug", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "order": { - "name": "order", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "seasonNumber": { - "name": "seasonNumber", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "episodeNumber": { - "name": "episodeNumber", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "type": { - "name": "type", - "type": "entry_type", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "airDate": { - "name": "airDate", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "runtime": { - "name": "runtime", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "thumbnails": { - "name": "thumbnails", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "externalId": { - "name": "externalId", - "type": "jsonb", - "primaryKey": false, - "notNull": true, - "default": "'{}'::jsonb" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false, - "default": "now()" - }, - "nextRefresh": { - "name": "nextRefresh", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "entries_id_unique": { - "name": "entries_id_unique", - "nullsNotDistinct": false, - "columns": ["id"] - }, - "entries_slug_unique": { - "name": "entries_slug_unique", - "nullsNotDistinct": false, - "columns": ["slug"] - } - }, - "checkConstraints": { - "orderPositive": { - "name": "orderPositive", - "value": "\"entries\".\"order\" >= 0" - } - } - }, - "kyoo.entries_translation": { - "name": "entries_translation", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "language": { - "name": "language", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "entries_translation_pk_entries_pk_fk": { - "name": "entries_translation_pk_entries_pk_fk", - "tableFrom": "entries_translation", - "tableTo": "entries", - "schemaTo": "kyoo", - "columnsFrom": ["pk"], - "columnsTo": ["pk"], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": { - "entries_translation_pk_language_pk": { - "name": "entries_translation_pk_language_pk", - "columns": ["pk", "language"] - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "kyoo.show_translations": { - "name": "show_translations", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "language": { - "name": "language", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "tagline": { - "name": "tagline", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "aliases": { - "name": "aliases", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "tags": { - "name": "tags", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "trailerUrl": { - "name": "trailerUrl", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "poster": { - "name": "poster", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "thumbnail": { - "name": "thumbnail", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "banner": { - "name": "banner", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "logo": { - "name": "logo", - "type": "jsonb", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "show_translations_pk_shows_pk_fk": { - "name": "show_translations_pk_shows_pk_fk", - "tableFrom": "show_translations", - "tableTo": "shows", - "schemaTo": "kyoo", - "columnsFrom": ["pk"], - "columnsTo": ["pk"], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": { - "show_translations_pk_language_pk": { - "name": "show_translations_pk_language_pk", - "columns": ["pk", "language"] - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "kyoo.shows": { - "name": "shows", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": true, - "notNull": true, - "identity": { - "type": "always", - "name": "shows_pk_seq", - "schema": "kyoo", - "increment": "1", - "startWith": "1", - "minValue": "1", - "maxValue": "2147483647", - "cache": "1", - "cycle": false - } - }, - "id": { - "name": "id", - "type": "uuid", - "primaryKey": false, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slug": { - "name": "slug", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "kind": { - "name": "kind", - "type": "show_kind", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "genres": { - "name": "genres", - "type": "genres[]", - "primaryKey": false, - "notNull": true - }, - "rating": { - "name": "rating", - "type": "smallint", - "primaryKey": false, - "notNull": false - }, - "status": { - "name": "status", - "type": "show_status", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "startAir": { - "name": "startAir", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "endAir": { - "name": "endAir", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "originalLanguage": { - "name": "originalLanguage", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false - }, - "externalId": { - "name": "externalId", - "type": "jsonb", - "primaryKey": false, - "notNull": true, - "default": "'{}'::jsonb" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false, - "default": "now()" - }, - "nextRefresh": { - "name": "nextRefresh", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "shows_id_unique": { - "name": "shows_id_unique", - "nullsNotDistinct": false, - "columns": ["id"] - }, - "shows_slug_unique": { - "name": "shows_slug_unique", - "nullsNotDistinct": false, - "columns": ["slug"] - } - }, - "checkConstraints": { - "ratingValid": { - "name": "ratingValid", - "value": "\"shows\".\"rating\" between 0 and 100" - } - } - } - }, - "enums": { - "kyoo.entry_type": { - "name": "entry_type", - "schema": "kyoo", - "values": ["unknown", "episode", "movie", "special", "extra"] - }, - "kyoo.genres": { - "name": "genres", - "schema": "kyoo", - "values": [ - "action", - "adventure", - "animation", - "comedy", - "crime", - "documentary", - "drama", - "family", - "fantasy", - "history", - "horror", - "music", - "mystery", - "romance", - "science-fiction", - "thriller", - "war", - "western", - "kids", - "reality", - "politics", - "soap", - "talk" - ] - }, - "kyoo.show_kind": { - "name": "show_kind", - "schema": "kyoo", - "values": ["serie", "movie"] - }, - "kyoo.show_status": { - "name": "show_status", - "schema": "kyoo", - "values": ["unknown", "finished", "airing", "planned"] - } - }, - "schemas": { - "kyoo": "kyoo" - }, - "sequences": {}, - "views": {}, - "_meta": { - "columns": {}, - "schemas": {}, - "tables": {} - } -} diff --git a/api/drizzle/meta/0002_snapshot.json b/api/drizzle/meta/0002_snapshot.json deleted file mode 100644 index 2cdff00d..00000000 --- a/api/drizzle/meta/0002_snapshot.json +++ /dev/null @@ -1,455 +0,0 @@ -{ - "id": "1948acaf-7a29-4521-988d-439653779e39", - "prevId": "0f48a319-94fe-4bcc-b63c-28ce280abc9a", - "version": "7", - "dialect": "postgresql", - "tables": { - "kyoo.entries": { - "name": "entries", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": true, - "notNull": true, - "identity": { - "type": "always", - "name": "entries_pk_seq", - "schema": "kyoo", - "increment": "1", - "startWith": "1", - "minValue": "1", - "maxValue": "2147483647", - "cache": "1", - "cycle": false - } - }, - "id": { - "name": "id", - "type": "uuid", - "primaryKey": false, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slug": { - "name": "slug", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "order": { - "name": "order", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "seasonNumber": { - "name": "seasonNumber", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "episodeNumber": { - "name": "episodeNumber", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "type": { - "name": "type", - "type": "entry_type", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "airDate": { - "name": "airDate", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "runtime": { - "name": "runtime", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "thumbnails": { - "name": "thumbnails", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "externalId": { - "name": "externalId", - "type": "jsonb", - "primaryKey": false, - "notNull": true, - "default": "'{}'::jsonb" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false, - "default": "now()" - }, - "nextRefresh": { - "name": "nextRefresh", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "entries_id_unique": { - "name": "entries_id_unique", - "nullsNotDistinct": false, - "columns": ["id"] - }, - "entries_slug_unique": { - "name": "entries_slug_unique", - "nullsNotDistinct": false, - "columns": ["slug"] - } - }, - "checkConstraints": { - "orderPositive": { - "name": "orderPositive", - "value": "\"entries\".\"order\" >= 0" - } - } - }, - "kyoo.entries_translation": { - "name": "entries_translation", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "language": { - "name": "language", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "entries_translation_pk_entries_pk_fk": { - "name": "entries_translation_pk_entries_pk_fk", - "tableFrom": "entries_translation", - "tableTo": "entries", - "schemaTo": "kyoo", - "columnsFrom": ["pk"], - "columnsTo": ["pk"], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": { - "entries_translation_pk_language_pk": { - "name": "entries_translation_pk_language_pk", - "columns": ["pk", "language"] - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "kyoo.show_translations": { - "name": "show_translations", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "language": { - "name": "language", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "tagline": { - "name": "tagline", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "aliases": { - "name": "aliases", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "tags": { - "name": "tags", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "trailerUrl": { - "name": "trailerUrl", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "poster": { - "name": "poster", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "thumbnail": { - "name": "thumbnail", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "banner": { - "name": "banner", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "logo": { - "name": "logo", - "type": "jsonb", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "show_translations_pk_shows_pk_fk": { - "name": "show_translations_pk_shows_pk_fk", - "tableFrom": "show_translations", - "tableTo": "shows", - "schemaTo": "kyoo", - "columnsFrom": ["pk"], - "columnsTo": ["pk"], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": { - "show_translations_pk_language_pk": { - "name": "show_translations_pk_language_pk", - "columns": ["pk", "language"] - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "kyoo.shows": { - "name": "shows", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": true, - "notNull": true, - "identity": { - "type": "always", - "name": "shows_pk_seq", - "schema": "kyoo", - "increment": "1", - "startWith": "1", - "minValue": "1", - "maxValue": "2147483647", - "cache": "1", - "cycle": false - } - }, - "id": { - "name": "id", - "type": "uuid", - "primaryKey": false, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slug": { - "name": "slug", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "kind": { - "name": "kind", - "type": "show_kind", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "genres": { - "name": "genres", - "type": "genres[]", - "primaryKey": false, - "notNull": true - }, - "rating": { - "name": "rating", - "type": "smallint", - "primaryKey": false, - "notNull": false - }, - "status": { - "name": "status", - "type": "show_status", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "startAir": { - "name": "startAir", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "endAir": { - "name": "endAir", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "originalLanguage": { - "name": "originalLanguage", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false - }, - "externalId": { - "name": "externalId", - "type": "jsonb", - "primaryKey": false, - "notNull": true, - "default": "'{}'::jsonb" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "nextRefresh": { - "name": "nextRefresh", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": true - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "shows_id_unique": { - "name": "shows_id_unique", - "nullsNotDistinct": false, - "columns": ["id"] - }, - "shows_slug_unique": { - "name": "shows_slug_unique", - "nullsNotDistinct": false, - "columns": ["slug"] - } - }, - "checkConstraints": { - "ratingValid": { - "name": "ratingValid", - "value": "0 <= \"shows\".\"rating\" && \"shows\".\"rating\" <= 100" - } - } - } - }, - "enums": { - "kyoo.entry_type": { - "name": "entry_type", - "schema": "kyoo", - "values": ["unknown", "episode", "movie", "special", "extra"] - }, - "kyoo.genres": { - "name": "genres", - "schema": "kyoo", - "values": [ - "action", - "adventure", - "animation", - "comedy", - "crime", - "documentary", - "drama", - "family", - "fantasy", - "history", - "horror", - "music", - "mystery", - "romance", - "science-fiction", - "thriller", - "war", - "western", - "kids", - "reality", - "politics", - "soap", - "talk" - ] - }, - "kyoo.show_kind": { - "name": "show_kind", - "schema": "kyoo", - "values": ["serie", "movie"] - }, - "kyoo.show_status": { - "name": "show_status", - "schema": "kyoo", - "values": ["unknown", "finished", "airing", "planned"] - } - }, - "schemas": { - "kyoo": "kyoo" - }, - "sequences": {}, - "views": {}, - "_meta": { - "columns": {}, - "schemas": {}, - "tables": {} - } -} diff --git a/api/drizzle/meta/0003_snapshot.json b/api/drizzle/meta/0003_snapshot.json deleted file mode 100644 index 95799ee1..00000000 --- a/api/drizzle/meta/0003_snapshot.json +++ /dev/null @@ -1,555 +0,0 @@ -{ - "id": "2ded3184-f416-40f0-8259-fcab6a4a1edc", - "prevId": "1948acaf-7a29-4521-988d-439653779e39", - "version": "7", - "dialect": "postgresql", - "tables": { - "kyoo.entries": { - "name": "entries", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": true, - "notNull": true, - "identity": { - "type": "always", - "name": "entries_pk_seq", - "schema": "kyoo", - "increment": "1", - "startWith": "1", - "minValue": "1", - "maxValue": "2147483647", - "cache": "1", - "cycle": false - } - }, - "id": { - "name": "id", - "type": "uuid", - "primaryKey": false, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slug": { - "name": "slug", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "order": { - "name": "order", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "seasonNumber": { - "name": "seasonNumber", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "episodeNumber": { - "name": "episodeNumber", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "type": { - "name": "type", - "type": "entry_type", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "airDate": { - "name": "airDate", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "runtime": { - "name": "runtime", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "thumbnails": { - "name": "thumbnails", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "externalId": { - "name": "externalId", - "type": "jsonb", - "primaryKey": false, - "notNull": true, - "default": "'{}'::jsonb" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false, - "default": "now()" - }, - "nextRefresh": { - "name": "nextRefresh", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "entries_id_unique": { - "name": "entries_id_unique", - "nullsNotDistinct": false, - "columns": ["id"] - }, - "entries_slug_unique": { - "name": "entries_slug_unique", - "nullsNotDistinct": false, - "columns": ["slug"] - } - }, - "checkConstraints": { - "orderPositive": { - "name": "orderPositive", - "value": "\"entries\".\"order\" >= 0" - } - } - }, - "kyoo.entries_translation": { - "name": "entries_translation", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "language": { - "name": "language", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "entries_translation_pk_entries_pk_fk": { - "name": "entries_translation_pk_entries_pk_fk", - "tableFrom": "entries_translation", - "tableTo": "entries", - "schemaTo": "kyoo", - "columnsFrom": ["pk"], - "columnsTo": ["pk"], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": { - "entries_translation_pk_language_pk": { - "name": "entries_translation_pk_language_pk", - "columns": ["pk", "language"] - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "kyoo.show_translations": { - "name": "show_translations", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "language": { - "name": "language", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "tagline": { - "name": "tagline", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "aliases": { - "name": "aliases", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "tags": { - "name": "tags", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "trailerUrl": { - "name": "trailerUrl", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "poster": { - "name": "poster", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "thumbnail": { - "name": "thumbnail", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "banner": { - "name": "banner", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "logo": { - "name": "logo", - "type": "jsonb", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "show_translations_pk_shows_pk_fk": { - "name": "show_translations_pk_shows_pk_fk", - "tableFrom": "show_translations", - "tableTo": "shows", - "schemaTo": "kyoo", - "columnsFrom": ["pk"], - "columnsTo": ["pk"], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": { - "show_translations_pk_language_pk": { - "name": "show_translations_pk_language_pk", - "columns": ["pk", "language"] - } - }, - "uniqueConstraints": {}, - "checkConstraints": {} - }, - "kyoo.shows": { - "name": "shows", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": true, - "notNull": true, - "identity": { - "type": "always", - "name": "shows_pk_seq", - "schema": "kyoo", - "increment": "1", - "startWith": "1", - "minValue": "1", - "maxValue": "2147483647", - "cache": "1", - "cycle": false - } - }, - "id": { - "name": "id", - "type": "uuid", - "primaryKey": false, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slug": { - "name": "slug", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true - }, - "kind": { - "name": "kind", - "type": "show_kind", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "genres": { - "name": "genres", - "type": "genres[]", - "primaryKey": false, - "notNull": true - }, - "rating": { - "name": "rating", - "type": "smallint", - "primaryKey": false, - "notNull": false - }, - "runtime": { - "name": "runtime", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "status": { - "name": "status", - "type": "show_status", - "typeSchema": "kyoo", - "primaryKey": false, - "notNull": true - }, - "startAir": { - "name": "startAir", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "endAir": { - "name": "endAir", - "type": "date", - "primaryKey": false, - "notNull": false - }, - "originalLanguage": { - "name": "originalLanguage", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false - }, - "externalId": { - "name": "externalId", - "type": "jsonb", - "primaryKey": false, - "notNull": true, - "default": "'{}'::jsonb" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "nextRefresh": { - "name": "nextRefresh", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": true - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "shows_id_unique": { - "name": "shows_id_unique", - "nullsNotDistinct": false, - "columns": ["id"] - }, - "shows_slug_unique": { - "name": "shows_slug_unique", - "nullsNotDistinct": false, - "columns": ["slug"] - } - }, - "checkConstraints": { - "ratingValid": { - "name": "ratingValid", - "value": "0 <= \"shows\".\"rating\" && \"shows\".\"rating\" <= 100" - }, - "runtimeValid": { - "name": "runtimeValid", - "value": "0 <= \"shows\".\"runtime\"" - } - } - }, - "kyoo.videos": { - "name": "videos", - "schema": "kyoo", - "columns": { - "pk": { - "name": "pk", - "type": "integer", - "primaryKey": true, - "notNull": true, - "identity": { - "type": "always", - "name": "videos_pk_seq", - "schema": "kyoo", - "increment": "1", - "startWith": "1", - "minValue": "1", - "maxValue": "2147483647", - "cache": "1", - "cycle": false - } - }, - "id": { - "name": "id", - "type": "uuid", - "primaryKey": false, - "notNull": true, - "default": "gen_random_uuid()" - }, - "path": { - "name": "path", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "rendering": { - "name": "rendering", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "part": { - "name": "part", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "version": { - "name": "version", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp with time zone", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "videos_id_unique": { - "name": "videos_id_unique", - "nullsNotDistinct": false, - "columns": ["id"] - }, - "videos_path_unique": { - "name": "videos_path_unique", - "nullsNotDistinct": false, - "columns": ["path"] - } - }, - "checkConstraints": { - "renderingPos": { - "name": "renderingPos", - "value": "0 <= \"videos\".\"rendering\"" - }, - "partPos": { - "name": "partPos", - "value": "0 <= \"videos\".\"part\"" - }, - "versionPos": { - "name": "versionPos", - "value": "0 <= \"videos\".\"version\"" - } - } - } - }, - "enums": { - "kyoo.entry_type": { - "name": "entry_type", - "schema": "kyoo", - "values": ["unknown", "episode", "movie", "special", "extra"] - }, - "kyoo.genres": { - "name": "genres", - "schema": "kyoo", - "values": [ - "action", - "adventure", - "animation", - "comedy", - "crime", - "documentary", - "drama", - "family", - "fantasy", - "history", - "horror", - "music", - "mystery", - "romance", - "science-fiction", - "thriller", - "war", - "western", - "kids", - "reality", - "politics", - "soap", - "talk" - ] - }, - "kyoo.show_kind": { - "name": "show_kind", - "schema": "kyoo", - "values": ["serie", "movie"] - }, - "kyoo.show_status": { - "name": "show_status", - "schema": "kyoo", - "values": ["unknown", "finished", "airing", "planned"] - } - }, - "schemas": { - "kyoo": "kyoo" - }, - "sequences": {}, - "views": {}, - "_meta": { - "columns": {}, - "schemas": {}, - "tables": {} - } -} diff --git a/api/drizzle/meta/_journal.json b/api/drizzle/meta/_journal.json index e48a9a2e..4c445bf0 100644 --- a/api/drizzle/meta/_journal.json +++ b/api/drizzle/meta/_journal.json @@ -5,30 +5,9 @@ { "idx": 0, "version": "7", - "when": 1730060281406, + "when": 1731105447005, "tag": "0000_init", "breakpoints": true - }, - { - "idx": 1, - "version": "7", - "when": 1730477283024, - "tag": "0001_shows", - "breakpoints": true - }, - { - "idx": 2, - "version": "7", - "when": 1730487641214, - "tag": "0002_shows", - "breakpoints": true - }, - { - "idx": 3, - "version": "7", - "when": 1731101306525, - "tag": "0003_runtime", - "breakpoints": true } ] }