swagger
This commit is contained in:
+1
-1
@@ -34,7 +34,7 @@ def _list(name: str) -> list[str]:
|
||||
@dataclass(frozen=True)
|
||||
class Settings:
|
||||
app_name: str = field(default_factory=lambda: os.getenv("APP_NAME", "html-to-pdf"))
|
||||
app_version: str = field(default_factory=lambda: os.getenv("APP_VERSION", "1.0.1"))
|
||||
app_version: str = field(default_factory=lambda: os.getenv("APP_VERSION", "1.0.2"))
|
||||
root_path: str = field(
|
||||
default_factory=lambda: os.getenv("ROOT_PATH") or os.getenv("BASE_PATH") or ""
|
||||
)
|
||||
|
||||
+14
-24
@@ -66,7 +66,7 @@ class PageSettings(BaseModel):
|
||||
"orientaci poradi hodnot."
|
||||
),
|
||||
)
|
||||
margin: Margin = Field(default_factory=Margin, description="Okraje stranky.")
|
||||
margin: Margin = Field(default_factory=Margin)
|
||||
|
||||
|
||||
class PageNumbers(BaseModel):
|
||||
@@ -197,9 +197,12 @@ class ConvertRequest(BaseModel):
|
||||
"""Telo pozadavku. Stejne pro POST /convert i POST /jobs.
|
||||
|
||||
Povinne je pouze `source`, vsechno ostatni ma pouzitelnou vychozi hodnotu.
|
||||
Nastaveni tykajici se strankovani je rozdelene do ctyr bloku: `page` resi
|
||||
rozmer a okraje, `page_numbers` cislovani, `chunking` deleni velkeho
|
||||
dokumentu na renderovane casti a `toc` obsah s cisly stranek.
|
||||
|
||||
Strankovani je rozdelene do ctyr bloku. `page` resi rozmer stranky a okraje,
|
||||
`page_numbers` cislovani, `chunking` deleni velkeho dokumentu na renderovane
|
||||
casti a `toc` obsah se skutecnymi cisly stranek. `assets` ridi stahovani
|
||||
externich obrazku a stylu, `wait_for` cekani na dokresleni stranky
|
||||
a pouziva ho jen Chromium.
|
||||
"""
|
||||
|
||||
source: Source
|
||||
@@ -213,27 +216,14 @@ class ConvertRequest(BaseModel):
|
||||
"weasyprint, a pri selhani WeasyPrintu render zopakuje pres Chromium."
|
||||
),
|
||||
)
|
||||
page: PageSettings = Field(
|
||||
default_factory=PageSettings, description="Rozmer stranky a okraje."
|
||||
)
|
||||
page_numbers: PageNumbers = Field(
|
||||
default_factory=PageNumbers, description="Cislovani stranek, vychozi je vypnute."
|
||||
)
|
||||
toc: TocSettings = Field(
|
||||
default_factory=TocSettings, description="Obsah se skutecnymi cisly stranek."
|
||||
)
|
||||
page: PageSettings = Field(default_factory=PageSettings)
|
||||
page_numbers: PageNumbers = Field(default_factory=PageNumbers)
|
||||
toc: TocSettings = Field(default_factory=TocSettings)
|
||||
outline: bool = Field(default=True, description="Generovat zalozky PDF z nadpisu h1 az h6.")
|
||||
pdf_profile: Literal["pdf/a-1b", "pdf/a-2b", "pdf/a-3b", "pdf/a-4b", "pdf/ua-1"] | None = None
|
||||
assets: AssetSettings = Field(
|
||||
default_factory=AssetSettings, description="Stahovani externich assetu."
|
||||
)
|
||||
chunking: ChunkSettings = Field(
|
||||
default_factory=ChunkSettings,
|
||||
description="Deleni velkeho dokumentu na casti renderovane samostatne.",
|
||||
)
|
||||
wait_for: WaitFor = Field(
|
||||
default_factory=WaitFor, description="Cekani na dokresleni stranky, jen pro Chromium."
|
||||
)
|
||||
assets: AssetSettings = Field(default_factory=AssetSettings)
|
||||
chunking: ChunkSettings = Field(default_factory=ChunkSettings)
|
||||
wait_for: WaitFor = Field(default_factory=WaitFor)
|
||||
filename: str | None = Field(default=None, description="Nazev souboru ve Content-Disposition.")
|
||||
callback_url: str | None = Field(
|
||||
default=None,
|
||||
@@ -322,7 +312,7 @@ class JobState(BaseModel):
|
||||
"smazou a dalsi dotaz vraci 404. Odvozuje se z JOB_RESULT_TTL_SECONDS."
|
||||
),
|
||||
)
|
||||
progress: JobProgress = Field(default_factory=JobProgress, description="Postup renderu.")
|
||||
progress: JobProgress = Field(default_factory=JobProgress)
|
||||
engine_used: str | None = Field(default=None, description="Engine, ktery dokument vyrenderoval.")
|
||||
page_count: int | None = Field(default=None, description="Pocet stranek vysledku.")
|
||||
missing_assets: list[MissingAsset] = Field(
|
||||
|
||||
@@ -13,7 +13,7 @@ v tele requestu a vrati soubor PDF. Zvlada dokumenty o tisicich stranek.
|
||||
|
||||
## Aktualni stav
|
||||
|
||||
Verze 1.0.1, stav development.
|
||||
Verze 1.0.2, stav development.
|
||||
|
||||
Hotovo:
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ runtime `.env`. Zadna promenna neni povinna, sluzba nastartuje i bez nich.
|
||||
| Promenna | Vychozi | Vyznam |
|
||||
|---|---|---|
|
||||
| `APP_NAME` | `html-to-pdf` | nazev v dokumentaci a v odpovedi /version |
|
||||
| `APP_VERSION` | `1.0.1` | verze |
|
||||
| `APP_VERSION` | `1.0.2` | verze |
|
||||
| `ROOT_PATH` | prazdne | prefix reverse proxy, napriklad `/apps/html-to-pdf` |
|
||||
| `BASE_PATH` | prazdne | pouzije se, kdyz `ROOT_PATH` neni nastavene |
|
||||
| `LOG_LEVEL` | `INFO` | uroven logovani |
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# Zaznam zmen
|
||||
|
||||
## 1.0.2
|
||||
|
||||
Opraveno:
|
||||
|
||||
- Swagger UI se u tela requestu rozbil. Verze 1.0.1 pridala popis k polim
|
||||
`page`, `page_numbers`, `toc`, `assets`, `chunking`, `wait_for`, `margin`
|
||||
a `progress`, coz jsou odkazy na vnorene modely. V OpenAPI z toho vznikl
|
||||
`$ref` se sourozeneckym klicem `description`. To je podle OpenAPI 3.1
|
||||
v poradku, ale Swagger UI 5 takovy uzel nerozbali, takze prestala fungovat
|
||||
ukazka tela requestu i Try it out. Popisy se presunuly do docstringu
|
||||
prislusnych modelu, kde je Swagger zobrazi u samotneho modelu. V OpenAPI uz
|
||||
neni zadny `$ref` se sourozenci.
|
||||
|
||||
## 1.0.1
|
||||
|
||||
Opraveno:
|
||||
|
||||
Reference in New Issue
Block a user