import { eq } from "drizzle-orm";

import { db } from "@/lib/db";
import { member, organization } from "@/lib/db/schema";

/* Returns the user's memberships joined with org names — used to
   populate the <OrgSwitcher> dropdown and the /onboarding page. */
export async function listUserOrganizations(userId: string) {
  const rows = await db
    .select({
      id: organization.id,
      name: organization.name,
      role: member.role,
    })
    .from(member)
    .innerJoin(organization, eq(member.organizationId, organization.id))
    .where(eq(member.userId, userId))
    .orderBy(organization.name);
  return rows.map((r) => ({
    id: r.id,
    name: r.name,
    role: r.role as "owner" | "admin" | "member",
  }));
}
