import httpx from pathlib import Path from fastapi import APIRouter, Depends, HTTPException from .git_manager import clone_repo, push_changes from .changelog_gen import generate_changelog router = APIRouter() @router.get("/health") async def health_check(): return {"status": "ok"} def get_token_or_default(): """Sichert Token oder wirft Fehler.""" from .main import ACCESS_TOKEN if not ACCESS_TOKEN: raise HTTPException(status_code=503, detail="ACCESS_TOKEN nicht gesetzt") return ACCESS_TOKEN @router.get("/repos") async def list_repos(): """Listet Repositories von Gitea auf.""" from .main import GITEE_URL, get_token token = get_token() if not token: # Debug-Info! return {"error": "Kein Token vorhanden!", "hint": "Setze ACCESS_TOKEN Umgebungsvariable"} url = f"{GITEE_URL.rstrip('/')}/api/v1/user/repos" headers = {"Authorization": f"token {token}"} async with httpx.AsyncClient() as client: resp = await client.get(url, headers=headers) if resp.status_code != 200: return {"error": resp.text[:500]} # Fehlermeldung zurückgeben return resp.json()