import { ehDaEquipe } from "@/lib/live/regras";
import { rotaDeQuemEsta } from "@/lib/live/servidor/rota";
import { pessoasOnline } from "@/lib/live/servidor/sala";

export const runtime = "nodejs";

/* A aba "Pessoas": quem está na sala agora. Quem apresenta vê também quem está com a mão levantada. */
export async function GET(req: Request, { params }: { params: Promise<{ salaId: string }> }) {
  const { salaId } = await params;
  return rotaDeQuemEsta(req, salaId, async ({ admin, sala, eu }) => {
    const pessoas = await pessoasOnline(admin, sala.id);
    const equipe = ehDaEquipe(eu.papel);
    return {
      pessoas: pessoas.slice(0, 500).map((p) => ({
        id: p.id,
        nome: p.nome,
        papel: p.papel,
        foto: p.foto,
        mao: equipe ? p.mao_em : null,
        podeFalar: p.pode_falar,
        camera: Boolean(p.trilhas?.cam),
        microfone: Boolean(p.trilhas?.mic),
        tela: Boolean(p.trilhas?.tela),
        eu: p.id === eu.id,
      })),
      total: pessoas.length,
    };
  });
}
