public async Task <bool> CleanFridgeAsync() { IEnumerable <FridgeItem> expired = await _kitchenRepo.GetExpiredFridgeItemsAsync(DateTime.Now); if (!expired.Any()) { return(false); } foreach (var item in expired) { await _kitchenRepo.DeleteFridgeItemAsync(item.Id); } return(true); }
public async Task <IActionResult> DeleteAsync( [FromRoute] int id, [FromServices] AuthInfoService authInfo) { var item = await _kitchenRepo.GetFridgeItemAsync(id); if (item is null) { return(NotFound()); } var email = await authInfo.GetUserEmailAsync(Request); var user = await _userRepo.GetUserByEmailAsync(email); if (!user.Admin && user.Id != item.OwnerId) { return(Forbid()); } await _kitchenRepo.DeleteFridgeItemAsync(id); return(NoContent()); }