Descripción: Obtiene todas las reservas. Solo accesible para administradores.
Autenticación: Requiere autenticación.
Roles Permitidos: Administrador (ROLE_ADMIN).
Obtener historial de reservas del usuario
Método: GET
URL: /reservations/my
Descripción: Obtiene el historial de reservas del usuario autenticado.
Autenticación: Requiere autenticación.
Roles Permitidos: Todos los usuarios autenticados.
Obtener una reserva por ID
Método: GET
URL: /reservations/{reservationId}
Descripción: Obtiene los detalles de una reserva específica por su ID. Los usuarios solo pueden obtener sus propias reservas. Los administradores pueden obtener cualquier reserva.
Autenticación: Requiere autenticación.
Roles Permitidos: Todos los usuarios autenticados (limitado a sus propias reservas), Administrador (ROLE_ADMIN) puede acceder a cualquier reserva.
Crear una nueva reserva
Método: POST
URL: /reservations
Descripción: Crea una nueva reserva. Calcula el monto basado en las fechas de inicio y fin.
Autenticación: Requiere autenticación.
Roles Permitidos: Todos los usuarios autenticados.
Descripción: Cancela una reserva específica por su ID. Los usuarios solo pueden cancelar sus propias reservas. Los administradores pueden cancelar cualquier reserva.
Autenticación: Requiere autenticación.
Roles Permitidos: Todos los usuarios autenticados (limitado a sus propias reservas), Administrador (ROLE_ADMIN).
Ejemplos de Uso
Obtener todas las reservas (solo admin):
GET /reservations/admin
Obtener historial de reservas del usuario autenticado:
Endpoints de
ReservationController
Obtener todas las reservas
GET
/reservations/admin
ROLE_ADMIN
).Obtener historial de reservas del usuario
GET
/reservations/my
Obtener una reserva por ID
GET
/reservations/{reservationId}
ROLE_ADMIN
) puede acceder a cualquier reserva.Crear una nueva reserva
POST
/reservations
Cancelar una reserva
DELETE
/reservations/{reservationId}
ROLE_ADMIN
).Ejemplos de Uso
Obtener todas las reservas (solo admin):
Obtener historial de reservas del usuario autenticado:
Obtener una reserva por ID:
Crear una nueva reserva:
Cancelar una reserva:
Consideraciones
Authorization
comoBearer <token>
.ROLE_USER
pueden crear, obtener y cancelar sus propias reservas.ROLE_ADMIN
pueden obtener todas las reservas, así como crear (para su usuario solamente) y cancelar cualquier reserva.