Fix admin API to use family_members table
This commit is contained in:
parent
43ee05d661
commit
fe364c6e11
2 changed files with 12 additions and 11 deletions
|
|
@ -8,7 +8,7 @@ export async function GET(request: Request) {
|
||||||
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
|
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`
|
const families = await sql`
|
||||||
SELECT
|
SELECT
|
||||||
f.id,
|
f.id,
|
||||||
|
|
@ -17,10 +17,10 @@ export async function GET(request: Request) {
|
||||||
f.max_children,
|
f.max_children,
|
||||||
f.max_members,
|
f.max_members,
|
||||||
f.created_at,
|
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
|
COUNT(DISTINCT c.id) as child_count
|
||||||
FROM families f
|
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
|
LEFT JOIN children c ON c.family_id = f.id
|
||||||
GROUP BY f.id
|
GROUP BY f.id
|
||||||
ORDER BY f.created_at DESC
|
ORDER BY f.created_at DESC
|
||||||
|
|
@ -30,12 +30,12 @@ export async function GET(request: Request) {
|
||||||
families: families.map((f: any) => ({
|
families: families.map((f: any) => ({
|
||||||
id: f.id,
|
id: f.id,
|
||||||
name: f.name,
|
name: f.name,
|
||||||
tier: f.tier,
|
tier: f.tier || "free",
|
||||||
maxChildren: f.max_children,
|
maxChildren: f.max_children || 1,
|
||||||
maxMembers: f.max_members,
|
maxMembers: f.max_members || 2,
|
||||||
createdAt: f.created_at?.toISOString(),
|
createdAt: f.created_at?.toISOString(),
|
||||||
userCount: Number(f.user_count),
|
userCount: Number(f.user_count) || 0,
|
||||||
childCount: Number(f.child_count),
|
childCount: Number(f.child_count) || 0,
|
||||||
})),
|
})),
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
|
|
@ -8,17 +8,18 @@ export async function GET(request: Request) {
|
||||||
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
|
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`
|
const users = await sql`
|
||||||
SELECT
|
SELECT
|
||||||
u.id,
|
u.id,
|
||||||
u.email,
|
u.email,
|
||||||
u.name,
|
u.name,
|
||||||
u.family_id,
|
fm.family_id,
|
||||||
f.name as family_name,
|
f.name as family_name,
|
||||||
u.created_at
|
u.created_at
|
||||||
FROM users u
|
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
|
ORDER BY u.created_at DESC
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue