@ -13,11 +13,14 @@ namespace API.Controllers
[ApiController]
public class UserController : Controller
{
private IDataService _userDataService ;
private IDataService _userDataService ;
private readonly ILogger < UserController > _logger ;
public UserController ( IDataService userDataService )
public UserController ( IDataService userDataService , ILogger < UserController > logger )
{
_userDataService = userDataService ;
_logger = logger ;
}
[HttpGet("users/{page}/{number}")]
@ -26,8 +29,10 @@ namespace API.Controllers
var nbUser = _userDataService . GetUsers ( page , number ) . Count ( ) ;
if ( nbUser = = 0 )
{
_logger . LogError ( "[ERREUR] Aucun utilisateur trouvé." ) ;
return StatusCode ( 204 ) ;
}
_logger . LogInformation ( "[INFORMATION] {nb} Utilisateur(s) trouvé(s)" , nbUser ) ;
return Ok ( _userDataService . GetUsers ( page , number ) ) ;
}
@ -36,12 +41,13 @@ namespace API.Controllers
{
try
{
_logger . LogInformation ( "[INFORMATION] Utilisateur avec l'id {id} a été trouvé." , id ) ;
return Ok ( _userDataService . GetUserById ( id ) ) ;
} catch ( ArgumentException ex )
{
} catch ( ArgumentException )
{
_logger . LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
return NotFound ( ) ;
}
}
[HttpGet("user/username/{username}")]
@ -49,9 +55,11 @@ namespace API.Controllers
{
try
{
_logger . LogInformation ( "[INFORMATION] Utilisateur avec l'username {username} a été trouvé." , username ) ;
return Ok ( _userDataService . GetUserByUsername ( username ) ) ;
} catch ( ArgumentException ex )
} catch ( ArgumentException )
{
_logger . LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'username {username}." , username ) ;
return NotFound ( ) ;
}
@ -60,40 +68,46 @@ namespace API.Controllers
[HttpDelete]
public IActionResult DeleteUser ( int id )
{
var suc ess = _userDataService . DeleteUser ( id ) ;
if ( suc ess)
var suc c ess = _userDataService . DeleteUser ( id ) ;
if ( suc c ess)
{
_logger . LogInformation ( "[INFORMATION] L'utilisateur avec l'id {id} a été supprimé." , id ) ;
return Ok ( _userDataService . DeleteUser ( id ) ) ;
} else
{
_logger . LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
return NotFound ( ) ;
}
}
[HttpPost]
public IActionResult Upd ateUser( string username , string password , string email , bool isAdmin )
public IActionResult Cre ateUser( string username , string password , string email , bool isAdmin )
{
// return Ok(_userDataService.CreateUser(username, password, email, isAdmin));
_logger . LogInformation ( "[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}" , username , password , email , isAdmin ) ;
return CreatedAtAction ( nameof ( GetUsers ) , _userDataService . CreateUser ( username , password , email , isAdmin ) ) ;
}
[HttpPut]
public IActionResult Cre ateUser( int id , [ FromBody ] UserDTO userDTO )
public IActionResult Upd ateUser( int id , [ FromBody ] UserDTO userDTO )
{
if ( id ! = userDTO . Id )
{
{
_logger . LogError ( "[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée." , id ) ;
return BadRequest ( ) ;
}
if ( ! ModelState . IsValid )
{
_logger . LogError ( "[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée." , id ) ;
return BadRequest ( ) ;
}
if ( userDTO ! = null )
{
_logger . LogInformation ( "[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée" , id ) ;
return Ok ( _userDataService . UpdateUser ( id , userDTO ) ) ;
}
_logger . LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
return NotFound ( ) ;
}
}