updated Employee and Access features

This commit is contained in:
roshangarg28 2024-05-03 10:31:21 +05:30
parent d0cf999ebe
commit 19158424a4
32 changed files with 704 additions and 237 deletions

View File

@ -16,6 +16,7 @@ const sendToken = (user, statusCode, res) => {
success: true, success: true,
userId: user._id, userId: user._id,
// userName: user.name, // userName: user.name,
// userEmail: user.email, // userEmail: user.email,
// userPhone: user.phone, // userPhone: user.phone,

7
app.js
View File

@ -164,13 +164,14 @@ import AffiliateRoute from "./resources/Affiliate&Coupon/Affiliate/AffiliateRout
//Blog Routes //Blog Routes
import BlogRoute from "./resources/Blog/BlogRoute.js"; import BlogRoute from "./resources/Blog/BlogRoute.js";
// Panel Routes // Panel Routes
import PanelRoute from "./resources/Panels/PanelRoutes.js" import PanelRoute from "./resources/Panels/PanelRoutes.js";
//Coupon Routes //Coupon Routes
import CouponRoute from "./resources/Affiliate&Coupon/Coupon/CouponRoute.js"; import CouponRoute from "./resources/Affiliate&Coupon/Coupon/CouponRoute.js";
//short urls //short urls
// import ShortUrlRouter from "./resources/Businesses/Short_Urls/ShortUrlRoute.js"; // import ShortUrlRouter from "./resources/Businesses/Short_Urls/ShortUrlRoute.js";
//support Ticket //support Ticket
import SupportRouter from "./resources/Supports/supportRoute.js"; import SupportRouter from "./resources/Supports/supportRoute.js";
import RegisterEmail from "./resources/EmailCMS/RegisterEmail/RegisterEmailRoutes.js";
app.use("/api/v1/", user); app.use("/api/v1/", user);
//Product //Product
@ -227,7 +228,6 @@ app.use("/api/v1/blog", BlogRoute);
// panels // panels
app.use("/api/panel", PanelRoute); app.use("/api/panel", PanelRoute);
//config specialty //config specialty
// app.use("/api/config/specialty", SpecialtiesRouter); // app.use("/api/config/specialty", SpecialtiesRouter);
//specialties //specialties
@ -237,5 +237,8 @@ app.use("/api/panel", PanelRoute);
//short urls //short urls
// app.use("/api/shorturl", ShortUrlRouter); // app.use("/api/shorturl", ShortUrlRouter);
//Support //Support
// Email CMS
app.use("/api", RegisterEmail);
app.use("/api", SupportRouter); app.use("/api", SupportRouter);
export default app; export default app;

View File

@ -110,6 +110,7 @@ export const isFranchiAuthenticated = async (req, res, next) => {
// }; // };
export const authorizeRoles = (...roles) => { export const authorizeRoles = (...roles) => {
console.log("this is the roles ", roles);
//pass admin //pass admin
return (req, res, next) => { return (req, res, next) => {
if (!roles.includes(req.user.role)) { if (!roles.includes(req.user.role)) {

View File

@ -20,49 +20,49 @@ const router = express.Router();
router.post( router.post(
"/create", "/create",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
createAffiliate createAffiliate
); );
router.get( router.get(
"/getall", "/getall",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
listAllAffiliate listAllAffiliate
); );
router.get( router.get(
"/getone/:id", "/getone/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
getOneAffiliate getOneAffiliate
); );
router.patch( router.patch(
"/edit/:id", "/edit/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
editAffiliate editAffiliate
); );
router.patch( router.patch(
"/suspend", "/suspend",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
suspendAffiliate suspendAffiliate
); );
router.post( router.post(
"/pay/:id", "/pay/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
payAffiliate payAffiliate
); );
router.get( router.get(
"/getpay/:id", "/getpay/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
getOneAffiliateForPay getOneAffiliateForPay
); );
router.get( router.get(
"/history/:id", "/history/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
affiliatePayHistory affiliatePayHistory
); );

View File

@ -20,38 +20,38 @@ const router = express.Router();
router.get( router.get(
"/getall", "/getall",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
listAllCoupon listAllCoupon
); );
router.patch( router.patch(
"/create", "/create",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
createCoupon createCoupon
); );
router.get( router.get(
"/getaffiliate", "/getaffiliate",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
listAffiliateCoupon listAffiliateCoupon
); );
router.patch( router.patch(
"/edit/:id", "/edit/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
editCoupon editCoupon
); );
router.get( router.get(
"/getone/:id", "/getone/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
getOneCoupon getOneCoupon
); );
router.get("/validcoupon/:coupon", validateCoupon); router.get("/validcoupon/:coupon", validateCoupon);
router.patch( router.patch(
"/suspend", "/suspend",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
suspendCoupon suspendCoupon
); );
router.patch( router.patch(
@ -69,7 +69,7 @@ router.patch(
router.get( router.get(
"/history/:id", "/history/:id",
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
couponPayHistory couponPayHistory
); );

View File

@ -11,13 +11,21 @@ const router = express.Router();
router router
.route("/add") .route("/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), addBanner); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addBanner);
router.route("/getBanners").get(getBanner); router.route("/getBanners").get(getBanner);
router router
.route("/update/:_id") .route("/update/:_id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateBanner); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateBanner
);
router router
.route("/delete/:_id") .route("/delete/:_id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteBanner); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteBanner
);
export default router; export default router;

View File

@ -1,30 +1,33 @@
import express from "express"; import express from "express";
import { createBlog, getAllBlog, getOneBlog, deleteBlog, deleteImageFromCloudinary, updateBlog } from "./BlogController.js"; import {
createBlog,
getAllBlog,
getOneBlog,
deleteBlog,
deleteImageFromCloudinary,
updateBlog,
} from "./BlogController.js";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
const router = express.Router(); const router = express.Router();
router router
.route("/create") .route("/create")
.post(isAuthenticatedUser, authorizeRoles("admin"), createBlog); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), createBlog);
router router.route("/getallblog").get(getAllBlog);
.route("/getallblog") router.route("/getoneblog/:id").get(getOneBlog);
.get(getAllBlog);
router
.route("/getoneblog/:id")
.get(getOneBlog);
router router
.route("/deleteblog/:id") .route("/deleteblog/:id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteBlog); .delete(isAuthenticatedUser, authorizeRoles("admin", "Employee"), deleteBlog);
router router
.route("/deleteImage/jatinMor/Blog/:public_id") .route("/deleteImage/jatinMor/Blog/:public_id")
.delete( .delete(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
deleteImageFromCloudinary deleteImageFromCloudinary
); );
router router
.route("/updateblog/:id") .route("/updateblog/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateBlog); .patch(isAuthenticatedUser, authorizeRoles("admin", "Employee"), updateBlog);
export default router; export default router;

View File

@ -10,13 +10,21 @@ const router = express.Router();
router router
.route("/add") .route("/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), addCategory); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addCategory);
router.route("/getCategories").get(getCategories); router.route("/getCategories").get(getCategories);
router router
.route("/update/:_id") .route("/update/:_id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateCategory); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateCategory
);
router router
.route("/delete/:_id") .route("/delete/:_id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteCategory); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteCategory
);
export default router; export default router;

View File

@ -14,7 +14,7 @@ import {
updateRefundPolicy, updateRefundPolicy,
AddAboutUs, AddAboutUs,
getAboutUs, getAboutUs,
updateAboutUs updateAboutUs,
} from "./ContentController.js"; } from "./ContentController.js";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
@ -22,45 +22,69 @@ const router = express.Router();
router router
.route("/terms-and-conditions") .route("/terms-and-conditions")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddTermsAndConditions); .post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
AddTermsAndConditions
);
router.route("/terms-and-conditions").get(getTermsAndCondition); router.route("/terms-and-conditions").get(getTermsAndCondition);
router router
.route("/terms-and-condition-update") .route("/terms-and-condition-update")
.patch( .patch(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
updateTermsAndConditions updateTermsAndConditions
); );
router router
.route("/privacy-and-policy") .route("/privacy-and-policy")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddPrivacyAndPolicy); .post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
AddPrivacyAndPolicy
);
router.route("/privacy-and-policy").get(getPrivacyPolicy); router.route("/privacy-and-policy").get(getPrivacyPolicy);
router router
.route("/privacy-and-policy-update") .route("/privacy-and-policy-update")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updatePrivacyPolicy); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updatePrivacyPolicy
);
router router
.route("/shipping-and-policy") .route("/shipping-and-policy")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddShipping); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), AddShipping);
router.route("/shipping-and-policy").get(getShipping); router.route("/shipping-and-policy").get(getShipping);
router router
.route("/shipping-and-policy-update") .route("/shipping-and-policy-update")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateShipping); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateShipping
);
//refund Policy //refund Policy
router.route("/refund-policy").get(getRefundPolicy); router.route("/refund-policy").get(getRefundPolicy);
router router
.route("/refund-policy") .route("/refund-policy")
.post(isAuthenticatedUser, authorizeRoles("admin"), RefundPolicy); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), RefundPolicy);
router router
.route("/refund-policy-update") .route("/refund-policy-update")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateRefundPolicy); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateRefundPolicy
);
//about us //about us
router router
.route("/about-us") .route("/about-us")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddAboutUs); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), AddAboutUs);
router.route("/about-us").get(getAboutUs); router.route("/about-us").get(getAboutUs);
router router
.route("/about-us-update") .route("/about-us-update")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateAboutUs); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateAboutUs
);
export default router; export default router;

