diff --git a/app.js b/app.js index e40f740..886c8a2 100644 --- a/app.js +++ b/app.js @@ -46,4 +46,7 @@ app.use("/api", banner); //cmp-Ristriction import cmpRistriction from "./routes/cmp-restriction-Route.js" app.use("/api", cmpRistriction); +//feedback +import feedback from "./routes/feedbackRoute.js" +app.use("/api", feedback); export default app; \ No newline at end of file diff --git a/controllers/feedbackController.js b/controllers/feedbackController.js new file mode 100644 index 0000000..65155b1 --- /dev/null +++ b/controllers/feedbackController.js @@ -0,0 +1,45 @@ +import feedbackModel from "../models/feedbackModel.js" + +export const createFeedback = async (req, res) => { + try { + const { name, description } = req.body; + // req.body.user = req.user.id; + const feedback = await feedbackModel.create({ + name, + description, + user: req.user._id + }); + res.status(201).json({ + success: true, + msg: " create feedback Successfully!!", + feedback, + }); + } catch (error) { + console.log(error) + res.status(500).json({ + success: false, + msg: "Failled to create !!" + }); + } + +}; +//get All feedback +export const getAllFeedback = async (req, res) => { + + try { + const feedback = await feedbackModel.find(); + res.status(200).json({ + success: true, + msg: " fetch feedback Successfully!!", + feedback + }); + } catch (error) { + res.status(500).json({ + success: false, + msg: "Failled to fetch !!" + }); + } + +}; + + diff --git a/middlewares/auth.js b/middlewares/auth.js index 5215e6a..5762e45 100644 --- a/middlewares/auth.js +++ b/middlewares/auth.js @@ -5,46 +5,23 @@ import ErrorHander from "../Utils/errorhander.js" export const isAuthenticatedUser = async (req, res, next) => { try { // const { token } = req.cookies; - - const getToken = req.headers; - if (!getToken) { + if (!req.headers.authorization) { return res.status(400).json({ success: false, message: "Login to Access this resource", }); } - // // console.log(getToken.authorization) - // console.log(getToken) + const getToken = req.headers; - // //remove Bearer from token + + //remove Bearer from token const fronttoken = getToken.authorization.slice(7); - //console.log(token) - if (!fronttoken) { - return res.status(400).json({ - success: false, - message: "Login to Access this resource token", - }); - } - // if (!fronttoken) { - // return res.status(400).json({ - // success: false, - // message: "Login to Access this resource", - // }); - // } - - //const decoded = jwt.verify(token, process.env.JWT_SECRET); const frontdecoded = jwt.verify(fronttoken, process.env.JWT_SECRET); - // console.log(decoded) - //const user = await User.findById(decoded.id); + const fuser = await User.findById(frontdecoded.id); - // if (fuser != null) { - // req.user = fuser; - // //console.log(fuser) - // } - // console.log(user) + req.user = fuser; - // console.log(req.user) next(); } catch (error) { diff --git a/models/feedbackModel.js b/models/feedbackModel.js new file mode 100644 index 0000000..337ae53 --- /dev/null +++ b/models/feedbackModel.js @@ -0,0 +1,20 @@ +import mongoose from "mongoose" +const feedbackSchema = new mongoose.Schema( + { + name: { + type: String, + required: true + }, + description: { + type: String, + required: true + }, + user: { + type: mongoose.Schema.ObjectId, + ref: "User", + required: true, + }, + }, { timestamps: true } +); +const feedbackModel = mongoose.model("feedback", feedbackSchema); +export default feedbackModel \ No newline at end of file diff --git a/routes/feedbackRoute.js b/routes/feedbackRoute.js new file mode 100644 index 0000000..e77bd64 --- /dev/null +++ b/routes/feedbackRoute.js @@ -0,0 +1,11 @@ +import express from "express"; +import { + createFeedback, + getAllFeedback, + +} from "../controllers/feedbackController.js" +const router = express.Router(); +import { isAuthenticatedUser, authorizeRoles } from "../middlewares/auth.js" +router.route("/feedback/create/").post(isAuthenticatedUser, createFeedback) +router.route("/feedback/getAll/").get(isAuthenticatedUser, authorizeRoles('admin'), getAllFeedback) +export default router; \ No newline at end of file