refactor(backend): clean up models setup, improve ip utils, add adr docs
- Extract ADR documents for architectural decisions (SQLite, FastAPI, React, APScheduler, Scheduler) - Refactor setup.py: improve code structure and readability - Add IP validation utilities with test coverage - Update frontend components (BanTable, HistoryPage) - Add pre-commit hooks and CONTRIBUTING.md - Add .editorconfig for consistent coding standards
This commit is contained in:
@@ -1,46 +1,3 @@
|
||||
### Issue #27: MEDIUM - Inconsistent Error Handling Patterns
|
||||
|
||||
**Where found**:
|
||||
- `ban_service.py` - Raises exceptions
|
||||
- `server_service.py` - Returns defaults silently
|
||||
- `jail_service.py` - Mixed approach
|
||||
|
||||
**Why this is needed**:
|
||||
Different services have different error handling contracts. Callers don't know what to expect.
|
||||
|
||||
**Goal**:
|
||||
Establish clear error handling contract for all services.
|
||||
|
||||
**What to do**:
|
||||
1. Document error handling patterns:
|
||||
```python
|
||||
class ServiceErrorContract:
|
||||
"""
|
||||
ABORT_ON_ERROR: Raise exception, let router handle
|
||||
RETURN_DEFAULT: Return empty result, log warning
|
||||
PARTIAL_RESULT: Return partial success with error list
|
||||
"""
|
||||
```
|
||||
2. Each service method documents which pattern it follows
|
||||
3. Routers handle errors consistently
|
||||
4. Update service protocols
|
||||
|
||||
**Possible traps and issues**:
|
||||
- Users of service must know pattern
|
||||
- Switching patterns is breaking change
|
||||
|
||||
**Docs changes needed**:
|
||||
- Create service development guide with error patterns
|
||||
|
||||
**Doc references**:
|
||||
- DETAILED_FINDINGS.md - Issue "Inconsistent Error Handling"
|
||||
|
||||
---
|
||||
|
||||
## LOWER PRIORITY ISSUES (LOW-MEDIUM)
|
||||
|
||||
---
|
||||
|
||||
### Issue #28: LOW-MEDIUM - Missing Pre-Commit Hooks
|
||||
|
||||
**Where found**:
|
||||
|
||||
Reference in New Issue
Block a user