Move config file exceptions into app.exceptions

Move ConfigDirError, ConfigFileNotFoundError, ConfigFileExistsError, ConfigFileWriteError, and ConfigFileNameError from raw_config_io_service into the shared domain exception module. Update router and tests to import the exceptions from app.exceptions.
This commit is contained in:
2026-04-15 10:28:27 +02:00
parent 328f3575e2
commit 0e22d1c425
7 changed files with 53 additions and 41 deletions

View File

@@ -7,4 +7,5 @@ This document catalogues architecture violations, code smells, and structural is
## Completed Refactors
- Moved `Fail2BanConnectionError` and `Fail2BanProtocolError` from `backend/app/utils/fail2ban_client.py` into `backend/app/exceptions.py`. Updated all router, service, and test call sites to import these domain exceptions from `app.exceptions` and retained backward compatibility through re-exporting in `app.utils.fail2ban_client`.
- Moved config file exceptions (`ConfigDirError`, `ConfigFileNotFoundError`, `ConfigFileExistsError`, `ConfigFileWriteError`, `ConfigFileNameError`) from `backend/app/services/raw_config_io_service.py` into `backend/app/exceptions.py`. Updated router and tests to import the shared domain exceptions from `app.exceptions`.

View File

@@ -44,6 +44,8 @@ Reference: `Docs/Refactoring.md` for full analysis of each issue.
**Why this is needed:** Routers should not reach into service internals to import exception types. All domain exceptions belong in the central registry so `main.py` global handlers and any future middleware can catch them uniformly.
**Status:** Completed ✅
---
### Task 3 — Eliminate the `config_file_service.py` delegation façade