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 @@
|
||||
|
||||
|
||||
DB_URL="mongodb+srv://admin:b2WQucvAi99mBRRM@cluster0.c9tzwtr.mongodb.net/?retryWrites=true&w=majority"
|
||||
mongodb
|
||||
DB_URL="mongodb+srv://printsignsAdmin:dtMmP8h0AjxYpDah@cluster0.srx6va5.mongodb.net/?retryWrites=true&w=majority"
|
||||
|
||||
PORT = 8000
|
||||
JWT_SECRET = jdvnvjwrniwj4562jn6@1xsbfeh@wre4Njdf;
|
||||
|
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";
|
||||
//purpose
|
||||
import PurposeRoute from "./resources/setting/Purpose/Purpose_routes.js";
|
||||
// category Route
|
||||
import categoryRoute from "./resources/Category/categoryRoutes.js";
|
||||
//business_Type
|
||||
import Business_TypeRoute from "./resources/setting/Business_Type/Business_routes.js";
|
||||
|
||||
@ -58,6 +60,8 @@ app.use("/api/v1/", user);
|
||||
app.use("/api", ProductRouter);
|
||||
//businesses
|
||||
app.use("/api/businesses", BusinessRoute);
|
||||
// Category
|
||||
app.use("/api/category", categoryRoute);
|
||||
//Order
|
||||
app.use("/api", orderRoute);
|
||||
//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