import { PrismaClient } from "@prisma/client"; import CloudinaryUploadHandler from "../utils/CloudinaryClient.js"; const prisma = new PrismaClient(); export const getHeroImages = async (req, res) => { try { const coaches = await prisma.heroImages.findMany(); res.status(200).json({ status: 200, data: coaches }); } catch (error) { res.status(500).json({ status: 500, message: error.message }); } }; export const uploadHeroImages = async (req, res) => { try { const files = req.files; const heroImages = files.map((file) => file.filename); const CloudinaryURLs = await heroImages.map((item) => CloudinaryUploadHandler(`./uploads/${item}`) ); Promise.all(CloudinaryURLs) .then(async (results) => { console.log("RTesults: ", results); const newHeroImages = await prisma.heroImages.create({ data: { urls: results, }, }); return res .status(201) .json({ status: 201, data: newHeroImages }); }) .catch((error) => res.status(500).json({ status: 500, message: error.message }) ); } catch (error) { res.status(500).json({ status: 500, message: error.message }); } }; export const updateHeroImage = async (req, res) => { console.log(`req--->`, req); const { id, index } = req.params; try { const data = await prisma.heroImages.findUnique({ where: { id: id } }); console.log(`data---->`, data); let dataArray = data.urls; const fileName = req?.file?.filename; const CloudinaryURL = await CloudinaryUploadHandler( `./uploads/${fileName}` ); console.log("Cloud", CloudinaryURL); dataArray[index] = CloudinaryURL; const newHeroImages = await prisma.heroImages.update({ where: { id }, data: { urls: dataArray, }, }); return res.status(200).json({ status: 200, data: newHeroImages }); } catch (error) { res.status(500).json({ status: 500, message: error.message }); } }; export const deleteHeroImage = async (req, res) => { const { id } = req.params; try { await prisma.heroImages.delete({ where: { id: id }, }); res.status(200).json({ status: 200, message: "Hero Image deleted successfully", }); } catch (error) { res.status(500).json({ status: 500, message: error.message }); } };