Skip to content

Commit 655da32

Browse files
committed
order schema, category api
1 parent 2c9f1ab commit 655da32

File tree

9 files changed

+153
-12
lines changed

9 files changed

+153
-12
lines changed

controller/category.controller.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,17 @@ module.exports = {
4545
const response = await categoryService.getCategory(slug);
4646
return res.send({statusCode:successCode, data:response, message: 'All Category fetched successfully'});
4747
} catch (error) {
48-
console.log("CATEGORY CONTROLLER -- getCategory :: ", error);
48+
console.log("CATEGORY CONTROLLER -- getCategoryHome :: ", error);
49+
return handleCustomError(res, error)
50+
}
51+
},
52+
getSubCategoryHome : async (req, res) => {
53+
let slug = req.params.slug
54+
try {
55+
const response = await categoryService.getCategory(slug);
56+
return res.send({statusCode:successCode, data:response, message: 'All Category fetched successfully'});
57+
} catch (error) {
58+
console.log("CATEGORY CONTROLLER -- getCategoryHome :: ", error);
4959
return handleCustomError(res, error)
5060
}
5161
}

controller/order.controller.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
const { orderService } = require("../services/index");
2+
const { successCode } = require("../utils/message");
3+
const { handleCustomError } = require("../utils/errors");
4+
const { v4: uuidv4 } = require("uuid");
5+
6+
module.exports = {
7+
getUserOrderList: async (req, res) => {
8+
const { userId } = req.user.id
9+
try {
10+
const response = await orderService.getUserOrder(userId);
11+
return res.send({
12+
statusCode: successCode,
13+
message: "Order fetched successfully",
14+
data : response
15+
});
16+
} catch (error) {
17+
console.log("ORDER CONTROLLER -- getUserOrderList :: ", error);
18+
return handleCustomError(res, error);
19+
}
20+
},
21+
createNewOrder: async (req, res) => {
22+
const { productId, variantId, userId, sellerId, orderId } = req.body;
23+
try {
24+
let orderId = uuidv4();
25+
let item = { productId, variantId, userId, sellerId, orderId };
26+
const response = await orderService.createNewOrder(item);
27+
return res.send({statusCode: successCode, message: "Order created successfully", orderId : response._id});
28+
} catch (error) {
29+
console.log("ORDER CONTROLLER -- createNewOrder :: ", error);
30+
return handleCustomError(res, error);
31+
}
32+
}
33+
};

