From b112295d6a27a331ece0450313aca6337ad23e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Doma=C5=84ski?= Date: Tue, 7 Apr 2026 23:11:03 +0200 Subject: [PATCH] [prod] works --- Makefile | 11 ++++--- doc/install/Makefile | 3 ++ .../versions/7bda12666bf0_merge_heads.py | 31 +++++++++++++++++++ fooder/controller/diary.py | 9 ++++++ 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 doc/install/Makefile create mode 100644 fooder/alembic/versions/7bda12666bf0_merge_heads.py diff --git a/Makefile b/Makefile index f700749..35b0c97 100644 --- a/Makefile +++ b/Makefile @@ -38,12 +38,15 @@ test: ./test.sh # Alembic -.PHONY: alembic alembic-upgrade alembic-downgrade +.PHONY: alembic alembic-upgrade alembic-downgrade alembic-merge alembic: fooder - docker compose exec -e MSG="$(MSG)" api bash -c 'alembic -c /opt/fooder/fooder/alembic.ini revision --autogenerate -m "$${MSG}"' + docker compose exec -e MSG="$(MSG)" api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini revision --autogenerate -m "$${MSG}"' alembic-upgrade: - docker compose exec api bash -c 'alembic -c /opt/fooder/fooder/alembic.ini upgrade head' + docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini upgrade head' alembic-downgrade: - docker compose exec api bash -c 'alembic -c /opt/fooder/fooder/alembic.ini downgrade -1' + docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini downgrade -1' + +alembic-merge: + docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini merge -m "merge heads" heads' diff --git a/doc/install/Makefile b/doc/install/Makefile new file mode 100644 index 0000000..7e47258 --- /dev/null +++ b/doc/install/Makefile @@ -0,0 +1,3 @@ +.PHONY: migrate +migrate: + docker compose exec api sh -c 'alembic -c /usr/local/lib/python3.14/site-packages/fooder/alembic.ini upgrade head' diff --git a/fooder/alembic/versions/7bda12666bf0_merge_heads.py b/fooder/alembic/versions/7bda12666bf0_merge_heads.py new file mode 100644 index 0000000..b58d3ab --- /dev/null +++ b/fooder/alembic/versions/7bda12666bf0_merge_heads.py @@ -0,0 +1,31 @@ +"""merge heads + +Revision ID: 7bda12666bf0 +Revises: 564e5948f3ed, a1b2c3d4e5f6 +Create Date: 2026-04-07 20:50:01.702218 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + +# revision identifiers, used by Alembic. +revision: str = "7bda12666bf0" +down_revision: Union[str, Sequence[str], None] = ( + "564e5948f3ed", + "a1b2c3d4e5f6", +) +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + pass + + +def downgrade() -> None: + """Downgrade schema.""" + pass diff --git a/fooder/controller/diary.py b/fooder/controller/diary.py index 9b29803..525abed 100644 --- a/fooder/controller/diary.py +++ b/fooder/controller/diary.py @@ -5,6 +5,7 @@ from fooder.controller.base import ModelController from fooder.domain import Diary from fooder.domain.user_settings import UserSettings from fooder.model.diary import DiaryUpdateModel +from fooder.utils.calories import calculate_calories class DiaryController(ModelController[Diary]): @@ -35,4 +36,12 @@ class DiaryController(ModelController[Diary]): self.obj.fiber_goal = data.fiber_goal if data.calories_goal is not None: self.obj.calories_goal = data.calories_goal + else: + self.obj.calories_goal = calculate_calories( + protein=self.obj.protein_goal, + carb=self.obj.carb_goal, + fat=self.obj.fat_goal, + fiber=self.obj.fiber_goal, + ) + await self.ctx.repo.diary.update(self.obj)