@ -1,9 +1,12 @@
using DbContextLib ;
using DbContextLib ;
using Entities.SQLudeoDB ;
using Microsoft.AspNetCore.Authorization ;
using Microsoft.AspNetCore.Authorization ;
using Microsoft.AspNetCore.Http ;
using Microsoft.AspNetCore.Http ;
using Microsoft.AspNetCore.Mvc ;
using Microsoft.AspNetCore.Mvc ;
using Model ;
using Model.Business ;
using Model.Business ;
using Model.DTO ;
using Model.DTO ;
using Model.Mappers ;
using Services ;
using Services ;
namespace API.Controllers
namespace API.Controllers
@ -13,27 +16,26 @@ namespace API.Controllers
[ApiController]
[ApiController]
public class UsersController : Controller
public class UsersController : Controller
{
{
private IDataService _userD ataService;
private IDataService < UserDTO ? > _d ataService;
private readonly ILogger < UsersController > _logger ;
private readonly ILogger < UsersController > _logger ;
public UsersController ( IDataService < UserDTO ? > dataService , ILogger < UsersController > logger )
public UsersController ( IDataService userDataService , ILogger < UsersController > logger )
{
{
_ userDataService = userD ataService;
_ dataService = d ataService;
_logger = logger ;
_logger = logger ;
}
}
[HttpGet("users/{page}/{number}")]
[HttpGet("users/{page}/{number}")]
public async Task < IActionResult > GetUsers ( int page , int number )
public async Task < IActionResult > GetUsers ( int page , int number )
{
{
var nbUser = ( await _ userData Service. GetUsers ( page , number ) ) . ToList ( ) . Count ( ) ;
var nbUser = ( await _ dataService. User Service. GetUsers ( page , number ) ) . ToList ( ) . Count ( ) ;
if ( nbUser = = 0 )
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 ) ;
_logger . LogInformation ( "[INFORMATION] {nb} Utilisateur(s) trouvé(s)" , nbUser ) ;
return Ok ( _ userDataService. GetUsers ( page , number ) ) ;
return Ok ( _ dataService. UserService . GetItems < UserEntity > ( page , number ) ) ;
}
}
[HttpGet("user/id/{id}")]
[HttpGet("user/id/{id}")]
@ -42,7 +44,7 @@ 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 ( _ userDataService. GetUserById ( id ) ) ;
return Ok ( _ dataService. UserService . GetItems < UserEntity > ( 1 , 1 , UserProperty . Id . ToString ( ) , 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 ) ;
@ -56,7 +58,7 @@ 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 ( _ userDataService. GetUserByUsername ( username ) ) ;
return Ok ( _ dataService. UserService . GetItems < UserEntity > ( 1 , 1 , UserProperty . Username . ToString ( ) , 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 ) ;
@ -68,11 +70,11 @@ namespace API.Controllers
[HttpDelete]
[HttpDelete]
public async Task < IActionResult > DeleteUser ( int id )
public async Task < IActionResult > DeleteUser ( int id )
{
{
var success = await _ userDataService. DeleteUser ( id ) ;
var success = await _ dataService. UserService . DeleteItem < UserEntity > ( 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 ( _ userData Service. DeleteUser ( id ) ) ;
return Ok ( _ dataService. User Service. 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 ) ;
@ -88,9 +90,9 @@ namespace API.Controllers
{
{
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 ) ;
_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 ) , _ userDataService. CreateUser ( dto . Username , dto . Password , dto . Email , dto . IsAdmin ) ) ;
return Created ( nameof ( GetUsers ) , _ dataService. UserService . AddItem ( dto . FromDTOToModel ( ) . FromModelToEntity ( ) ) ) ;
}
}
[HttpPut]
[HttpPut]
@ -109,7 +111,7 @@ namespace API.Controllers
if ( userDTO ! = null )
if ( userDTO ! = null )
{
{
_logger . LogInformation ( "[INFORMATION] La mise à jour de l'utilisateur avec l'id {id} a été effectuée" , id ) ;
_logger . LogInformation ( "[INFORMATION] La mise à jour de l'utilisateur avec l'id {id} a été effectuée" , id ) ;
return Ok ( _ userDataService. UpdateUser ( id , userDTO ) ) ;
return Ok ( _ dataService. UserService . UpdateItem < UserEntity , UserDTO > ( 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 ( ) ;