import { NextResponse } from "next/server";
import { getDbPool } from "@/db";
import { getSession } from "@/lib/auth";
import { ensureCapitalTenant } from "@/lib/tenant";
export const runtime="nodejs";
export async function GET(req:Request){const s=await getSession();if(!s||s.role!=="capital_admin")return NextResponse.json({error:"Sem permissão."},{status:403});const q=new URL(req.url).searchParams,tenant=q.get("tenantId")||await ensureCapitalTenant(),role=q.get("role")||"client_admin";const [r]=await getDbPool().execute("SELECT can_view_photos,can_manual_review,can_download_report FROM tenant_role_permissions WHERE tenant_id=? AND role=?",[tenant,role]);return NextResponse.json({profile:(r as object[])[0]??{can_view_photos:true,can_manual_review:false,can_download_report:true}})}
export async function PUT(req:Request){const s=await getSession();if(!s||s.role!=="capital_admin")return NextResponse.json({error:"Sem permissão."},{status:403});const b=await req.json(),tenant=String(b.tenantId||await ensureCapitalTenant()),role=String(b.role||"client_admin");if(!["client_admin","client_manager"].includes(role))return NextResponse.json({error:"Tipo de usuário inválido."},{status:400});await getDbPool().execute("INSERT INTO tenant_role_permissions (tenant_id,role,can_view_photos,can_manual_review,can_download_report) VALUES (?,?,?,?,?) ON DUPLICATE KEY UPDATE can_view_photos=VALUES(can_view_photos),can_manual_review=VALUES(can_manual_review),can_download_report=VALUES(can_download_report)",[tenant,role,Boolean(b.photos),Boolean(b.manualReview),Boolean(b.report)]);return NextResponse.json({ok:true})}