View File

@ -1,18 +1,16 @@
import express from "express";
import express from 'express'
import { AddNewFlight, FindAllFlight } from "./DepartureController.js"; import { AddNewFlight, FindAllFlight } from "./DepartureController.js";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
const router = express.Router() const router = express.Router();
router.route("/flight/new").post(isAuthenticatedUser, authorizeRoles("admin"), AddNewFlight)
router.route("/flight/getAll").get(isAuthenticatedUser, authorizeRoles("admin"), FindAllFlight)
router
.route("/flight/new")
.post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), AddNewFlight);
router
.route("/flight/getAll")
.get(isAuthenticatedUser, authorizeRoles("admin", "Employee"), FindAllFlight);
// router.route("/product/getAll/").get(getAllProduct) // router.route("/product/getAll/").get(getAllProduct)
export default router export default router;

View File

@ -11,14 +11,14 @@
// router // router
// .route("/add") // .route("/add")
// .post(isAuthenticatedUser, authorizeRoles("admin"), addDesign); // .post(isAuthenticatedUser,authorizeRoles("admin", "Employee"), addDesign);
// router.route("/getDesigns").get(getDesign); // router.route("/getDesigns").get(getDesign);
// router // router
// .route("/update/:_id") // .route("/update/:_id")
// .patch(isAuthenticatedUser, authorizeRoles("admin"), updateDesign); // .patch(isAuthenticatedUser,authorizeRoles("admin", "Employee"), updateDesign);
// router // router
// .route("/delete/:_id") // .route("/delete/:_id")
// .delete(isAuthenticatedUser, authorizeRoles("admin"), deleteDesign); // .delete(isAuthenticatedUser,authorizeRoles("admin", "Employee"), deleteDesign);
// export default router; // export default router;
import express from "express"; import express from "express";
@ -61,13 +61,21 @@ const imageStorage = multer.diskStorage({
router router
.route("/add") .route("/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), addDesign); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addDesign);
router.route("/getDesigns").get(getDesign); router.route("/getDesigns").get(getDesign);
router router
.route("/update/:_id") .route("/update/:_id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateDesign); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateDesign
);
router router
.route("/delete/:_id") .route("/delete/:_id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteDesign); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteDesign
);
export default router; export default router;

View File

@ -0,0 +1,21 @@
import {
authorizeRoles,
isAuthenticatedUser,
} from "../../../middlewares/auth.js";
import {
GetRegisterEamilData,
RegisterEmailSend,
} from "./registerEmailController.js";
import express from "express";
const router = express.Router();
router
.route("/register-email")
.post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
RegisterEmailSend
);
router.route("/get-email-data").get(GetRegisterEamilData);
export default router;

View File

@ -0,0 +1,64 @@
import { RegisterEmail } from "./registerEmailModal.js";
export const RegisterEmailSend = async (req, res) => {
try {
if (!req?.user) return res.status(400).json({ message: "please login !" });
// console.log(req?.user)
req.body.user = req.user._id;
const registerEmailFindDoc = await RegisterEmail.find();
if (registerEmailFindDoc.length === 0) {
const registerEmaildata = await RegisterEmail.create({
subject: req.body.subject,
description: req.body.description,
addedBy: req.user._id,
});
if (registerEmaildata) {
return res.status(200).json({
success: true,
registerEmaildata,
message: "Added successfully",
});
}
} else {
const updateEmailData = await RegisterEmail.updateOne({
subject: req.body.subject,
description: req.body.description,
addedBy: req.user._id,
});
if (updateEmailData) {
return res.status(200).json({
success: true,
RegisterEmaildata: updateEmailData,
message: "updated successfully ",
});
}
}
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went Wrong",
});
}
};
export const GetRegisterEamilData = async (req, res) => {
try {
// if (!req?.user) return res.status(400).json({ message: "please login !" });
// console.log(req?.user)
const registerEmaildata = await RegisterEmail.find();
res.status(200).json({
success: true,
registerEmaildata,
message: "Found successfully ",
});
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went Wrong",
});
}
};

