UNPKG

@arc-fusion/cli

Version:

CLI for running Arc Fusion on your local machine

81 lines (74 loc) 2.28 kB
const axios = require('axios') const { contentBase, accessToken } = require('../environment') const getAssortments = async (req, res, next) => { try { const url = contentBase && `${contentBase}/commerce/retail/api/v1/searchprovider/4/proxy/1/indexes` const options = accessToken && { headers: { Authorization: `Bearer ${accessToken}` } } const assortments = await axios.get(url, options) return res.status(200).send(assortments?.data) } catch (error) { console.error('INTEGRATION API ERROR: COMMERCE-ERROR-GET-ASSORTMENTS') return res .status(500) .send({ message: error.message, errorCode: 'errors.searchable.assortments.500' }) } } const getAssortmentsSelector = async (req, res, next) => { try { const url = `${contentBase}/commerce/retail/api/v1/searchprovider?search=typeId=4` const options = accessToken && { headers: { Authorization: `Bearer ${accessToken}` } } const assortments = await axios.get(url, options) return res.status(200).send(assortments?.data) } catch (error) { console.error('INTEGRATION API ERROR: COMMERCE-GET-ASSORTMENTS-SELECTOR') return res .status(500) .send({ message: error.message, errorCode: 'errors.searchable.assortments.500' }) } } const postAssortments = async (req, res, next) => { const { assortmentId } = req.params if (!assortmentId) { return res.status(400).send({ message: 'missing assortment identifier', errorCode: 'errors.commerce.postAssortments.400' }) } try { const url = `${contentBase}/commerce/retail/api/v1/searchprovider/4/proxy/1/indexes/${assortmentId}/rules/search` const options = accessToken && { headers: { Authorization: `Bearer ${accessToken}` } } const assortments = await axios.post(url, {}, options) return res.status(200).send(assortments?.data) } catch (error) { console.error('INTEGRATION API ERROR: COMMERCE-ERROR-POST') return res .status(500) .send({ message: error.message, errorCode: 'errors.searchable.assortments.500' }) } } module.exports = { getAssortments, getAssortmentsSelector, postAssortments }