mission-control/app/api/users/directory/route.ts

30 lines
925 B
TypeScript

import { NextResponse } from "next/server";
import { getServiceSupabase } from "@/lib/supabase/client";
type UserDirectoryRow = {
id: string;
name: string | null;
avatar_url: string | null;
};
export async function GET() {
try {
const supabase = getServiceSupabase();
const { data, error } = await supabase
.from("users")
.select("id, name, avatar_url")
.order("name", { ascending: true });
if (error) {
console.error("[users/directory] Supabase query failed", error);
return NextResponse.json({ error: error.message }, { status: 500 });
}
return NextResponse.json({ users: (data ?? []) as UserDirectoryRow[] });
} catch (error) {
const message = error instanceof Error ? error.message : "Failed to fetch user directory";
console.error("[users/directory] Request failed", error);
return NextResponse.json({ error: message }, { status: 500 });
}
}