59 lines
1.2 KiB
C#
59 lines
1.2 KiB
C#
using api.Interfaces;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using models.Request;
|
|
|
|
namespace api.Controllers;
|
|
|
|
/// <summary>
|
|
/// Endpoints for Event Management
|
|
/// </summary>
|
|
/// <param name="eventManager"></param>
|
|
[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);
|
|
}
|
|
}
|
|
} |