55 行
1.2 KiB
Python
55 行
1.2 KiB
Python
from __future__ import annotations
|
|
from pydantic import BaseModel
|
|
from typing import Any
|
|
|
|
|
|
class VersionUpgradeSchema(BaseModel):
|
|
tag: str | None = None
|
|
name: str | None = None
|
|
description: str | None = None
|
|
reason: str | None = None
|
|
|
|
|
|
class VersionHighlightSchema(BaseModel):
|
|
label: str | None = None
|
|
text: str | None = None
|
|
|
|
|
|
class VersionCompareSchema(BaseModel):
|
|
headers: list[str] = []
|
|
rows: list[list[str]] = []
|
|
|
|
|
|
class TimelineChangeSchema(BaseModel):
|
|
type: str # add, update, remove
|
|
text: str
|
|
|
|
|
|
class VersionTimelineSchema(BaseModel):
|
|
version: str
|
|
date: str | None = None
|
|
title: str | None = None
|
|
changes: list[TimelineChangeSchema] = []
|
|
reason: str | None = None
|
|
|
|
|
|
class VersionTimelineResponse(VersionTimelineSchema):
|
|
id: int
|
|
sort_order: int = 0
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class VersionPhilosophySchema(BaseModel):
|
|
label: str | None = None
|
|
text: str | None = None
|
|
|
|
|
|
class VersionConfigSchema(BaseModel):
|
|
stats_iterations: int | None = None
|
|
stats_years: int | None = None
|
|
stats_guests: str | None = None
|
|
quote_text: str | None = None
|
|
quote_author: str | None = None
|