Add SeaLion schema
This commit is contained in:
parent
641d0f3c70
commit
3f06295b16
49
schemas/sealion.py
Normal file
49
schemas/sealion.py
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
|
# Base Schema
|
||||||
|
class SeaLionBase(BaseModel):
|
||||||
|
name: str = Field(..., description="Name of the sea lion")
|
||||||
|
species: str = Field(..., description="Species of the sea lion")
|
||||||
|
age: int | None = Field(None, description="Age of the sea lion")
|
||||||
|
weight: float | None = Field(None, description="Weight of the sea lion")
|
||||||
|
location: str = Field(..., description="Location of the sea lion")
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
schema_extra = {
|
||||||
|
"example": {
|
||||||
|
"name": "Buddy",
|
||||||
|
"species": "California Sea Lion",
|
||||||
|
"age": 5,
|
||||||
|
"weight": 200.5,
|
||||||
|
"location": "Pacific Ocean"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Schema for Create Operation
|
||||||
|
class SeaLionCreate(SeaLionBase):
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Schema for Response
|
||||||
|
class SeaLion(SeaLionBase):
|
||||||
|
id: int = Field(..., description="Unique identifier for the sea lion")
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
schema_extra = {
|
||||||
|
"example": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "Buddy",
|
||||||
|
"species": "California Sea Lion",
|
||||||
|
"age": 5,
|
||||||
|
"weight": 200.5,
|
||||||
|
"location": "Pacific Ocean"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
This code defines three Pydantic models for the SeaLion entity:
|
||||||
|
|
||||||
|
1. `SeaLionBase`: A base model that defines the common fields for the entity.
|
||||||
|
2. `SeaLionCreate`: A model that inherits from `SeaLionBase` and is used for creating new sea lion instances.
|
||||||
|
3. `SeaLion`: A model that inherits from `SeaLionBase` and includes an `id` field, which is used for representing sea lion instances in API responses.
|
||||||
|
|
||||||
|
Each model includes field descriptions and example values in the `Config` class. The `SeaLion` model also includes an example value for the `id` field.
|
Loading…
x
Reference in New Issue
Block a user