4 -- CREATE TABLE playlists( -- TODO: table not deployed
5 -- id STRING PRIMARY KEY,
7 -- owner STRING); -- that's the channel_id who created the playlist
8 CREATE TABLE subscriptions(
9 channel_id STRING
, -- TODO: rename so it makes sense for playlists
11 type TEXT DEFAULT 'channel' NOT NULL CHECK(type IN ('channel', 'playlist')),
12 PRIMARY KEY (channel_id
, user));
13 CREATE TABLE videos( -- TODO: which playlist a video is from (so unsubscribing is easy)
14 id STRING
PRIMARY KEY,
18 crawled DATETIME
DEFAULT CURRENT_TIMESTAMP);
20 channel_id STRING
PRIMARY KEY, -- TODO: rename so it makes sense for playlists
21 crawled_at DATETIME
DEFAULT CURRENT_TIMESTAMP);
23 channel_id STRING
PRIMARY KEY, -- TODO: rename so it makes sense for playlists
24 subscribed_until DATETIME
DEFAULT CURRENT_TIMESTAMP,
25 pending
BOOLEAN DEFAULT 0);
29 display
TEXT CHECK(display
IN (NULL, 'pinned', 'hidden')),
30 PRIMARY KEY (user, video_id
));
36 id INTEGER PRIMARY KEY AUTOINCREMENT
,
38 password TEXT NOT NULL,
39 token TEXT NOT NULL); -- TODO: move into user_tokens table
40 -- CREATE TABLE user_tokens( -- stores retractable url tokens for feeds.
41 -- user_id INTEGER NOT NULL,
42 -- token TEXT NOT NULL);