From f20506bf4365473e9fa6a05ea9445aaf73f4eda3 Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Tue, 1 Jun 2021 16:14:21 -0400 Subject: [PATCH] Add back youtube api error handling --- src/utils/youtubeApi.ts | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/src/utils/youtubeApi.ts b/src/utils/youtubeApi.ts index 6515996..9d434be 100644 --- a/src/utils/youtubeApi.ts +++ b/src/utils/youtubeApi.ts @@ -27,28 +27,32 @@ export class YouTubeAPI { } } - const { ytErr, data } = await new Promise((resolve) => _youTubeAPI.videos.list({ - part, - id: videoID, - }, (ytErr: boolean | string, { data }: any) => resolve({ytErr, data}))); + try { + const { ytErr, data } = await new Promise((resolve) => _youTubeAPI.videos.list({ + part, + id: videoID, + }, (ytErr: boolean | string, { data }: any) => resolve({ytErr, data}))); - if (!ytErr) { - // Only set cache if data returned - if (data.items.length > 0) { - const { err: setErr } = await redis.setAsync(redisKey, JSON.stringify(data)); + if (!ytErr) { + // Only set cache if data returned + if (data.items.length > 0) { + const { err: setErr } = await redis.setAsync(redisKey, JSON.stringify(data)); - if (setErr) { - Logger.warn(setErr.message); + if (setErr) { + Logger.warn(setErr.message); + } else { + Logger.debug("redis: video information cache set for: " + videoID); + } + + return { err: false, data }; // don't fail } else { - Logger.debug("redis: video information cache set for: " + videoID); + return { err: false, data }; // don't fail } - - return { err: false, data }; // don't fail } else { - return { err: false, data }; // don't fail + return { err: ytErr, data }; } - } else { - return { err: ytErr, data }; - } + } catch (err) { + return {err, data: null} + } } }