View File

@ -0,0 +1,26 @@
import mongoose from "mongoose";
const { Schema, model } = mongoose;
const registerEmailData = new mongoose.Schema(
{
subject: {
type: String,
required: [true, "Please Enter title "],
},
description: {
type: String,
maxLength: [500, "description cannot exceed 500 characters"],
required: [true, "Please Enter description"],
},
addedBy: {
type: mongoose.Schema.ObjectId,
ref: "User",
required: true,
},
},
{ timestamps: true, versionKey: false }
);
export const RegisterEmail = mongoose.model("RegisterEmail", registerEmailData);

View File

@ -1,18 +1,27 @@
import express from "express";
import express from 'express'
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
import { AddNewnIformation, FindAllInformation } from './InformationController.js'; import {
AddNewnIformation,
const router = express.Router() FindAllInformation,
} from "./InformationController.js";
router.route("/new").post(isAuthenticatedUser, authorizeRoles("admin"), AddNewnIformation)
router.route("/getAll").get(isAuthenticatedUser, authorizeRoles("admin"), FindAllInformation)
const router = express.Router();
router
.route("/new")
.post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
AddNewnIformation
);
router
.route("/getAll")
.get(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
FindAllInformation
);
// router.route("/product/getAll/").get(getAllProduct) // router.route("/product/getAll/").get(getAllProduct)
export default router export default router;

View File

