38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
from pydantic import BaseModel, EmailStr
|
|
from typing import Optional
|
|
from app.modules.clients.models import Medio, Tercero, Operacion
|
|
|
|
class ClientBase(BaseModel):
|
|
rfc: str
|
|
email: EmailStr
|
|
short_name: Optional[str] = None
|
|
razon_social: str
|
|
fiscal_number: str
|
|
cellphone: str
|
|
medio: Medio = Medio.MANUAL
|
|
third_type: Tercero = Tercero.GLOBAL
|
|
operation_type: Operacion = Operacion.OTROS
|
|
is_foreign: bool = False
|
|
user_id: int
|
|
location_id: Optional[int] = None
|
|
|
|
class ClientCreate(ClientBase):
|
|
pass
|
|
|
|
class ClientUpdate(BaseModel):
|
|
short_name: Optional[str] = None
|
|
razon_social: Optional[str] = None
|
|
fiscal_number: Optional[str] = None
|
|
cellphone: Optional[str] = None
|
|
medio: Optional[Medio] = None
|
|
third_type: Optional[Tercero] = None
|
|
operation_type: Optional[Operacion] = None
|
|
is_foreign: Optional[bool] = None
|
|
location_id: Optional[int] = None
|
|
|
|
class ClientResponse(ClientBase):
|
|
id: int
|
|
|
|
class Config:
|
|
from_attributes = True
|