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);
}
}
}