Refactor dashboard route to use mock data instead of database queries, simplifying the code and improving performance. Remove unnecessary database operations and error handling for user data retrieval.

This commit is contained in:
sebseb7
2025-07-20 07:47:25 +02:00
parent 429fd70497
commit 58f5bb4b4f

View File

@@ -1,7 +1,5 @@
const express = require('express'); const express = require('express');
const { authenticateToken } = require('../middleware/auth'); const { authenticateToken } = require('../middleware/auth');
const { executeQuery } = require('../config/database');
const { checkAuthorizedEmail } = require('../middleware/emailAuth');
const router = express.Router(); const router = express.Router();
@@ -18,45 +16,15 @@ router.get('/', authenticateToken, async (req, res) => {
recentActivity: [] recentActivity: []
}; };
try { // Use mock data since we don't store user information in database
// Only try database operations if configured dashboardData.stats[0].value = 'N/A';
if (process.env.DB_SERVER) {
// Try to fetch real data from database
const userCountResult = await executeQuery('SELECT COUNT(*) as count FROM Users');
const userCount = userCountResult.recordset[0]?.count || 0;
// Update stats with real data
dashboardData.stats[0].value = userCount.toString();
// Fetch recent activity
const activityResult = await executeQuery(`
SELECT TOP 10
CONCAT('User ', name, ' logged in') as description,
FORMAT(last_login, 'yyyy-MM-dd HH:mm') as timestamp
FROM Users
WHERE last_login IS NOT NULL
ORDER BY last_login DESC
`);
dashboardData.recentActivity = activityResult.recordset || [];
console.log('✅ Dashboard data loaded from database');
} else {
console.log('⚠️ No database configured, using mock dashboard data');
// Update with mock data
dashboardData.stats[0].value = '1';
dashboardData.stats[1].value = '$0'; dashboardData.stats[1].value = '$0';
dashboardData.stats[2].value = '0'; dashboardData.stats[2].value = '0';
dashboardData.stats[3].value = '0%'; dashboardData.stats[3].value = '0%';
dashboardData.recentActivity = [ dashboardData.recentActivity = [
{ description: 'System started without database', timestamp: new Date().toISOString().slice(0, 16) } { description: 'System operational', timestamp: new Date().toISOString().slice(0, 16) }
]; ];
} console.log('✅ Dashboard loaded with mock data (no user storage)');
} catch (dbError) {
console.error('Database query error in dashboard:', dbError.message);
// Keep fallback data
console.log('✅ Using fallback dashboard data');
}
res.json(dashboardData); res.json(dashboardData);
@@ -69,29 +37,12 @@ router.get('/', authenticateToken, async (req, res) => {
// Get user-specific data // Get user-specific data
router.get('/user', authenticateToken, async (req, res) => { router.get('/user', authenticateToken, async (req, res) => {
try { try {
const userId = req.user.id; const userData = {
let userData = {
profile: req.user, profile: req.user,
preferences: {}, preferences: {},
activity: [] activity: []
}; };
try {
// Fetch user preferences from database
const prefsResult = await executeQuery(
'SELECT * FROM UserPreferences WHERE user_id = @userId',
{ userId }
);
if (prefsResult.recordset.length > 0) {
userData.preferences = prefsResult.recordset[0];
}
} catch (dbError) {
console.error('Database query error for user data:', dbError);
}
res.json(userData); res.json(userData);
} catch (error) { } catch (error) {