summaryrefslogtreecommitdiff
path: root/invidious/config/sql
diff options
context:
space:
mode:
Diffstat (limited to 'invidious/config/sql')
-rw-r--r--invidious/config/sql/annotations.sql12
-rw-r--r--invidious/config/sql/channel_videos.sql30
-rw-r--r--invidious/config/sql/channels.sql25
-rw-r--r--invidious/config/sql/nonces.sql22
-rw-r--r--invidious/config/sql/playlist_videos.sql19
-rw-r--r--invidious/config/sql/playlists.sql29
-rw-r--r--invidious/config/sql/session_ids.sql23
-rw-r--r--invidious/config/sql/users.sql29
-rw-r--r--invidious/config/sql/videos.sql23
9 files changed, 212 insertions, 0 deletions
diff --git a/invidious/config/sql/annotations.sql b/invidious/config/sql/annotations.sql
new file mode 100644
index 0000000..3705829
--- /dev/null
+++ b/invidious/config/sql/annotations.sql
@@ -0,0 +1,12 @@
+-- Table: public.annotations
+
+-- DROP TABLE public.annotations;
+
+CREATE TABLE IF NOT EXISTS public.annotations
+(
+ id text NOT NULL,
+ annotations xml,
+ CONSTRAINT annotations_id_key UNIQUE (id)
+);
+
+GRANT ALL ON TABLE public.annotations TO current_user;
diff --git a/invidious/config/sql/channel_videos.sql b/invidious/config/sql/channel_videos.sql
new file mode 100644
index 0000000..cd4e0ff
--- /dev/null
+++ b/invidious/config/sql/channel_videos.sql
@@ -0,0 +1,30 @@
+-- Table: public.channel_videos
+
+-- DROP TABLE public.channel_videos;
+
+CREATE TABLE IF NOT EXISTS public.channel_videos
+(
+ id text NOT NULL,
+ title text,
+ published timestamp with time zone,
+ updated timestamp with time zone,
+ ucid text,
+ author text,
+ length_seconds integer,
+ live_now boolean,
+ premiere_timestamp timestamp with time zone,
+ views bigint,
+ CONSTRAINT channel_videos_id_key UNIQUE (id)
+);
+
+GRANT ALL ON TABLE public.channel_videos TO current_user;
+
+-- Index: public.channel_videos_ucid_idx
+
+-- DROP INDEX public.channel_videos_ucid_idx;
+
+CREATE INDEX IF NOT EXISTS channel_videos_ucid_idx
+ ON public.channel_videos
+ USING btree
+ (ucid COLLATE pg_catalog."default");
+
diff --git a/invidious/config/sql/channels.sql b/invidious/config/sql/channels.sql
new file mode 100644
index 0000000..55772da
--- /dev/null
+++ b/invidious/config/sql/channels.sql
@@ -0,0 +1,25 @@
+-- Table: public.channels
+
+-- DROP TABLE public.channels;
+
+CREATE TABLE IF NOT EXISTS public.channels
+(
+ id text NOT NULL,
+ author text,
+ updated timestamp with time zone,
+ deleted boolean,
+ subscribed timestamp with time zone,
+ CONSTRAINT channels_id_key UNIQUE (id)
+);
+
+GRANT ALL ON TABLE public.channels TO current_user;
+
+-- Index: public.channels_id_idx
+
+-- DROP INDEX public.channels_id_idx;
+
+CREATE INDEX IF NOT EXISTS channels_id_idx
+ ON public.channels
+ USING btree
+ (id COLLATE pg_catalog."default");
+
diff --git a/invidious/config/sql/nonces.sql b/invidious/config/sql/nonces.sql
new file mode 100644
index 0000000..644ac32
--- /dev/null
+++ b/invidious/config/sql/nonces.sql
@@ -0,0 +1,22 @@
+-- Table: public.nonces
+
+-- DROP TABLE public.nonces;
+
+CREATE TABLE IF NOT EXISTS public.nonces
+(
+ nonce text,
+ expire timestamp with time zone,
+ CONSTRAINT nonces_id_key UNIQUE (nonce)
+);
+
+GRANT ALL ON TABLE public.nonces TO current_user;
+
+-- Index: public.nonces_nonce_idx
+
+-- DROP INDEX public.nonces_nonce_idx;
+
+CREATE INDEX IF NOT EXISTS nonces_nonce_idx
+ ON public.nonces
+ USING btree
+ (nonce COLLATE pg_catalog."default");
+
diff --git a/invidious/config/sql/playlist_videos.sql b/invidious/config/sql/playlist_videos.sql
new file mode 100644
index 0000000..4b48b46
--- /dev/null
+++ b/invidious/config/sql/playlist_videos.sql
@@ -0,0 +1,19 @@
+-- Table: public.playlist_videos
+
+-- DROP TABLE public.playlist_videos;
+
+CREATE TABLE IF NOT EXISTS public.playlist_videos
+(
+ title text,
+ id text,
+ author text,
+ ucid text,
+ length_seconds integer,
+ published timestamptz,
+ plid text references playlists(id),
+ index int8,
+ live_now boolean,
+ PRIMARY KEY (index,plid)
+);
+
+GRANT ALL ON TABLE public.playlist_videos TO current_user;
diff --git a/invidious/config/sql/playlists.sql b/invidious/config/sql/playlists.sql
new file mode 100644
index 0000000..83efce4
--- /dev/null
+++ b/invidious/config/sql/playlists.sql
@@ -0,0 +1,29 @@
+-- Type: public.privacy
+
+-- DROP TYPE public.privacy;
+
+CREATE TYPE public.privacy AS ENUM
+(
+ 'Public',
+ 'Unlisted',
+ 'Private'
+);
+
+-- Table: public.playlists
+
+-- DROP TABLE public.playlists;
+
+CREATE TABLE IF NOT EXISTS public.playlists
+(
+ title text,
+ id text primary key,
+ author text,
+ description text,
+ video_count integer,
+ created timestamptz,
+ updated timestamptz,
+ privacy privacy,
+ index int8[]
+);
+
+GRANT ALL ON public.playlists TO current_user;
diff --git a/invidious/config/sql/session_ids.sql b/invidious/config/sql/session_ids.sql
new file mode 100644
index 0000000..c493769
--- /dev/null
+++ b/invidious/config/sql/session_ids.sql
@@ -0,0 +1,23 @@
+-- Table: public.session_ids
+
+-- DROP TABLE public.session_ids;
+
+CREATE TABLE IF NOT EXISTS public.session_ids
+(
+ id text NOT NULL,
+ email text,
+ issued timestamp with time zone,
+ CONSTRAINT session_ids_pkey PRIMARY KEY (id)
+);
+
+GRANT ALL ON TABLE public.session_ids TO current_user;
+
+-- Index: public.session_ids_id_idx
+
+-- DROP INDEX public.session_ids_id_idx;
+
+CREATE INDEX IF NOT EXISTS session_ids_id_idx
+ ON public.session_ids
+ USING btree
+ (id COLLATE pg_catalog."default");
+
diff --git a/invidious/config/sql/users.sql b/invidious/config/sql/users.sql
new file mode 100644
index 0000000..ad002ec
--- /dev/null
+++ b/invidious/config/sql/users.sql
@@ -0,0 +1,29 @@
+-- Table: public.users
+
+-- DROP TABLE public.users;
+
+CREATE TABLE IF NOT EXISTS public.users
+(
+ updated timestamp with time zone,
+ notifications text[],
+ subscriptions text[],
+ email text NOT NULL,
+ preferences text,
+ password text,
+ token text,
+ watched text[],
+ feed_needs_update boolean,
+ CONSTRAINT users_email_key UNIQUE (email)
+);
+
+GRANT ALL ON TABLE public.users TO current_user;
+
+-- Index: public.email_unique_idx
+
+-- DROP INDEX public.email_unique_idx;
+
+CREATE UNIQUE INDEX IF NOT EXISTS email_unique_idx
+ ON public.users
+ USING btree
+ (lower(email) COLLATE pg_catalog."default");
+
diff --git a/invidious/config/sql/videos.sql b/invidious/config/sql/videos.sql
new file mode 100644
index 0000000..55da396
--- /dev/null
+++ b/invidious/config/sql/videos.sql
@@ -0,0 +1,23 @@
+-- Table: public.videos
+
+-- DROP TABLE public.videos;
+
+CREATE UNLOGGED TABLE IF NOT EXISTS public.videos
+(
+ id text NOT NULL,
+ info text,
+ updated timestamp with time zone,
+ CONSTRAINT videos_pkey PRIMARY KEY (id)
+);
+
+GRANT ALL ON TABLE public.videos TO current_user;
+
+-- Index: public.id_idx
+
+-- DROP INDEX public.id_idx;
+
+CREATE UNIQUE INDEX IF NOT EXISTS id_idx
+ ON public.videos
+ USING btree
+ (id COLLATE pg_catalog."default");
+