From 39cfda72f552b1e1ec9aef88539a1258ad2ada69 Mon Sep 17 00:00:00 2001 From: AlexeerCT Date: Tue, 9 Jun 2026 10:38:17 -0500 Subject: [PATCH] fix: muestra fallo real al ligar permisos y reconfirma persistencia MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit togglePermission confiaba solo en res.ok de un fetch sin use:enhance, así que ocultaba el fail(500) del action y pintaba "Con Acceso" en falso aunque el INSERT tronara (42P10 por falta de UNIQUE en a24c). - togglePermission: manda x-sveltekit-action, deserializa el ActionResult, valida type === 'success', relee del servidor y muestra error si falla - GET de permisos: cache-control no-store para evitar lecturas viejas Co-Authored-By: Claude Opus 4.8 (1M context) --- src/routes/usuarios/+page.svelte | 55 +++++++++++++------ .../usuarios/api/permissions/+server.ts | 2 +- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/src/routes/usuarios/+page.svelte b/src/routes/usuarios/+page.svelte index 8d16c5b..3a4fe23 100644 --- a/src/routes/usuarios/+page.svelte +++ b/src/routes/usuarios/+page.svelte @@ -1,5 +1,6 @@ @@ -561,7 +578,13 @@

Permisos de: {selectedUser.username}

- + + {#if permissionError} +
+ {permissionError} +
+ {/if} + {#if selectedUser.es_admin}

Este usuario es administrador y tiene acceso a todas las bases de datos.

diff --git a/src/routes/usuarios/api/permissions/+server.ts b/src/routes/usuarios/api/permissions/+server.ts index 5063a81..d73f5c5 100644 --- a/src/routes/usuarios/api/permissions/+server.ts +++ b/src/routes/usuarios/api/permissions/+server.ts @@ -11,7 +11,7 @@ export const GET: RequestHandler = async ({ url }) => { try { const permissions = await getUserDatabasePermissions(userId); - return json({ permissions }); + return json({ permissions }, { headers: { 'cache-control': 'no-store' } }); } catch (error) { console.error('Error obteniendo permisos:', error); return json({ error: 'Error al obtener permisos' }, { status: 500 });