minors corrections users service
parent
f0ae47dd20
commit
a7b1d5d1a8
|
|
@ -1,4 +1,4 @@
|
|||
from pydantic import BaseModel, EmailStr
|
||||
from pydantic import BaseModel, EmailStr, model_validator
|
||||
from datetime import datetime
|
||||
from typing import List, Optional
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ class RoleResponse(RoleBase):
|
|||
permissions: List[str]
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
from_attributes = True
|
||||
|
||||
class UserBase(BaseModel):
|
||||
email: EmailStr
|
||||
|
|
@ -30,12 +30,24 @@ class UserResponse(BaseModel):
|
|||
email: EmailStr
|
||||
full_name: str
|
||||
phone: str
|
||||
date_of_birth: str
|
||||
date_of_birth: datetime
|
||||
organization: Optional[str] = None
|
||||
role: RoleResponse
|
||||
is_banned: bool
|
||||
is_deleted: bool
|
||||
|
||||
# Validation au niveau du modèle
|
||||
@model_validator(mode="before")
|
||||
def convert_role_to_dict(cls, values):
|
||||
role = values.get("role")
|
||||
if isinstance(role, str):
|
||||
values["role"] = {"id": 0, "name": role, "permissions": []}
|
||||
return values
|
||||
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
class Role(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
|
|
@ -58,7 +70,7 @@ class PermissionResponse(PermissionBase):
|
|||
id: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
from_attributes = True
|
||||
|
||||
# Demande de besoin (NeedRequest)
|
||||
class NeedRequestBase(BaseModel):
|
||||
|
|
|
|||
Loading…
Reference in New Issue