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:
@@ -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)
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user