feat(schemas): T35 add Pydantic public API schemas

- PublicStatsResponse: summary + period info
- PublicUsageResponse: paginated usage items
- PublicKeyInfo: key metadata with stats (no values!)
- ApiToken schemas: create, response, create-response
- 25 unit tests, 100% coverage
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-07 16:15:22 +02:00
parent 16f740f023
commit a8095f4df7
3 changed files with 826 additions and 0 deletions

View File

@@ -20,6 +20,19 @@ from openrouter_monitor.schemas.stats import (
UsageStatsCreate,
UsageStatsResponse,
)
from openrouter_monitor.schemas.public_api import (
ApiTokenCreate,
ApiTokenCreateResponse,
ApiTokenResponse,
PaginationInfo,
PeriodInfo,
PublicKeyInfo,
PublicKeyListResponse,
PublicStatsResponse,
PublicUsageItem,
PublicUsageResponse,
SummaryInfo,
)
__all__ = [
"UserRegister",
@@ -37,4 +50,16 @@ __all__ = [
"StatsByModel",
"StatsByDate",
"DashboardResponse",
# Public API schemas
"ApiTokenCreate",
"ApiTokenCreateResponse",
"ApiTokenResponse",
"PublicStatsResponse",
"PublicUsageResponse",
"PublicKeyInfo",
"PublicKeyListResponse",
"SummaryInfo",
"PeriodInfo",
"PublicUsageItem",
"PaginationInfo",
]