Your IP : 216.73.217.30


Current Path : /var/www/recommendations/www/routes/
Upload File :
Current File : /var/www/recommendations/www/routes/deleteUser.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 = ['user'];

    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: { user: record.user } });
            await RelatedTitle.destroy({ where: { user: record.user } });
        });
        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;