
- FastAPI application with user management, destinations, and trip planning - SQLite database with SQLAlchemy ORM - Database models for Users, Destinations, and Trips - Pydantic schemas for request/response validation - Full CRUD API endpoints for all resources - Alembic migrations setup - Health check endpoint - CORS configuration for development - Comprehensive documentation and README
39 lines
891 B
Python
39 lines
891 B
Python
from pydantic import BaseModel
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
|
|
class DestinationBase(BaseModel):
|
|
name: str
|
|
country: str
|
|
city: str
|
|
description: Optional[str] = None
|
|
latitude: Optional[float] = None
|
|
longitude: Optional[float] = None
|
|
rating: Optional[float] = 0.0
|
|
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[float] = None
|
|
longitude: Optional[float] = None
|
|
rating: Optional[float] = None
|
|
image_url: Optional[str] = None
|
|
|
|
|
|
class Destination(DestinationBase):
|
|
id: int
|
|
created_at: datetime
|
|
updated_at: Optional[datetime] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|