
- User authentication with JWT tokens - Trip management with itineraries - Destination database with search functionality - Booking management for flights, hotels, car rentals, activities - SQLite database with Alembic migrations - Health monitoring endpoint - CORS enabled for all origins - Complete API documentation at /docs and /redoc - Environment variable support for SECRET_KEY Requirements for production: - Set SECRET_KEY environment variable
42 lines
1010 B
Python
42 lines
1010 B
Python
from pydantic import BaseModel
|
|
from typing import Optional
|
|
from datetime import datetime
|
|
from decimal import Decimal
|
|
|
|
|
|
class DestinationBase(BaseModel):
|
|
name: str
|
|
country: str
|
|
city: str
|
|
description: Optional[str] = None
|
|
latitude: Optional[Decimal] = None
|
|
longitude: Optional[Decimal] = None
|
|
category: Optional[str] = None
|
|
rating: Optional[Decimal] = None
|
|
image_url: Optional[str] = None
|
|
|
|
|
|
class DestinationCreate(DestinationBase):
|
|
pass
|
|
|
|
|
|
class DestinationUpdate(BaseModel):
|
|
name: Optional[str] = None
|
|
country: Optional[str] = None
|
|
city: Optional[str] = None
|
|
description: Optional[str] = None
|
|
latitude: Optional[Decimal] = None
|
|
longitude: Optional[Decimal] = None
|
|
category: Optional[str] = None
|
|
rating: Optional[Decimal] = None
|
|
image_url: Optional[str] = None
|
|
|
|
|
|
class DestinationResponse(DestinationBase):
|
|
id: int
|
|
created_at: datetime
|
|
updated_at: Optional[datetime] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|