import enum from pydantic import BaseModel, Field from typing import Optional import uuid class Continent(enum.Enum): AFRICA = "Africa" ANTARCTICA = "Antarctica" ASIA = "Asia" EUROPE = "Europe" NORTH_AMERICA = "North America" OCEANIA = "Oceania" SOUTH_AMERICA = "South America" class CountryBase(BaseModel): name: str = Field(..., description="Country name") latitude: float = Field(..., description="Country latitude") longitude: float = Field(..., description="Country longitude") continent: Continent = Field(..., description="Country continent") class CountryCreate(CountryBase): pass class CountryUpdate(CountryBase): name: Optional[str] = Field(None, description="Country name") latitude: Optional[float] = Field(None, description="Country latitude") longitude: Optional[float] = Field(None, description="Country longitude") continent: Optional[Continent] = Field(None, description="Country continent") class CountrySchema(CountryBase): id: uuid.UUID created_at: float updated_at: float class Config: orm_mode = True