# Code generated by Lark OpenAPI. from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type from lark_oapi.core.construct import init from .migration_ticket_comment import MigrationTicketComment from .i18n import I18n class MigrationTicket(object): _types = { "guest_id": int, "close_by": int, "creator_id": int, "owner_agent_id": int, "create_at_ms": str, "close_at_ms": str, "update_at_ms": str, "queued_at_ms": str, "first_response_ms": str, "last_response_ms": str, "stage": int, "status": int, "score": int, "channel": int, "agent_entry_time_ms": str, "comments": List[MigrationTicketComment], "dissatisfaction_reasons": List[I18n], "actual_processing_time": str, "language": str, "first_agent_entry_chat_time": str, "guest_country": str, "guest_city": str, "agent_group_name": str, "transfer_comment": str, "description": str, "close_way": int, "collaborators": List[str], "agent_ids": List[str], "id": str, } def __init__(self, d=None): self.guest_id: Optional[int] = None self.close_by: Optional[int] = None self.creator_id: Optional[int] = None self.owner_agent_id: Optional[int] = None self.create_at_ms: Optional[str] = None self.close_at_ms: Optional[str] = None self.update_at_ms: Optional[str] = None self.queued_at_ms: Optional[str] = None self.first_response_ms: Optional[str] = None self.last_response_ms: Optional[str] = None self.stage: Optional[int] = None self.status: Optional[int] = None self.score: Optional[int] = None self.channel: Optional[int] = None self.agent_entry_time_ms: Optional[str] = None self.comments: Optional[List[MigrationTicketComment]] = None self.dissatisfaction_reasons: Optional[List[I18n]] = None self.actual_processing_time: Optional[str] = None self.language: Optional[str] = None self.first_agent_entry_chat_time: Optional[str] = None self.guest_country: Optional[str] = None self.guest_city: Optional[str] = None self.agent_group_name: Optional[str] = None self.transfer_comment: Optional[str] = None self.description: Optional[str] = None self.close_way: Optional[int] = None self.collaborators: Optional[List[str]] = None self.agent_ids: Optional[List[str]] = None self.id: Optional[str] = None init(self, d, self._types) @staticmethod def builder() -> "MigrationTicketBuilder": return MigrationTicketBuilder() class MigrationTicketBuilder(object): def __init__(self) -> None: self._migration_ticket = MigrationTicket() def guest_id(self, guest_id: int) -> "MigrationTicketBuilder": self._migration_ticket.guest_id = guest_id return self def close_by(self, close_by: int) -> "MigrationTicketBuilder": self._migration_ticket.close_by = close_by return self def creator_id(self, creator_id: int) -> "MigrationTicketBuilder": self._migration_ticket.creator_id = creator_id return self def owner_agent_id(self, owner_agent_id: int) -> "MigrationTicketBuilder": self._migration_ticket.owner_agent_id = owner_agent_id return self def create_at_ms(self, create_at_ms: str) -> "MigrationTicketBuilder": self._migration_ticket.create_at_ms = create_at_ms return self def close_at_ms(self, close_at_ms: str) -> "MigrationTicketBuilder": self._migration_ticket.close_at_ms = close_at_ms return self def update_at_ms(self, update_at_ms: str) -> "MigrationTicketBuilder": self._migration_ticket.update_at_ms = update_at_ms return self def queued_at_ms(self, queued_at_ms: str) -> "MigrationTicketBuilder": self._migration_ticket.queued_at_ms = queued_at_ms return self def first_response_ms(self, first_response_ms: str) -> "MigrationTicketBuilder": self._migration_ticket.first_response_ms = first_response_ms return self def last_response_ms(self, last_response_ms: str) -> "MigrationTicketBuilder": self._migration_ticket.last_response_ms = last_response_ms return self def stage(self, stage: int) -> "MigrationTicketBuilder": self._migration_ticket.stage = stage return self def status(self, status: int) -> "MigrationTicketBuilder": self._migration_ticket.status = status return self def score(self, score: int) -> "MigrationTicketBuilder": self._migration_ticket.score = score return self def channel(self, channel: int) -> "MigrationTicketBuilder": self._migration_ticket.channel = channel return self def agent_entry_time_ms(self, agent_entry_time_ms: str) -> "MigrationTicketBuilder": self._migration_ticket.agent_entry_time_ms = agent_entry_time_ms return self def comments(self, comments: List[MigrationTicketComment]) -> "MigrationTicketBuilder": self._migration_ticket.comments = comments return self def dissatisfaction_reasons(self, dissatisfaction_reasons: List[I18n]) -> "MigrationTicketBuilder": self._migration_ticket.dissatisfaction_reasons = dissatisfaction_reasons return self def actual_processing_time(self, actual_processing_time: str) -> "MigrationTicketBuilder": self._migration_ticket.actual_processing_time = actual_processing_time return self def language(self, language: str) -> "MigrationTicketBuilder": self._migration_ticket.language = language return self def first_agent_entry_chat_time(self, first_agent_entry_chat_time: str) -> "MigrationTicketBuilder": self._migration_ticket.first_agent_entry_chat_time = first_agent_entry_chat_time return self def guest_country(self, guest_country: str) -> "MigrationTicketBuilder": self._migration_ticket.guest_country = guest_country return self def guest_city(self, guest_city: str) -> "MigrationTicketBuilder": self._migration_ticket.guest_city = guest_city return self def agent_group_name(self, agent_group_name: str) -> "MigrationTicketBuilder": self._migration_ticket.agent_group_name = agent_group_name return self def transfer_comment(self, transfer_comment: str) -> "MigrationTicketBuilder": self._migration_ticket.transfer_comment = transfer_comment return self def description(self, description: str) -> "MigrationTicketBuilder": self._migration_ticket.description = description return self def close_way(self, close_way: int) -> "MigrationTicketBuilder": self._migration_ticket.close_way = close_way return self def collaborators(self, collaborators: List[str]) -> "MigrationTicketBuilder": self._migration_ticket.collaborators = collaborators return self def agent_ids(self, agent_ids: List[str]) -> "MigrationTicketBuilder": self._migration_ticket.agent_ids = agent_ids return self def id(self, id: str) -> "MigrationTicketBuilder": self._migration_ticket.id = id return self def build(self) -> "MigrationTicket": return self._migration_ticket