22 lines
525 B
Python
22 lines
525 B
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, Field, computed_field
|
|
|
|
|
|
class GenericEntry(BaseModel):
|
|
name: str
|
|
custom_name: str | None = None
|
|
published: datetime | None = None
|
|
|
|
class Counts(BaseModel):
|
|
active: int
|
|
inactive: int
|
|
|
|
class GenericList(BaseModel):
|
|
active: list[GenericEntry] = Field(default_factory=list)
|
|
inactive: list[GenericEntry] = Field(default_factory=list)
|
|
|
|
@computed_field
|
|
@property
|
|
def counts(self) -> Counts:
|
|
return Counts(active=len(self.active),inactive=len(self.inactive)) |