Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

152
Visualizações
como comprobar si el usuario que pone un producto es el que lo modifica con el backend

mi mentor quiere que verifique si el usuario que puso una salsa en la aplicación es el mismo usuario que quiere modificar. me dice que puedo usar una condición que hice! lo hice pero nada funciona

aquí está la sección de código:

 exports.updateSauce = (req, res, next) => { //console.log (req); //recherche de la sauce dont l'id est en paramètre sauce.findOne({ _id: req.params.id }) .then((sauce) => { //teste si l'id du créateur de la sauce est le même que l'id du requeteur if (sauce.userId !== req.auth.userId) { return res.status(401).json({ error: new Error('Requête non autorisée !') }) } // ok, c'est le même console.log("OK"); // effaçons le fichier image d'origine si l'on change d'image if (req.file) { //si une image est upload const last_filename = sauce.imageUrl.split('/images/')[1]; console.log(last_filename); fs.unlink(`images/${last_filename}`, () => { console.log("FICHIER EFFACE"); const sauceObject = { ...JSON.parse(req.body.sauce), imageUrl: `${req.protocol}://${req.get('host')}/images/${req.file.filename}` }; console.log(sauceObject); console.log(req.params.id); sauce.updateOne({ _id: req.params.id }, { ...sauceObject, _id: req.params.id }) .then(() => res.status(200).json({ message: 'Sauce modifiée !' })) .catch(error => res.status(400).json({ error })); }); } else { console.log("SANS FICHIER MODIFIE"); console.log(req.body); const sauceObject = { ...req.body }; console.log(req.params.id); sauce.updateOne({ _id: req.params.id }, { ...sauceObject, _id: req.params.id }) .then(() => { console.log("updated"); return res.status(200).json({ message: 'Sauce modifiée !' }) } ) .catch(error => res.status(400).json({ error })); } } );
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Esto se ve bien, pero podría no funcionar si uno es un ID de objeto y el otro es una cadena. ¿Puede verificar cuál podría ser una cadena en la sección a continuación?

 if (sauce.userId !== mongoose.Types.ObjectId(req.auth.userId)) { return res.status(401).json({ error: new Error('Requête non autorisée !') })

¿Puedes registrar estos dos sauce.userId y req.auth.userId y compartir el resultado?

about 4 years ago · Juan Pablo Isaza Relatório

0

Luego, debe convertir objectId en cadena antes de comparar:

 if (sauce.userId.toString() !== req.auth.userId) { //If req.auth.userId is string as you said return res.status(401).json({ error: new Error('Requête non autorisée !') }); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda