Imporve the role based forntend protected roles

This commit is contained in:
Urtzi Alfaro
2025-09-09 07:32:59 +02:00
parent ddb75f8e55
commit 5269a083b6
15 changed files with 286 additions and 91 deletions

View File

@@ -18,7 +18,7 @@ class UserRegistration(BaseModel):
password: str = Field(..., min_length=8, max_length=128)
full_name: str = Field(..., min_length=1, max_length=255)
tenant_name: Optional[str] = Field(None, max_length=255)
role: Optional[str] = Field("user", pattern=r'^(user|admin|manager)$')
role: Optional[str] = Field("admin", pattern=r'^(user|admin|manager|super_admin)$')
class UserLogin(BaseModel):
"""User login request"""
@@ -56,7 +56,7 @@ class UserData(BaseModel):
is_verified: bool
created_at: str # ISO format datetime string
tenant_id: Optional[str] = None
role: Optional[str] = "user"
role: Optional[str] = "admin"
class TokenResponse(BaseModel):
"""
@@ -101,7 +101,7 @@ class UserResponse(BaseModel):
language: Optional[str] = None # ✅ Added missing field
timezone: Optional[str] = None # ✅ Added missing field
tenant_id: Optional[str] = None
role: Optional[str] = "user"
role: Optional[str] = "admin"
class Config:
from_attributes = True # ✅ Enable ORM mode for SQLAlchemy objects
@@ -189,7 +189,7 @@ class UserContext(BaseModel):
user_id: str
email: str
tenant_id: Optional[str] = None
roles: list[str] = ["user"]
roles: list[str] = ["admin"]
is_verified: bool = False
class TokenClaims(BaseModel):