Coverage for backend \ app \ Productos \ schemas \ proveedorSchemas.py: 100.00%
26 statements
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
1from pydantic import BaseModel, Field, EmailStr
2from typing import Optional
4class ProveedorBaseSchema(BaseModel):
5 razonSocial: str = Field(..., min_length=3, max_length=100, example="Distribuidora Andina de Bebidas S.A.")
6 ruc: str = Field(..., min_length=13, max_length=13, example="1790012345001")
7 direccionProveedor: str = Field(..., max_length=100, example="Av. Maldonado y Morán Valverde, Quito")
8 telefonoProveedor: str = Field(..., min_length=10, max_length=10, example="0991234567")
9 emailProveedor: EmailStr = Field(..., example="ventas@andinabebidas.com")
11class ProveedorCrearSchema(ProveedorBaseSchema):
12 pass
14class ProveedorActualizarSchema(BaseModel):
15 razonSocial: Optional[str] = Field(None, min_length=3, max_length=100, example="Distribuidora Andina de Bebidas S.A.")
16 direccionProveedor: Optional[str] = Field(None, max_length=100, example="Av. Maldonado y Morán Valverde, Quito")
17 telefonoProveedor: Optional[str] = Field(None, min_length=10, max_length=10, example="0991234567")
18 emailProveedor: Optional[EmailStr] = Field(None, example="ventas@andinabebidas.com")
19 activoProveedor: Optional[bool] = None
21class ProveedorRespuestaSchema(BaseModel):
22 idProveedor: int
23 razonSocial: str
24 ruc: str
25 direccionProveedor: str
26 telefonoProveedor: str
27 emailProveedor: EmailStr
28 activoProveedor: bool
30 class Config:
31 from_attributes = True