From eca643664e1158ad4baf2907a6066de6db28d354 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Sun, 10 Jul 2022 18:26:11 +0200 Subject: [PATCH] Fixed the addon & release route (again) --- routes/addon.js | 6 +++--- routes/release.js | 8 +++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/routes/addon.js b/routes/addon.js index 0bc138e..bf7dc3f 100644 --- a/routes/addon.js +++ b/routes/addon.js @@ -70,7 +70,7 @@ app.patch("/:addonId", isAuthenticatedUser, async (req, res) => { const addon = await getAddonById(req.params.addonId); if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); - if (!req.user._id.equals(addon.author)) return res.status(404).json({message: "The provided addon does not exist"}); + if (!req.user._id.equals(addon.author._id)) return res.status(404).json({message: "The provided addon does not exist"}); const updatedAddon = await addon.updateOne(req.body); if (!updatedAddon) return res.status(500).json({message: "An internal error occurred"}); @@ -86,7 +86,7 @@ app.patch("/:addonId/links", isAuthenticatedUser, async (req, res) => { const addon = await getAddonById(req.params.addonId); if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); - if (!req.user._id.equals(addon.author)) return res.status(404).json({message: "The provided addon does not exist"}); + if (!req.user._id.equals(addon.author._id)) return res.status(404).json({message: "The provided addon does not exist"}); let updatedBody = {}; for (let link in req.body) @@ -103,7 +103,7 @@ app.delete("/:addonId", isAuthenticatedUser, async (req, res) => { const addon = await getAddonById(req.params.addonId); if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); - if (!req.user._id.equals(addon.author)) return res.status(404).json({message: "The provided addon does not exist"}); + if (!req.user._id.equals(addon.author._id)) return res.status(404).json({message: "The provided addon does not exist"}); await addon.delete(); await removeAllReleases(req.params.addonId); diff --git a/routes/release.js b/routes/release.js index 2e950b7..9195d26 100644 --- a/routes/release.js +++ b/routes/release.js @@ -47,7 +47,7 @@ app.put("/:addonId", isAuthenticatedUser, async (req, res) => { const addon = await getAddonById(req.params.addonId); if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); - if (!req.user._id.equals(addon.author)) return res.status(404).json({message: "The provided addon does not exist"}); + if (!req.user._id.equals(addon.author._id)) return res.status(404).json({message: "The provided addon does not exist"}); const release = await getReleaseByAddonId(req.params.addonId, req.body.version); if (release) return res.status(409).json({message: "The provided release already exists"}); @@ -73,9 +73,7 @@ app.post("/:id/upload", isAuthenticatedUser, releaseUpload, async (req, res) => const addon = await getAddonById(release.addon_id); if (addon === null) return res.status(404).json({message: "The provided release does not exist"}); - console.log(addon) - - if (!req.user._id.equals(addon.author)) return res.status(404).json({message: "The provided release does not exist"}); + if (!req.user._id.equals(addon.author._id)) return res.status(404).json({message: "The provided release does not exist"}); if (!await isValidReleaseFile(addon.type, file)) return res.status(415).json({message: "The provided file format is not supported"}); @@ -94,7 +92,7 @@ app.delete("/:id", isAuthenticatedUser, async (req, res) => { const addon = await getAddonById(release.addon_id); if (addon === null) return res.status(404).json({message: "The provided release does not exist"}); - if (!req.user._id.equals(addon.author)) return res.status(404).json({message: "The provided release does not exist"}); + if (!req.user._id.equals(addon.author._id)) return res.status(404).json({message: "The provided release does not exist"}); await release.delete(); fs.unlink(process.env.RELEASE_PATH + "/" + release._id, () => res.json({message: "Successfully deleted the release"}));