import { asc, eq } from "drizzle-orm";
import { db } from "@/db";
import { users } from "@/db/schema";

/**
 * Lesehelfer für die Benutzer EINER Wehr (Workstream 7). Scope kommt aus der
 * Session. Passwort-Hashes werden NIE selektiert (kein Daten-Leak).
 */

export interface BrigadeUserListItem {
  id: string;
  name: string;
  email: string;
  rolle: (typeof users.$inferSelect)["rolle"];
  authTyp: (typeof users.$inferSelect)["authTyp"];
  aktiv: boolean;
}

export async function listUsersForBrigade(
  brigadeId: string,
): Promise<BrigadeUserListItem[]> {
  return db
    .select({
      id: users.id,
      name: users.name,
      email: users.email,
      rolle: users.rolle,
      authTyp: users.authTyp,
      aktiv: users.aktiv,
    })
    .from(users)
    .where(eq(users.brigadeId, brigadeId))
    .orderBy(asc(users.name));
}
