34 lines
1.2 KiB
JavaScript
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>
|
|
);
|
|
}
|