Consumed meal fixes

This commit is contained in:
jableader 2024-05-27 21:55:47 +10:00
parent dc83b0da9b
commit 407d649d99
2 changed files with 4 additions and 8 deletions

10
main.py
View file

@ -229,17 +229,13 @@ async def update_meal(meal_id: int, meal: meals.Meal, conn: sqlite3.Connection =
return await get_meal(meal_id, conn) return await get_meal(meal_id, conn)
class ConsumedWrapper(BaseModel):
meal_id: int
consumed_date: Optional[datetime.datetime] = None
@app.post("/meals/{meal_id}/consumed") @app.post("/meals/{meal_id}/consumed")
async def mark_consumed(body: ConsumedWrapper, conn: sqlite3.Connection = Depends(get_db), person: persons.Person = Depends(cookie_person)) -> meals.Meal: async def mark_consumed(meal_id: int, consumed_date: Optional[datetime.datetime] = None, conn: sqlite3.Connection = Depends(get_db), person: persons.Person = Depends(cookie_person)) -> meals.Meal:
meal = await meals.find_meal_by_id(conn, body.meal_id) meal = await meals.find_meal_by_id(conn, meal_id)
if not meal: if not meal:
return JSONResponse(status_code=404, content={'message': 'Meal not found'}) return JSONResponse(status_code=404, content={'message': 'Meal not found'})
await meals.mark_consumed(conn, meal, body.consumed_date or datetime.datetime.now()) await meals.mark_consumed(conn, meal, consumed_date or datetime.datetime.now())
await conn.commit() await conn.commit()
return meal return meal

View file

@ -254,7 +254,7 @@ class TestMeals(unittest.IsolatedAsyncioTestCase):
self.assertIsInstance(meal_by_id, meals.Meal, msg=meal_by_id.body if hasattr(meal_by_id, 'body') else meal_by_id) self.assertIsInstance(meal_by_id, meals.Meal, msg=meal_by_id.body if hasattr(meal_by_id, 'body') else meal_by_id)
self.assertIsNone(meal_by_id.consumed_date) self.assertIsNone(meal_by_id.consumed_date)
updated_meal = await main.mark_consumed(main.ConsumedWrapper(meal_id=meal.id), self.conn) updated_meal = await main.mark_consumed(meal_id=meal.id, conn=self.conn)
self.assertIsNotNone(updated_meal) self.assertIsNotNone(updated_meal)
self.assertIsInstance(updated_meal, meals.Meal, msg=updated_meal.body if hasattr(updated_meal, 'body') else updated_meal) self.assertIsInstance(updated_meal, meals.Meal, msg=updated_meal.body if hasattr(updated_meal, 'body') else updated_meal)
self.assertIsNotNone(updated_meal.consumed_date) self.assertIsNotNone(updated_meal.consumed_date)