Skip to content

Commit ca59c17

Browse files
committed
Feat:Add Subscriptions
1 parent 3ebd946 commit ca59c17

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

controllers/organizerInvoiceController.js

+14-6
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ const {
33
get_all_organizer_payment_invoice,
44
get_organizer_payment_invoice_by_id,
55
} = require("../services/organizerPaymentInvoiceService");
6-
6+
const { manage_organizer_level } = require("../services/organizerService");
7+
const { getOrganizerIdFromToken } = require("../helper/index");
78
const messages = {
89
notFound: "No Data Found",
910
serverError: "Internal Server Error",
@@ -25,17 +26,24 @@ const addOrganizerInvoice = async (req, res) => {
2526

2627
const upgradeOrganizerPayment = async (req, res) => {
2728
try {
28-
const id = await getOrganizerInvoiceById();
29+
const id = await getOrganizerIdFromToken(req, res);
30+
if (id === null) {
31+
return res.status(403).send("Invalid token.");
32+
}
33+
2934
const accountLevelId = req.body.subscription.accountLevelId;
30-
const data = await add_organizer_payment_invoice(req.body.payment);
3135

32-
if (!data.error) {
33-
return res.status(200).json(data);
36+
const payment = await add_organizer_payment_invoice(req.body.payment);
37+
38+
const upgradeAccount = await manage_organizer_level(id, accountLevelId);
39+
40+
if (!payment.error) {
41+
return res.status(200).json({ payment, upgradeAccount });
3442
} else {
3543
return res.status(404).json({ message: messages.notFound });
3644
}
3745
} catch (error) {
38-
return res.status(500).json({ message: messages.serverError });
46+
res.json({ error });
3947
}
4048
};
4149

helper/index.js

+9-4
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,19 @@ const verifyRefresh = (email, token) => {
1212
}
1313
};
1414

15-
const getOrganizerIdFromToken = () => {
15+
const getOrganizerIdFromToken = (req, res) => {
1616
const token = req.cookies.accessToken;
1717

1818
if (!token) return res.status(403).send("Access denied.");
19-
const decoded = jwt.verify(token, process.env.JWT_SECRET);
2019

21-
const id = decoded.UserInfo.id;
22-
return id;
20+
try {
21+
const decoded = jwt.verify(token, process.env.JWT_SECRET);
22+
const id = decoded.UserInfo.id;
23+
return id;
24+
} catch (error) {
25+
console.error("Error decoding token:", error);
26+
return null;
27+
}
2328
};
2429

2530
module.exports = { verifyRefresh, getOrganizerIdFromToken };

routers/organizerInvoiceRoutes.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ const {
33
addOrganizerInvoice,
44
getAllOrganizerInvoice,
55
getOrganizerInvoiceById,
6+
upgradeOrganizerPayment,
67
} = require("../controllers/organizerInvoiceController");
78

89
router.get("/all", getAllOrganizerInvoice);
910

1011
router.get("/:organizerInvoiceId", getOrganizerInvoiceById);
1112

12-
router.post("/create", addOrganizerInvoice);
13+
router.post("/upgradeOrganizerLevel", upgradeOrganizerPayment);
1314

1415
module.exports = router;

0 commit comments

Comments
 (0)