[prod] works
Some checks are pending
Python lint and test / linttest (push) Waiting to run

This commit is contained in:
Piotr Domański 2026-04-07 23:11:03 +02:00
parent 834dac3a3a
commit b112295d6a
4 changed files with 50 additions and 4 deletions

View file

@ -38,12 +38,15 @@ test:
./test.sh ./test.sh
# Alembic # Alembic
.PHONY: alembic alembic-upgrade alembic-downgrade .PHONY: alembic alembic-upgrade alembic-downgrade alembic-merge
alembic: fooder 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: 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: 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'

3
doc/install/Makefile Normal file
View file

@ -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'

View file

@ -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

View file

@ -5,6 +5,7 @@ from fooder.controller.base import ModelController
from fooder.domain import Diary from fooder.domain import Diary
from fooder.domain.user_settings import UserSettings from fooder.domain.user_settings import UserSettings
from fooder.model.diary import DiaryUpdateModel from fooder.model.diary import DiaryUpdateModel
from fooder.utils.calories import calculate_calories
class DiaryController(ModelController[Diary]): class DiaryController(ModelController[Diary]):
@ -35,4 +36,12 @@ class DiaryController(ModelController[Diary]):
self.obj.fiber_goal = data.fiber_goal self.obj.fiber_goal = data.fiber_goal
if data.calories_goal is not None: if data.calories_goal is not None:
self.obj.calories_goal = data.calories_goal 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) await self.ctx.repo.diary.update(self.obj)