From 9c73009134cd8892315bb831c2484c337ddcdba7 Mon Sep 17 00:00:00 2001 From: Pedro pereira Date: Thu, 29 Aug 2024 20:37:58 +0100 Subject: [PATCH] Add authenticator and mine route --- controllers/wishlist.js | 66 ++++++++++++++++++++++++---------------- routes/wishlistRouter.js | 5 +++ 2 files changed, 44 insertions(+), 27 deletions(-) diff --git a/controllers/wishlist.js b/controllers/wishlist.js index 06ad444..9cabf99 100644 --- a/controllers/wishlist.js +++ b/controllers/wishlist.js @@ -1,37 +1,49 @@ -const Wishlist = require('../models/Wishlist'); +const Wishlist = require("../models/Wishlist"); async function create(req, res) { - try { - const data = req.body; - const newWishlist = await Wishlist.create(data); - res.status(201).json(newWishlist); - } catch (err) { - console.error("Error creating review:", err); - res.status(400).json({ error: err.message || "An unknown error occurred" }); - } + try { + const data = req.body; + const newWishlist = await Wishlist.create(data); + res.status(201).json(newWishlist); + } catch (err) { + console.error("Error creating review:", err); + res.status(400).json({ error: err.message || "An unknown error occurred" }); + } } + // show function: async function show(req, res) { - try { - const userId = parseInt(req.params.user_id); - const wishlists= await Wishlist.findByUserId(userId); - res.status(200).json(wishlists); - } catch (err) { - console.error("Error fetching wishlists:", err); - res.status(404).json({ error: err.message || "Wishlists not found." }); - } + try { + const userId = parseInt(req.params.user_id); + const wishlists = await Wishlist.findByUserId(userId); + res.status(200).json(wishlists); + } catch (err) { + console.error("Error fetching wishlists:", err); + res.status(404).json({ error: err.message || "Wishlists not found." }); + } +} + +async function showMine(req, res) { + try { + const userId = req.user_id; + const wishlists = await Wishlist.findByUserId(userId); + res.status(200).json(wishlists); + } catch (err) { + console.error("Error fetching wishlists:", err); + res.status(404).json({ error: err.message || "Wishlists not found." }); + } } async function destroy(req, res) { - try { - const wishlistId = parseInt(req.params.wishlist_id); - const wishlist= await Wishlist.findByWishlistId(wishlistId); - await wishlist.destroy(); - res.status(204).end(); - } catch (err) { - console.error("Error deleting wishlist:", err); - res.status(404).json({ error: err.message || "Wishlist not found" }); - } + try { + const wishlistId = parseInt(req.params.wishlist_id); + const wishlist = await Wishlist.findByWishlistId(wishlistId); + await wishlist.destroy(); + res.status(204).end(); + } catch (err) { + console.error("Error deleting wishlist:", err); + res.status(404).json({ error: err.message || "Wishlist not found" }); + } } -module.exports = { create, show, destroy }; +module.exports = { create, show, destroy, showMine }; diff --git a/routes/wishlistRouter.js b/routes/wishlistRouter.js index 8f031d8..50c92e0 100644 --- a/routes/wishlistRouter.js +++ b/routes/wishlistRouter.js @@ -1,11 +1,16 @@ const { Router } = require("express"); +const { authenticator } = require("../middleware/authenticator.js"); + const wishlistController = require("../controllers/wishlist.js"); const wishlistRouter = Router(); +wishlistRouter.use(authenticator); + // create new wishlist: wishlistRouter.post("/", wishlistController.create); +wishlistRouter.get("/mine", wishlistController.showMine); // find wishlist by user_id wishlistRouter.get("/user/:user_id", wishlistController.show);