from pydantic import BaseModel
from typing import List, Optional, Union, Literal

class PropertyRegister(BaseModel):
    name: str

class GetProperty(BaseModel):
    property_id: Union[Literal["all"], str]

class PropertyRegisterRespone(BaseModel):
    status: str
    message: str
    property_id: str

class PropertyImageUploadRespone(BaseModel):
    status: str
    message: str
    link: str

class PropertyListChannel(BaseModel):
    property_id: str
    channel_type: Literal['ga4', 'facebook', 'line', 'all']

class PropertyListChannelRespone(BaseModel):
    status: str
    data: List[dict]

class PropertyAdminPhone(BaseModel):
    property_id: str
    action: Literal['add', 'remove', 'edit', 'replace']
    phones: List[str]

class GetPropertyAdminPhone(BaseModel):
    property_id: str