const Report = require('../models/Report'); const User = require('../models/User'); exports.getDashboardUsers = async (req, res) => { try { // Fetch all users const users = await User.find().sort({ createdAt: -1 }); // We also need the latest report link for each user // In a real scenario, this could be optimized with an aggregation pipeline const dashboardData = await Promise.all(users.map(async (user) => { const latestReport = await Report.findOne({ phone: user.phone }).sort({ createdAt: -1 }); return { id: user._id, name: user.name, phone: user.phone, lastLink: latestReport ? latestReport.link : null, }; })); res.json(dashboardData); } catch (error) { console.error('Error fetching dashboard users:', error); res.status(500).json({ success: false, message: 'Server error' }); } };