diff --git a/schemas/country.py b/schemas/country.py new file mode 100644 index 0000000..791ae0f --- /dev/null +++ b/schemas/country.py @@ -0,0 +1,37 @@ +from pydantic import BaseModel, Field +from typing import Optional + +class CountryBase(BaseModel): + name: str = Field(..., min_length=1, max_length=100) + code: str = Field(..., min_length=2, max_length=2) + currency: Optional[str] = Field(None, max_length=50) + capital: Optional[str] = Field(None, max_length=100) + region: Optional[str] = Field(None, max_length=100) + +class CountryCreate(CountryBase): + class Config: + schema_extra = { + "example": { + "name": "United States", + "code": "US", + "currency": "USD", + "capital": "Washington, D.C.", + "region": "North America" + } + } + +class Country(CountryBase): + id: int + + class Config: + orm_mode = True + schema_extra = { + "example": { + "id": 1, + "name": "United States", + "code": "US", + "currency": "USD", + "capital": "Washington, D.C.", + "region": "North America" + } + } \ No newline at end of file