api for add category and get all category done
This commit is contained in:
parent
e2603d33f1
commit
584ecfb113
4
.env
4
.env
@ -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;
|
||||||
|
@ -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
4
app.js
@ -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
|
||||||
|
18
resources/Category/CategoryModel.js
Normal file
18
resources/Category/CategoryModel.js
Normal 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);
|
49
resources/Category/categoryController.js
Normal file
49
resources/Category/categoryController.js
Normal 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",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
9
resources/Category/categoryRoutes.js
Normal file
9
resources/Category/categoryRoutes.js
Normal 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;
|
Loading…
Reference in New Issue
Block a user