diff --git a/packages/backend/src/apps/twitter/common/get-user-tweets.ts b/packages/backend/src/apps/twitter/common/get-user-tweets.ts index 39889d9b..901d22a3 100644 --- a/packages/backend/src/apps/twitter/common/get-user-tweets.ts +++ b/packages/backend/src/apps/twitter/common/get-user-tweets.ts @@ -28,7 +28,14 @@ const getUserTweets = async ( const user = await getUserByUsername($, username); let response; - const tweets: IJSONObject[] = []; + + const tweets: { + data: IJSONObject[]; + error: IJSONObject | null; + } = { + data: [], + error: null, + }; do { const params: IJSONObject = { @@ -47,13 +54,18 @@ const getUserTweets = async ( method: 'GET', }); + if (response.integrationError) { + tweets.error = response.integrationError; + return tweets; + } + if (response.data.meta.result_count > 0) { response.data.data.forEach((tweet: IJSONObject) => { if ( !options.lastInternalId || Number(tweet.id) > Number(options.lastInternalId) ) { - tweets.push(tweet); + tweets.data.push(tweet); } else { return; } @@ -61,14 +73,6 @@ const getUserTweets = async ( } } while (response.data.meta.next_token && options.lastInternalId); - if (response.data.errors) { - const errorMessages = response.data.errors - .map((error: IJSONObject) => error.detail) - .join(' '); - - throw new Error(`Error occured while fetching user data: ${errorMessages}`); - } - return tweets; }; diff --git a/packages/backend/src/apps/twitter/triggers/search-tweets/search-tweets.ts b/packages/backend/src/apps/twitter/triggers/search-tweets/search-tweets.ts index df7bbe21..8e3886c6 100644 --- a/packages/backend/src/apps/twitter/triggers/search-tweets/search-tweets.ts +++ b/packages/backend/src/apps/twitter/triggers/search-tweets/search-tweets.ts @@ -45,6 +45,11 @@ const searchTweets = async ( return tweets; } + if (response.data.errors) { + tweets.error = response.data.errors; + return tweets; + } + if (response.data.meta.result_count > 0) { response.data.data.forEach((tweet: IJSONObject) => { if (