traitement des erreur pour GetUserById et GetUserByUsername si l'id ou le username n'est pas le bon

crud/security
Victor GABORIT 1 year ago
parent 9bf41c41b0
commit 849de4e016

@ -44,8 +44,9 @@ namespace API.Controllers
try
{
_logger.LogInformation("[INFORMATION] Utilisateur avec l'id {id} a été trouvé.", id);
return Ok(_dataService.UserService.GetItems(1, 1, UserProperty.Id.ToString(),id));
} catch (KeyNotFoundException)
return Ok(await _dataService.UserService.GetItems(1, 1, UserProperty.Id.ToString(), id));
}
catch (InvalidOperationException)
{
_logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'id {id}.", id);
return NotFound();
@ -57,14 +58,14 @@ namespace API.Controllers
{
try
{
_logger.LogInformation("[INFORMATION] Utilisateur avec l'username {username} a été trouvé.", username);
return Ok(_dataService.UserService.GetItems(1, 1,UserProperty.Username.ToString(), username));
}catch (ArgumentException)
_logger.LogInformation("[INFORMATION] Utilisateur avec le username {username} a été trouvé.", username);
return Ok(await _dataService.UserService.GetItems(1, 1, UserProperty.Username.ToString(), username));
}
catch (InvalidOperationException)
{
_logger.LogError("[ERREUR] Aucun utilisateur trouvé avec l'username {username}.", username);
_logger.LogError("[ERREUR] Aucun utilisateur trouvé avec le username {username}.", username);
return NotFound();
}
}
[HttpDelete]

@ -13,7 +13,7 @@ namespace Model.Mappers
public static User FromEntityToModel(this UserEntity entity)
{
return new User(entity.Id, entity.Username, entity.Password, entity.Email, entity.IsAdmin);
return new User(entity.Id, entity.Username, entity.Password, entity.Email, entity.IsAdmin);
}
public static UserDTO FromModelToDTO(this User user)

@ -188,7 +188,12 @@ namespace ModelToEntity
{
using (var context = new UserDbContext())
{
return (await context.GetItemsWithFilter<UserEntity>(index, count, orderingPropertyName, valueProperty)).Select(item => item.FromEntityToModel());
var users = (await context.GetItemsWithFilter<UserEntity>(index, count, orderingPropertyName, valueProperty));
if(users == null)
{
return null;
}
return users.Select(item => item.FromEntityToModel());
}
}
}

@ -98,7 +98,7 @@ namespace ModelToEntity
}
}
}
return Task.FromResult<IEnumerable<T?>>(new List<T?> { default(T) });
return Task.FromResult<IEnumerable<T?>>(null);
}
var items = query.Skip(index).Take(count).ToList();
return Task.FromResult<IEnumerable<T?>>(items);

@ -76,16 +76,12 @@ namespace Services
public async Task<IEnumerable<UserDTO?>> GetItems(int index, int count, string? orderingPropertyName = null, object? valueProperty = null)
{
try
var items = await dataServiceEF.GetItems(index, count, orderingPropertyName, valueProperty);
if (items == null)
{
var items = await dataServiceEF.GetItems(index, count, orderingPropertyName, valueProperty);
return items.Select(item => item.FromModelToDTO());
throw new InvalidOperationException("aucune donnée trouvé");
}
catch (KeyNotFoundException ex)
{
throw;
}
return items.Select(item => item.FromModelToDTO());
}
public Task<IEnumerable<ParagraphDTO>> GetParagraphs(int page, int number)

Loading…
Cancel
Save