Sage100-vps/schemas/tiers/tiers_collab.py

54 lines
2.7 KiB
Python

from typing import Optional
from pydantic import BaseModel, Field
class Collaborateur(BaseModel):
"""Modèle pour un collaborateur/commercial"""
numero: Optional[int] = Field(None, description="Numéro du collaborateur (CO_No)")
nom: Optional[str] = Field(None, description="Nom (CO_Nom)")
prenom: Optional[str] = Field(None, description="Prénom (CO_Prenom)")
fonction: Optional[str] = Field(None, description="Fonction (CO_Fonction)")
adresse: Optional[str] = Field(None, description="Adresse (CO_Adresse)")
complement: Optional[str] = Field(
None, description="Complément adresse (CO_Complement)"
)
code_postal: Optional[str] = Field(None, description="Code postal (CO_CodePostal)")
ville: Optional[str] = Field(None, description="Ville (CO_Ville)")
region: Optional[str] = Field(None, description="Région (CO_CodeRegion)")
pays: Optional[str] = Field(None, description="Pays (CO_Pays)")
service: Optional[str] = Field(None, description="Service (CO_Service)")
est_vendeur: Optional[bool] = Field(None, description="Est vendeur (CO_Vendeur)")
est_caissier: Optional[bool] = Field(None, description="Est caissier (CO_Caissier)")
est_acheteur: Optional[bool] = Field(None, description="Est acheteur (CO_Acheteur)")
telephone: Optional[str] = Field(None, description="Téléphone (CO_Telephone)")
telecopie: Optional[str] = Field(None, description="Fax (CO_Telecopie)")
email: Optional[str] = Field(None, description="Email (CO_EMail)")
tel_portable: Optional[str] = Field(None, description="Portable (CO_TelPortable)")
matricule: Optional[str] = Field(None, description="Matricule (CO_Matricule)")
facebook: Optional[str] = Field(None, description="Facebook (CO_Facebook)")
linkedin: Optional[str] = Field(None, description="LinkedIn (CO_LinkedIn)")
skype: Optional[str] = Field(None, description="Skype (CO_Skype)")
est_actif: Optional[bool] = Field(None, description="Est actif (CO_Sommeil=0)")
est_chef_ventes: Optional[bool] = Field(
None, description="Est chef des ventes (CO_ChefVentes)"
)
chef_ventes_numero: Optional[int] = Field(
None, description="N° chef des ventes (CO_NoChefVentes)"
)
class Config:
json_schema_extra = {
"example": {
"numero": 1,
"nom": "DUPONT",
"prenom": "Jean",
"fonction": "Commercial",
"service": "Ventes",
"est_vendeur": True,
"telephone": "0123456789",
"email": "j.dupont@entreprise.fr",
"tel_portable": "0612345678",
"est_actif": True,
}
}