From 4376c9e51387c9743dc184330f3416bbb230f6f8 Mon Sep 17 00:00:00 2001 From: Jason Zamora Date: Thu, 4 Apr 2024 11:00:30 -0500 Subject: [PATCH] fix: STRF-11856 - Filter the response for getStoreChannels() to only include type 'storefront' channels. --- lib/theme-api-client.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/theme-api-client.js b/lib/theme-api-client.js index 64d45f70..9c777434 100644 --- a/lib/theme-api-client.js +++ b/lib/theme-api-client.js @@ -208,11 +208,23 @@ async function getChannelActiveTheme({ accessToken, apiHost, storeHash, channelI */ async function getStoreChannels({ accessToken, apiHost, storeHash }) { try { - const response = await networkUtils.sendApiRequest({ + const sitesResponse = await networkUtils.sendApiRequest({ url: `${apiHost}/stores/${storeHash}/v3/sites`, accessToken, }); - return response.data.data; + const channelsResponse = await networkUtils.sendApiRequest({ + url: `${apiHost}/stores/${storeHash}/v3/channels`, + accessToken, + }); + + const storefrontChannels = channelsResponse.data.data.filter( + (channel) => channel.type === 'storefront', + ); + + return sitesResponse.data.data.filter( + (site) => + storefrontChannels.filter((channel) => channel.id === site.channel_id).length > 0, + ); } catch (err) { throw new Error(`Could not fetch a list of the store channels: ${err.message}`); }