|
|
17e5a551e1
|
feat: migrate to Pydantic V2 and implement rate limiting middleware
- Migrate settings.py to Pydantic V2 (SettingsConfigDict, validation_alias)
- Update config models to use @field_validator with @classmethod
- Replace deprecated datetime.utcnow() with datetime.now(timezone.utc)
- Migrate FastAPI app from @app.on_event to lifespan context manager
- Implement comprehensive rate limiting middleware with:
* Endpoint-specific rate limits (login: 5/min, register: 3/min)
* IP-based and user-based tracking
* Authenticated user multiplier (2x limits)
* Bypass paths for health, docs, static, websocket endpoints
* Rate limit headers in responses
- Add 13 comprehensive tests for rate limiting (all passing)
- Update instructions.md to mark completed tasks
- Fix asyncio.create_task usage in anime_service.py
All 714 tests passing. No deprecation warnings.
|
2025-10-23 22:03:15 +02:00 |
|
|
|
71207bc935
|
feat: Complete WebSocket integration with core services
- Enhanced DownloadService broadcasts for all queue operations
- Download progress, complete, and failed broadcasts with full metadata
- Queue operations (add, remove, reorder, retry, clear) broadcast queue status
- Queue control (start, stop, pause, resume) broadcasts state changes
- AnimeService scan progress fully integrated with ProgressService
- Scan lifecycle events (start, update, complete, fail) broadcasted
- Progress tracking via ProgressService to scan_progress room
- ProgressService WebSocket integration
- Broadcast callback registered during application startup
- All progress types route to appropriate rooms
- Throttled broadcasts for performance (>1% changes)
- Comprehensive integration tests
- Test download progress and completion broadcasts
- Test queue operation broadcasts
- Test scan progress lifecycle
- Test progress service integration
- End-to-end flow testing
- Updated infrastructure documentation
- Detailed broadcast message formats
- Room structure and subscription patterns
- Production deployment considerations
- Architecture benefits and scalability notes
|
2025-10-17 11:51:16 +02:00 |
|