using api.Interfaces; using Microsoft.AspNetCore.Mvc; using models.Core; using models.Request; namespace api.Controllers; /// /// Endpoints for Season Management /// /// Event Manager Service [ApiController] [Route("api/[controller]")] public class SeasonController(ISeasonManager seasonManager) : ControllerBase { /// /// Adds a season to the database /// /// Season to add /// [HttpPost] public IActionResult Post([FromBody] AddSeason request) { //TODO: Protect Endpoint try { seasonManager.AddSeason(request); return Ok(); } catch (Exception e) { return BadRequest(e.Message); } } /// /// Gets all seasons /// /// List of Seasons [HttpGet] public ActionResult> Get() { //TODO: Protect Endpoint try { return Ok(seasonManager.GetSeasons()); } catch (Exception e) { return BadRequest(e.Message); } } /// /// Adds an event to a season /// /// Season Id /// Event Id /// [HttpPut] public IActionResult Put(Guid eventId, Guid seasonId) { //TODO: Protect Endpoint try { seasonManager.AddEventToSeason(eventId, seasonId); return Ok(); } catch (Exception e) { return BadRequest(e.Message); } } }