From a99d4eb31f6d1678bb9da0a0650e9049edf82bca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uro=C5=A1=20Marolt?= Date: Thu, 8 Dec 2022 14:20:28 +0100 Subject: [PATCH] Stop processing if there are no posts with such hashtag --- .../usecases/twitter/getPostsByHashtag.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/src/serverless/integrations/usecases/twitter/getPostsByHashtag.ts b/backend/src/serverless/integrations/usecases/twitter/getPostsByHashtag.ts index dcdb5c6c96..354baa9b2a 100644 --- a/backend/src/serverless/integrations/usecases/twitter/getPostsByHashtag.ts +++ b/backend/src/serverless/integrations/usecases/twitter/getPostsByHashtag.ts @@ -39,6 +39,18 @@ const getPostsByHashtag = async ( try { const response = await axios(config) + const limit = parseInt(response.headers['x-rate-limit-remaining'], 10) + const resetTs = parseInt(response.headers['x-rate-limit-reset'], 10) * 1000 + const timeUntilReset = moment(resetTs).diff(moment(), 'seconds') + + if (response.data?.meta?.result_count === 0) { + return { + records: [], + limit, + timeUntilReset, + nextPage: '', + } + } const posts = response.data.data const media = response.data.includes.media @@ -58,9 +70,6 @@ const getPostsByHashtag = async ( postsOut.push(post) } - const limit = parseInt(response.headers['x-rate-limit-remaining'], 10) - const resetTs = parseInt(response.headers['x-rate-limit-reset'], 10) * 1000 - const timeUntilReset = moment(resetTs).diff(moment(), 'seconds') return { records: postsOut, nextPage: response.data?.meta?.next_token || '',