from typing import Optional
from pydantic import Field
from app.utils.schemas_utils import CustomModel
class CompanyListCreat(CustomModel):

    licence_valid_until: str
    company_name: str
    client_code: str
    address: str
    p_admin_name: str
    p_admin_email: str
    p_admin_mobil: str
    s_admin_name: str
    s_admin_email: str
    s_admin_mobil: str
    licence_date_issued: str
    certificate_name_format: str
class CompanyListResponse(CustomModel):
    company_id: int
    licence_valid_until: str
    company_name:str | None = Field(default=None)
    client_code: str
    address: str
    p_admin_name: str
    p_admin_email: str
    p_admin_mobil: str
    s_admin_name: str
    s_admin_email: str
    s_admin_mobil: str
    licence_date_issued: str | None
    certificate_name_format: str    

class VesselResponse(CustomModel):
    vessel_id: int
    vessel_name: str
    vessel_type: str | None
    imo: str | None
    vessel_standars: str | None
    sister_company: str | None = Field(default=None)
    company_code: str | None = Field(default=None)
    company_id: int    

class CompanyListUpdate(CustomModel):
    company_id: int
    company_name: str
    licence_valid_until: Optional[str] = None
    client_code: Optional[str] = None
    address: Optional[str] = None
    p_admin_name: Optional[str] = None
    p_admin_email: Optional[str] = None
    p_admin_mobil: Optional[str] = None
    s_admin_name: Optional[str] = None
    s_admin_email: Optional[str] = None
    s_admin_mobil: Optional[str] = None
    licence_date_issued: Optional[str] = None
    certificate_name_format: Optional[str] = None    
