master
Lucas Delanier 2 years ago
parent 65a211fd85
commit 740c953f3d

@ -12,7 +12,7 @@ namespace APILOL.Controllers.v2
{ {
[ApiController] [ApiController]
[Route("api/v{version:apiVersion}/[controller]")] [Route("api/v{version:apiVersion}/[controller]")]
[ApiVersion("2")] [ApiVersion("2.0")]
public class ChampionsController : ControllerBase public class ChampionsController : ControllerBase
{ {
@ -30,12 +30,11 @@ namespace APILOL.Controllers.v2
// GET: api/<ChampionController> // GET: api/<ChampionController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet] [HttpGet]
public async Task<IActionResult> Get([FromQuery] PageRequest request) public async Task<IActionResult> Get([FromQuery] PageRequest request)
{ {
_logger.LogInformation("API call - [GET] - CHAMPION"); _logger.LogInformation("API call - [GET] - CHAMPION ");
try try
{ {
@ -44,48 +43,50 @@ namespace APILOL.Controllers.v2
IEnumerable<ChampionDTO> items = champions.Select(c => c.ToDto()); IEnumerable<ChampionDTO> items = champions.Select(c => c.ToDto());
if (items.Count() == 0) if (items.Count() == 0)
{ {
_logger.LogInformation("No champion found."); _logger.LogError("No champion found.");
return NotFound("No champion found."); return NotFound("No champion found.");
} }
return Ok(new { data = items, count = await dataManager.GetNbItems(), offset = request.Offset, limit = request.Limit }); return Ok(new { data = items, count = await dataManager.GetNbItems(), offset = request.Offset, limit = request.Limit });
} }
catch(Exception error) catch (Exception error)
{ {
_logger.LogInformation("Error in the request");
return BadRequest(error.Message); return BadRequest(error.Message);
} }
} }
// GET api/<ChampionController>/5 // GET api/<ChampionController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet("{name}")] [HttpGet("{name}")]
public async Task<IActionResult> Get([FromQuery] PageRequest request,string name) public async Task<IActionResult> Get([FromQuery] PageRequest request, string name)
{ {
_logger.LogInformation("API call - [GET / NAME] - CHAMPION"); _logger.LogInformation("API call - [GET / NAME] - CHAMPION {name}", name);
try try
{ {
if (dataManager.GetNbItemsByName(name) != null) if (dataManager.GetNbItemsByName(name) != null)
{ {
var champions = await dataManager.GetItemsByName(name, request.Offset, request.Limit, request.OrderingPropertyName, request.IsDesc); var champions = await dataManager.GetItemsByName(name, request.Offset, request.Limit, request.OrderingPropertyName, request.IsDesc);
IEnumerable <ChampionDTO> items = champions.Select(c => c.ToDto()); IEnumerable<ChampionDTO> items = champions.Select(c => c.ToDto());
if (items.Count() == 0) if (items.Count() == 0)
{ {
_logger.LogInformation("No champion found."); _logger.LogError("No champion found.");
return NotFound("No champion found."); return NotFound("No champion found.");
} }
return Ok(items); return Ok(new { data = items, count = dataManager.GetNbItems() });
} }
return NotFound("No champion matching with this name."); return NotFound("No champion matching with this name.");
} }
catch (Exception error) catch (Exception error)
{ {
_logger.LogInformation("Error in the request");
return BadRequest(error.Message); return BadRequest(error.Message);
} }
} }
// POST api/<ChampionController> // POST api/<ChampionController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPost] [HttpPost]
public async Task<IActionResult> Post([FromBody] ChampionDTO championDTO) public async Task<IActionResult> Post([FromBody] ChampionDTO championDTO)
{ {
@ -93,12 +94,12 @@ namespace APILOL.Controllers.v2
try try
{ {
if(await dataManager.GetNbItemsByName(championDTO.Name) == 0) if (await dataManager.GetNbItemsByName(championDTO.Name) == 0)
{ {
await dataManager.AddItem(championDTO.ToModel()); await dataManager.AddItem(championDTO.ToModel());
return CreatedAtAction(nameof(Get), championDTO); return CreatedAtAction(nameof(Get), championDTO);
} }
_logger.LogInformation("A champion already exist with this Name. ( Unique Name )"); _logger.LogError("A champion already exist with this Name. ( Unique Name )");
return BadRequest("A champion already exist with this Name. ( Unique Name )"); return BadRequest("A champion already exist with this Name. ( Unique Name )");
} }
catch (Exception error) catch (Exception error)
@ -109,7 +110,7 @@ namespace APILOL.Controllers.v2
} }
// PUT api/<ChampionController>/5 // PUT api/<ChampionController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPut("{name}")] [HttpPut("{name}")]
public async Task<IActionResult> PutAsync(string name, [FromBody] ChampionDTO championDTO) public async Task<IActionResult> PutAsync(string name, [FromBody] ChampionDTO championDTO)
{ {
@ -118,24 +119,24 @@ namespace APILOL.Controllers.v2
{ {
var champion = await dataManager var champion = await dataManager
.GetItemsByName(name, 0, await dataManager.GetNbItems()); .GetItemsByName(name, 0, await dataManager.GetNbItems());
Console.WriteLine(champion.First().Name) ; Console.WriteLine(champion.First().Name);
var champion2 = await dataManager var champion2 = await dataManager
.GetItemsByName(championDTO.Name, 0, await dataManager.GetNbItems()); .GetItemsByName(championDTO.Name, 0, await dataManager.GetNbItems());
if (champion != null) if (champion != null)
{ {
if(champion2.Count() == 0) if (champion2.Count() == 0)
{ {
await dataManager.UpdateItem(champion.First(), championDTO.ToModel()); await dataManager.UpdateItem(champion.First(), championDTO.ToModel());
return Ok(); return Ok();
} }
_logger.LogInformation("champion already exist with this unique name."); _logger.LogError("champion already exist with this unique name.");
return BadRequest("champion already exist with this unique name."); return BadRequest("champion already exist with this unique name.");
} }
else else
{ {
_logger.LogInformation("champion not found."); _logger.LogError("champion not found.");
return NotFound("champion not found."); return NotFound("champion not found.");
} }
await dataManager.UpdateItem(champion.First(), championDTO.ToModel()); await dataManager.UpdateItem(champion.First(), championDTO.ToModel());
@ -144,13 +145,14 @@ namespace APILOL.Controllers.v2
} }
catch (Exception e) catch (Exception e)
{ {
_logger.LogInformation("Error in the request");
return BadRequest(e.Message); return BadRequest(e.Message);
} }
} }
// DELETE api/<ChampionController>/5 // DELETE api/<ChampionController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpDelete("{name}")] [HttpDelete("{name}")]
public async Task<IActionResult> Delete(string name) public async Task<IActionResult> Delete(string name)
{ {
@ -167,13 +169,14 @@ namespace APILOL.Controllers.v2
} }
else else
{ {
_logger.LogInformation("No matching Champion with this name"); _logger.LogError("No matching Champion with this name");
return NotFound("No matching Champion with this name"); return NotFound("No matching Champion with this name");
} }
} }
catch(Exception error) catch (Exception error)
{ {
_logger.LogInformation("Error in the request");
return BadRequest(error); return BadRequest(error);
} }
} }

