fooder-api/fooder/command/create_diary.py

19 lines
674 B
Python

import datetime
from fooder.context import Context
from fooder.controller.diary import DiaryController
from fooder.controller.meal import MealController
from fooder.domain import Diary
from fooder.model.meal import MealCreateModel
async def create_diary(ctx: Context, date: datetime.date) -> Diary:
settings = await ctx.repo.user_settings.get_by_user_id(ctx.user.id)
diary_ctrl = await DiaryController.create(ctx, date=date, settings=settings)
await MealController.create(
ctx,
diary_id=diary_ctrl.obj.id,
data=MealCreateModel(name="Breakfast"),
)
await ctx.repo.diary.session.refresh(diary_ctrl.obj)
return diary_ctrl.obj