I want to implement a DRY principle for my code below which deletes two different user and also i want to implement a dynamic response based on the details of the model provided to the find method
//This code here deletes the student
exports.deleteStudent = async (req, res) => {
try {
let ID = req.query.id
let exactStudent = await Student.findById(ID)
if (!exactStudent) {
return res.status(400).json({ error: "Student with the specified ID not present" })
}
await Student.findByIdAndDelete(ID);
res.status(200).json({ success: 'Student Deleted successfully ' })
} catch (error) {
throw error
}
}
//the code here deletes the teachers
exports.deleteTeacher = async (req, res) => {
try {
let ID = req.query.id
let exactTeacher = await Teacher.findById(ID)
if (!exactTeacher) {
return res.status(400).json({ error: "Teacher with the specified ID not present" })
}
await Teacher.findByIdAndDelete(ID);
res.status(200).json({ error: 'Teacher Deleted successfully ' })
} catch (error) {
throw error
}
}