const ArchiveProjet = require('../models/archiveProjet.model.js');
// Create and Save a new admin
exports.create = (req, res) => {
// Validate request
if (!req.body.nomProjet) {
return res.status(400).send({
message: "archive content can not be empty"
});
}
// Create a admin
const archiveProjet = new ArchiveProjet({
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
archiveProjet.save()
.then(data => {
res.send(data);
}).catch(err => {
res.status(500).send({
message: err.message || "Some error occurred while creating the archive."
});
});
};
// Retrieve and return all admin from the database.
exports.findAll = (req, res) => {
ArchiveProjet.find()
.then(archiveProjets => {
res.send(archiveProjets);
}).catch(err => {
res.status(500).send({
message: err.message || "Some error occurred while retrieving archiveProjets."
});
});
};
// Find a single admin with a adminId
exports.findOne = (req, res) => {
ArchiveProjet.findById(req.params.archiveProjetId)
.then(archiveProjet => {
if (!archiveProjet) {
return res.status(404).send({
message: "archiveProjet not found with id " + req.params.archiveProjetId
});
}
res.send(archiveProjet);
}).catch(err => {
if (err.kind === 'ObjectId') {
return res.status(404).send({
message: "archiveProjet not found with id " + req.params.archiveProjetId
});
}
return res.status(500).send({
message: "Error retrieving archiveProjet with id " + req.params.archiveProjetId
});
});
};
// Update a admin identified by the adminId in the request
exports.update = (req, res) => {
// Validate Request
if (!req.body.nomPrenom) {
return res.status(400).send({
message: "archiveProjet content can not be empty"
});
}
// Find admin and update it with the request body
ArchiveProjet.findByIdAndUpdate(req.params.archiveProjetId, {
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(archiveProjet => {
if (!archiveProjet) {
return res.status(404).send({
message: "archiveProjet not found with id " + req.params.archiveProjetId
});
}
res.send(archiveProjet);
}).catch(err => {
if (err.kind === 'ObjectId') {
return res.status(404).send({
message: "archiveProjet not found with id " + req.params.archiveProjetId
});
}
return res.status(500).send({
message: "Error updating archiveProjet with id " + req.params.archiveProjetId
});
});
};
// Delete a admin with the specified adminId in the request
exports.delete = (req, res) => {
ArchiveProjet.findByIdAndRemove(req.params.archiveProjetId)
.then(archiveProjet => {
if (!archiveProjet) {
return res.status(404).send({
message: "archiveProjet not found with id " + req.params.archiveProjetId
});
}
res.send({ message: "archiveProjet deleted successfully!" });
}).catch(err => {
if (err.kind === 'ObjectId' || err.name === 'NotFound') {
return res.status(404).send({
message: "archiveProjet not found with id " + req.params.archiveProjetId
});
}
return res.status(500).send({
message: "Could not delete archiveProjetId with id " + req.params.archiveProjetId
});
});
};