From a10a3a4edf6e99917867c4c1f0b6dffce8021445 Mon Sep 17 00:00:00 2001 From: Hemu21 Date: Sun, 19 May 2024 13:01:19 +0530 Subject: [PATCH] Backend delete fixed --- backend/app/routes/contactUs/delete.js | 63 +++++++------------------- backend/app/routes/contactUs/index.js | 8 ++-- backend/app/routes/index.js | 12 +---- 3 files changed, 23 insertions(+), 60 deletions(-) diff --git a/backend/app/routes/contactUs/delete.js b/backend/app/routes/contactUs/delete.js index b00df2ba..be59b6ff 100644 --- a/backend/app/routes/contactUs/delete.js +++ b/backend/app/routes/contactUs/delete.js @@ -1,55 +1,26 @@ -const to = require('await-to-js').default; -const { ErrorHandler } = require('../../../helpers/error'); -const constants = require('../../../constants'); -const Contact = require("../../models/contactUs"); -const Admin = require("../../models/Admin"); +const mongoose = require('mongoose'); +const ContactUs = require('../../models/contactUs'); -// Controller to delete a contact by adminid and contactdocumentid module.exports = async (req, res, next) => { - const { contactId, adminId } = req.body; + try { + const payload = res.locals.decode; + const { contactUsId } = req.body; - // Check if contactId is provided - if (!contactId || !adminId) { - const error = new ErrorHandler(constants.ERRORS.VALIDATION, { - statusCode: 400, - message: 'Validation Error', - errStack: 'Both IDs are required to delete a contact', - }); - return next(error); + if (!payload.isSuperAdmin) { + return res.status(401).json({ error: 'You are not authorized to perform this action' }); } - //Find if the user is admin or not - const admin = await to(Admin.findOne({ _id: adminId })); - if (!admin) { - const error = new ErrorHandler(constants.ERRORS.USER, { - statusCode: 400, - message: "Admin Validation Error", - errStack: "Admin user provided not found in database" - }) - return next(error); - } - // Delete the contact - const [err, result] = await to(Contact.findByIdAndDelete(contactId)); - if (err) { - const error = new ErrorHandler(constants.ERRORS.DATABASE, { - statusCode: 500, - message: 'Database Error', - errStack: err, - }); - return next(error); + if (!mongoose.Types.ObjectId.isValid(contactUsId)) { + return res.status(400).json({ error: 'Invalid Contact Us ID' }); } - if (!result) { - const error = new ErrorHandler(constants.ERRORS.NOT_FOUND, { - statusCode: 404, - message: 'Contact Not Found', - }); - return next(error); + const contactUsEntry = await ContactUs.findByIdAndDelete(contactUsId); + if (!contactUsEntry) { + return res.status(404).json({ error: 'Contact Us entry not found' }); } - res.status(200).send({ - message: 'Contact deleted successfully', - }); - - return next(); -}; \ No newline at end of file + return res.status(200).json({ message: 'Contact Us entry deleted successfully' }); + } catch (error) { + return res.status(500).json({ error: 'Internal server error' }); + } +} \ No newline at end of file diff --git a/backend/app/routes/contactUs/index.js b/backend/app/routes/contactUs/index.js index 25c8d7c0..b8d55670 100644 --- a/backend/app/routes/contactUs/index.js +++ b/backend/app/routes/contactUs/index.js @@ -3,11 +3,11 @@ const contactValidationSchema = require('./@validationSchema'); const validation = require('../../../helpers/middlewares/validation'); const postContact = require('./post'); const getContact = require('./get'); -const deleteContactUs = require("./delete"); +const deleteContactUs = require('./delete'); const { authMiddleware } = require('../../../helpers/middlewares/auth'); -router.get('/getcontactus', authMiddleware, getContact); -router.post('/contactus', validation(contactValidationSchema), postContact); -router.delete("/deleteContactUs", deleteContactUs); +router.get('/getcontactus', getContact); +router.post('/',authMiddleware, validation(contactValidationSchema), postContact); +router.delete("/deleteContactUs",authMiddleware, deleteContactUs); module.exports = router; diff --git a/backend/app/routes/index.js b/backend/app/routes/index.js index aa25dd28..ba54ff67 100644 --- a/backend/app/routes/index.js +++ b/backend/app/routes/index.js @@ -9,13 +9,7 @@ const getFaq = require('./faq/getFaq'); const deleteFaq = require('./faq/deleteFaq'); const updateFaq = require('./faq/updateFaq') const joinUs = require('./joinUs'); -const contactUs = require('./contactUs/post'); -const deleteContactUs = require("./contactUs/delete"); - -const getContactUs = require('./contactUs/get'); -const contactValidationSchema = require('./contactUs/@validationSchema'); -const validation = require('../../helpers/middlewares/validation'); - +const contactus = require('./contactUs') const question = require('./Q&A/question'); const answer = require('./Q&A/answers'); const teamMember = require('./teamMember'); @@ -28,9 +22,7 @@ router.use('/faq', faq); router.use('/deleteFaq', deleteFaq); router.use('/updateFaq',updateFaq) router.use('/getFaq', getFaq); -router.use('/contactus', validation(contactValidationSchema), contactUs); -router.use('/getcontactus', getContactUs); -router.use("/deleteContactUs", deleteContactUs); +router.use('/contactus', contactus); router.use('/broadcast', broadcast); router.use('/question', question); router.use('/answers', answer);