from pydantic import BaseModel from datetime import datetime from typing import Optional class CompanyBase(BaseModel): name: str logo_url: Optional[str] = None description: Optional[str] = None address: str phone: str email: str website: Optional[str] = None business_license: Optional[str] = None established_date: Optional[datetime] = None employees_count: Optional[int] = None business_scope: Optional[str] = None level: int = 0 template: str = 'Home' class CompanyCreate(CompanyBase): pass class CompanyUpdate(BaseModel): name: Optional[str] = None logo_url: Optional[str] = None description: Optional[str] = None address: Optional[str] = None phone: Optional[str] = None email: Optional[str] = None website: Optional[str] = None business_license: Optional[str] = None established_date: Optional[datetime] = None employees_count: Optional[int] = None business_scope: Optional[str] = None level: Optional[int] = None template: Optional[str] = None class CompanyResponse(CompanyBase): id: int company_code: str created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True