8000 service part done · vishal-coder/CRM_backend@7079940 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7079940

Browse files
committed
service part done
1 parent 44a5bb9 commit 7079940

File tree

3 files changed

+81
-24
lines changed

3 files changed

+81
-24
lines changed

controllers/ServiceController.js

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
import { insertServiceRequest } from "../models/ServiceModel.js";
1+
import {
2+
fetchServiceRequest,
3+
getManagerServiceRequest,
4+
insertServiceRequest,
5+
updateServiceRequestById,
6+
} from "../models/ServiceModel.js";
27

38
export const createServiceRequest = async (req, res) => {
49
try {
@@ -9,14 +14,66 @@ export const createServiceRequest = async (req, res) => {
914
createdBy: createdBy,
1015
priority: priority,
1116
createdOn: new Date(),
17+
status: "Open",
1218
};
1319
console.log("inside createServiceRequest--", data);
1420
const response = await insertServiceRequest(data);
1521
console.log("createServiceRequest response is---", response);
1622
res.status(200).send({
1723
message: "Service Request Created Successfully",
1824
success: true,
19-
users: response,
25+
serviceReq: response,
26+
});
27+
} catch (error) {
28+
return res.send({
29+
message: "Something went wrong....Please try again later",
30+
success: false,
31+
});
32+
}
33+
};
34+
35+
export const getServiceRequests = async (req, res) => {
36+
try {
37+
const { username, userType } = req.body;
38+
39+
console.log(
40+
"inside getServiceRequests----------------------",
41+
username,
42+
userType
43+
);
44+
let response = null;
45+
if (userType === "Manager") {
46+
response = await getManagerServiceRequest(username);
47+
} else {
48+
response = await fetchServiceRequest(username, userType);
49+
}
50+
console.log("getServiceRequests response is---", response);
51+
res.status(200).send({
52+
message: "Lead fetched Successfully",
53+
success: true,
54+
serviceReq: response,
55+
});
56+
} catch (error) {
57+
return res.send({
58+
message: "Something went wrong....Please try again later",
59+
success: false,
60+
});
61+
}
62+
};
63+
64+
export const updateServiceStatus = async (req, res) => {
65+
try {
66+
const { id } = req.body;
67+
68+
console.log("inside updateServiceStatus----------------", id);
69+
70+
const response = await updateServiceRequestById(id);
71+
72+
console.log("response of update lead is", response);
73+
74+
res.status(200).send({
75+
message: "Lead updated Successfully",
76+
success: true,
2077
});
2178
} catch (error) {
2279
return res.send({

models/ServiceModel.js

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { ObjectId } from "mongodb";
12
import { client } from "../index.js";
23

34
export function insertServiceRequest(data) {
@@ -9,55 +10,51 @@ export async function fetchServiceRequest(username, userType) {
910
let query = {};
1011
if (userType === "Employee") {
1112
query = { createdBy: username };
12-
} else if (userType === "Manager") {
13-
query = { $or: [{ parent: username }, { createdBy: username }] };
1413
}
1514
return client
1615
.db("CRM")
17-
.collection("servicereq")
16+
.collection("servicereqs")
1817
.find(query, {
19-
firstname: 1,
20-
lastname: 1,
21-
phone: 1,
18+
_id: 1,
2219
email: 1,
23-
parent: 1,
24-
source: 1,
20+
description: 1,
21+
priority: 1,
22+
status: 1,
23+
createdBy: 1,
2524
createdOn: 1,
2625
})
2726
.toArray();
2827
}
2928

3029
export function getManagerServiceRequest(username) {
31-
console.log("inside manager get leads");
30+
console.log("inside manager getManagerServiceRequest");
3231
return client
3332
.db("CRM")
3433
.collection("users")
3534
.aggregate([
3635
{
3736
$lookup: {
38-
from: "servicereq",
37+
from: "servicereqs",
3938
localField: "username",
4039
foreignField: "createdBy",
41-
as: "leads",
40+
as: "serviceReq",
4241
},
4342
},
4443
{
4544
$match: {
4645
$or: [{ parent: username }, { username: username }],
4746
},
4847
},
49-
{ $project: { _id: 0, leads: 1 } },
50-
{ $unwind: { path: "$leads" } },
48+
{ $project: { _id: 0, serviceReq: 1 } },
49+
{ $unwind: { path: "$serviceReq" } },
5150
])
5251
.toArray();
5352
}
5453

5554
export function updateServiceRequestById(id) {
55+
console.log("inside model serviec", id);
5656
return client
5757
.db("CRM")
58-
.collection("servicereq")
59-
.updateOne(
60-
{ _id: ObjectId(id) },
61-
{ $set: { status: "Marked As Contact" } }
62-
);
58+
.collection("servicereqs")
59+
.updateOne({ _id: ObjectId(id) }, { $set: { status: "Closed" } });
6360
}

routes/ServiceRoutes.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ import {
55
getLeads,
66
MarkLeadAsContact,
77
} from "../controllers/LeadController.js";
8-
import { createServiceRequest } from "../controllers/ServiceController.js";
8+
import {
9+
createServiceRequest,
10+
getServiceRequests,
11+
updateServiceStatus,
12+
} from "../controllers/ServiceController.js";
913

1014
import { leadValidation } from "../validations/LeadValidation.js";
1115

@@ -15,8 +19,7 @@ router.get("/", (req, res) => {
1519
});
1620

1721
router.post("/create", createServiceRequest);
18-
router.post("/getAll", getLeads);
19-
router.delete("/delete", deleteLead);
20-
router.post("/markAsContact", MarkLeadAsContact);
22+
router.post("/getAll", getServiceRequests);
23+
router.put("/update", updateServiceStatus);
2124

2225
export const serviceRouter = router;

0 commit comments

Comments
 (0)
0