Spaces:
Sleeping
Sleeping
File size: 992 Bytes
35c6a2c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
from pydantic import BaseModel,EmailStr
from enum import Enum as PydanticEnum
from typing import Optional
class UserRole(str,PydanticEnum):
SUPERADMIN = 'SUPERADMIN'
BARBERO = 'BARBERO'
class UserBase(BaseModel):
correo:EmailStr
class UserCreate(UserBase):
contrasenia:str
class UserRead(UserBase):
id_usuario :str
rol:UserRole
estado_usuario : bool
class UserCurrent(UserBase):
id_usuario:str
rol: UserRole
contrasenia:str
estado_usuario: bool
class UserUpdate(UserBase):
id_usuario: str
contraActual:Optional[str]
contrasenia:Optional[str]
class UserUpdateStatus(BaseModel):
user_id: str
estado_usuario: bool
class Token(UserBase):
access_token:str
token_type:str
rol:UserRole
class Config:
from_attributes = True
# Cuando orm_mode esta habilitado, permite la conversion directa de objetos SQLAlchemy a modelos Pydantic sin necesidad de definir explicitamente todos los campos
|