38 lines
1.1 KiB
Python
Executable File
38 lines
1.1 KiB
Python
Executable File
from pydantic import BaseModel, Field, ConfigDict
|
|
from typing import Optional, List
|
|
|
|
class ContactCreate(BaseModel):
|
|
full_name: str
|
|
email: str
|
|
phone: Optional[str] = None
|
|
contact_type: str = "primary"
|
|
|
|
class CorpOnboardIn(BaseModel):
|
|
""" Teljes onboarding adatcsomag atomizált címekkel. """
|
|
full_name: str = Field(..., description="Hivatalos cégnév")
|
|
name: str = Field(..., description="Rövid név")
|
|
display_name: str
|
|
|
|
tax_number: str
|
|
reg_number: Optional[str] = None
|
|
country_code: str = "HU"
|
|
language: str = "hu"
|
|
default_currency: str = "HUF"
|
|
|
|
# --- ATOMIZÁLT CÍM (Modell szinkron) ---
|
|
address_zip: str
|
|
address_city: str
|
|
address_street_name: str
|
|
address_street_type: str
|
|
address_house_number: str
|
|
address_stairwell: Optional[str] = None
|
|
address_floor: Optional[str] = None
|
|
address_door: Optional[str] = None
|
|
address_hrsz: Optional[str] = None
|
|
|
|
contacts: List[ContactCreate] = []
|
|
|
|
class CorpOnboardResponse(BaseModel):
|
|
organization_id: int
|
|
status: str
|
|
model_config = ConfigDict(from_attributes=True) |