using api.Interfaces; using Microsoft.AspNetCore.Mvc; using models.Request; namespace api.Controllers; /// /// Endpoints for Event Management /// /// [ApiController] [Route("[controller]")] public class EventController(IEventManager eventManager) : ControllerBase { [HttpPost] public ActionResult Post([FromBody] AddEvent request) { //TODO: Protect Endpoint try { eventManager.AddEvent(request); return Ok(); } catch (Exception e) { return BadRequest(e.Message); } } [HttpPatch] public ActionResult Patch([FromBody] PatchEvent request) { //TODO: Protect Endpoint try { eventManager.PatchEvent(request); return Ok(); } catch (Exception e) { return BadRequest(e.Message); } } [HttpGet("{startDate}/{endDate}")] public ActionResult Get([FromRoute] DateTime startDate, DateTime endDate) { try { return Ok(eventManager.GetEvents(startDate, endDate)); } catch (Exception e) { return BadRequest(e.Message); } } }