From 2376d884812e242ec29d535d3727a7e4b0f96ffb Mon Sep 17 00:00:00 2001 From: Nishant Arora Date: Thu, 21 Oct 2021 23:49:42 -0600 Subject: [PATCH] routes/addUnlistedVideo: Improved --- src/routes/addUnlistedVideo.ts | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/routes/addUnlistedVideo.ts b/src/routes/addUnlistedVideo.ts index 4c6cdba..d66e36c 100644 --- a/src/routes/addUnlistedVideo.ts +++ b/src/routes/addUnlistedVideo.ts @@ -10,24 +10,33 @@ import { Logger } from "../utils/logger"; * https://support.google.com/youtube/answer/9230970 */ -export function addUnlistedVideo(req: Request, res: Response): Response { - const videoID = req.body.videoID; - const year = req.body.year || 0; - const views = req.body.views || 0; - const channelID = req.body.channelID || "Unknown"; - const service = getService(req.body.service); +export async function addUnlistedVideo(req: Request, res: Response): Promise { + const { + body: { + videoID = null, + year = 0, + views = 0, + channelID = "Unknown", + service + } + } = req; - if (videoID === undefined || typeof(videoID) !== "string" || videoID.length !== 11) { + if (typeof(videoID) !== "string" || videoID.length !== 11) { return res.status(400).send("Invalid parameters"); } try { const timeSubmitted = Date.now(); - db.prepare("run", `INSERT INTO "unlistedVideos" ("videoID", "year", "views", "channelID", "timeSubmitted", "service") values (?, ?, ?, ?, ?, ?)`, [videoID, year, views, channelID, timeSubmitted, service]); + await db.prepare( + "run", + `INSERT INTO "unlistedVideos" ("videoID", "year", "views", "channelID", "timeSubmitted", "service") values (?, ?, ?, ?, ?, ?)`, + [videoID, year, views, channelID, timeSubmitted, getService(service)] + ); + + return res.sendStatus(200); } catch (err) { Logger.error(err as string); - return res.sendStatus(500); } - return res.sendStatus(200); -} \ No newline at end of file + return res.sendStatus(500); +}