Skip to content

Commit 3908345

Browse files
πŸ€ [Backend] delete api for contactUs detail created (#926)
1 parent eaa5048 commit 3908345

File tree

3 files changed

+59
-0
lines changed

3 files changed

+59
-0
lines changed
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
const to = require('await-to-js').default;
2+
const { ErrorHandler } = require('../../../helpers/error');
3+
const constants = require('../../../constants');
4+
const Contact = require("../../models/contactUs");
5+
const Admin = require("../../models/Admin");
6+
7+
// Controller to delete a contact by adminid and contactdocumentid
8+
module.exports = async (req, res, next) => {
9+
const { contactId, adminId } = req.body;
10+
11+
// Check if contactId is provided
12+
if (!contactId || !adminId) {
13+
const error = new ErrorHandler(constants.ERRORS.VALIDATION, {
14+
statusCode: 400,
15+
message: 'Validation Error',
16+
errStack: 'Both IDs are required to delete a contact',
17+
});
18+
return next(error);
19+
}
20+
//Find if the user is admin or not
21+
const admin = await to(Admin.findOne({ _id: adminId }));
22+
if (!admin) {
23+
const error = new ErrorHandler(constants.ERRORS.USER, {
24+
statusCode: 400,
25+
message: "Admin Validation Error",
26+
errStack: "Admin user provided not found in database"
27+
})
28+
return next(error);
29+
}
30+
// Delete the contact
31+
const [err, result] = await to(Contact.findByIdAndDelete(contactId));
32+
33+
if (err) {
34+
const error = new ErrorHandler(constants.ERRORS.DATABASE, {
35+
statusCode: 500,
36+
message: 'Database Error',
37+
errStack: err,
38+
});
39+
return next(error);
40+
}
41+
42+
if (!result) {
43+
const error = new ErrorHandler(constants.ERRORS.NOT_FOUND, {
44+
statusCode: 404,
45+
message: 'Contact Not Found',
46+
});
47+
return next(error);
48+
}
49+
50+
res.status(200).send({
51+
message: 'Contact deleted successfully',
52+
});
53+
54+
return next();
55+
};

β€Žbackend/app/routes/contactUs/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ const contactValidationSchema = require('./@validationSchema');
33
const validation = require('../../../helpers/middlewares/validation');
44
const postContact = require('./post');
55
const getContact = require('./get');
6+
const deleteContactUs = require("./delete");
67
const { authMiddleware } = require('../../../helpers/middlewares/auth');
78

89
router.get('/getcontactus', authMiddleware, getContact);
910
router.post('/contactus', validation(contactValidationSchema), postContact);
11+
router.delete("/deleteContactUs", deleteContactUs);
1012

1113
module.exports = router;

β€Žbackend/app/routes/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const deleteFaq = require('./faq/deleteFaq');
1010
const updateFaq = require('./faq/updateFaq')
1111
const joinUs = require('./joinUs');
1212
const contactUs = require('./contactUs/post');
13+
const deleteContactUs = require("./contactUs/delete");
1314

1415
const getContactUs = require('./contactUs/get');
1516
const contactValidationSchema = require('./contactUs/@validationSchema');
@@ -29,6 +30,7 @@ router.use('/updateFaq',updateFaq)
2930
router.use('/getFaq', getFaq);
3031
router.use('/contactus', validation(contactValidationSchema), contactUs);
3132
router.use('/getcontactus', getContactUs);
33+
router.use("/deleteContactUs", deleteContactUs);
3234
router.use('/broadcast', broadcast);
3335
router.use('/question', question);
3436
router.use('/answers', answer);

0 commit comments

Comments
Β (0)