informe-comercial-alfa/app/diagnostico/page.js
2026-09-21 17:11:53 -06:00

34 lines
1.2 KiB
JavaScript

import { auth } from "../lib/auth";
import { dv } from "../lib/dataverse";
import LoginPrompt from "../components/LoginPrompt";
export const dynamic = "force-dynamic";
async function checkDataverse(accessToken) {
try {
const data = await dv("systemusers?$select=fullname&$top=1", accessToken);
return { ok: true, sample: data.value?.[0]?.fullname };
} catch (e) {
return { ok: false, error: e.message };
}
}
export default async function DiagnosticoPage() {
const session = await auth();
if (!session?.email) return <LoginPrompt />;
const check = session.accessToken ? await checkDataverse(session.accessToken) : { ok: false, error: "sin accessToken" };
return (
<div style={{ padding: 24 }}>
<h2>Diagnóstico</h2>
<ul>
<li><strong>Correo:</strong> {session.email}</li>
<li><strong>Rol:</strong> {session.isAdmin ? "Administrador" : "Vendedor"}</li>
<li><strong>Token de Dataverse:</strong> {check.ok ? " funciona" : ` ${check.error}`}</li>
{check.ok && <li><strong>Prueba de lectura:</strong> {check.sample}</li>}
{session.error && <li style={{ color: "red" }}><strong>Error de sesión:</strong> {session.error}</li>}
</ul>
</div>
);
}