diff --git a/src/server/api/routes/bookstore/index.js b/src/server/api/routes/bookstore/index.js index ab16396b3..39983dfc1 100644 --- a/src/server/api/routes/bookstore/index.js +++ b/src/server/api/routes/bookstore/index.js @@ -40,7 +40,7 @@ router.get('/bookstore/products', async (req, res, next) => { const { limit: pageSize, offset, tag } = req.query; const tagId = tag || 'all'; - + console.log('/bookstore/products req.query', req.query); const result = await fetchAirtableCMSProductsByTagId(tagId, { pageSize, offset: Array.isArray(offset) ? offset.join('/') : offset, @@ -55,6 +55,8 @@ router.get('/bookstore/products', async (req, res, next) => { res.json(result); } catch (error) { + console.error('/bookstore/products error', error); + if (error.response?.status === 422) { res.status(404).send('TAG_NOT_FOUND'); return; diff --git a/src/server/api/util/airtable.js b/src/server/api/util/airtable.js index c1e74ec6d..192ab3edb 100644 --- a/src/server/api/util/airtable.js +++ b/src/server/api/util/airtable.js @@ -26,18 +26,21 @@ async function fetchAirtableCMSProductsByTagId( tagId, { pageSize = 100, offset } ) { + const params = { + filterByFormula: 'NOT(Hidden)', + pageSize, + view: normalizeTagIdForViewName(tagId), + }; + if (offset) { + params.offset = offset; + } const results = await axios.get( `https://api.airtable.com/v0/${AIRTABLE_CMS_BASE_ID}/${AIRTABLE_CMS_PRODUCTS_TABLE_ID}`, { headers: { Authorization: `Bearer ${AIRTABLE_API_SECRET}`, }, - params: { - filterByFormula: 'NOT(Hidden)', - pageSize, - view: normalizeTagIdForViewName(tagId), - offset, - }, + params, } );