import fastapi
from . import apiv1
+from . import auth
from . import backend
from ..mirrors import Mirror
+from ..users import User
# Create a new router for all endpoints
router = fastapi.APIRouter(
return mirror
+@router.post("/{hostname}/check")
+async def check_mirror(
+ mirror: Mirror = fastapi.Depends(get_mirror_from_path),
+ current_user: User = fastapi.Depends(auth.get_current_admin),
+) -> fastapi.Response:
+ # Run a check on the mirror
+ async with backend.db as session:
+ await mirror.check(force=True)
+
+ # Send 204
+ return fastapi.Response(status_code=204)
+
# Add everything to the APIv1
apiv1.include_router(router)