from pydantic import Field

from app.schemas.common import APIBaseModel, Channel


class WorkflowStartRequest(APIBaseModel):
    cliente: str
    nombreCompleto: str | None = None
    nombre: str | None = None
    telefono: str | None = None
    email: str | None = None
    canal: Channel = "freshchat"
    supports_interactive: bool = True


class WorkflowHandleOptionRequest(APIBaseModel):
    cliente: str
    selected_option: str = Field(min_length=1)
    selected_option_id: str | None = None
    canal: Channel = "freshchat"
    supports_interactive: bool = True


class WorkflowStartInteractiveRequest(WorkflowStartRequest):
    conversation_id: str | None = None
    conversationAlias: str | None = None
    conversation_alias: str | None = None
    conversationId: str | None = None
    user_id: str | None = None
    actor_type: str | None = None
    actor_id: str | None = None
