make itxc

This commit is contained in:
pawan-dot 2022-06-24 12:48:09 +05:30
parent b9391804d1
commit cd6ab5ec58
5 changed files with 85 additions and 29 deletions

3
app.js
View File

@ -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;

View File

@ -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 !!"
});
}
};

View File

@ -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) {

20
models/feedbackModel.js Normal file
View File

@ -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

11
routes/feedbackRoute.js Normal file
View File

@ -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;