@ -2,18 +2,27 @@ import express from "express";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
// import { addImage, deleteImage, getImage, updateImage } from "./RegistrationImageController.js"; // import { addImage, deleteImage, getImage, updateImage } from "./RegistrationImageController.js";
import { addImage, deleteImage, getImage, updateImage } from "./LoginImageController.js"; import {
addImage,
deleteImage,
getImage,
updateImage,
} from "./LoginImageController.js";
const router = express.Router(); const router = express.Router();
router router
.route("/add") .route("/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), addImage); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addImage);
router.route("/getImage").get(getImage); router.route("/getImage").get(getImage);
router router
.route("/update/:_id") .route("/update/:_id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateImage); .patch(isAuthenticatedUser, authorizeRoles("admin", "Employee"), updateImage);
router router
.route("/delete/:_id") .route("/delete/:_id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteImage); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteImage
);
export default router; export default router;

View File

@ -46,18 +46,26 @@ router.route("/user/self").get(isAuthenticatedUser, getUserSelf);
//admin route //admin route
router router
.route("/getAll/:status") .route("/getAll/:status")
.get(isAuthenticatedUser, authorizeRoles("admin"), getAllOrder); .get(isAuthenticatedUser, authorizeRoles("admin", "Employee"), getAllOrder);
router router
.route("/getAll/") .route("/getAll/")
.get(isAuthenticatedUser, authorizeRoles("admin"), getOrders); .get(isAuthenticatedUser, authorizeRoles("admin", "Employee"), getOrders);
router.route("/getOne/:id").get(isAuthenticatedUser, getSingleOrder); router.route("/getOne/:id").get(isAuthenticatedUser, getSingleOrder);
router router
.route("/change/status/:id") .route("/change/status/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateOrderStatusById); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateOrderStatusById
);
router router
.route("/delete/:id") .route("/delete/:id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteOneOrder); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteOneOrder
);
//RAZERPAY checkout //RAZERPAY checkout
router.route("/getRzpKey/").get(isAuthenticatedUser, getRzpkey); router.route("/getRzpKey/").get(isAuthenticatedUser, getRzpkey);

View File

@ -1,59 +1,81 @@
import express from "express"; import express from "express";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
import { AddPanel1, AddPanel2, AddPanel3, AddPanel4, deleteImageFromCloudinary, getPanel1, getPanel2, getPanel3, getPanel4, updatePanel1, updatePanel2, updatePanel3, updatePanel4 } from "./PanelController.js"; import {
AddPanel1,
AddPanel2,
AddPanel3,
AddPanel4,
deleteImageFromCloudinary,
getPanel1,
getPanel2,
getPanel3,
getPanel4,
updatePanel1,
updatePanel2,
updatePanel3,
updatePanel4,
} from "./PanelController.js";
const router = express.Router(); const router = express.Router();
router router
.route("/panel1/add") .route("/panel1/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddPanel1); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), AddPanel1);
router router.route("/panel1/get").get(getPanel1);
.route("/panel1/get")
.get(getPanel1);
router router
.route("/panel1/update/:id") .route("/panel1/update/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updatePanel1); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updatePanel1
);
router router
.route("/panel2/add") .route("/panel2/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddPanel2); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), AddPanel2);
router router.route("/panel2/get").get(getPanel2);
.route("/panel2/get")
.get(getPanel2);
router router
.route("/panel2/update/:id") .route("/panel2/update/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updatePanel2); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updatePanel2
);
router router
.route("/panel3/add") .route("/panel3/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddPanel3); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), AddPanel3);
router router.route("/panel3/get").get(getPanel3);
.route("/panel3/get")
.get(getPanel3);
router router
.route("/panel3/update/:id") .route("/panel3/update/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updatePanel3); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updatePanel3
);
router router
.route("/panel4/add") .route("/panel4/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddPanel4); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), AddPanel4);
router router.route("/panel4/get").get(getPanel4);
.route("/panel4/get")
.get(getPanel4);
router router
.route("/panel4/update/:id") .route("/panel4/update/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updatePanel4); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updatePanel4
);
router router
.route("/deleteImage/jatinMor/panel/:public_id") .route("/deleteImage/jatinMor/panel/:public_id")
.delete( .delete(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
deleteImageFromCloudinary deleteImageFromCloudinary
); );
export default router; export default router;

View File

@ -15,10 +15,18 @@ const router = express.Router();
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
router router
.route("/product/create/") .route("/product/create/")
.post(isAuthenticatedUser, authorizeRoles("admin"), createProduct); .post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
createProduct
);
router router
.route("/product/getAll/admin/") .route("/product/getAll/admin/")
.get(isAuthenticatedUser, authorizeRoles("admin"), getAllProductAdmin); .get(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
getAllProductAdmin
);
//change Product status //change Product status
router.route("/product/admin/status/:id").patch(ChangeProductStatus); router.route("/product/admin/status/:id").patch(ChangeProductStatus);
@ -30,15 +38,23 @@ router
router.route("/product/getOne/:id").get(getOneProduct); router.route("/product/getOne/:id").get(getOneProduct);
router router
.route("/product/update/:id") .route("/product/update/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateProduct); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateProduct
);
router router
.route("/product/delete/:id") .route("/product/delete/:id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteProduct); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteProduct
);
router router
.route("/product/deleteImage/jatinMor/product/:public_id") .route("/product/deleteImage/jatinMor/product/:public_id")
.delete( .delete(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
deleteImageFromCloudinary deleteImageFromCloudinary
); );
router.route("/products/category/:categoryName").get(getProductsByCategory); router.route("/products/category/:categoryName").get(getProductsByCategory);

View File

@ -1,18 +1,27 @@
import express from "express"; import express from "express";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
import { addImage, deleteImage, getImage, updateImage } from "./RegistrationImageController.js"; import {
addImage,
deleteImage,
getImage,
updateImage,
} from "./RegistrationImageController.js";
const router = express.Router(); const router = express.Router();
router router
.route("/add") .route("/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), addImage); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addImage);
router.route("/getImage").get(getImage); router.route("/getImage").get(getImage);
router router
.route("/update/:_id") .route("/update/:_id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateImage); .patch(isAuthenticatedUser, authorizeRoles("admin", "Employee"), updateImage);
router router
.route("/delete/:_id") .route("/delete/:_id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteImage); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteImage
);
export default router; export default router;

View File

@ -6,7 +6,10 @@ const router = express.Router();
router router
.route("/new") .route("/new")
.post(isAuthenticatedUser, authorizeRoles("admin"), AddNewSeoRequest); .post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
AddNewSeoRequest
);
export default router; export default router;

View File

@ -16,7 +16,7 @@ router
.route("/admin/new/:_id") .route("/admin/new/:_id")
.post( .post(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
AddshippingAddressByAdmin AddshippingAddressByAdmin
); );
@ -28,7 +28,7 @@ router
.route("/user/address/:_id") .route("/user/address/:_id")
.get( .get(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
getSingleUserSippingAddressForAdmin getSingleUserSippingAddressForAdmin
); );

View File

@ -1,6 +1,11 @@
import express from "express"; import express from "express";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
import { addImage, deleteImage, getImage, updateImage } from "./ShopPageImageController.js"; import {
addImage,
deleteImage,
getImage,
updateImage,
} from "./ShopPageImageController.js";
// import { addImage, deleteImage, getImage, updateImage } from "./RegistrationImageController.js"; // import { addImage, deleteImage, getImage, updateImage } from "./RegistrationImageController.js";
// import { addImage, deleteImage, getImage, updateImage } from "./LoginImageController.js"; // import { addImage, deleteImage, getImage, updateImage } from "./LoginImageController.js";
@ -8,13 +13,17 @@ const router = express.Router();
router router
.route("/add") .route("/add")
.post(isAuthenticatedUser, authorizeRoles("admin"), addImage); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addImage);
router.route("/getImage").get(getImage); router.route("/getImage").get(getImage);
router router
.route("/update/:_id") .route("/update/:_id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateImage); .patch(isAuthenticatedUser, authorizeRoles("admin", "Employee"), updateImage);
router router
.route("/delete/:_id") .route("/delete/:_id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteImage); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteImage
);
export default router; export default router;

View File

@ -1,5 +1,13 @@
import bodyParser from "body-parser"; import bodyParser from "body-parser";
import { createSupport, deleteImageFromCloudinary, deleteSupport, getAllSupportTicket, getAllSupportTicketofuser, getOneSupportTicket, updateSupport } from "./supportController.js"; import {
createSupport,
deleteImageFromCloudinary,
deleteSupport,
getAllSupportTicket,
getAllSupportTicketofuser,
getOneSupportTicket,
updateSupport,
} from "./supportController.js";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
import express from "express"; import express from "express";
@ -11,20 +19,26 @@ app.use(bodyParser.raw({ type: "application/json" }));
const router = express.Router(); const router = express.Router();
//checkout Routes-------------------------// //checkout Routes-------------------------//
router.route("/support/create/").post(isAuthenticatedUser, createSupport); router.route("/support/create/").post(isAuthenticatedUser, createSupport);
router.route("/support/getAll/").get(isAuthenticatedUser, authorizeRoles("admin"),getAllSupportTicket);
router.route("/support/userticket/").get(isAuthenticatedUser,getAllSupportTicketofuser);
router router
.route("/support/delete/:id") .route("/support/getAll/")
.delete( deleteSupport); .get(
router.route("/support/getOne/:id").get(isAuthenticatedUser, getOneSupportTicket); isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
getAllSupportTicket
);
router router
.route("/support/update/:id") .route("/support/userticket/")
.patch(isAuthenticatedUser, updateSupport); .get(isAuthenticatedUser, getAllSupportTicketofuser);
router.route("/support/delete/:id").delete(deleteSupport);
router
.route("/support/getOne/:id")
.get(isAuthenticatedUser, getOneSupportTicket);
router.route("/support/update/:id").patch(isAuthenticatedUser, updateSupport);
router router
.route("/support/deleteImage/jatinMor/CustomerSupport/:public_id") .route("/support/deleteImage/jatinMor/CustomerSupport/:public_id")
.delete( .delete(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
deleteImageFromCloudinary deleteImageFromCloudinary
); );
// --------------------------------------------------------- // ---------------------------------------------------------

View File

@ -9,9 +9,15 @@ import {
} from "./tax_controller.js"; } from "./tax_controller.js";
const router = Router(); const router = Router();
router.route("/add_tax").post(isAuthenticatedUser, authorizeRoles("admin"), addTax); router
router.route("/update_tax/:id").patch(isAuthenticatedUser, authorizeRoles("admin"), updateTax); .route("/add_tax")
router.route("/delete_tax/:id").delete(isAuthenticatedUser, authorizeRoles("admin"), deleteTax); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addTax);
router
.route("/update_tax/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin", "Employee"), updateTax);
router
.route("/delete_tax/:id")
.delete(isAuthenticatedUser, authorizeRoles("admin", "Employee"), deleteTax);
router.route("/view_tax/:id").get(isAuthenticatedUser, getTax); router.route("/view_tax/:id").get(isAuthenticatedUser, getTax);
router.route("/view_tax").get(isAuthenticatedUser, getTaxes); router.route("/view_tax").get(isAuthenticatedUser, getTaxes);
export default router; export default router;

View File

@ -18,7 +18,11 @@ import {
getFransiDetails, getFransiDetails,
EditFranchiseeProfile, EditFranchiseeProfile,
} from "./Franchisee_controller.js"; } from "./Franchisee_controller.js";
import { authorizeRoles, isAuthenticatedUser, isFranchiAuthenticated } from "../../middlewares/auth.js"; import {
authorizeRoles,
isAuthenticatedUser,
isFranchiAuthenticated,
} from "../../middlewares/auth.js";
import { FranchiseeVarificationFromAdmin } from "./Franchisee_controller.js"; import { FranchiseeVarificationFromAdmin } from "./Franchisee_controller.js";
import { FranchiseePriceLevelProduct } from "./Franchisee_controller.js"; import { FranchiseePriceLevelProduct } from "./Franchisee_controller.js";
import { createOrder } from "./Franchisee_controller.js"; import { createOrder } from "./Franchisee_controller.js";
@ -29,44 +33,62 @@ import { getAllOrder } from "./Franchisee_controller.js";
router.get("/", getAllFranchisees); router.get("/", getAllFranchisees);
router.get("/withpopulate", isAuthenticatedUser, getAllFranchiseesPopulated); router.get("/withpopulate", isAuthenticatedUser, getAllFranchiseesPopulated);
// router.get("/withpopulate/:option", getAllFranchiseesPopulatedWithOption); // router.get("/withpopulate/:option", getAllFranchiseesPopulatedWithOption);
router.get("/withoutpopulate/:id", isAuthenticatedUser, getFranchiseeByIdWithoutPopulate); router.get(
"/withoutpopulate/:id",
isAuthenticatedUser,
getFranchiseeByIdWithoutPopulate
);
router.get("/:id", isAuthenticatedUser, getFranchiseeById); router.get("/:id", isAuthenticatedUser, getFranchiseeById);
router.get("/arrayspopulate/:id", getFranchiseeByIdPopulated); router.get("/arrayspopulate/:id", getFranchiseeByIdPopulated);
router.post("/", isAuthenticatedUser, authorizeRoles("admin"), addFranchisee); router.post(
"/",
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
addFranchisee
);
router.patch("/product/:id", isAuthenticatedUser, addProductToFranchisee); router.patch("/product/:id", isAuthenticatedUser, addProductToFranchisee);
// router.patch("/grade/:id", addGradeToFranchisee); // router.patch("/grade/:id", addGradeToFranchisee);
router.patch("/:id", isAuthenticatedUser, authorizeRoles("admin"), updateFranchisee); router.patch(
router.delete("/:id", isAuthenticatedUser, authorizeRoles("admin"), deleteFranchiseeById); "/:id",
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateFranchisee
);
router.delete(
"/:id",
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteFranchiseeById
);
//varify //varify
router.get("/admin/verify/:id", isAuthenticatedUser, authorizeRoles("admin"), FranchiseeVarificationFromAdmin); router.get(
"/admin/verify/:id",
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
FranchiseeVarificationFromAdmin
);
// ---------franchisee Auth ----------------------//////// // ---------franchisee Auth ----------------------////////
franchiseeForgotPassword franchiseeForgotPassword;
router.post("/login", FranchiseeLogin); router.post("/login", FranchiseeLogin);
router.post("/password/forgot", franchiseeForgotPassword) router.post("/password/forgot", franchiseeForgotPassword);
router.get("/getDetails/me", isFranchiAuthenticated, getFransiDetails); router.get("/getDetails/me", isFranchiAuthenticated, getFransiDetails);
router.patch("/edit/self", isFranchiAuthenticated, EditFranchiseeProfile); router.patch("/edit/self", isFranchiAuthenticated, EditFranchiseeProfile);
router
router.route("/password/update").put(isFranchiAuthenticated, franchiseeUpdatePassword); .route("/password/update")
.put(isFranchiAuthenticated, franchiseeUpdatePassword);
//fetch product franchisee Wise //fetch product franchisee Wise
router.route("/product/price_level").get(isFranchiAuthenticated, FranchiseePriceLevelProduct); router
.route("/product/price_level")
.get(isFranchiAuthenticated, FranchiseePriceLevelProduct);
//product order //product order
router.route("/order/create").post(isFranchiAuthenticated, createOrder) router.route("/order/create").post(isFranchiAuthenticated, createOrder);
router.route("/order/getAll").get(isFranchiAuthenticated, getAllOrder) router.route("/order/getAll").get(isFranchiAuthenticated, getAllOrder);
router.route("/order/getOne/:id").get(isFranchiAuthenticated, getSingleOrder) router.route("/order/getOne/:id").get(isFranchiAuthenticated, getSingleOrder);
router.route("/order/edit/:id").put(isFranchiAuthenticated, EditOrderBeforePayment) router
.route("/order/edit/:id")
.put(isFranchiAuthenticated, EditOrderBeforePayment);
export default router; export default router;

View File

@ -12,21 +12,27 @@ import {
const router = express.Router(); const router = express.Router();
router.route("/new").post(isAuthenticatedUser, AddNewTestimonial); router.route("/new").post(isAuthenticatedUser, AddNewTestimonial);
router router.route("/getAll").get(FindAllTestimonial);
.route("/getAll")
.get(FindAllTestimonial);
router.route("/getOne/:id").get(isAuthenticatedUser, FindOneTestimonial); router.route("/getOne/:id").get(isAuthenticatedUser, FindOneTestimonial);
router router
.route("/delete/:id") .route("/delete/:id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteTestimonial); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteTestimonial
);
router router
.route("/update/:id") .route("/update/:id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updatetesTimonial); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updatetesTimonial
);
router router
.route("/deleteImage/GetSygnal/Testimonial/:public_id") .route("/deleteImage/GetSygnal/Testimonial/:public_id")
.delete( .delete(
isAuthenticatedUser, isAuthenticatedUser,
authorizeRoles("admin"), authorizeRoles("admin", "Employee"),
deleteImageFromCloudinary deleteImageFromCloudinary
); );
export default router; export default router;

View File

@ -14,8 +14,10 @@ import {
} from "./Config_controller.js"; } from "./Config_controller.js";
import { upload } from "../../../Utils/cloudinary.js"; import { upload } from "../../../Utils/cloudinary.js";
import { authorizeRoles, isAuthenticatedUser } from "../../../middlewares/auth.js"; import {
authorizeRoles,
isAuthenticatedUser,
} from "../../../middlewares/auth.js";
const router = Router(); const router = Router();
@ -25,21 +27,52 @@ const router = Router();
// { name: "Adminlogo", maxCount: 1 }, // { name: "Adminlogo", maxCount: 1 },
// ]); // ]);
// router.route("/gst").post(isAuthenticatedUser, authorizeRoles("admin"), addGST); // router.route("/gst").post(isAuthenticatedUser,authorizeRoles("admin", "Employee"), addGST);
router.route("/social").post(isAuthenticatedUser, authorizeRoles("admin"), addSocialMedia); router
router.route("/application/name").post(isAuthenticatedUser, authorizeRoles("admin"), addApplicationName); .route("/social")
router.route("/copyright/message").post(isAuthenticatedUser, authorizeRoles("admin"), addCopyRightMessage); .post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
addSocialMedia
);
router
.route("/application/name")
.post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
addApplicationName
);
router
.route("/copyright/message")
.post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
addCopyRightMessage
);
router
.route("/address")
router.route("/address").post(isAuthenticatedUser, authorizeRoles("admin"), addAddress); .post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addAddress);
// router.route("/scrollText").post(isAuthenticatedUser, authorizeRoles("admin"), addScrollText); // router.route("/scrollText").post(isAuthenticatedUser,authorizeRoles("admin", "Employee"), addScrollText);
router.route("/logo").post(isAuthenticatedUser, authorizeRoles("admin"), addLogo); router
router.route("/").get(getConfig).delete(isAuthenticatedUser, authorizeRoles("admin"), deleteConfig) .route("/logo")
.post(isAuthenticatedUser, authorizeRoles("admin", "Employee"), addLogo);
router
.route("/")
.get(getConfig)
.delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteConfig
);
router router
.route("/termsofuse") .route("/termsofuse")
.get(isAuthenticatedUser, authorizeRoles("admin"), getTermsOfUse) .get(isAuthenticatedUser, authorizeRoles("admin", "Employee"), getTermsOfUse)
.patch(isAuthenticatedUser, authorizeRoles("admin"), addTermsOfUse); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
addTermsOfUse
);
export default router; export default router;

