Files
Unraid-AppOps-Gateway-Public/backend/app/api/routes_gitea_actions.py
T

38 lines
1.2 KiB
Python

from fastapi import APIRouter, Depends
from sqlmodel import Session
from ..connectors.gitea_actions import GiteaActionsConnector
from ..db.session import get_session
from ..services.gitea_project_auto_registration import GiteaProjectAutoRegistration
from ..services.runner_fleet import RunnerFleetService
router = APIRouter(prefix="/api/gitea/actions", tags=["gitea-actions"])
@router.get("/status")
def gitea_actions_status():
"""Return bounded runner and queue state without exposing the admin credential."""
return GiteaActionsConnector().snapshot()
@router.get("/fleet")
def gitea_actions_fleet():
"""Return the joined, secret-free CI runner fleet projection."""
return RunnerFleetService().snapshot()
@router.get("/projects")
def gitea_project_catalog(session: Session = Depends(get_session)):
"""Return the persisted owned-project registration catalog."""
return GiteaProjectAutoRegistration.catalog(session)
@router.post("/projects/reconcile")
def reconcile_gitea_project_catalog(session: Session = Depends(get_session)):
"""Refresh all owned Gitea projects and safely activate proven deploy targets."""
return GiteaProjectAutoRegistration().sync(session, force=True)