From 9b7364307048dc5201a569ed93b6e3f9b2897af9 Mon Sep 17 00:00:00 2001 From: CasperMcFadden95 <145611964+CasperMcFadden95@users.noreply.github.com> Date: Sat, 6 Sep 2025 20:00:40 +0000 Subject: [PATCH] Expose more channel ids by looping through countryCodes --- sites/shahid.mbc.net/shahid.mbc.net.config.js | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/sites/shahid.mbc.net/shahid.mbc.net.config.js b/sites/shahid.mbc.net/shahid.mbc.net.config.js index f3ac9087..cb5aebed 100644 --- a/sites/shahid.mbc.net/shahid.mbc.net.config.js +++ b/sites/shahid.mbc.net/shahid.mbc.net.config.js @@ -34,24 +34,28 @@ module.exports = { async channels({ lang = 'en' }) { const axios = require('axios') const items = [] - let page = 0 - while (true) { - const result = await axios - .get( - `https://api2.shahid.net/proxy/v2.1/product/filter?filter=%7B"pageNumber":${page},"pageSize":100,"productType":"LIVESTREAM","productSubType":"LIVE_CHANNEL"%7D&country=SA&language=${lang}&Accept-Language=${lang}` - ) - .then(response => response.data) - .catch(console.error) - if (result.productList) { - items.push(...result.productList.products) - if (result.productList.hasMore) { - page++ - continue + const countryCodes = ['EG', 'SA', 'US'] + for (let country of countryCodes) { + let page = 0 + while (true) { + const result = await axios + .get( + `https://api2.shahid.net/proxy/v2.1/product/filter?filter=%7B"pageNumber":${page},"pageSize":100,"productType":"LIVESTREAM","productSubType":"LIVE_CHANNEL"%7D&country=${country}&language=${lang}&Accept-Language=${lang}` + ) + .then(response => response.data) + .catch(console.error) + if (result.productList) { + items.push(...result.productList.products) + if (result.productList.hasMore) { + page++ + continue + } } + break } - break } - const channels = items.map(channel => { + const uniqueItems = Array.from(new Map(items.map(item => [item.id, item])).values()) + const channels = uniqueItems.map(channel => { return { lang, site_id: channel.id,