From 21eabb1f0f6016be8dd9e9d181ad5f1d45e3d0c8 Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 14 Apr 2026 09:25:23 +0200 Subject: [PATCH] Resolve Task 10 by moving history_archive_repo imports to ban_service top-level --- Docs/Tasks.md | 2 ++ backend/app/services/ban_service.py | 15 ++++----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Docs/Tasks.md b/Docs/Tasks.md index b15450b..a046e06 100644 --- a/Docs/Tasks.md +++ b/Docs/Tasks.md @@ -292,6 +292,8 @@ Importing a private symbol from a peer service module is a layering violation. I ### Task 10 — Replace ban_service deferred local imports with top-level imports +**Status:** Completed + **Severity:** Medium **Where:** diff --git a/backend/app/services/ban_service.py b/backend/app/services/ban_service.py index 57a1e74..866749e 100644 --- a/backend/app/services/ban_service.py +++ b/backend/app/services/ban_service.py @@ -36,6 +36,10 @@ from app.models.ban import ( JailBanCount as JailBanCountModel, ) from app.repositories import fail2ban_db_repo +from app.repositories.history_archive_repo import ( + get_all_archived_history, + get_archived_history, +) from app.utils.fail2ban_db_utils import get_fail2ban_db_path, parse_data_json, ts_to_iso if TYPE_CHECKING: @@ -169,8 +173,6 @@ async def list_bans( if app_db is None: raise ValueError("app_db must be provided when source is 'archive'") - from app.repositories.history_archive_repo import get_archived_history - rows, total = await get_archived_history( db=app_db, since=since, @@ -337,11 +339,6 @@ async def bans_by_country( if app_db is None: raise ValueError("app_db must be provided when source is 'archive'") - from app.repositories.history_archive_repo import ( - get_all_archived_history, - get_archived_history, - ) - all_rows = await get_all_archived_history( db=app_db, since=since, @@ -593,8 +590,6 @@ async def ban_trend( if app_db is None: raise ValueError("app_db must be provided when source is 'archive'") - from app.repositories.history_archive_repo import get_all_archived_history - all_rows = await get_all_archived_history( db=app_db, since=since, @@ -692,8 +687,6 @@ async def bans_by_jail( if app_db is None: raise ValueError("app_db must be provided when source is 'archive'") - from app.repositories.history_archive_repo import get_all_archived_history - all_rows = await get_all_archived_history( db=app_db, since=since,