From c58ba98856a452b8213e0b75fd7de5068ec1ede1 Mon Sep 17 00:00:00 2001 From: Gitea Date: Tue, 16 Jun 2026 15:33:59 +0530 Subject: [PATCH] dashboar changes --- controller/sessionManagement.js | 49 +++++++++++++++++++++++++++++++++ route/route.js | 4 +++ 2 files changed, 53 insertions(+) create mode 100644 controller/sessionManagement.js diff --git a/controller/sessionManagement.js b/controller/sessionManagement.js new file mode 100644 index 0000000..f9d5af8 --- /dev/null +++ b/controller/sessionManagement.js @@ -0,0 +1,49 @@ +const postgre = require('../database/postgre'); + +const getSessions = async (req, res) => { + try { + + const result = await postgre.query(` + SELECT + us.id, + us.session_id, + us.user_id, + u.name, + u.email, + us.created_at, + us.last_activity, + + CASE + WHEN us.is_active = true + AND us.last_activity >= NOW() - INTERVAL '30 minutes' + THEN 'Active' + ELSE 'Closed' + END AS status + + FROM user_sessions us + LEFT JOIN users u + ON u.id = us.user_id + + ORDER BY us.created_at DESC + `); + + res.status(200).json({ + success: true, + count: result.rows.length, + data: result.rows + }); + + } catch (error) { + console.error(error); + + res.status(500).json({ + success: false, + message: error.message + }); + } +}; + + +module.exports = { + getSessions +}; \ No newline at end of file diff --git a/route/route.js b/route/route.js index a957bb6..cc84159 100644 --- a/route/route.js +++ b/route/route.js @@ -6,6 +6,7 @@ const askQuestion = require('../controller/askQuestion.js'); const answerUnanswerdQuestion = require('../controller/answerUnanswerdQuestion.js'); const qdrantinsert = require('../controller/qdrantinsert.js'); const Dashboard = require('../controller/Dashboard.js'); +const sessionManagement = require('../controller/sessionManagement.js'); const multer = require("multer"); const upload = multer({ @@ -37,6 +38,9 @@ router.post('/upload', upload.single("pdf"), authMiddleware, qdrantinsert.upload router.get('/analytics',authMiddleware, Dashboard.analytics); router.get('/analyticsLast7Days',authMiddleware, Dashboard.analyticsLast7Days); +//*********************************sessionManagement************************************************ +router.get('/getSessions', authMiddleware, sessionManagement.getSessions); + module.exports = router;