From 71be225b33c7cca81d93acd4d7a4106b71c1bf01 Mon Sep 17 00:00:00 2001 From: Ernesto Herrera Date: Mon, 20 Jul 2026 06:43:35 -0600 Subject: [PATCH] fix(crm): guardar permisos de rol y recargar roles/usuarios tras refresh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - role-permissions.assign enviaba permission_id en el body pero el backend lo espera como query param → 422 silencioso; el permiso no se guardaba. Ahora va en la query y se confirma con un toast al marcar cada permiso (auto-guardado). - Roles y Usuarios recargaban solo con el evento companyChanged, que no dispara en la hidratación inicial; por eso tras refrescar no aparecían hasta re-elegir la compañía. Se cambia a un $effect que reacciona a la compañía activa. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../api/dashboard/admin/role-permissions.ts | 6 ++++- .../src/routes/dashboard/roles/+page.svelte | 23 ++++++++++--------- .../src/routes/dashboard/users/+page.svelte | 20 ++++++++-------- 3 files changed, 27 insertions(+), 22 deletions(-) diff --git a/frontend/src/lib/api/dashboard/admin/role-permissions.ts b/frontend/src/lib/api/dashboard/admin/role-permissions.ts index 208ed61..ef057f7 100644 --- a/frontend/src/lib/api/dashboard/admin/role-permissions.ts +++ b/frontend/src/lib/api/dashboard/admin/role-permissions.ts @@ -48,7 +48,11 @@ export const rolePermissionsAPI = { companyId: number, data: AssignPermissionData ): Promise { - const response = await api.post(`/v1/core/permissions/roles/${roleId}/permissions?company_id=${companyId}`, data); + // El backend recibe permission_id como query param (no en el body). + const response = await api.post( + `/v1/core/permissions/roles/${roleId}/permissions?permission_id=${data.permission_id}&company_id=${companyId}`, + {} + ); return response.data; }, diff --git a/frontend/src/routes/dashboard/roles/+page.svelte b/frontend/src/routes/dashboard/roles/+page.svelte index 0f60673..729ebd8 100644 --- a/frontend/src/routes/dashboard/roles/+page.svelte +++ b/frontend/src/routes/dashboard/roles/+page.svelte @@ -1,5 +1,4 @@