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