Class EmpleadoController
Proporciona endpoints para el alta, listado, actualización, baja y readmisión de empleados, así como la gestión del perfil propio por parte de los mismos.
Todas las operaciones en este controlador requieren un token de autenticación válido y los permisos correspondientes según el rol del usuario (Empresa o Empleado).
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<RespuestaEmpleadoDTO> actualizarEmpleado(Long id, @Valid PeticionActualizarEmpleadoDTO peticion) Actualiza la información de un empleado existente identificado por su ID.org.springframework.http.ResponseEntity<Void> cambiarMiContrasena(@Valid PeticionCambiarPasswordDTO peticion) Permite al empleado autenticado actualizar su contraseña de acceso personal.org.springframework.http.ResponseEntity<RespuestaCrearEmpleadoDTO> crearEmpleado(@Valid PeticionCrearEmpleadoDTO peticion) Endpoint para dar de alta un nuevo empleado en la empresa autenticada.org.springframework.http.ResponseEntity<Void> darDeBaja(Long id, @Valid PeticionBajaEmpleadoDTO peticion) Tramita la baja contractual de un empleado en una fecha determinada.org.springframework.http.ResponseEntity<List<RespuestaEmpleadoDTO>> Obtiene el listado completo de empleados pertenecientes a la empresa autenticada.org.springframework.http.ResponseEntity<RespuestaEmpleadoDTO> Permite al empleado autenticado consultar su propia información de perfil.org.springframework.http.ResponseEntity<List<RolEmpleado>> Proporciona el listado de todos los roles de empleado disponibles en el sistema.org.springframework.http.ResponseEntity<RespuestaCrearEmpleadoDTO> Reinstaura a un empleado que se encontraba previamente de baja.
-
Field Details
-
empleadoService
-
-
Constructor Details
-
EmpleadoController
public EmpleadoController()
-
-
Method Details
-
crearEmpleado
@PostMapping @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<RespuestaCrearEmpleadoDTO> crearEmpleado(@Valid @RequestBody @Valid PeticionCrearEmpleadoDTO peticion) Endpoint para dar de alta un nuevo empleado en la empresa autenticada.Únicamente accesible para usuarios con el rol de 'EMPRESA'. Tras el alta, el sistema genera automáticamente una contraseña para el empleado.
URL de acceso:
POST http://localhost:8080/api/empleados- Parameters:
peticion- DTO con los datos personales y contractuales del nuevo empleado.- Returns:
- ResponseEntity con el objeto
RespuestaCrearEmpleadoDTOque incluye la contraseña generada y estado 201 (Created).
-
listarEmpleados
@GetMapping @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<List<RespuestaEmpleadoDTO>> listarEmpleados()Obtiene el listado completo de empleados pertenecientes a la empresa autenticada.Únicamente accesible para usuarios con el rol de 'EMPRESA'.
URL de acceso:
GET http://localhost:8080/api/empleados- Returns:
- ResponseEntity con una lista de
RespuestaEmpleadoDTOy estado 200 (OK).
-
actualizarEmpleado
@PutMapping("/{id}") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<RespuestaEmpleadoDTO> actualizarEmpleado(@PathVariable("id") Long id, @Valid @RequestBody @Valid PeticionActualizarEmpleadoDTO peticion) Actualiza la información de un empleado existente identificado por su ID.Únicamente accesible para usuarios con el rol de 'EMPRESA'.
URL de acceso:
PUT http://localhost:8080/api/empleados/{id}- Parameters:
id- Identificador único del empleado a modificar.peticion- DTO con los nuevos datos a actualizar en la ficha del empleado.- Returns:
- ResponseEntity con el
RespuestaEmpleadoDTOactualizado y estado 200 (OK).
-
darDeBaja
@PostMapping("/{id}/baja") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<Void> darDeBaja(@PathVariable Long id, @RequestBody @Valid @Valid PeticionBajaEmpleadoDTO peticion) Tramita la baja contractual de un empleado en una fecha determinada.El empleado dejará de tener acceso al sistema a partir de dicha fecha.
URL de acceso:
POST http://localhost:8080/api/empleados/{id}/baja- Parameters:
id- Identificador único del empleado que causa baja.peticion- DTO que contiene la fecha efectiva de la baja del contrato.- Returns:
- ResponseEntity con cuerpo vacío y estado 204 (No Content) tras procesar la baja.
-
readmitirEmpleado
@PostMapping("/{id}/readmitir") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<RespuestaCrearEmpleadoDTO> readmitirEmpleado(@PathVariable("id") Long id) Reinstaura a un empleado que se encontraba previamente de baja.Elimina la restricción de acceso, limpia la fecha de baja y genera una nueva contraseña.
Únicamente accesible para usuarios con el rol de 'EMPRESA'.
URL de acceso:
POST http://localhost:8080/api/empleados/{id}/readmitir- Parameters:
id- Identificador único del empleado a readmitir.- Returns:
- ResponseEntity con el objeto
RespuestaCrearEmpleadoDTOy la nueva contraseña generada.
-
obtenerMiPerfil
@GetMapping("/me") @PreAuthorize("hasRole(\'EMPLEADO\')") public org.springframework.http.ResponseEntity<RespuestaEmpleadoDTO> obtenerMiPerfil()Permite al empleado autenticado consultar su propia información de perfil.Únicamente accesible para usuarios con el rol de 'EMPLEADO'.
URL de acceso:
GET http://localhost:8080/api/empleados/me- Returns:
- ResponseEntity con el
RespuestaEmpleadoDTOque representa el perfil del usuario logueado.
-
cambiarMiContrasena
@PutMapping("/me/contrasena") @PreAuthorize("hasRole(\'EMPLEADO\')") public org.springframework.http.ResponseEntity<Void> cambiarMiContrasena(@Valid @RequestBody @Valid PeticionCambiarPasswordDTO peticion) Permite al empleado autenticado actualizar su contraseña de acceso personal.Únicamente accesible para usuarios con el rol de 'EMPLEADO'.
URL de acceso:
PUT http://localhost:8080/api/empleados/me/contrasena- Parameters:
peticion- DTO que incluye la contraseña actual y la nueva contraseña elegida.- Returns:
- ResponseEntity con cuerpo vacío y estado 204 (No Content) tras el cambio exitoso.
-
obtenerRoles
@GetMapping("/roles") @PreAuthorize("hasAnyRole(\'EMPRESA\', \'EMPLEADO\')") public org.springframework.http.ResponseEntity<List<RolEmpleado>> obtenerRoles()Proporciona el listado de todos los roles de empleado disponibles en el sistema.Sirve como endpoint de diccionario para facilitar la selección de roles en interfaces de usuario.
URL de acceso:
GET http://localhost:8080/api/empleados/roles- Returns:
- ResponseEntity con una lista de los posibles valores del enum
RolEmpleado.
-