controller/user.controller.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,9 @@ module.exports = {
1414
},
1515
getUserProfile : async (req, res) => {
1616
const userId = req.user.id
17-
console.log('====================================');
18-
console.log("userId", req.user);
19-
console.log('====================================');
2017
try {
2118
const users = await userService.getUsersById(userId);
22-
return res.json({statusCode:successCode, data:users[0], message:'successful'});
19+
return res.json({statusCode:successCode, message:'Profile fetch successfully', data:users[0]});
2320
} catch (error) {
2421
console.log("USER CONTROLLER -- getUserProfile :: ", error);
2522
return res.status(500).json({ message: error.message,statusCode:errorCode });
@@ -28,7 +25,7 @@ module.exports = {
2825
getAllUsers : async (req, res) => {
2926
try {
3027
const users = await userService.getUsers();
31-
return res.json({statusCode:successCode, data:users, message:'successful'});
28+
return res.json({statusCode:successCode, message:'User fetch successful', data:users});
3229
} catch (error) {
3330
console.log("USER CONTROLLER -- getAllUsers :: ", error);
3431
return res.status(500).json({ message: error.message,statusCode:errorCode });
@@ -38,7 +35,7 @@ module.exports = {
3835
try {
3936
const userId = req.user.id
4037
const users = await userAddressService.getUserAddress(userId);
41-
return res.json({statusCode:successCode, data:users, message:'successful'});
38+
return res.json({statusCode:successCode, message:'successful', data:users});
4239
} catch (error) {
4340
console.log("USER CONTROLLER -- getUserAddress :: ", error);
4441
return res.status(500).json({ message: error.message,statusCode:errorCode });
@@ -70,10 +67,10 @@ module.exports = {
7067
}
7168
},
7269
updateDefaultAddress : async (req, res) => {
73-
const {addressId} = req.body
70+
const { addressId } = req.body
7471
const userId = req.user.id
7572
try {
76-
let update = { address: addressId}
73+
let update = { address: addressId }
7774
let filter = { _id:userId }
7875
const result = await userService.userUpdateDetails(filter, update);
7976
if(result.status === 1){

models/order.model.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ const OrderSchema = new mongoose.Schema({
1717
type: mongoose.Schema.Types.ObjectId, ref: "User",
1818
required: true,
1919
},
20+
sellerId: {
21+
type: mongoose.Schema.Types.ObjectId, ref: "Seller",
22+
required: true,
23+
},
2024
quantity: {
2125
type: Number,
2226
required: true,
@@ -49,6 +53,14 @@ const OrderSchema = new mongoose.Schema({
4953
type: String,
5054
required: true,
5155
},
56+
orderDate : {
57+
type: String,
58+
required: true,
59+
},
60+
orderTime : {
61+
type: String,
62+
required: true,
63+
},
5264
deliveryAddress: {
5365
type: String,
5466
required: true,

models/seller.model.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
const mongoose = require("mongoose");
2+
3+
const sellerSchema = new mongoose.Schema(
4+
{
5+
uuid: {
6+
type: String,
7+
required: true,
8+
},
9+
name: {
10+
type: String,
11+
required: true,
12+
},
13+
email: {
14+
type: String,
15+
required: true,
16+
unique: true,
17+
},
18+
phone: {
19+
type: String,
20+
required: true,
21+
unique: true,
22+
},
23+
password: {
24+
type: String,
25+
required: true,
26+
},
27+
signupSession: {
28+
type: String,
29+
},
30+
accountStatus: {
31+
type: Number,
32+
default: 0,
33+
},
34+
otp: {
35+
type: String,
36+
},
37+
otptimestamp: {
38+
type: String,
39+
},
40+
date: { type: Date, default: Date.now },
41+
},
42+
{ timestamps: true, timeseries: true }
43+
);
44+
45+
const Seller = mongoose.model("Seller", sellerSchema);
46+
47+
module.exports = Seller;

routes/category.routes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ adminRouter.post('/addCategory', validateCategory, categoryController.addNewCate
99
adminRouter.get('/getCategory/:id', categoryController.getCategory);
1010
adminRouter.get('/getCategory', categoryController.getCategory);
1111
homeRouter.get('/getCategory', categoryController.getCategoryHome);
12-
// homeRouter.get('/getSubCategory', categoryController.getSubCategoryHome);
12+
homeRouter.get('/getSubCategory', categoryController.getSubCategoryHome);
1313

1414
module.exports = {adminRouter, homeRouter};

services/category.service.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,19 @@ module.exports = {
3535
throw error;
3636
}
3737
},
38+
39+
getSubCategory : async(slug) => {
40+
try {
41+
const response = Category.find({slug:slug}, {title:1, categoryId:1, slug:1, parentId:1, image:1})
42+
return response
43+
} catch (error) {
44+
console.error('Error in CATEGORY SERVICE :: getCategory : ', error);
45+
throw error;
46+
}
47+
},
3848
getSubCategoryHome : async(slug) => {
3949
try {
4050
const response = Category.find({slug:slug}, {title:1, slug:1, image:1})
41-
.sort({ _id:-1})
4251
return response
4352
} catch (error) {
4453
console.error('Error in CATEGORY SERVICE :: getCategory : ', error);

services/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ module.exports = {
22
productService : require("./product.service"),
33
userService : require("./user.service"),
44
userAddressService : require("./address.service"),
5-
categoryService : require("./category.service")
5+
categoryService : require("./category.service"),
6+
orderService : require("./order.service")
67
}

services/order.service.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const Order = require("../models/order.model");
2+
3+
module.exports = {
4+
createNewOrder: async (item) => {
5+
try {
6+
let newEntry = new Order(item);
7+
const response = await newEntry.save();
8+
return { status: 1, data: response };
9+
} catch (error) {
10+
console.error("Error in ORDER SERVICE :: createNewOrder : ", error);
11+
throw error;
12+
}
13+
},
14+
getUserOrder: async (userId) => {
15+
try {
16+
const response = new Order.find({userId});
17+
return { status: 1, data: response };
18+
} catch (error) {
19+
console.error("Error in ORDER SERVICE :: getUserOrder : ", error);
20+
throw error;
21+
}
22+
},
23+
getUserOrderById: async (userId, orderId) => {
24+
try {
25+
const response = new Order.find({userId, orderId});
26+
return { status: 1, data: response };
27+
} catch (error) {
28+
console.error("Error in ORDER SERVICE :: getUserOrderById : ", error);
29+
throw error;
30+
}
31+
},
32+
};

0 commit comments

Comments
 (0)