From d62c799a28e6f2521f10ad30996aa955944bcda6 Mon Sep 17 00:00:00 2001 From: Sergey Vanyushkin Date: Sat, 2 May 2026 18:48:40 +0300 Subject: [PATCH] fix(types): resolve mypy errors in CI - Add type annotations to flash_middleware in main.py - Add type: ignore comment for get_flash_messages return type Fixes CI type check failures in: - app/main.py:79 - app/presentation/web/flash.py:164 --- app/main.py | 8 +++++--- app/presentation/web/flash.py | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/main.py b/app/main.py index c721d75..be370d7 100644 --- a/app/main.py +++ b/app/main.py @@ -4,13 +4,13 @@ This module is the main entry point for the FastAPI application. Configures DI container, middleware, and routes following DDD principles. """ -from collections.abc import AsyncGenerator +from collections.abc import AsyncGenerator, Awaitable, Callable from contextlib import asynccontextmanager import uvicorn from dishka import make_async_container from dishka.integrations.fastapi import setup_dishka -from fastapi import FastAPI +from fastapi import FastAPI, Request, Response from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles @@ -76,7 +76,9 @@ def app_factory() -> FastAPI: register_error_handlers(app) @app.middleware("http") - async def flash_middleware(request, call_next): + async def flash_middleware( + request: Request, call_next: Callable[[Request], Awaitable[Response]] + ) -> Response: """Middleware to setup flash manager for each request.""" await setup_flash_manager(request) response = await call_next(request) diff --git a/app/presentation/web/flash.py b/app/presentation/web/flash.py index 67b0e69..2ae3a25 100644 --- a/app/presentation/web/flash.py +++ b/app/presentation/web/flash.py @@ -161,7 +161,7 @@ def get_flash_messages(request: Request) -> list[dict[str, str]]: List of flash message dictionaries. """ if hasattr(request.state, "flash_manager"): - return request.state.flash_manager.get_messages() + return request.state.flash_manager.get_messages() # type: ignore[no-any-return] return []