Upgrade configuration and Docker stack to v2.0.0
This commit is contained in:
+22
-2
@@ -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."""
|
||||
|
||||
Reference in New Issue
Block a user