diff --git a/app.js b/app.js index 0232958..49d212d 100644 --- a/app.js +++ b/app.js @@ -157,14 +157,14 @@ app.get('/:country', (req, res) => { const emojis = req.query.emojis === 'true'; const source = req.query.source ? Number(req.query.source) : 2; - if (!country || country.toUpperCase() === 'ALL') { + if (!country || country.toUpperCase() === 'ALL' || country.includes(',')) { if (format.toLowerCase() === 'json') { - return getWorldoMetersTable({ isCurl, emojis, minimal, format }).then(result => { + return getWorldoMetersTable({ countryCode: country, isCurl, emojis, minimal, format }).then(result => { return res.json(result); }).catch(error => errorHandler(error, req, res)); } - return getWorldoMetersTable({ isCurl, emojis, minimal }) + return getWorldoMetersTable({ countryCode: country, isCurl, emojis, minimal }) .then(result => { return res.send(result); }).catch(error => errorHandler(error, req, res)); diff --git a/lib/api.js b/lib/api.js index 99e5235..101fe0a 100644 --- a/lib/api.js +++ b/lib/api.js @@ -88,7 +88,8 @@ exports.getWorldoMetersData = async (countryCode = 'ALL') => { worldStats.confirmed = worldStats.cases; let finalData = result.data; if (countryCode && countryCode !== 'ALL') { - finalData = finalData.filter((obj) => obj.countryCode === countryCode); + // extra filter to cater for trailing comma, ie /gb, + finalData = finalData.filter((obj) => countryCode.toLowerCase().split(',').filter((obj) => obj.length > 1).includes(obj.countryCode.toLowerCase())); } const returnObj = { data: finalData, worldStats };