Fixed the addon & release route (again)

This commit is contained in:
Mathias Wagner 2022-07-10 18:26:11 +02:00
parent b36318a897
commit eca643664e
Signed by: Mathias
GPG Key ID: B8DC354B0A1F5B44
2 changed files with 6 additions and 8 deletions

View File

@ -70,7 +70,7 @@ app.patch("/:addonId", isAuthenticatedUser, async (req, res) => {
const addon = await getAddonById(req.params.addonId); const addon = await getAddonById(req.params.addonId);
if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); 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); const updatedAddon = await addon.updateOne(req.body);
if (!updatedAddon) return res.status(500).json({message: "An internal error occurred"}); 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); const addon = await getAddonById(req.params.addonId);
if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); 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 = {}; let updatedBody = {};
for (let link in req.body) for (let link in req.body)
@ -103,7 +103,7 @@ app.delete("/:addonId", isAuthenticatedUser, async (req, res) => {
const addon = await getAddonById(req.params.addonId); const addon = await getAddonById(req.params.addonId);
if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); 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 addon.delete();
await removeAllReleases(req.params.addonId); await removeAllReleases(req.params.addonId);

View File

@ -47,7 +47,7 @@ app.put("/:addonId", isAuthenticatedUser, async (req, res) => {
const addon = await getAddonById(req.params.addonId); const addon = await getAddonById(req.params.addonId);
if (addon === null) return res.status(404).json({message: "The provided addon does not exist"}); 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); const release = await getReleaseByAddonId(req.params.addonId, req.body.version);
if (release) return res.status(409).json({message: "The provided release already exists"}); 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); const addon = await getAddonById(release.addon_id);
if (addon === null) return res.status(404).json({message: "The provided release does not exist"}); 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._id)) 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 (!await isValidReleaseFile(addon.type, file)) return res.status(415).json({message: "The provided file format is not supported"}); 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); const addon = await getAddonById(release.addon_id);
if (addon === null) return res.status(404).json({message: "The provided release does not exist"}); 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(); await release.delete();
fs.unlink(process.env.RELEASE_PATH + "/" + release._id, () => res.json({message: "Successfully deleted the release"})); fs.unlink(process.env.RELEASE_PATH + "/" + release._id, () => res.json({message: "Successfully deleted the release"}));