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 datetime import datetime
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
|
|
@ -13,7 +13,7 @@ class RoleResponse(RoleBase):
|
||||||
permissions: List[str]
|
permissions: List[str]
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
from_attributes = True
|
||||||
|
|
||||||
class UserBase(BaseModel):
|
class UserBase(BaseModel):
|
||||||
email: EmailStr
|
email: EmailStr
|
||||||
|
|
@ -30,12 +30,24 @@ class UserResponse(BaseModel):
|
||||||
email: EmailStr
|
email: EmailStr
|
||||||
full_name: str
|
full_name: str
|
||||||
phone: str
|
phone: str
|
||||||
date_of_birth: str
|
date_of_birth: datetime
|
||||||
organization: Optional[str] = None
|
organization: Optional[str] = None
|
||||||
role: RoleResponse
|
role: RoleResponse
|
||||||
is_banned: bool
|
is_banned: bool
|
||||||
is_deleted: 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):
|
class Role(BaseModel):
|
||||||
id: int
|
id: int
|
||||||
name: str
|
name: str
|
||||||
|
|
@ -58,7 +70,7 @@ class PermissionResponse(PermissionBase):
|
||||||
id: int
|
id: int
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
from_attributes = True
|
||||||
|
|
||||||
# Demande de besoin (NeedRequest)
|
# Demande de besoin (NeedRequest)
|
||||||
class NeedRequestBase(BaseModel):
|
class NeedRequestBase(BaseModel):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue