fd685e8211
refactor: Remove unused HTTPException imports from routers
...
After removing all try/except blocks that used HTTPException for domain
exception conversion, these imports are no longer needed in the routers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-23 16:01:44 +02:00
5480dce221
refactor: Remove duplicate router-level exception helpers
...
All routers now let domain exceptions propagate to the global handlers in main.py
instead of catching and converting them to HTTPException. This eliminates:
- Duplicate exception-to-HTTP-status mappings across 8 routers
- Duplicate helper functions (_bad_gateway, _not_found, _conflict, etc.)
- Inconsistent error response formats
Changes:
- Removed all try/except blocks from routers that catch domain exceptions
- Removed duplicate helper functions from all routers
- Added missing exception handlers to main.py for:
* ActionNameError
* FilterNameError
* JailNameError
* JailNotFoundInConfigError
* FilterInvalidRegexError
- Removed unused imports from affected routers
All domain exceptions now propagate to the single authoritative mapping in
main.py, ensuring consistent error codes, messages, and logging across the API.
Affected routers:
- action_config.py: Removed _action_not_found, _bad_request, _not_found helpers
- bans.py: Removed try/except in ban/unban endpoints
- config_misc.py: Removed try/except blocks
- file_config.py: Removed 6 try/except blocks and _service_unavailable helper
- filter_config.py: Removed try/except blocks
- geo.py: Removed try/except in lookup_ip endpoint
- jail_config.py: Removed try/except blocks
- jails.py: Removed try/except blocks
- server.py: Removed try/except blocks
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-23 16:00:37 +02:00
13b3fde274
Fix stale activation record on failed jail activation
...
Record activation only after a successful jail activate request and add regression coverage to prevent stale last_activation state.
2026-04-17 14:53:57 +02:00
328f3575e2
Move Fail2Ban exceptions into central app.exceptions module
2026-04-15 10:22:48 +02:00
86fa271c40
Remove FastAPI dependency from jail config service signatures
2026-04-14 15:01:05 +02:00
6b436dc354
Fix undefined names and config router imports / task status update
2026-04-14 13:53:39 +02:00
0e84f1f60c
Fix config sub-router prefixes and router tags
2026-04-14 10:25:36 +02:00
a5674f9e4c
Consolidate domain exceptions into app.exceptions
...
Move all shared domain exception classes to backend/app/exceptions.py and update services/routers to import the canonical exceptions. Update docs to reflect the shared exceptions source.
2026-04-13 19:35:12 +02:00
e221cd414f
Split monolithic config router into focused subrouters
2026-04-12 19:41:43 +02:00