Add admin panel, WebSocket support, and API versioning
Introduce an admin portal (React + Nginx), WebSocket routing, and API versioning middleware with `/api/v1/` prefix deprecation. Add master API key authentication, new Prometheus metrics for AI token consumption and active WebSockets, and extend S3 config with a public endpoint URL. Update test paths and fixtures to align with the new routing structure.
This commit is contained in:
@@ -62,6 +62,17 @@ async def verify_api_key(
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
|
||||
# ── 1.5. Vérification Master Key (ADMIN_API_KEY) ───────
|
||||
from app.config import settings
|
||||
if settings.ADMIN_API_KEY and raw_key == settings.ADMIN_API_KEY:
|
||||
# Retourne un client virtuel avec tous les droits
|
||||
return APIClient(
|
||||
id="admin-master",
|
||||
name="Imago Master Admin",
|
||||
scopes=["admin", "images:read", "images:write", "ai:use"],
|
||||
plan="premium"
|
||||
)
|
||||
|
||||
# ── Lookup par hash ───────────────────────────────────────
|
||||
key_hash = hash_api_key(raw_key)
|
||||
result = await db.execute(
|
||||
|
||||
Reference in New Issue
Block a user