Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, field_validator | |
| from typing import Any | |
| from pydantic import BaseModel, Field | |
| from app.dto.trip import TripDTO | |
| class LocationRequest(BaseModel): | |
| origin_office: str | None = None | |
| departure_city: str | None = None | |
| dest_office: str | None = None | |
| destination_city: str | None = None | |
| class TimeRequest(BaseModel): | |
| time_select: dict | None = Field(default_factory=dict) | |
| class TripQueryRequest(BaseModel): | |
| departure_city: str | None = None | |
| destination_city: str | None = None | |
| origin_office: str | None = None | |
| dest_office: str | None = None | |
| ticket_number: int | None = None | |
| date: dict | None = Field(default_factory=dict) | |
| time_select: dict | None = Field(default_factory=dict) | |
| id_selected: int | None = None | |
| def validate_ticket_number(cls, v): | |
| return int(v) if v else None | |
| def validate_selected_pickup(cls, v): | |
| return int(v) if v else None | |
| class TicketRequest(BaseModel): | |
| user_name: str | None = None | |
| phone_number: str | None = None | |
| email: str | None = None | |
| seat: str | None = None | |
| pickup: str | None = None | |
| dropoff: str | None = None | |
| trip_data: TripDTO | None = None | |
| class SeatQueryRequest(BaseModel): | |
| seat: str | None = None | |
| trip_data: TripDTO | None = None | |
| class SessionInfo(BaseModel): | |
| session: str | None = None | |
| parameters: dict[str, Any] = Field(default_factory=dict) | |
| class FulfillmentInfo(BaseModel): | |
| tag: str | None = None | |
| class DialogflowWebhookRequest(BaseModel): | |
| text: str | None = None | |
| sessionInfo: SessionInfo | None = None | |
| fulfillmentInfo: FulfillmentInfo | None = None | |
| detectIntentResponseId: str | None = None | |
| def get_parameters(self) -> dict[str, Any]: | |
| return self.sessionInfo.parameters if self.sessionInfo else {} | |
| def get_session(self) -> str: | |
| return ( | |
| self.sessionInfo.session | |
| if self.sessionInfo and self.sessionInfo.session | |
| else "" | |
| ) | |
| def get_text(self) -> str: | |
| return self.text.strip() if self.text else "" | |
| def get_tag(self) -> str: | |
| return ( | |
| self.fulfillmentInfo.tag | |
| if self.fulfillmentInfo and self.fulfillmentInfo.tag | |
| else "" | |
| ) | |
| class StopRequest(BaseModel): | |
| trip_data: TripDTO | None = None | |
| id_selected: int | None = None | |
| def validate_selected_pickup(cls, v): | |
| return int(v) if v else None | |