Upgrade configuration and Docker stack to v2.0.0

This commit is contained in:
2026-06-22 14:49:56 -04:00
parent 2f2a5e9b4a
commit 0d2ecbd218
19 changed files with 779 additions and 495 deletions
+22 -2
View File
@@ -2,10 +2,19 @@
Schémas Pydantic — authentification et gestion des clients API
"""
from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, ConfigDict, Field
from typing import List, Optional, Set
from pydantic import BaseModel, ConfigDict, Field, field_validator
from app.models.client import ClientPlan
# Scopes valides — toute valeur hors de cet ensemble est rejetée
VALID_SCOPES: Set[str] = {
"images:read",
"images:write",
"images:delete",
"ai:use",
"admin",
}
# ─────────────────────────────────────────────────────────────
# Requêtes
@@ -20,6 +29,17 @@ class ClientCreate(BaseModel):
)
plan: ClientPlan = Field(default=ClientPlan.FREE, description="Plan tarifaire")
@field_validator("scopes")
@classmethod
def validate_scopes(cls, v):
invalid = set(v) - VALID_SCOPES
if invalid:
raise ValueError(
f"Scopes invalides : {invalid}. "
f"Scopes valides : {sorted(VALID_SCOPES)}"
)
return v
class ClientUpdate(BaseModel):
"""Modifier un client API existant."""