Track exported OpenAPI schema

This commit is contained in:
2026-04-19 23:25:13 +02:00
parent d0dc8e893a
commit eb487ccb46
5 changed files with 154 additions and 4 deletions
+8 -3
View File
@@ -1,13 +1,19 @@
import json
import sys
from pathlib import Path
import yaml
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from app.main import create_app
def main() -> None:
app = create_app()
output_dir = Path("openapi")
output_dir = PROJECT_ROOT / "openapi"
output_dir.mkdir(parents=True, exist_ok=True)
schema = app.openapi()
@@ -15,7 +21,7 @@ def main() -> None:
json_path = output_dir / "openapi.json"
yaml_path = output_dir / "openapi.yaml"
json_path.write_text(__import__("json").dumps(schema, ensure_ascii=False, indent=2), encoding="utf-8")
json_path.write_text(json.dumps(schema, ensure_ascii=False, indent=2), encoding="utf-8")
yaml_path.write_text(yaml.safe_dump(schema, allow_unicode=True, sort_keys=False), encoding="utf-8")
print(f"Wrote {json_path}")
@@ -24,4 +30,3 @@ def main() -> None:
if __name__ == "__main__":
main()