From 4566a3d39c5812bea399f019f27271ba5f62b3d6 Mon Sep 17 00:00:00 2001 From: rishav_dml Date: Tue, 28 Jan 2025 12:01:08 +0530 Subject: [PATCH] Fully working apis --- backend/controllers/Coach.controller.js | 8 ++--- backend/controllers/Event.controller.js | 8 ++--- backend/controllers/HeroImage.controller.js | 37 ++++++++------------- backend/routes/HeroImage.route.js | 4 +-- backend/utils/multer.js | 3 +- 5 files changed, 25 insertions(+), 35 deletions(-) diff --git a/backend/controllers/Coach.controller.js b/backend/controllers/Coach.controller.js index 6d5bf4c..f297f8b 100644 --- a/backend/controllers/Coach.controller.js +++ b/backend/controllers/Coach.controller.js @@ -7,7 +7,7 @@ export const getCoaches = async (req, res) => { const coaches = await prisma.coach.findMany(); res.status(200).json({ status: 200, data: coaches }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; @@ -20,7 +20,7 @@ export const createCoach = async (req, res) => { }); res.status(201).json({ status: 201, data: newEvent }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; @@ -35,7 +35,7 @@ export const updateCoach = async (req, res) => { }); res.status(200).json({ status: 200, data: updatedEvent }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; @@ -50,6 +50,6 @@ export const deleteCoach = async (req, res) => { message: "Event deleted successfully", }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; diff --git a/backend/controllers/Event.controller.js b/backend/controllers/Event.controller.js index 52b76f7..a0cb31b 100644 --- a/backend/controllers/Event.controller.js +++ b/backend/controllers/Event.controller.js @@ -7,7 +7,7 @@ export const getEvents = async (req, res) => { const events = await prisma.events.findMany(); res.status(200).json({ status: 200, data: events }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; @@ -23,7 +23,7 @@ export const createEvent = async (req, res) => { }); res.status(201).json({ status: 201, data: newEvent }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; @@ -38,7 +38,7 @@ export const updateEvent = async (req, res) => { }); res.status(200).json({ status: 200, data: updatedEvent }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; @@ -53,6 +53,6 @@ export const deleteEvent = async (req, res) => { message: "Event deleted successfully", }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; diff --git a/backend/controllers/HeroImage.controller.js b/backend/controllers/HeroImage.controller.js index 8be1ca9..63d7644 100644 --- a/backend/controllers/HeroImage.controller.js +++ b/backend/controllers/HeroImage.controller.js @@ -7,49 +7,40 @@ export const getHeroImages = async (req, res) => { const coaches = await prisma.heroImages.findMany(); res.status(200).json({ status: 200, data: coaches }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; -export const createHeroImage = async (req, res) => { - try { - const newEvent = await prisma.heroImages.create({ - data: { - ...req?.body, - }, - }); - res.status(201).json({ status: 201, data: newEvent }); - } catch (error) { - res.status(500).json({ message: error.message }); - } -}; -// to be checkedfixed export const uploadHeroImages = async (req, res) => { try { const files = req.files; - const heroImages = files.map((file) => file.path); - console.log(heroImages); + const heroImages = files.map((file) => file.filename); const newHeroImages = await prisma.heroImages.create({ - data: heroImages, + data: { + urls: heroImages, + }, }); res.status(201).json({ status: 201, data: newHeroImages }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; export const updateHeroImage = async (req, res) => { - const { id } = req.params; + const { id, index } = req.params; try { + const data = await prisma.heroImages.findUnique({where:{id: id}}) + let oldArray = data.urls + oldArray[index] = req.file.filename const updatedEvent = await prisma.heroImages.update({ where: { id: id }, data: { - ...req?.body, + urls: oldArray }, }); res.status(200).json({ status: 200, data: updatedEvent }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; @@ -61,9 +52,9 @@ export const deleteHeroImage = async (req, res) => { }); res.status(200).json({ status: 200, - message: "Event deleted successfully", + message: "Hero Image deleted successfully", }); } catch (error) { - res.status(500).json({ message: error.message }); + res.status(500).json({ status: 500, message: error.message }); } }; diff --git a/backend/routes/HeroImage.route.js b/backend/routes/HeroImage.route.js index fe33c36..2173d28 100644 --- a/backend/routes/HeroImage.route.js +++ b/backend/routes/HeroImage.route.js @@ -3,7 +3,6 @@ import MulterClient from "../utils/multer.js"; import { getHeroImages, - createHeroImage, uploadHeroImages, updateHeroImage, deleteHeroImage, @@ -12,9 +11,8 @@ import { const HeroImageRouter = express.Router(); HeroImageRouter.get("/", getHeroImages) - .post("/", createHeroImage) .post("/upload", MulterClient.array("heroImages", 10), uploadHeroImages) - .put("/:id", updateHeroImage) + .put("/:id/:index",MulterClient.single("heroImages"), updateHeroImage) .delete("/:id", deleteHeroImage); export default HeroImageRouter; diff --git a/backend/utils/multer.js b/backend/utils/multer.js index ce17721..c796690 100644 --- a/backend/utils/multer.js +++ b/backend/utils/multer.js @@ -1,11 +1,12 @@ import multer from "multer"; + const storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, "./uploads"); }, filename: function (req, file, cb) { - cb(null, Date.now() + "-" + file.originalname); + cb(null, (Date.now() + "-" + file.originalname).replaceAll(' ','-')); }, });