fix(config):RolesPermisos maneja modulos/acciones ya parseados por el API

El controller de config/roles ya devuelve modulos (array) y acciones
(objeto) parseados, pero el frontend intentaba JSON.parse() otra vez
sobre algo que no era string. Ahora verifica el tipo antes de parsear.
This commit is contained in:
2026-09-06 18:57:10 +00:00
parent 97c4e5cdf3
commit 487cd6f578
2 changed files with 4 additions and 4 deletions

View File

@@ -73,8 +73,8 @@ export function RolesPermisos() {
const estado: Record<string, RolEstado> = {}
for (const r of data) {
estado[r.rol] = {
modulos: JSON.parse(r.modulos) as string[],
acciones: JSON.parse(r.acciones) as Record<string, boolean>,
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<string, boolean>) : JSON.parse(r.acciones as string) as Record<string, boolean>,
}
}
setEdicion(estado)

View File

@@ -32,8 +32,8 @@ export async function patchConfigSistema(data: Record<string, string>): Promise<
export interface RolConfig {
rol: string
modulos: string // JSON array string
acciones: string // JSON object string
modulos: string[] | string
acciones: Record<string, boolean> | string
}
/** GET /config/roles — todas las configuraciones de rol */