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:
@@ -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) {
|
dashboardData.stats[1].value = '$0';
|
||||||
// Try to fetch real data from database
|
dashboardData.stats[2].value = '0';
|
||||||
const userCountResult = await executeQuery('SELECT COUNT(*) as count FROM Users');
|
dashboardData.stats[3].value = '0%';
|
||||||
const userCount = userCountResult.recordset[0]?.count || 0;
|
dashboardData.recentActivity = [
|
||||||
|
{ description: 'System operational', timestamp: new Date().toISOString().slice(0, 16) }
|
||||||
// Update stats with real data
|
];
|
||||||
dashboardData.stats[0].value = userCount.toString();
|
console.log('✅ Dashboard loaded with mock data (no user storage)');
|
||||||
|
|
||||||
// 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[2].value = '0';
|
|
||||||
dashboardData.stats[3].value = '0%';
|
|
||||||
dashboardData.recentActivity = [
|
|
||||||
{ description: 'System started without database', timestamp: new Date().toISOString().slice(0, 16) }
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
} 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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user