Files
service-seadex/src/models.py
T

26 lines
625 B
Python

from pydantic import BaseModel, Field, computed_field
class AnimeCreate(BaseModel):
anilist_id: int = Field(gt=0)
custom_name: str | None = Field(default=None, max_length=255)
class AnimeRemove(BaseModel):
anilist_id: int
class AnimeEntry(BaseModel):
name: str
last_updated: str | None = None
class Counts(BaseModel):
active: int
inactive: int
class AnimeList(BaseModel):
active: list[AnimeEntry] = Field(default_factory=list)
inactive: list[AnimeEntry] = Field(default_factory=list)
@computed_field
@property
def counts(self) -> Counts:
return Counts(active=len(self.active),inactive=len(self.inactive))