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 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(_dataService.UserService.GetItems(1, 1, UserProperty.Id.ToString(),id)); return Ok(await _dataService.UserService.GetItems(1, 1, UserProperty.Id.ToString(), id));
} catch (KeyNotFoundException) }
catch (InvalidOperationException)
{ {
_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();
@ -57,14 +58,14 @@ namespace API.Controllers
{ {
try try
{ {
_logger.LogInformation("[INFORMATION] Utilisateur avec l'username {username} a été trouvé.", username); _logger.LogInformation("[INFORMATION] Utilisateur avec le username {username} a été trouvé.", username);
return Ok(_dataService.UserService.GetItems(1, 1,UserProperty.Username.ToString(), username)); return Ok(await _dataService.UserService.GetItems(1, 1, UserProperty.Username.ToString(), username));
}catch (ArgumentException) }
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(); return NotFound();
} }
} }
[HttpDelete] [HttpDelete]

@ -188,7 +188,12 @@ namespace ModelToEntity
{ {
using (var context = new UserDbContext()) 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(); var items = query.Skip(index).Take(count).ToList();
return Task.FromResult<IEnumerable<T?>>(items); return Task.FromResult<IEnumerable<T?>>(items);

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

Loading…
Cancel
Save