@arc-fusion/cli
Version:
CLI for running Arc Fusion on your local machine
81 lines (74 loc) • 2.28 kB
JavaScript
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
}