Initial commit: added frontend and backend
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
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' });
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user