Class EmpresaController

java.lang.Object
com.gestorrh.api.controller.EmpresaController

@RestController @RequestMapping("/api/empresas") public class EmpresaController extends Object
Controlador REST para la gestión del perfil de Empresa y procesos de registro.

Proporciona endpoints para el alta de nuevas empresas, así como para la gestión autónoma de su información de perfil, seguridad y baja del servicio.

  • Field Details

  • Constructor Details

    • EmpresaController

      public EmpresaController()
  • Method Details

    • registrarEmpresa

      @PostMapping("/registro") public org.springframework.http.ResponseEntity<RespuestaEmpresaDTO> registrarEmpresa(@Valid @RequestBody @Valid PeticionRegistroEmpresaDTO peticion)
      Registra una nueva empresa en el sistema.

      Este endpoint es de acceso público y permite a nuevas organizaciones darse de alta en la plataforma.

      URL de acceso: POST http://localhost:8080/api/empresas/registro

      Parameters:
      peticion - DTO que contiene los datos de registro de la empresa (email, contraseña, nombre comercial, etc.).
      Returns:
      ResponseEntity con el RespuestaEmpresaDTO de la empresa creada y estado HTTP 201 (Created).
    • obtenerMiPerfil

      @GetMapping("/me") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<RespuestaEmpresaDTO> obtenerMiPerfil()
      Obtiene la información detallada del perfil de la empresa que realiza la petición.

      Requiere que el usuario esté autenticado con el rol 'EMPRESA'.

      URL de acceso: GET http://localhost:8080/api/empresas/me

      Returns:
      ResponseEntity con el RespuestaEmpresaDTO de la empresa autenticada.
    • actualizarMiPerfil

      @PutMapping("/me") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<RespuestaEmpresaDTO> actualizarMiPerfil(@Valid @RequestBody @Valid PeticionActualizarEmpresaDTO peticion)
      Actualiza la información básica del perfil de la empresa autenticada.

      Permite modificar campos como el nombre, teléfono o dirección de la organización.

      URL de acceso: PUT http://localhost:8080/api/empresas/me

      Parameters:
      peticion - DTO con los nuevos datos del perfil de la empresa.
      Returns:
      ResponseEntity con el RespuestaEmpresaDTO actualizado y estado HTTP 200 (OK).
    • cambiarMiContrasena

      @PutMapping("/me/contrasena") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<Void> cambiarMiContrasena(@Valid @RequestBody @Valid PeticionCambiarPasswordEmpresaDTO peticion)
      Cambia la contraseña de acceso de la empresa autenticada.

      Requiere la validación de la contraseña actual por motivos de seguridad.

      URL de acceso: PUT http://localhost:8080/api/empresas/me/contrasena

      Parameters:
      peticion - DTO con la contraseña actual y la nueva contraseña deseada.
      Returns:
      ResponseEntity con cuerpo vacío y estado HTTP 204 (No Content) tras el cambio exitoso.
    • eliminarMiEmpresa

      @DeleteMapping("/me") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<Void> eliminarMiEmpresa()
      Elimina de forma permanente la cuenta de la empresa autenticada del sistema.

      Esta acción es irreversible y conlleva la eliminación de todos los datos asociados.

      URL de acceso: DELETE http://localhost:8080/api/empresas/me

      Returns:
      ResponseEntity con cuerpo vacío y estado HTTP 204 (No Content) tras la eliminación.