56 lines
1.2 KiB
Python
56 lines
1.2 KiB
Python
from typing import Optional, List
|
|
from pydantic import BaseModel, ConfigDict
|
|
from datetime import datetime
|
|
from enums import TypeMood, TypeModel
|
|
|
|
class SQuestionAdd(BaseModel):
|
|
email_user: str
|
|
type_mood: TypeMood
|
|
type_model: TypeModel
|
|
question: str
|
|
|
|
class SQuestion(SQuestionAdd):
|
|
id: int
|
|
answer: Optional[str] = None
|
|
question_time: datetime
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
class SQuestionId(BaseModel):
|
|
question_id: int
|
|
answer: str
|
|
|
|
class Flight(BaseModel):
|
|
id: int
|
|
departurePoint: str
|
|
destinationPoint: str
|
|
destinationTime: str
|
|
departureTime: str
|
|
distance: float
|
|
countEconomic: int
|
|
countBusiness: int
|
|
|
|
class TripRequest(BaseModel):
|
|
fromPoint: str
|
|
toPoint: str
|
|
countBusiness: int
|
|
countEconomic: int
|
|
departureDate: str
|
|
returnDate: Optional[str] = None
|
|
flightsTo: List[Flight]
|
|
flightsBack: List[Flight]
|
|
|
|
class Review(BaseModel):
|
|
city: str
|
|
airport: str
|
|
address: str
|
|
name_ru: str
|
|
|
|
class FlightSegment(BaseModel):
|
|
id: int
|
|
departurePoint: str
|
|
destinationPoint: str
|
|
|
|
class TripOption(BaseModel):
|
|
to: List[FlightSegment]
|
|
back: List[FlightSegment] |