pagezyhf's picture
pagezyhf HF Staff
name
2f1faaa
raw
history blame
1.02 kB
from fastapi import FastAPI, Request, Response
import os
KEY = os.environ.get("WEBHOOK_SECRET")
app = FastAPI()
@app.post("/webhook")
async def webhook(request: Request):
if request.headers.get("X-Webhook-Secret") != KEY:
return Response("Invalid secret", status_code=401)
data = await request.json()
event = data.get("event", {})
repo = data.get("repo", {})
# Only process model repo events
if repo.get("type") != "model" or event.get("scope") != "repo":
return Response("Not a model repo event", status_code=200)
action = event.get("action")
if action == "move":
old_name = data.get("oldRepo", {}).get("name", "unknown") # TODO ernsure good key when name change
new_name = repo.get("name", "unknown")
print(f"Model repo renamed from {old_name} to {new_name}.")
elif action == "delete":
name = repo.get("name", "unknown")
print(f"Model repo {name} was deleted.")
return Response("Webhook received!", status_code=200)