Add Lake schema

This commit is contained in:
Backend IM Bot 2025-03-26 06:54:20 -05:00
parent 6d84741c09
commit c0c8f47569

35
schemas/lake.py Normal file
View File

@ -0,0 +1,35 @@
from pydantic import BaseModel, Field, validator
from typing import Optional
class BaseLake(BaseModel):
name: str = Field(..., index=True, description="Name of the lake")
area: float = Field(..., gt=0, description="Area of the lake in square kilometers")
depth: float = Field(..., gt=0, description="Maximum depth of the lake in meters")
location: str = Field(..., description="Location or address of the lake")
@validator('name')
def name_must_be_capitalized(cls, value):
if not value.istitle():
raise ValueError('Lake name must be capitalized')
return value
class Config:
schema_extra = {
"example": {
"name": "Lake Superior",
"area": 82100.0,
"depth": 406.0,
"location": "North America"
}
}
class LakeCreate(BaseLake):
pass
class LakeResponse(BaseLake):
id: int
class Config:
orm_mode = True