Refaktoroitu tests/-kansiosta omaksi moduliksi: - prompts/ — kaikki promptit erillisinä .md-tiedostoina - golden-examples/ — todo (taso 1) + blog (taso 2) - benchmark.mjs lataa promptit ja esimerkit dynaamisesti - Dockerfile.pytest, report-template.html, package.json, README.md - results/ — tallennetut benchmark-tulokset
38 lines
841 B
Python
38 lines
841 B
Python
"""Pydantic v2 -skeemat — Create sisääntulolle, Response vastaukselle."""
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
|
|
class AuthorCreate(BaseModel):
|
|
"""Uuden kirjoittajan luonti. Pakolliset: name, email."""
|
|
|
|
name: str
|
|
email: str
|
|
bio: str | None = None
|
|
|
|
|
|
class AuthorResponse(AuthorCreate):
|
|
"""Palautettava kirjoittaja — sisältää id:n."""
|
|
|
|
id: int
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
|
|
class PostCreate(BaseModel):
|
|
"""Uuden postauksen luonti. Pakolliset: title, content, author_id."""
|
|
|
|
title: str
|
|
content: str
|
|
author_id: int
|
|
published_at: datetime | None = None
|
|
status: str = "draft"
|
|
|
|
|
|
class PostResponse(PostCreate):
|
|
"""Palautettava postaus — sisältää id:n."""
|
|
|
|
id: int
|
|
model_config = ConfigDict(from_attributes=True)
|