api for add category and get all category done

This commit is contained in:
print-signs 2023-10-14 10:00:22 +05:30
parent e2603d33f1
commit 584ecfb113
6 changed files with 101 additions and 21 deletions

4
.env
View File

@ -1,6 +1,6 @@
mongodb
DB_URL="mongodb+srv://admin:b2WQucvAi99mBRRM@cluster0.c9tzwtr.mongodb.net/?retryWrites=true&w=majority" DB_URL="mongodb+srv://printsignsAdmin:dtMmP8h0AjxYpDah@cluster0.srx6va5.mongodb.net/?retryWrites=true&w=majority"
PORT = 8000 PORT = 8000
JWT_SECRET = jdvnvjwrniwj4562jn6@1xsbfeh@wre4Njdf; JWT_SECRET = jdvnvjwrniwj4562jn6@1xsbfeh@wre4Njdf;

View File

@ -1,26 +1,26 @@
//Create Token and saving in cookie //Create Token and saving in cookie
const sendToken = (user, statusCode, res) => { const sendToken = (user, statusCode, res) => {
const token = user.getJWTToken(); const token = user.getJWTToken();
// consolelog(token) // consolelog(token)
//options for cookie //options for cookie
// const options = { // const options = {
// expires: new Date( // expires: new Date(
// Date.now() + 20 * 24 * 60 * 60 * 1000 // Date.now() + 20 * 24 * 60 * 60 * 1000
// ), // ),
// httpOnly: true, // httpOnly: true,
// }; // };
res.status(statusCode).cookie("token", token).json({ res.status(statusCode).cookie("token", token).json({
// res.status(statusCode).json({ // res.status(statusCode).json({
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,
token, token,
}); });
}; };
export default sendToken; export default sendToken;

4
app.js
View File

@ -37,6 +37,8 @@ import StateRouter from "./resources/setting/state/state_routes.js";
import LanguageRoute from "./resources/setting/Language/language_routes.js"; import LanguageRoute from "./resources/setting/Language/language_routes.js";
//purpose //purpose
import PurposeRoute from "./resources/setting/Purpose/Purpose_routes.js"; import PurposeRoute from "./resources/setting/Purpose/Purpose_routes.js";
// category Route
import categoryRoute from "./resources/Category/categoryRoutes.js";
//business_Type //business_Type
import Business_TypeRoute from "./resources/setting/Business_Type/Business_routes.js"; import Business_TypeRoute from "./resources/setting/Business_Type/Business_routes.js";
@ -58,6 +60,8 @@ app.use("/api/v1/", user);
app.use("/api", ProductRouter); app.use("/api", ProductRouter);
//businesses //businesses
app.use("/api/businesses", BusinessRoute); app.use("/api/businesses", BusinessRoute);
// Category
app.use("/api/category", categoryRoute);
//Order //Order
app.use("/api", orderRoute); app.use("/api", orderRoute);
//Departure //Departure

View File

@ -0,0 +1,18 @@
import mongoose from "mongoose";
const CategorySchema = new mongoose.Schema(
{
categoryName: {
type: String,
required: [true, "Name of category required "],
},
addedBy: {
type: mongoose.Schema.ObjectId,
ref: "User",
required: true,
},
},
{ timestamps: true }
);
export const CategoryModel = mongoose.model("CategoryModel", CategorySchema);

View File

@ -0,0 +1,49 @@
import mongoose from "mongoose";
import { CategoryModel } from "./CategoryModel.js";
// Add new Category
export const addCategory = async (req, res) => {
const { categoryName } = req.body;
if (!req?.user) return res.status(400).json({ message: "please login !" });
try {
if (!mongoose.Types.ObjectId.isValid(addedBy)) {
return res.status(400).json({ message: "please login again " });
}
const category = await CategoryModel.create({
categoryName,
addedBy: req.user._id,
});
if (category) {
res
.status(201)
.json({ success: true, category, message: "category Added" });
}
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went Wrong",
});
}
};
export const getCategories = async (req, res) => {
try {
if (!req?.user) return res.status(400).json({ message: "please login !" });
const categories = await CategoryModel.find({ addedBy: req.user._id }).sort(
{
createdAt: -1,
}
);
if (!categories) {
return res.status(404).json({ message: "No categories found" });
}
res.status(200).json({ success: true, categories });
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went wrong",
});
}
};

View File

@ -0,0 +1,9 @@
import express from "express";
import { isAuthenticatedUser } from "../../middlewares/auth.js";
import { addCategory, getCategories } from "./categoryController.js";
const router = express.Router();
router.route("/add").post(isAuthenticatedUser, addCategory);
router.route("/getCategories").get(isAuthenticatedUser, getCategories);
export default router;