Your IP : 216.73.216.220


Current Path : /proc/thread-self/root/home/deltalab/PMS/ims-connector/rest/routes/
Upload File :
Current File : //proc/thread-self/root/home/deltalab/PMS/ims-connector/rest/routes/attribute-sets.js

const express = require('express');
const attributeSetUtil = require('../../logic/magento/attribute-set');

const { attributeSetQuery } = require('../queries');

const router = express.Router({ mergeParams: true });

router.get('/:storeName', async (req, res) => {
  try {
    const attributeSets = await attributeSetQuery.readAllAttributeSets(req.params.storeName);
    return res.status(200).send({ success: true, data: attributeSets });
  } catch (error) {
    console.log(error);
    return res.status(400).send({ success: false, message: 'Error reading the attribute sets' });
  }
});

router.get('/:storeName/:attributeSetName', async (req, res) => {
  try {
    const attributeSets = await attributeSetQuery.readAllAttributeSets(req.params.storeName);
    const attributeSetId = await attributeSetUtil.getAttributeSetIdByName(attributeSets.items, req.params.attributeSetName);
    const attributes = await attributeSetQuery.readAttributeSetById(req.params.storeName, attributeSetId);
    const indacoAttributes = await attributeSetUtil.filterIndacoAttributes(attributes);
    return res.status(200).send({ success: true, data: { id: attributeSetId, attributes: indacoAttributes } });
  } catch (error) {
    return res.status(400).send({ success: false, message: 'Error reading the products' });
  }
});

router.get('/:storeName/filter/:attributeSetName', async (req, res) => {
  try {
    const attributeSet = await attributeSetQuery.readAttributeSetByName('all', req.params.attributeSetName);
    return res.status(200).send({ success: true, data: attributeSet });
  } catch (error) {
    // console.log(error);
    return res.status(400).send({ success: false, message: 'Error reading the products' });
  }
});

module.exports = router;