1.3 KiB
1.3 KiB
BanGUI — Architecture Issues & Refactoring Plan
This document catalogues architecture violations, code smells, and structural issues found during a full project review. Issues are grouped by category and prioritised.
Completed Refactors
- Moved
Fail2BanConnectionErrorandFail2BanProtocolErrorfrombackend/app/utils/fail2ban_client.pyintobackend/app/exceptions.py. Updated all router, service, and test call sites to import these domain exceptions fromapp.exceptionsand retained backward compatibility through re-exporting inapp.utils.fail2ban_client. - Moved config file exceptions (
ConfigDirError,ConfigFileNotFoundError,ConfigFileExistsError,ConfigFileWriteError,ConfigFileNameError) frombackend/app/services/raw_config_io_service.pyintobackend/app/exceptions.py. Updated router and tests to import the shared domain exceptions fromapp.exceptions. - Added global domain exception handlers to
backend/app/main.pyso domain exceptions likeJailNotFoundError,ConfigValidationError, andConfigWriteErrormap consistently to 404, 400, and 500 responses. - Fixed stale activation tracking in
backend/app/routers/jail_config.pyby recordinglast_activationonly after a successful jail activation and preventing a failed activation attempt from leaving a stale runtime state record.