using Microsoft.AspNetCore.Mvc; // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 namespace WebEMSim.Controllers { [Route("api/[controller]")] [ApiController] public class TournamentController : ControllerBase { // GET: api/ [HttpGet] public IEnumerable Get() { return Storage.Shared.ListTournaments(); } // GET api//5 [HttpGet("{id}")] public IActionResult Get(string id) { Tournament? tournament = Storage.Shared.GetTournament(id); if(tournament == null) return NotFound(); return Ok(tournament); } // POST api/ [HttpPost] public IActionResult Post(/*[FromBody] string value*/) { Tournament? newTournament = Storage.Shared.CreateTournament(); if(newTournament == null) { return StatusCode(StatusCodes.Status500InternalServerError); } newTournament.PlayoutTournament(); // TODO: Remove this return Ok(newTournament); } // POST api//{id}/play [HttpPost("{id}/play")] public IActionResult Post(string id) { Tournament? tournament = Storage.Shared.GetTournament(id); if (tournament == null) return NotFound(); if (tournament.HasPlayed == true) return BadRequest(); tournament.PlayoutTournament(); return Ok(tournament); } // DELETE api//5 [HttpDelete("{id}")] public IActionResult Delete(string id) { bool? success = Storage.Shared.DeleteTournament(id); if (success == null) return NotFound(); if(success != true) return StatusCode(StatusCodes.Status500InternalServerError); return Ok(); } } }