@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Authorization ;
using Dto ;
using Microsoft.AspNetCore.Authorization ;
using Microsoft.AspNetCore.Mvc ;
using Microsoft.AspNetCore.Mvc ;
using Shared ;
using Shared ;
@ -8,33 +9,20 @@ namespace API.Controllers
[Authorize]
[Authorize]
[ApiVersion("1.0")]
[ApiVersion("1.0")]
[ApiController]
[ApiController]
public class UserController : ControllerBase
public class UserController ( ILogger < InquiriesController > logger , IUserService < UserDTO > userService ) : ControllerBase , IUserService < UserDTO >
{
{
private IUserService < > _userUserService ;
private readonly ILogger < UserController > _logger ;
public UserController ( IUserService < > userUserService , ILogger < UserController > logger )
{
_userUserService = userUserService ;
_logger = logger ;
}
[HttpGet("users/{page}/{number}")]
[HttpGet("users/{page}/{number}")]
public IActionResult GetUsers ( int page , int number )
public IActionResult GetUsers ( int page , int number )
{
{
var getUsers = new InClassName ( page , number ) ;
var users = userService . GetUsers ( page , number ) . ToList ( ) ;
_userUserService . GetUsers ( getUsers ) ;
if ( users . Count = = 0 )
var nbUser = getUsers . ReturnValue . Count ( ) ;
if ( nbUser = = 0 )
{
{
_ logger. LogError ( "[ERREUR] Aucun utilisateur trouvé." ) ;
logger . LogError ( "[ERREUR] Aucun utilisateur trouvé." ) ;
return StatusCode ( 204 ) ;
return StatusCode ( 204 ) ;
}
}
_logger . LogInformation ( "[INFORMATION] {nb} Utilisateur(s) trouvé(s)" , nbUser ) ;
var value = new InClassName ( page , number ) ;
logger . LogInformation ( "[INFORMATION] {nb} Utilisateur(s) trouvé(s)" , users . Count ) ;
_userUserService . GetUsers ( value ) ;
return Ok ( users ) ;
return Ok ( value . ReturnValue ) ;
}
}
[HttpGet("user/id/{id}")]
[HttpGet("user/id/{id}")]
@ -42,11 +30,12 @@ namespace API.Controllers
{
{
try
try
{
{
_logger . LogInformation ( "[INFORMATION] Utilisateur avec l'id {id} a été trouvé." , id ) ;
logger . LogInformation ( "[INFORMATION] Utilisateur avec l'id {id} a été trouvé." , id ) ;
return Ok ( _userUserService . GetUserById ( id ) ) ;
return Ok ( userService . GetUserById ( id ) ) ;
} catch ( ArgumentException )
}
catch ( ArgumentException )
{
{
_ logger. LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
logger. LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
return NotFound ( ) ;
return NotFound ( ) ;
}
}
}
}
@ -56,63 +45,72 @@ namespace API.Controllers
{
{
try
try
{
{
_logger . LogInformation ( "[INFORMATION] Utilisateur avec l'username {username} a été trouvé." , username ) ;
logger . LogInformation ( "[INFORMATION] Utilisateur avec l'username {username} a été trouvé." , username ) ;
return Ok ( _userUserService . GetUserByUsername ( username ) ) ;
return Ok ( userService . GetUserByUsername ( username ) ) ;
} catch ( ArgumentException )
}
catch ( ArgumentException )
{
{
_ logger. LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'username {username}." , username ) ;
logger. LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'username {username}." , username ) ;
return NotFound ( ) ;
return NotFound ( ) ;
}
}
}
}
[HttpDelete]
[HttpDelete]
public IActionResult DeleteUser ( int id )
public IActionResult DeleteUser ( int id )
{
{
var success = _ userU serService. DeleteUser ( id ) ;
var success = userService. DeleteUser ( id ) ;
if ( success )
if ( success )
{
{
_logger . LogInformation ( "[INFORMATION] L'utilisateur avec l'id {id} a été supprimé." , id ) ;
logger . LogInformation ( "[INFORMATION] L'utilisateur avec l'id {id} a été supprimé." , id ) ;
return Ok ( _userUserService . DeleteUser ( id ) ) ;
return Ok ( userService . DeleteUser ( id ) ) ;
} else
}
else
{
{
_ logger. LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
logger. LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
return NotFound ( ) ;
return NotFound ( ) ;
}
}
}
}
[HttpPost]
[HttpPost]
public IActionResult CreateUser ( [ FromBody ] UserDTO dto )
public IActionResult CreateUser ( [ FromBody ] UserDTO dto )
{
{
if ( dto . Username = = null | | dto . Password = = null | | dto . Email = = null )
if ( dto . Username = = null | | dto . Password = = null | | dto . Email = = null )
{
{
return BadRequest ( ) ;
return BadRequest ( ) ;
}
}
// return Ok(_userDataService.CreateUser(username, password, email, isAdmin));
_logger . LogInformation ( "[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}" , dto . Username , dto . Password , dto . Email , dto . IsAdmin ) ;
// return Ok(userService.CreateUser(username, password, email, isAdmin));
return Created ( nameof ( GetUsers ) , _userUserService . CreateUser ( dto . Username , dto . Password , dto . Email , dto . IsAdmin ) ) ;
logger . LogInformation (
"[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}" ,
dto . Username , dto . Password , dto . Email , dto . IsAdmin ) ;
return Created ( nameof ( GetUsers ) ,
userService . CreateUser ( dto . Username , dto . Password , dto . Email , dto . IsAdmin ) ) ;
}
}
[HttpPut]
[HttpPut]
public IActionResult UpdateUser ( int id , [ FromBody ] UserDTO userDTO )
public IActionResult UpdateUser ( int id , [ FromBody ] UserDTO userD to )
{
{
if ( id ! = userDTO . Id )
if ( id ! = userDto . Id )
{
{
_ logger. LogError ( "[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée." , id ) ;
logger. LogError ( "[ERREUR] Problème ID - La mise à jour de l'utilisateur avec l'id {id} a échouée." , id ) ;
return BadRequest ( ) ;
return BadRequest ( ) ;
}
}
if ( ! ModelState . IsValid )
if ( ! ModelState . IsValid )
{
{
_logger . LogError ( "[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée." , id ) ;
logger . LogError (
"[ERREUR] Problème controlleur - La mise à jour de l'utilisateur avec l'id {id} a échouée." , id ) ;
return BadRequest ( ) ;
return BadRequest ( ) ;
}
}
if ( userDTO ! = null )
if ( userDto ! = null )
{
{
_logger . LogInformation ( "[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée" , id ) ;
logger . LogInformation ( "[INFORMATION] La mise à jour de l'utilsiateur avec l'id {id} a été effectuée" ,
return Ok ( _userUserService . UpdateUser ( id , userDTO ) ) ;
id ) ;
return Ok ( userService . UpdateUser ( id , userDto ) ) ;
}
}
_logger . LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
logger . LogError ( "[ERREUR] Aucun utilisateur trouvé avec l'id {id}." , id ) ;
return NotFound ( ) ;
return NotFound ( ) ;
}
}
}
}