| Current Path : /var/www/recommendations/www/routes/ |
| Current File : /var/www/recommendations/www/routes/deleteProduct.js |
const express = require('express');
const router = express.Router();
const { Op } = require('sequelize');
const Related = require('../model/Related');
const RelatedTitle = require('../model/RelatedTitle');
const { checkAuth } = require('../library/checkAuth.js');
router.post('/', checkAuth, async (req, res) => {
const data = req.body;
const fieldsRequired = ['sku'];
if (!Array.isArray(data)) {
return res.status(400).json({ message: 'The request body should be an array of records' });
}
try {
const promises = data.map(async (record) => {
console.log(record);
const fieldsInserted = Object.keys(record);
const fieldsExtra = fieldsInserted.filter(field => !fieldsRequired.includes(field));
if (fieldsExtra.length > 0) {
throw new Error('The record contains invalid extra fields: ' + fieldsExtra.join(', '));
}
await Related.destroy({ where: { sku: record.sku } });
await RelatedTitle.destroy({ where: { sku: record.sku } });
});
await Promise.all(promises);
return res.status(201).json({ message: 'Data deleted successfully' });
} catch (error) {
console.error('Error entering data: ' + error);
return res.status(500).json({ message: 'Server error' });
}
});
module.exports = router;