Phase 5 - Main Dashboard: - Dashboard overview page with system health stats - Jobs by status breakdown, success rates, top clients - Dashboard API (/api/dashboard/overview, by-client, problems, by-version) Phase 6 - Admin/Scraper Management: - Scrapers management page with traffic allocation UI - Admin API for scraper CRUD operations - Traffic percentage updates for A/B testing - Promote/deprecate scraper versions Phase 7 - Authentication: - API key authentication middleware - SHA-256 key hashing (keys never stored in plain text) - Scope-based authorization (jobs:read, jobs:write, admin) - Rate limiting per API key Also: - Updated api_server_production.py to include new routers - Extended core/database.py with dashboard query methods - Added dashboard link to sidebar navigation - Updated CONTEXT-KEEPER.md to mark all phases complete Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
23 lines
385 B
Python
23 lines
385 B
Python
#!/usr/bin/env python3
|
|
"""
|
|
API Middleware for ReviewIQ.
|
|
|
|
This module exports authentication and other middleware components.
|
|
"""
|
|
|
|
from api.middleware.auth import (
|
|
APIKeyAuth,
|
|
api_key_header,
|
|
generate_api_key,
|
|
create_auth,
|
|
AVAILABLE_SCOPES,
|
|
)
|
|
|
|
__all__ = [
|
|
"APIKeyAuth",
|
|
"api_key_header",
|
|
"generate_api_key",
|
|
"create_auth",
|
|
"AVAILABLE_SCOPES",
|
|
]
|