Fix admin API to use family_members table

This commit is contained in:
Manohar Gupta 2026-05-10 23:11:18 +05:30
parent 43ee05d661
commit fe364c6e11
2 changed files with 12 additions and 11 deletions

View file

@ -8,7 +8,7 @@ export async function GET(request: Request) {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
}
// Get all families with user and child counts
// Get all families with user and child counts using family_members table
const families = await sql`
SELECT
f.id,
@ -17,10 +17,10 @@ export async function GET(request: Request) {
f.max_children,
f.max_members,
f.created_at,
COUNT(DISTINCT u.id) as user_count,
COUNT(DISTINCT fm.user_id) as user_count,
COUNT(DISTINCT c.id) as child_count
FROM families f
LEFT JOIN users u ON u.family_id = f.id
LEFT JOIN family_members fm ON fm.family_id = f.id
LEFT JOIN children c ON c.family_id = f.id
GROUP BY f.id
ORDER BY f.created_at DESC
@ -30,12 +30,12 @@ export async function GET(request: Request) {
families: families.map((f: any) => ({
id: f.id,
name: f.name,
tier: f.tier,
maxChildren: f.max_children,
maxMembers: f.max_members,
tier: f.tier || "free",
maxChildren: f.max_children || 1,
maxMembers: f.max_members || 2,
createdAt: f.created_at?.toISOString(),
userCount: Number(f.user_count),
childCount: Number(f.child_count),
userCount: Number(f.user_count) || 0,
childCount: Number(f.child_count) || 0,
})),
});
} catch (error) {

View file

@ -8,17 +8,18 @@ export async function GET(request: Request) {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
}
// Get all users with family info
// Get all users via family_members table with family info
const users = await sql`
SELECT
u.id,
u.email,
u.name,
u.family_id,
fm.family_id,
f.name as family_name,
u.created_at
FROM users u
LEFT JOIN families f ON f.id = u.family_id
LEFT JOIN family_members fm ON fm.user_id = u.id
LEFT JOIN families f ON f.id = fm.family_id
ORDER BY u.created_at DESC
`;