From 57f477a5e1e04f03fb4c4f3576cb4e9580b76872 Mon Sep 17 00:00:00 2001 From: Yurii Motov Date: Mon, 2 Feb 2026 21:41:53 +0100 Subject: [PATCH 1/5] Run mypy by pre-commit --- .pre-commit-config.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index fc718ea90d..f778e7f7e9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -40,6 +40,14 @@ repos: language: unsupported types: [python] + - id: local-mypy + name: mypy check + entry: uv run mypy backend/app + require_serial: true + language: unsupported + pass_filenames: false + types: [python] + - id: generate-frontend-sdk name: Generate Frontend SDK entry: bash ./scripts/generate-client.sh From 838fb71e404fe7bbf3b5fabe3395542ea34957bb Mon Sep 17 00:00:00 2001 From: Yurii Motov Date: Tue, 3 Feb 2026 07:40:35 +0100 Subject: [PATCH 2/5] Trigger mypy run --- backend/app/empty.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 backend/app/empty.py diff --git a/backend/app/empty.py b/backend/app/empty.py new file mode 100644 index 0000000000..e69de29bb2 From bf9125a2296516da013c7316acd3e15696b94f87 Mon Sep 17 00:00:00 2001 From: Yurii Motov Date: Tue, 3 Feb 2026 07:44:12 +0100 Subject: [PATCH 3/5] Address mypy warnings --- backend/app/alembic/env.py | 1 + backend/app/api/routes/items.py | 6 +++--- backend/app/api/routes/users.py | 6 ++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/app/alembic/env.py b/backend/app/alembic/env.py index 7f29c04680..5e2c22f844 100755 --- a/backend/app/alembic/env.py +++ b/backend/app/alembic/env.py @@ -10,6 +10,7 @@ # Interpret the config file for Python logging. # This line sets up loggers basically. +assert config.config_file_name is not None fileConfig(config.config_file_name) # add your model's MetaData object here diff --git a/backend/app/api/routes/items.py b/backend/app/api/routes/items.py index 2b2ce57772..f1929e5836 100644 --- a/backend/app/api/routes/items.py +++ b/backend/app/api/routes/items.py @@ -2,7 +2,7 @@ from typing import Any from fastapi import APIRouter, HTTPException -from sqlmodel import func, select +from sqlmodel import col, func, select from app.api.deps import CurrentUser, SessionDep from app.models import Item, ItemCreate, ItemPublic, ItemsPublic, ItemUpdate, Message @@ -22,7 +22,7 @@ def read_items( count_statement = select(func.count()).select_from(Item) count = session.exec(count_statement).one() statement = ( - select(Item).order_by(Item.created_at.desc()).offset(skip).limit(limit) + select(Item).order_by(col(Item.created_at).desc()).offset(skip).limit(limit) ) items = session.exec(statement).all() else: @@ -35,7 +35,7 @@ def read_items( statement = ( select(Item) .where(Item.owner_id == current_user.id) - .order_by(Item.created_at.desc()) + .order_by(col(Item.created_at).desc()) .offset(skip) .limit(limit) ) diff --git a/backend/app/api/routes/users.py b/backend/app/api/routes/users.py index 61727949c8..35f64b626e 100644 --- a/backend/app/api/routes/users.py +++ b/backend/app/api/routes/users.py @@ -42,7 +42,9 @@ def read_users(session: SessionDep, skip: int = 0, limit: int = 100) -> Any: count_statement = select(func.count()).select_from(User) count = session.exec(count_statement).one() - statement = select(User).order_by(User.created_at.desc()).offset(skip).limit(limit) + statement = ( + select(User).order_by(col(User.created_at).desc()).offset(skip).limit(limit) + ) users = session.exec(statement).all() return UsersPublic(data=users, count=count) @@ -223,7 +225,7 @@ def delete_user( status_code=403, detail="Super users are not allowed to delete themselves" ) statement = delete(Item).where(col(Item.owner_id) == user_id) - session.exec(statement) # type: ignore + session.exec(statement) session.delete(user) session.commit() return Message(message="User deleted successfully") From a3b2aa546f940f760262ff7240632bb1a618d81b Mon Sep 17 00:00:00 2001 From: Yurii Motov Date: Tue, 3 Feb 2026 07:44:25 +0100 Subject: [PATCH 4/5] Revert "Trigger mypy run" This reverts commit 838fb71e404fe7bbf3b5fabe3395542ea34957bb. --- backend/app/empty.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 backend/app/empty.py diff --git a/backend/app/empty.py b/backend/app/empty.py deleted file mode 100644 index e69de29bb2..0000000000 From 1ea34c5961781a97c5cb14915de270425bac6b18 Mon Sep 17 00:00:00 2001 From: Yurii Motov Date: Tue, 3 Feb 2026 10:26:09 +0100 Subject: [PATCH 5/5] Remove `types: [python]` from mypy hook in `pre-commit.yaml` --- .pre-commit-config.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f778e7f7e9..9f19448ef5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,7 +46,6 @@ repos: require_serial: true language: unsupported pass_filenames: false - types: [python] - id: generate-frontend-sdk name: Generate Frontend SDK