@ -11,7 +11,7 @@ namespace APILOL.Controllers.v2
{ {
[ApiController] [ApiController]
[Route("api/v{version:apiVersion}/[controller]")] [Route("api/v{version:apiVersion}/[controller]")]
[ApiVersion("2")] [ApiVersion("2.0")]
public class RuneController : ControllerBase public class RuneController : ControllerBase
{ {
IRunesManager dataManager; IRunesManager dataManager;
@ -28,7 +28,7 @@ namespace APILOL.Controllers.v2
// GET: api/<RuneController> // GET: api/<RuneController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet] [HttpGet]
public async Task<IActionResult> Get([FromQuery] PageRequest request) public async Task<IActionResult> Get([FromQuery] PageRequest request)
{ {
@ -54,7 +54,7 @@ namespace APILOL.Controllers.v2
} }
// GET api/<RuneController>/5 // GET api/<RuneController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet("{name}")] [HttpGet("{name}")]
public async Task<IActionResult> Get([FromQuery] PageRequest request, string name) public async Task<IActionResult> Get([FromQuery] PageRequest request, string name)
{ {
@ -82,7 +82,7 @@ namespace APILOL.Controllers.v2
} }
// POST api/<RuneController> // POST api/<RuneController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPost] [HttpPost]
public async Task<IActionResult> Post([FromBody] RuneDTO runeDTO) public async Task<IActionResult> Post([FromBody] RuneDTO runeDTO)
{ {
@ -106,7 +106,7 @@ namespace APILOL.Controllers.v2
} }
// PUT api/<Rune>/5 // PUT api/<Rune>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPut("{name}")] [HttpPut("{name}")]
public async Task<IActionResult> PutAsync(string name, [FromBody] RuneDTO runeDTO) public async Task<IActionResult> PutAsync(string name, [FromBody] RuneDTO runeDTO)
{ {
@ -147,7 +147,7 @@ namespace APILOL.Controllers.v2
} }
// DELETE api/<RuneController>/5 // DELETE api/<RuneController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpDelete("{name}")] [HttpDelete("{name}")]
public async Task<IActionResult> Delete(string name) public async Task<IActionResult> Delete(string name)
{ {

@ -11,7 +11,7 @@ namespace APILOL.Controllers.v2
{ {
[ApiController] [ApiController]
[Route("api/v{version:apiVersion}/[controller]")] [Route("api/v{version:apiVersion}/[controller]")]
[ApiVersion("2")] [ApiVersion("2.0")]
public class RunePageController : ControllerBase public class RunePageController : ControllerBase
{ {
IRunePagesManager dataManager; IRunePagesManager dataManager;
@ -28,7 +28,7 @@ namespace APILOL.Controllers.v2
// GET: api/<RunePageController> // GET: api/<RunePageController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet] [HttpGet]
public async Task<IActionResult> Get([FromQuery] PageRequest request) public async Task<IActionResult> Get([FromQuery] PageRequest request)
{ {
@ -54,11 +54,11 @@ namespace APILOL.Controllers.v2
} }
// GET api/<RunePageController>/5 // GET api/<RunePageController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet("{name}")] [HttpGet("{name}")]
public async Task<IActionResult> Get([FromQuery] PageRequest request, string name) public async Task<IActionResult> Get([FromQuery] PageRequest request, string name)
{ {
_logger.LogInformation("API call - [GET / NAME] - RUNEPAGE {name}",name); _logger.LogInformation("API call - [GET / NAME] - RUNEPAGE");
try try
{ {
if (dataManager.GetNbItemsByName(name) != null) if (dataManager.GetNbItemsByName(name) != null)
@ -82,7 +82,7 @@ namespace APILOL.Controllers.v2
} }
// POST api/<RunePageController> // POST api/<RunePageController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPost] [HttpPost]
public async Task<IActionResult> Post([FromBody] RunePageDTO runePageDTO) public async Task<IActionResult> Post([FromBody] RunePageDTO runePageDTO)
{ {
@ -106,11 +106,11 @@ namespace APILOL.Controllers.v2
} }
// PUT api/<RunePage>/5 // PUT api/<RunePage>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPut("{name}")] [HttpPut("{name}")]
public async Task<IActionResult> PutAsync(string name, [FromBody] RunePageDTO runePageDTO) public async Task<IActionResult> PutAsync(string name, [FromBody] RunePageDTO runePageDTO)
{ {
_logger.LogInformation("API call - [PUT / NAME] - RUNEPAGE {name}", name); _logger.LogInformation("API call - [PUT / NAME] - RUNEPAGE");
try try
{ {
var runePage = await dataManager var runePage = await dataManager
@ -147,11 +147,11 @@ namespace APILOL.Controllers.v2
} }
// DELETE api/<RunePageController>/5 // DELETE api/<RunePageController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpDelete("{name}")] [HttpDelete("{name}")]
public async Task<IActionResult> Delete(string name) public async Task<IActionResult> Delete(string name)
{ {
_logger.LogInformation("API call - [DELETE / NAME] - RUNEPAGE {name}", name); _logger.LogInformation("API call - [DELETE / NAME] - RUNEPAGE");
try try
{ {
var runePage = await (dataManager.GetItemsByName(name, 0, await dataManager.GetNbItems())); var runePage = await (dataManager.GetItemsByName(name, 0, await dataManager.GetNbItems()));

@ -8,7 +8,7 @@ namespace APILOL.Controllers.v2
{ {
[ApiController] [ApiController]
[Route("api/v{version:apiVersion}/[controller]")] [Route("api/v{version:apiVersion}/[controller]")]
[ApiVersion("2")] [ApiVersion("2.0")]
public class SkinController : ControllerBase public class SkinController : ControllerBase
{ {
@ -26,7 +26,7 @@ namespace APILOL.Controllers.v2
// GET: api/<SkinController> // GET: api/<SkinController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet] [HttpGet]
public async Task<IActionResult> Get([FromQuery] PageRequest request) public async Task<IActionResult> Get([FromQuery] PageRequest request)
{ {
@ -52,11 +52,11 @@ namespace APILOL.Controllers.v2
} }
// GET api/<SkinController>/5 // GET api/<SkinController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpGet("{name}")] [HttpGet("{name}")]
public async Task<IActionResult> Get([FromQuery] PageRequest request, string name) public async Task<IActionResult> Get([FromQuery] PageRequest request, string name)
{ {
_logger.LogInformation("API call - [GET / NAME] - SKIN {name}", name); _logger.LogInformation("API call - [GET / NAME] - SKIN");
try try
{ {
if (dataManager.GetNbItemsByName(name) != null) if (dataManager.GetNbItemsByName(name) != null)
@ -80,11 +80,11 @@ namespace APILOL.Controllers.v2
} }
// POST api/<SkinController> // POST api/<SkinController>
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPost] [HttpPost]
public async Task<IActionResult> Post([FromBody] SkinDTO skinDTO) public async Task<IActionResult> Post([FromBody] SkinDTO skinDTO)
{ {
_logger.LogInformation("API call - [POST] - SKIN "); _logger.LogInformation("API call - [POST] - SKIN");
try try
{ {
@ -104,7 +104,7 @@ namespace APILOL.Controllers.v2
} }
// PUT api/<Skin>/5 // PUT api/<Skin>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpPut("{name}")] [HttpPut("{name}")]
public async Task<IActionResult> PutAsync(string name, [FromBody] SkinDTO skinDTO) public async Task<IActionResult> PutAsync(string name, [FromBody] SkinDTO skinDTO)
{ {
@ -145,7 +145,7 @@ namespace APILOL.Controllers.v2
} }
// DELETE api/<SkinController>/5 // DELETE api/<SkinController>/5
[MapToApiVersion("2")] [MapToApiVersion("2.0")]
[HttpDelete("{name}")] [HttpDelete("{name}")]
public async Task<IActionResult> Delete(string name) public async Task<IActionResult> Delete(string name)
{ {

Loading…
Cancel
Save