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