pagezyhf HF Staff commited on
Commit
7a25895
·
1 Parent(s): f3a6f5b

separate routes

Browse files
Files changed (1) hide show
  1. main.py +27 -9
main.py CHANGED
@@ -112,26 +112,44 @@ def process_simship_webhook(data: dict):
112
 
113
  app = FastAPI()
114
 
115
- @app.post("/webhook")
116
- async def webhook(request: Request):
117
- logger.info(f"Received webhook request from {request.client.host}")
118
- if request.headers.get("X-Webhook-Secret") not in {MODEL_CATALOG_WEBHOOK_SECRET, SIMSHIP_WEBHOOK_SECRET}:
119
- logger.warning("Invalid webhook secret received")
120
  return Response("Invalid secret", status_code=401)
121
 
122
  data = await request.json()
123
- logger.info(f"Webhook payload: {json.dumps(data, indent=2)}")
124
 
125
  webhook_id = data.get("webhook", {}).get("id", None)
126
 
127
  if webhook_id == MODEL_CATALOG_WEBHOOK:
128
  logger.info("Processing model catalog webhook")
129
  process_model_catalog_webhook(data)
130
- elif webhook_id == SIMSHIP_WEBHOOK:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  logger.info("Processing simship webhook")
132
  process_simship_webhook(data)
133
  else:
134
- logger.warning("Invalid webhook ID received")
135
  return Response("Invalid webhook ID", status_code=401)
136
 
137
- return Response("Webhook notification received and processed!", status_code=200)
 
112
 
113
  app = FastAPI()
114
 
115
+ @app.post("/webhook/model-catalog")
116
+ async def model_catalog_webhook(request: Request):
117
+ logger.info(f"Received model catalog webhook request from {request.client.host}")
118
+ if request.headers.get("X-Webhook-Secret") != MODEL_CATALOG_WEBHOOK_SECRET:
119
+ logger.warning("Invalid webhook secret received for model catalog")
120
  return Response("Invalid secret", status_code=401)
121
 
122
  data = await request.json()
123
+ logger.info(f"Model catalog webhook payload: {json.dumps(data, indent=2)}")
124
 
125
  webhook_id = data.get("webhook", {}).get("id", None)
126
 
127
  if webhook_id == MODEL_CATALOG_WEBHOOK:
128
  logger.info("Processing model catalog webhook")
129
  process_model_catalog_webhook(data)
130
+ else:
131
+ logger.warning("Invalid webhook ID received for model catalog")
132
+ return Response("Invalid webhook ID", status_code=401)
133
+
134
+ return Response("Model catalog webhook notification received and processed!", status_code=200)
135
+
136
+ @app.post("/webhook/simship")
137
+ async def simship_webhook(request: Request):
138
+ logger.info(f"Received simship webhook request from {request.client.host}")
139
+ if request.headers.get("X-Webhook-Secret") != SIMSHIP_WEBHOOK_SECRET:
140
+ logger.warning("Invalid webhook secret received for simship")
141
+ return Response("Invalid secret", status_code=401)
142
+
143
+ data = await request.json()
144
+ logger.info(f"Simship webhook payload: {json.dumps(data, indent=2)}")
145
+
146
+ webhook_id = data.get("webhook", {}).get("id", None)
147
+
148
+ if webhook_id == SIMSHIP_WEBHOOK:
149
  logger.info("Processing simship webhook")
150
  process_simship_webhook(data)
151
  else:
152
+ logger.warning("Invalid webhook ID received for simship")
153
  return Response("Invalid webhook ID", status_code=401)
154
 
155
+ return Response("Simship webhook notification received and processed!", status_code=200)