El módulo de Perfil de Usuario de Pensión a la Medida permite a cada usuario autenticado consultar sus datos personales, actualizar su información de perfil y cambiar su contraseña de acceso, todo desde la interfaz web sin necesidad de intervención del administrador. Las rutas de este módulo están protegidas por el middlewareDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/amarcano568/pensionalamedida/llms.txt
Use this file to discover all available pages before exploring further.
auth y operan sobre la sesión activa del navegador; la identidad del usuario se obtiene a través de Auth::user() en cada operación.
Ver perfil
Carga la vista principal del perfil de usuario. Esta ruta simplemente retorna la plantilla Blade que contiene el formulario de perfil; los datos se cargan de forma asíncrona mediante el endpointGET /buscar-perfil.
| Método | Ruta | Controlador | Vista retornada |
|---|---|---|---|
GET | /ver-perfil | PerfilController@verPerfil | perfiles.perfil |
Obtener datos del perfil
Devuelve en formato JSON los datos del usuario autenticado en la sesión activa, incluyendo el nombre de su primer rol asignado. Este endpoint es consumido por el frontend para poblar el formulario de perfil tras cargar la vista.| Método | Ruta | Controlador |
|---|---|---|
GET | /buscar-perfil | PerfilController@buscarPerfil |
rol se obtiene llamando a $user->getRoleNames() y tomando el primer elemento del resultado ($roles[0]). El controlador añade dinámicamente este campo al objeto usuario antes de devolverlo:
Actualizar perfil
Persiste los cambios en los datos del perfil del usuario autenticado. La lógica de guardado está encapsulada en el método estáticoUsuario::Guardar($request) del modelo Usuario, manteniendo el controlador delgado.
| Método | Ruta | Controlador |
|---|---|---|
POST | /actualizar-perfil | PerfilController@actualizarPerfil |
Usuario::Guardar($request) retorna false, la transacción se revierte y se devuelve el mensaje de error correspondiente:
Vista de cambio de contraseña
Carga la vista dedicada al cambio de contraseña. Esta ruta retorna la plantilla Blade que contiene el formulario específico para actualizar la contraseña; el formulario envía los datos al endpointPOST /actualiza-password.
| Método | Ruta | Controlador | Vista retornada |
|---|---|---|---|
GET | /cambiar-contrasena | PerfilController@cambiarContrasena | perfiles.change-password |
Cambiar contraseña
Permite al usuario autenticado actualizar su contraseña de acceso de forma segura. El endpoint valida los tres campos requeridos, comprueba que la contraseña actual sea correcta usandoHash::check, y almacena el nuevo hash generado con Hash::make.
| Método | Ruta | Controlador |
|---|---|---|
POST | /actualiza-password | PerfilController@actualizaPassword |
Contraseña actual del usuario. Se verifica contra el hash almacenado en la base de datos mediante
Hash::check. Longitud mínima: 8 caracteres.Nueva contraseña deseada. Debe ser diferente de
contrasenaActual (regla different:contrasenaActual) y tener una longitud mínima de 8 caracteres.Confirmación de la nueva contraseña. Debe coincidir exactamente con
newContrasena (regla same:newContrasena). Longitud mínima: 8 caracteres.Validación de contraseña
El endpointPOST /actualiza-password aplica las siguientes reglas de validación antes de procesar el cambio:
| Campo | Regla | Descripción |
|---|---|---|
contrasenaActual | required | El campo es obligatorio. |
contrasenaActual | string | Debe ser una cadena de texto. |
contrasenaActual | min:8 | Mínimo 8 caracteres. |
newContrasena | required | El campo es obligatorio. |
newContrasena | string | Debe ser una cadena de texto. |
newContrasena | min:8 | Mínimo 8 caracteres. |
newContrasena | different:contrasenaActual | La nueva contraseña debe ser distinta de la actual. |
repetirContrasena | required_with:newContrasena | Obligatorio cuando newContrasena está presente. |
repetirContrasena | same:newContrasena | Debe coincidir exactamente con newContrasena. |
repetirContrasena | string | Debe ser una cadena de texto. |
repetirContrasena | min:8 | Mínimo 8 caracteres. |
status: false, el mensaje "Fallo al actualizar la contraseña." y el objeto errors con los mensajes de validación por campo — sin intentar verificar la contraseña actual ni escribir en la base de datos.
El cambio de contraseña valida explícitamente que la nueva contraseña sea diferente de la contraseña actual mediante la regla
different:contrasenaActual. Esto impide que un usuario establezca la misma contraseña que ya tenía, garantizando que el cambio tenga efecto real sobre su acceso al sistema.