from typing import Optional, List
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
    PydanticBaseModel,
    ListOptions,
)


class InsertCompany(BaseModelRegular):
    formal_name: str
    company_type: str
    commercial_type: str
    tax_no: str
    public_name: Optional[str] = None
    company_tag: Optional[str] = None
    default_lang_type: Optional[str] = None
    default_money_type: Optional[str] = None
    official_address_uu_id: Optional[str] = None
    # parent_uu_id: Optional[int] = None


class UpdateCompany(PydanticBaseModel):
    company_uu_id: str
    public_name: Optional[str] = None
    formal_name: Optional[str] = None
    tax_no: Optional[str] = None
    company_tag: Optional[str] = None
    default_lang_type: Optional[str] = None
    default_money_type: Optional[str] = None
    official_address_uu_id: Optional[str] = None


class MatchCompany2Company(PydanticBaseModel):
    match_company_uu_id: List[str]
    duty_uu_id: str
