Bonjour,
je m'entraine sur NODE en faisant un site de recherche d'emploi.
J'ai en revanche un petit soucis.
L'offre a été posté et il contient une table candidates. Lorsque via postman je simule la candidature cela fonctionne. Puis je voudrais que l'user ayant déposé une candidature est lui aussi une trace de ses candidatures. Du coup l'user contient une table candidacies.
Les insertions dans les deux tables fonctionnes mais j'ai un soucis avec le callback. Il me renvoi
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
lorsque je supprime mon callback je n'ai aucune erreur de renvoyé vu qu'il n'y a pas de res. Comment faire pour réctifier ça ?
Merci d'avance
je m'entraine sur NODE en faisant un site de recherche d'emploi.
J'ai en revanche un petit soucis.
L'offre a été posté et il contient une table candidates. Lorsque via postman je simule la candidature cela fonctionne. Puis je voudrais que l'user ayant déposé une candidature est lui aussi une trace de ses candidatures. Du coup l'user contient une table candidacies.
Les insertions dans les deux tables fonctionnes mais j'ai un soucis avec le callback. Il me renvoi
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
lorsque je supprime mon callback je n'ai aucune erreur de renvoyé vu qu'il n'y a pas de res. Comment faire pour réctifier ça ?
module.exports.candidacy = (req, res) => {
if (!ObjectID.isValid(req.params.id))
return res.status(400).send("ID unknown : " + req.params.id);
try {
PostModel.findByIdAndUpdate(
req.params.id,
{
$push: {
candidates: {
candidateId: req.body.candidateId,
candidateName: req.body.candidateName,
candidateFirstname: req.body.candidateFirstname,
candidateCv: req.body.candidateCv,
timestamp: new Date().getTime(),
},
},
},
{ new: true },
(err, docs) => {
if (!err) res.send(docs);
else res.status(400).send(err);
}
);
UserModel.findByIdAndUpdate(
req.body.candidateId,
{
$addToSet: { candidacies: req.params.id },
},
{ new: true, upsert: true },
(err, docs) => {
if (!err) res.status(200).json(docs);
return res.status(400).send(err);
}
);
} catch (err) {
res.status(400).send(err);
}
};
Merci d'avance