const Visite = require('../models/visite.model.js');
// Create and Save a new admin
exports.create = (req, res) => {
// Validate request
if (!req.body.idProjet) {
return res.status(400).send({
message: "Visite content can not be empty"
});
}
// Create a admin
const visite = new Visite({
idProjet: req.body.idProjet || "Untitled Visite",
date: req.body.date,
etapeAvancement: req.body.etapeAvancement,
idCommercial: req.body.idCommercial,
observation: req.body.observation,
etatProjet: req.body.etatProjet,
reclamation: req.body.reclamation,
idDepartement: req.body.idDepartement,
});
// Save admin in the database
visite.save()
.then(data => {
res.send(data);
}).catch(err => {
res.status(500).send({
message: err.message || "Some error occurred while creating the visite."
});
});
};
// Retrieve and return all admin from the database.
exports.findAll = (req, res) => {
Visite.find()
.then(visites => {
res.send(visites);
}).catch(err => {
res.status(500).send({
message: err.message || "Some error occurred while retrieving visites."
});
});
};
// Find a single admin with a adminId
exports.findOne = (req, res) => {
Visite.findById(req.params.visiteId)
.then(visite => {
if (!visite) {
return res.status(404).send({
message: "visite not found with id " + req.params.visiteId
});
}
res.send(visite);
}).catch(err => {
if (err.kind === 'ObjectId') {
return res.status(404).send({
message: "visite not found with id " + req.params.visiteId
});
}
return res.status(500).send({
message: "Error retrieving visite with id " + req.params.visiteId
});
});
};
// Update a admin identified by the adminId in the request
exports.update = (req, res) => {
// Validate Request
if (!req.body.idProjet) {
return res.status(400).send({
message: "visite content can not be empty"
});
}
// Find admin and update it with the request body
Visite.findByIdAndUpdate(req.params.visiteId, {
idProjet: req.body.idProjet || "Untitled Visite",
date: req.body.date,
etapeAvancement: req.body.etapeAvancement,
idCommercial: req.body.idCommercial,
observation: req.body.observation,
etatProjet: req.body.etatProjet,
reclamation: req.body.reclamation,
idDepartement: req.body.idDepartement,
}, { new: true })
.then(visite => {
if (!visite) {
return res.status(404).send({
message: "visite not found with id " + req.params.visiteId
});
}
res.send(visite);
}).catch(err => {
if (err.kind === 'ObjectId') {
return res.status(404).send({
message: "visite not found with id " + req.params.visiteId
});
}
return res.status(500).send({
message: "Error updating visite with id " + req.params.visiteId
});
});
};
// Delete a admin with the specified adminId in the request
exports.delete = (req, res) => {
Visite.findByIdAndRemove(req.params.visiteId)
.then(visite => {
if (!visite) {
return res.status(404).send({
message: "visite not found with id " + req.params.visiteId
});
}
res.send({ message: "visite deleted successfully!" });
}).catch(err => {
if (err.kind === 'ObjectId' || err.name === 'NotFound') {
return res.status(404).send({
message: "visite not found with id " + req.params.visiteId
});
}
return res.status(500).send({
message: "Could not delete visite with id " + req.params.visiteId
});
});
};