Files
endpoin/subcliente.py
2025-12-23 16:54:07 +00:00

39 lines
1.1 KiB
Python

from pydantic import BaseModel, EmailStr, Field
from typing import Optional
from datetime import datetime
from app.models.enums import EstadoCliente
class SubClienteBase(BaseModel):
nombre: str = Field(..., min_length=1, max_length=255)
email: EmailStr
rfc: Optional[str] = Field(None, max_length=13)
telefono: Optional[str] = Field(None, max_length=20)
class SubClienteCreate(SubClienteBase):
cliente_id: int
limite_propio: Optional[int] = Field(None, ge=0)
class SubClienteUpdate(BaseModel):
nombre: Optional[str] = Field(None, min_length=1, max_length=255)
email: Optional[EmailStr] = None
rfc: Optional[str] = Field(None, max_length=13)
telefono: Optional[str] = Field(None, max_length=20)
limite_propio: Optional[int] = Field(None, ge=0)
estado: Optional[EstadoCliente] = None
class SubClienteResponse(SubClienteBase):
id: int
cliente_id: int
timbres_consumidos: int
limite_propio: Optional[int]
estado: EstadoCliente
created_at: datetime
updated_at: Optional[datetime]
class Config:
from_attributes = True