Add admin panel, WebSocket support, and API versioning
CI / Lint & Format (push) Failing after 28s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped

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:
2026-06-22 11:25:22 -04:00
parent d68deb9c74
commit 2f2a5e9b4a
158 changed files with 64811 additions and 503 deletions
+2 -2
View File
@@ -42,7 +42,7 @@ async def _quick_upload(async_client: AsyncClient, headers: dict) -> int:
# Le pipeline ARQ est mocké globalement dans conftest.py
response = await async_client.post(
"/images/upload",
"/api/v1/images/upload",
files={"file": ("test.jpg", io.BytesIO(jpeg_bytes), "image/jpeg")},
headers=headers,
)
@@ -61,7 +61,7 @@ async def test_rate_limit_headers_present(
# Le pipeline ARQ est mocké globalement dans conftest.py
jpeg_bytes = b"\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xd9"
response = await async_client.post(
"/images/upload",
"/api/v1/images/upload",
files={"file": ("test.jpg", io.BytesIO(jpeg_bytes), "image/jpeg")},
headers=auth_headers_a,
)