View File

@ -7,10 +7,12 @@ import crypto from "crypto";
import cloudinary from "cloudinary"; import cloudinary from "cloudinary";
import password from "secure-random-password"; import password from "secure-random-password";
import { Order } from "../Orders/orderModel.js"; import { Order } from "../Orders/orderModel.js";
import { RegisterEmail } from "../EmailCMS/RegisterEmail/registerEmailModal.js";
import { Config } from "../setting/Configration/Config_model.js";
// 1.Register a User // 1.Register a User
export const registerUser = async (req, res) => { export const registerUser = async (req, res) => {
try { try {
const { name, email, password, phone } = req.body; const { name, email, password, phone, accessTo, role } = req.body;
// console.log("this is the password ", password, name, req.body); // console.log("this is the password ", password, name, req.body);
let findUser = await User.findOne({ email }); let findUser = await User.findOne({ email });
@ -37,30 +39,45 @@ export const registerUser = async (req, res) => {
email, email,
password, password,
phone, phone,
role,
accessTo,
// avatar: { // avatar: {
// public_id: myCloud.public_id, // public_id: myCloud.public_id,
// url: myCloud.secure_url, // url: myCloud.secure_url,
// }, // },
}); });
// const emailData = await RegisterEmail.find();
// let emailSubject = emailData[0]?.subject;
// let emailDescription = emailData[0]?.description;
const config = await Config.find();
let appName = config[0]?.appName;
await sendEmail({ await sendEmail({
to: `${email}`, // Change to your recipient to: `${email}`, // Change to your recipient
from: `${process.env.SEND_EMAIL_FROM}`, // Change to your verified sender from: `${process.env.SEND_EMAIL_FROM}`, // Change to your verified sender
subject: `Welcome to Smellika - Let the Shopping Begin!`, subject: `Welcome to Smellika - Let the Shopping Begin!`,
html: ` <h1 style="color: #333; text-align: left; font-family: Arial, sans-serif;">Welcome to Smellika - Let the Shopping Begin!</h1> html: ` <h1 style="color: #333; text-align: left; font-family: Arial, sans-serif;">Welcome to ${appName} - Let the Shopping Begin!</h1>
<strong style="color: #1b03a3; font-size: 16px"> Hey ${name},</strong> <strong style="color: #1b03a3; font-size: 16px"> Hey ${name},</strong>
<p style="color: #555; font-size: 15px;">Welcome to Smellika! We're thrilled to have you on board. Get ready for a world of exclusive deals, exciting products, and seamless shopping experiences. Start exploring now!</p> <p style="color: #555; font-size: 15px;">
Welcome to Smellika - Let the Shopping Begin!
</p>
<br/> <br/>
<p style="color: #555; font-size: 15px;">You can login into : https://smellika.com</p> <p style="color: #555; font-size: 15px;">You can login into :${
role === "Employee" || role === "admin"
? `https://admin.smellika.com/`
: `https://smellika.com`
} </p>
<br/> <br/>
<p style="color: #555; font-size: 15px;">Below are your login credentials:</p> <p style="color: #555; font-size: 15px;">Below are your login credentials:</p>
<p style="color: #555; font-size: 15px;">Email: ${email}</p> <p style="color: #555; font-size: 15px;">Email: ${email}</p>
<p style="color: #555; font-size: 15px;">Password: ${password}</p> <p style="color: #555; font-size: 15px;">Password: ${password}</p>
<span style="color: #555; font-size: 13px;">Happy shopping,</span><br/> <span style="color: #555; font-size: 13px;">Happy shopping,</span><br/>
<span style="color: #555; font-size: 13px;">Team Smellika</span>`, <span style="color: #555; font-size: 13px;">Team ${appName}</span>`,
}); });
sendToken(user, 201, res); sendToken(user, 201, res);
} catch (e) { } catch (e) {
@ -353,3 +370,81 @@ export const getAllUser = catchAsyncErrors(async (req, res, next) => {
users, users,
}); });
}); });
export const getAllEmployee = catchAsyncErrors(async (req, res, next) => {
// Assuming your User model is imported as 'User'
const employee = await User.find({ role: "Employee" });
res.status(200).json({
success: true,
employee,
});
});
export const deleteEmployeeById = catchAsyncErrors(async (req, res, next) => {
// console.log("request came here", req.params);
// Extract the employee ID from the request parameters
const { id } = req.params;
try {
// Find the employee by ID and delete it
const deletedEmployee = await User.findByIdAndDelete(id);
if (!deletedEmployee) {
// If the employee with the provided ID is not found, return an error
return res.status(404).json({
success: false,
message: "Employee not found",
});
}
// If deletion is successful, return success response
res.status(200).json({
success: true,
message: "Employee deleted successfully",
});
} catch (error) {
// Handle any errors that occur during deletion
return res.status(500).json({
success: false,
message: "Error deleting employee",
error: error.message,
});
}
});
// Update employee
// Import necessary modules and set up your User model
export const updateEmployeeById = catchAsyncErrors(async (req, res, next) => {
// Extract the employee ID from the request parameters
const { id } = req.params;
try {
// Find the employee by ID and update its fields
const updatedEmployee = await User.findByIdAndUpdate(
id,
{ $set: req.body }, // Update fields based on the request body
{ new: true } // Return the updated document
);
if (!updatedEmployee) {
// If the employee with the provided ID is not found, return an error
return res.status(404).json({
success: false,
message: "Employee not found",
});
}
// If update is successful, return success response with updated employee data
res.status(200).json({
success: true,
message: "Employee updated successfully",
employee: updatedEmployee,
});
} catch (error) {
// Handle any errors that occur during update
return res.status(500).json({
success: false,
message: "Error updating employee",
error: error.message,
});
}
});

