@ -3,11 +3,12 @@ using Asp.Versioning;
using Microsoft.AspNetCore.Authorization ;
using Microsoft.AspNetCore.Authorization ;
using Microsoft.AspNetCore.Mvc ;
using Microsoft.AspNetCore.Mvc ;
using Shared ;
using Shared ;
using Model.OrderCriteria ;
namespace API.Controllers
namespace API.Controllers
{
{
[Route("api/v{version:apiVersion}/[controller] ")]
[Route("api/v{version:apiVersion}/[controller] ")]
[Authorize]
// [Authorize]
[ApiVersion("1.0")]
[ApiVersion("1.0")]
[ApiController]
[ApiController]
public class UserController ( ILogger < UserController > logger , IUserService < UserDTO > userService ) : ControllerBase
public class UserController ( ILogger < UserController > logger , IUserService < UserDTO > userService ) : ControllerBase
@ -15,9 +16,9 @@ namespace API.Controllers
[HttpGet("users/{page}/{number}")]
[HttpGet("users/{page}/{number}")]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 204)]
[ProducesResponseType(typeof(string), 204)]
public IActionResult GetUsers ( int page , int number )
public IActionResult GetUsers ( int page , int number , UserOrderCriteria orderCriteria )
{
{
var users = userService . GetUsers ( page , number ). ToList ( ) ;
var users = userService . GetUsers ( page , number , orderCriteria ). ToList ( ) ;
if ( users . Count = = 0 )
if ( users . Count = = 0 )
{
{
logger . LogError ( "[ERREUR] Aucun utilisateur trouvé." ) ;
logger . LogError ( "[ERREUR] Aucun utilisateur trouvé." ) ;
@ -28,7 +29,7 @@ namespace API.Controllers
return Ok ( users ) ;
return Ok ( users ) ;
}
}
[HttpGet("user/ id/ {id}")]
[HttpGet("user/ {id}")]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetUserById ( int id )
public IActionResult GetUserById ( int id )
@ -45,7 +46,7 @@ namespace API.Controllers
}
}
}
}
[HttpGet("user/ username/ {username}")]
[HttpGet("user/ {username}")]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetUserByUsername ( string username )
public IActionResult GetUserByUsername ( string username )
@ -62,7 +63,7 @@ namespace API.Controllers
}
}
}
}
[HttpDelete("user/ id/ {id}")]
[HttpDelete("user/ {id}")]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult DeleteUser ( int id )
public IActionResult DeleteUser ( int id )
@ -98,7 +99,7 @@ namespace API.Controllers
userService . CreateUser ( dto . Username , dto . Password , dto . Email , dto . IsAdmin ) ) ;
userService . CreateUser ( dto . Username , dto . Password , dto . Email , dto . IsAdmin ) ) ;
}
}
[HttpPut ]
[HttpPut ("user/{id}") ]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 400)]
[ProducesResponseType(typeof(string), 400)]
[ProducesResponseType(typeof(string), 404)]
[ProducesResponseType(typeof(string), 404)]