traitement des erreurs pout CreateUser si l'utilisateur est déjà en base de données

crud/security
Victor GABORIT 1 year ago
parent 849de4e016
commit 6921fecd5b

@ -91,9 +91,17 @@ namespace API.Controllers
{ {
return BadRequest(); return BadRequest();
} }
try
{
_logger.LogInformation("[INFORMATION] Un utilisateur a été créé : username - {username}, password - {password}, email - {email}, isAdmin - {isAdmin}", dto.Username, dto.Password, dto.Email, dto.IsAdmin);
var user = await _dataService.UserService.AddItem(dto);
return Created(nameof(GetUsers), user);
}
catch (InvalidOperationException)
{
return StatusCode(409);
}
_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), _dataService.UserService.AddItem(dto));
} }
[HttpPut] [HttpPut]

@ -165,7 +165,12 @@ namespace ModelToEntity
{ {
using (var context = new UserDbContext()) using (var context = new UserDbContext())
{ {
return (await context.CreateItemAsync(item.FromModelToEntity())).FromEntityToModel() ; var user = await context.CreateItemAsync(item.FromModelToEntity());
if (user == null)
{
return null;
}
return user.FromEntityToModel() ;
} }
} }

@ -21,7 +21,7 @@ namespace ModelToEntity
{ {
if (item == null || context.Set<T>().Contains(item)) if (item == null || context.Set<T>().Contains(item))
{ {
return Task.FromResult<T?>(default(T)); return Task.FromResult<T?>(null);
} }
context.Set<T>().Add(item); context.Set<T>().Add(item);

@ -59,6 +59,10 @@ namespace Services
public async Task<UserDTO?> AddItem(UserDTO? item) public async Task<UserDTO?> AddItem(UserDTO? item)
{ {
var newItem = await dataServiceEF.AddItem(item.FromDTOToModel()); var newItem = await dataServiceEF.AddItem(item.FromDTOToModel());
if (newItem == null)
{
throw new InvalidOperationException();
}
return newItem.FromModelToDTO(); return newItem.FromModelToDTO();
} }

Loading…
Cancel
Save