Implement fetching of video titles

Fixes #2
This commit is contained in:
Dessa Simpson 2020-11-09 23:43:16 -07:00
parent 5ab11f69f6
commit 173c22b90a
10 changed files with 134 additions and 13 deletions

View file

@ -0,0 +1,6 @@
CREATE TABLE requestMetadata (
url varchar NOT NULL UNIQUE,
videoTitle varchar DEFAULT NULL,
PRIMARY KEY (url),
FOREIGN KEY (url) REFERENCES requests(url) ON DELETE CASCADE
);

View file

@ -1,5 +1,6 @@
CREATE OR REPLACE VIEW requests_vw AS
SELECT url,displayName AS requester,imageUrl,state,score,reqTimestamp FROM requests
SELECT url,COALESCE(videoTitle,url) AS title,displayName AS requester,imageUrl,state,score,reqTimestamp FROM requests
JOIN requestMetadata USING (url)
JOIN scores USING (url)
JOIN users ON requests.requester = users.userid
ORDER BY score DESC, reqTimestamp ASC;
@ -7,6 +8,7 @@ CREATE OR REPLACE VIEW requests_vw AS
CREATE OR REPLACE FUNCTION get_requests_voted(votinguserid int)
RETURNS TABLE (
url varchar,
title varchar,
requester varchar,
imageUrl varchar,
state varchar,
@ -16,7 +18,7 @@ CREATE OR REPLACE FUNCTION get_requests_voted(votinguserid int)
)
LANGUAGE SQL
AS $$
SELECT url,requester,imageUrl,state,score,reqTimestamp,
SELECT url,title,requester,imageUrl,state,score,reqTimestamp,
(CASE WHEN votes.userid IS NULL THEN FALSE ELSE TRUE END) AS voted
FROM requests_vw
LEFT JOIN votes ON (requests_vw.url = votes.requesturl AND votes.userid = votinguserid)

View file

@ -10,6 +10,7 @@ CREATE OR REPLACE PROCEDURE add_request(url varchar,requester int)
LANGUAGE SQL
AS $$
INSERT INTO requests (url,requester) VALUES (url,requester);
INSERT INTO requestMetadata (url) VALUES (url);
INSERT INTO scores (url) VALUES (url);
INSERT INTO votes (requesturl,userid) VALUES (url,requester);
CALL update_scores();