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