Ir al contenido principal

query/validar_crear_ruta - [funct_validar_crear_ruta_module]

Path:  /var/www/html/moradex-qa/app/Models/GeneralesApp.php

🧾 Descripción

Servicio que valida si un usuario o un terminal tienen permiso para acceder a un módulo específico.
Actualmente, debido a un return colocado antes de la validación, el servicio siempre devuelve acceso permitido, pero la lógica diseñada incluye listas de usuarios y terminales autorizados.


🚀 Endpoint


POST /validar-crear-ruta-module

📥 Request Body

{ "username": "string", "terminalId": "string" }

Parámetros

Campo Tipo Obligatorio Descripción
username string DNI o identificador del usuario.
terminalId string ID del terminal desde el cual accede.

🔐 Seguridad

Sin validación interna adicional.
Generalmente depende del middleware aplicado al endpoint.


🧠 Flujo del Servicio (resumen real)

IMPORTANTE: El servicio retorna inmediatamente acceso permitido debido al primer return.

Flujo implementado (real):

  1. Obtiene:

    • username (usuario)

    • terminalId (terminal)

  2. Retorna:

    { valor: true, msn: "Puede acceder al modulo" }

Esto interrumpe el método, haciendo que la lógica posterior nunca se ejecute.


Flujo diseñado (pero actualmente inactivo por el return anticipado)

  1. Verificar si el usuario está en la lista de usuarios permitidos:


    if (in_array($user, $usuarios_permitidas)) acceso permitido
  2. Verificar si el terminal está en la lista de terminales permitidas:


    if (in_array($terminal, $terminales_permitidas)) acceso permitido
  3. Si no coincide con ninguna lista → acceso denegado (pero el código está incompleto y termina con retur).


📤 Response – Ejemplo (actual)

✔️ Acceso permitido (siempre)

{ "valor": true, "msn": "Puede acceder al modulo" }

Posibles Errores (según la lógica esperada)

Actualmente NO se producen porque la función retorna antes de validar.

1. Usuario NO autorizado

{ "valor": false, "msn": "Usuario no autorizado" }

2. Terminal NO autorizada

{ "valor": false, "msn": "Terminal no autorizada" }

3. Petición incompleta

{ "valor": false, "msn": "Datos insuficientes (username o terminalId faltantes)" }

📚 Schemas (estructuras usadas)

Request

{ "username": "string", "terminalId": "string" }

Response

{ "valor": "boolean", "msn": "string" }

🗃 Lógica en pseudo-código

user = POST.username terminal = POST.terminalId return { valor: true, msn: "Puede acceder al modulo" } // retorna siempre usuarios_permitidos = [...] terminales_permitidas = [...] if user in usuarios_permitidos: return acceso permitido if terminal in terminales_permitidas: return acceso permitido return acceso denegado