Skip to content

Commit 7abf0ee

Browse files
added create session route
1 parent 974e5d2 commit 7abf0ee

File tree

4 files changed

+65
-6
lines changed

4 files changed

+65
-6
lines changed

backend/src/controllers/sessionController.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
deleteService,
66
switchCacheDb,
77
getAllSessionService,
8+
createSessionService,
89
} from "../services/sessionService";
910

1011
const SESSION_EXPIRY = 3600; // 1 hour
@@ -99,3 +100,17 @@ export const getAllSession = async (req: Request, res: Response) => {
99100
.send({ message: "Error fetching session", error: error.message });
100101
}
101102
};
103+
104+
export const createSession = async (req: Request, res: Response) => {
105+
const { sessionID, payload } = req.body;
106+
107+
try {
108+
const response = await createSessionService(sessionID, payload);
109+
res.status(200).send({ message: response });
110+
} catch (error: any) {
111+
console.error(error);
112+
res
113+
.status(500)
114+
.send({ message: "Error creating session", error: error.message });
115+
}
116+
};

backend/src/routes/sessionRoutes.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import {
66
updateSession,
77
deleteSession,
88
updateCacheDb,
9-
getAllSession
9+
getAllSession,
10+
createSession,
1011
} from "../controllers/sessionController";
1112
import validateToken from "../middleware";
1213

@@ -16,6 +17,7 @@ router.get("/all", validateToken, getAllSession);
1617
router.get("/", validateToken, getSession);
1718
router.put("/", validateToken, updateSession);
1819
router.delete("/", validateToken, deleteSession);
19-
router.post("/updatedb", validateToken, updateCacheDb);
20+
router.post("/", createSession);
21+
router.post("/updatedb", updateCacheDb);
2022

2123
export default router;

backend/src/routes/unitRoutes.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { Router } from "express";
2+
import {
3+
getSession,
4+
updateSession,
5+
deleteSession,
6+
updateCacheDb,
7+
getAllSession,
8+
} from "../controllers/sessionController";
9+
import validateToken from "../middleware";
10+
11+
const router = Router();
12+
13+
router.get("/all", validateToken, getAllSession);
14+
router.get("/", validateToken, getSession);
15+
router.put("/", validateToken, updateSession);
16+
router.delete("/", validateToken, deleteSession);
17+
router.post("/updatedb", validateToken, updateCacheDb);
18+
19+
export default router;

backend/src/services/sessionService.ts

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ export const switchCacheDb = (db_id: number) => {
1313
RedisService.useDb(db_id);
1414
};
1515

16-
export const createSessionService = async (
17-
sessionId: string,
18-
data: SessionData
19-
) => {
16+
export const dummy = async (sessionId: string, data: SessionData) => {
2017
const {
2118
city,
2219
domain,
@@ -170,3 +167,29 @@ export const deleteService = async (subscriber_url: string) => {
170167
throw new Error(`${e.message}`);
171168
}
172169
};
170+
171+
export const createSessionService = async (sessionID: string, data: any) => {
172+
console.log("session data payload", sessionID, data);
173+
174+
try {
175+
const session = await RedisService.getKey(sessionID);
176+
177+
console.log("session>>>>", session);
178+
179+
if (session) {
180+
throw new Error("session already exists");
181+
return;
182+
}
183+
184+
// Store session data in Redis
185+
const newSession = await RedisService.setKey(
186+
sessionID,
187+
JSON.stringify(data),
188+
SESSION_EXPIRY
189+
);
190+
console.log("session", newSession);
191+
return "Session created successfully";
192+
} catch (error: any) {
193+
throw new Error(`${error.message}`);
194+
}
195+
};

0 commit comments

Comments
 (0)