diff --git a/apps/landing/src/components/config/RolesPermisos.tsx b/apps/landing/src/components/config/RolesPermisos.tsx index 61a8a3f..15382e3 100644 --- a/apps/landing/src/components/config/RolesPermisos.tsx +++ b/apps/landing/src/components/config/RolesPermisos.tsx @@ -73,8 +73,8 @@ export function RolesPermisos() { const estado: Record = {} for (const r of data) { estado[r.rol] = { - modulos: JSON.parse(r.modulos) as string[], - acciones: JSON.parse(r.acciones) as Record, + modulos: Array.isArray(r.modulos) ? (r.modulos as string[]) : JSON.parse(r.modulos as string) as string[], + acciones: r.acciones && typeof r.acciones === 'object' ? (r.acciones as Record) : JSON.parse(r.acciones as string) as Record, } } setEdicion(estado) diff --git a/apps/landing/src/services/config.ts b/apps/landing/src/services/config.ts index 48d90e6..714da2d 100644 --- a/apps/landing/src/services/config.ts +++ b/apps/landing/src/services/config.ts @@ -32,8 +32,8 @@ export async function patchConfigSistema(data: Record): Promise< export interface RolConfig { rol: string - modulos: string // JSON array string - acciones: string // JSON object string + modulos: string[] | string + acciones: Record | string } /** GET /config/roles — todas las configuraciones de rol */