# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-29T03:16:50+00:00
from __future__ import annotations
from enum import Enum
from typing import List, Optional
from pydantic import BaseModel, Field, conint
class Active(Enum):
integer_0 = 0
integer_1 = 1
class Groundhog1(BaseModel):
href: str
class Groundhogs(BaseModel):
href: str
class Predictions(BaseModel):
href: str
class Self(BaseModel):
href: str
class Spec(BaseModel):
href: str
class FieldLinks(BaseModel):
groundhog: Optional[Groundhog1] = None
groundhogs: Optional[Groundhogs] = None
predictions: Optional[Predictions] = None
self: Optional[Self] = None
spec: Optional[Spec] = None
class ApiV1GetResponse(BaseModel):
field_links: Optional[FieldLinks] = Field(None, alias='_links')
message: str
class IsGroundhog(Enum):
field_1 = '1'
field_0 = '0'
true = 'true'
false = 'false'
class Error(BaseModel):
message: str
status: int
timestamp: str
class ApiV1GroundhogsSlugGetResponse1(BaseModel):
error: Optional[Error] = None
class ApiV1PredictionsGetResponse1(BaseModel):
error: Optional[Error] = None
class Groundhog(BaseModel):
active: Active
city: str
contact: str
coordinates: str
country: str
currentPrediction: str
description: str
id: conint(ge=1)
image: str
isGroundhog: conint(ge=0, le=1)
name: str
predictions: Optional[List[Prediction]] = None
predictionsCount: Optional[conint(ge=1)] = Field(
None, description='All predictions, excluding nulls.'
)
region: str
shortname: str
slug: str
source: str
type: str
class Prediction(BaseModel):
details: str
groundhog: Optional[Groundhog] = None
shadow: conint(ge=0, le=1)
year: conint(ge=1886)
class ApiV1GroundhogsGetResponse(BaseModel):
groundhogs: Optional[List[Groundhog]] = None
class ApiV1GroundhogsSlugGetResponse(BaseModel):
groundhog: Optional[Groundhog] = None
class ApiV1PredictionsGetResponse(BaseModel):
predictions: Optional[List[Prediction]] = None
Groundhog.model_rebuild()