42 lines
No EOL
1.1 KiB
TypeScript
42 lines
No EOL
1.1 KiB
TypeScript
import { NextResponse } from "next/server";
|
|
import { sql } from "@/db";
|
|
import { cookies } from "next/headers";
|
|
|
|
export async function GET() {
|
|
const sessionToken = (await cookies()).get("tia_session")?.value;
|
|
|
|
if (!sessionToken) {
|
|
return NextResponse.json({ error: "no cookie" });
|
|
}
|
|
|
|
// Get user from session
|
|
const sessions = await sql.unsafe(
|
|
`SELECT s.user_id FROM sessions s WHERE s.session_token = $1`,
|
|
[sessionToken]
|
|
);
|
|
|
|
const userId = sessions?.[0]?.user_id;
|
|
|
|
// Check families table
|
|
const families = await sql.unsafe(
|
|
`SELECT id, name FROM families ORDER BY created_at DESC LIMIT 5`
|
|
);
|
|
|
|
// Check family_members table
|
|
const members = await sql.unsafe(
|
|
`SELECT id, family_id, user_id, role FROM family_members ORDER BY created_at DESC LIMIT 5`
|
|
);
|
|
|
|
// Check children table
|
|
const children = await sql.unsafe(
|
|
`SELECT id, family_id, name FROM children ORDER BY created_at DESC LIMIT 5`
|
|
);
|
|
|
|
return NextResponse.json({
|
|
cookie: sessionToken?.slice(0, 20) + "...",
|
|
userId,
|
|
families,
|
|
members,
|
|
children
|
|
});
|
|
} |