Class TurnoController

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

@RestController @RequestMapping("/api/turnos") public class TurnoController extends Object
Controlador REST para la gestión del catálogo de Turnos.

Proporciona endpoints para crear, listar, actualizar y eliminar los diferentes turnos de trabajo que una empresa puede asignar a sus empleados.

  • Field Details

  • Constructor Details

    • TurnoController

      public TurnoController()
  • Method Details

    • crearTurno

      @PostMapping @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<RespuestaTurnoDTO> crearTurno(@Valid @RequestBody @Valid PeticionTurnoDTO peticion)
      Endpoint para la creación de un nuevo tipo de turno en el sistema.

      Este recurso es de acceso restringido únicamente para usuarios que posean el rol de 'EMPRESA'.

      URL de acceso: POST http://localhost:8080/api/turnos

      Parameters:
      peticion - DTO que contiene los detalles del turno a crear, incluyendo descripción, hora de inicio y hora de fin.
      Returns:
      ResponseEntity con el objeto RespuestaTurnoDTO que representa el turno recién creado y el código de estado HTTP 201 (Created).
    • listarTurnos

      @GetMapping @PreAuthorize("hasAnyRole(\'EMPRESA\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<List<RespuestaTurnoDTO>> listarTurnos()
      Endpoint para obtener el listado completo de todos los turnos configurados por la empresa autenticada.

      Este recurso es accesible para usuarios con los roles 'EMPRESA' o 'SUPERVISOR'.

      URL de acceso: GET http://localhost:8080/api/turnos

      Returns:
      ResponseEntity que contiene una lista de objetos RespuestaTurnoDTO y el código de estado HTTP 200 (OK).
    • actualizarTurno

      @PutMapping("/{id}") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<RespuestaTurnoDTO> actualizarTurno(@PathVariable("id") Long id, @Valid @RequestBody @Valid PeticionTurnoDTO peticion)
      Endpoint para modificar la información de un turno ya existente en la base de datos.

      Este recurso es de acceso restringido únicamente para usuarios con el rol de 'EMPRESA'.

      URL de acceso: PUT http://localhost:8080/api/turnos/{id}

      Parameters:
      id - Identificador único y numérico del turno que se desea modificar.
      peticion - DTO que contiene los nuevos datos que se asignarán al turno especificado.
      Returns:
      ResponseEntity con el objeto RespuestaTurnoDTO actualizado y el código de estado HTTP 200 (OK).
    • eliminarTurno

      @DeleteMapping("/{id}") @PreAuthorize("hasRole(\'EMPRESA\')") public org.springframework.http.ResponseEntity<Void> eliminarTurno(@PathVariable("id") Long id)
      Endpoint para proceder a la eliminación física de un turno del catálogo de la empresa.

      Este recurso es de acceso restringido únicamente para usuarios con el rol de 'EMPRESA'.

      URL de acceso: DELETE http://localhost:8080/api/turnos/{id}

      Parameters:
      id - Identificador único y numérico del turno que se desea eliminar de forma permanente.
      Returns:
      ResponseEntity con cuerpo vacío y el código de estado HTTP 204 (No Content) tras una ejecución exitosa.