diff --git a/apps/admin/src/app/api/admin/attendance/route.ts b/apps/admin/src/app/api/admin/attendance/route.ts index 03a5d50..3ae7648 100644 --- a/apps/admin/src/app/api/admin/attendance/route.ts +++ b/apps/admin/src/app/api/admin/attendance/route.ts @@ -34,7 +34,33 @@ export async function GET(req: NextRequest) { ? await getAttendanceByGym(targetGymId) : await db.getAllAttendance(); - return successResponse({ records: attendance }); + // Get all users to enrich attendance with user names + const allUsers = await db.getAllUsers(); + const userMap = new Map( + allUsers.map((u) => [ + u.id, + { + firstName: u.firstName, + lastName: u.lastName, + email: u.email, + }, + ]), + ); + + // Enrich attendance records with user information + const enrichedAttendance = attendance.map((record) => { + const userInfo = userMap.get(record.userId); + return { + ...record, + userName: userInfo + ? `${userInfo.firstName} ${userInfo.lastName}`.trim() || + userInfo.email + : record.userId, + userEmail: userInfo?.email, + }; + }); + + return successResponse({ records: enrichedAttendance }); } catch (error) { console.error("Admin attendance error:", error); return new NextResponse("Internal Server Error", { status: 500 }); diff --git a/apps/admin/src/app/attendance/page.tsx b/apps/admin/src/app/attendance/page.tsx index 59b1852..4ae38d7 100644 --- a/apps/admin/src/app/attendance/page.tsx +++ b/apps/admin/src/app/attendance/page.tsx @@ -63,7 +63,7 @@ export default function AttendancePage() { className="border-b border-border/50 hover:bg-muted/50 transition-colors" >