namespace backend.Controllers; using backend.DTOs; using backend.Entities; using backend.Helpers; using backend.Models; using backend.Services; using Microsoft.AspNetCore.Mvc; using System.Security.Claims; [ApiController] [Route("[controller]")] public class ReservationsController : ControllerBase { private readonly IReservationService _reservationService = null; public ReservationsController(IReservationService reservationService) { _reservationService = reservationService; } [Authorize] [HttpGet()] public async Task> GetReservations([FromQuery] DateTime from, [FromQuery] DateTime to) { return await _reservationService.GetReservatins(from, to); } [Authorize] [HttpGet("new")] public async Task> GetReservationsNew() { return await _reservationService.GetNewReservations(); } [HttpPost()] public async Task CreateReservation([FromBody] CreateReservationRequest req) { await _reservationService.CreateReservation(req); return Ok(); } [Authorize] [HttpPut("{rid}/status")] public async Task ChangeStatus(int rid, [FromQuery] ReservationStatus status) { await _reservationService.ChangeReservationStatus(rid, status); return Ok(); } [Authorize] [HttpPut("{rid}/table")] public async Task ChangeTable(int rid, [FromQuery] int tableId) { await _reservationService.AssignTable(tableId, rid); return Ok(); } }