feat: enable audit logging for authentication and task operations

Add audit_service.log_event() calls to track key user activities:
- auth_login: successful and failed login attempts with IP/user agent
- auth_logout: single session and all sessions logout
- task_delete: task deletion with user context
- file_upload: file upload with filename, size, and type
- admin_cleanup: manual cleanup trigger with statistics

Each event captures client IP (from X-Forwarded-For/X-Real-IP headers),
user agent, and relevant metadata for compliance and debugging.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
egg
2025-12-14 12:46:20 +08:00
parent 73112db055
commit bbd68a2162
6 changed files with 226 additions and 5 deletions

View File

@@ -405,6 +405,22 @@ async def trigger_cleanup(
f"{result['total_files_deleted']} files, {result['total_bytes_freed']} bytes"
)
# Log admin cleanup action
audit_service.log_event(
db=db,
event_type="admin_cleanup",
event_category="admin",
description=f"Manual cleanup: {result['total_files_deleted']} files, {result['total_bytes_freed']} bytes freed",
user_id=admin_user.id,
success=True,
metadata={
"files_deleted": result['total_files_deleted'],
"bytes_freed": result['total_bytes_freed'],
"users_processed": result['users_processed'],
"max_files_per_user": files_to_keep
}
)
return {
"success": True,
"message": "Cleanup completed successfully",