View File

@ -46,6 +46,7 @@ const userSchema = new mongoose.Schema(
type: String, type: String,
default: "user", default: "user",
}, },
accessTo: {},
// createdAt: { // createdAt: {
// type: Date, // type: Date,
// default: Date.now, // default: Date.now,

View File

@ -11,6 +11,9 @@ import {
getSingleUser, getSingleUser,
getAllUser, getAllUser,
getUserOrderForAdmin, getUserOrderForAdmin,
getAllEmployee,
deleteEmployeeById,
updateEmployeeById,
} from "./userController.js"; } from "./userController.js";
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js"; import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
@ -30,14 +33,39 @@ router.route("/user/details").get(isAuthenticatedUser, getUserDetails);
router router
.route("/admin/users") .route("/admin/users")
.get(isAuthenticatedUser, authorizeRoles("admin"), getAllUser); .get(isAuthenticatedUser, authorizeRoles("admin", "Employee"), getAllUser);
router
.route("/admin/delete-employee/:id")
.delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteEmployeeById
);
router
.route("/admin/employee")
.get(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
getAllEmployee
);
router
.route("/admin/update-employee/:id")
.put(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateEmployeeById
);
router router
.route("/admin/users/orders/:id") .route("/admin/users/orders/:id")
.get(isAuthenticatedUser, authorizeRoles("admin"), getUserOrderForAdmin); .get(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
getUserOrderForAdmin
);
router router
.route("/admin/user/:id") .route("/admin/user/:id")
.get(isAuthenticatedUser, authorizeRoles("admin"), getSingleUser); .get(isAuthenticatedUser, authorizeRoles("admin", "Employee"), getSingleUser);
router.route("/user/password/update").put(isAuthenticatedUser, updatePassword); router.route("/user/password/update").put(isAuthenticatedUser, updatePassword);

View File

@ -12,14 +12,26 @@ const router = express.Router();
router router
.route("/addAddress") .route("/addAddress")
.post(isAuthenticatedUser, authorizeRoles("admin"), addUserAddress); .post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
addUserAddress
);
router.route("/getAddressess").get(getUserAddress); router.route("/getAddressess").get(getUserAddress);
router.route("/getOneAddress/:_id").get(getOneAddress); router.route("/getOneAddress/:_id").get(getOneAddress);
router router
.route("/updateAddress/:_id") .route("/updateAddress/:_id")
.patch(isAuthenticatedUser, authorizeRoles("admin"), updateAddress); .patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateAddress
);
router router
.route("/deleteAddress/:_id") .route("/deleteAddress/:_id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteUserAddress); .delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteUserAddress
);
export default router; export default router;