Skip to content

Commit e6164cd

Browse files
committed
fix: Invalidate resource cache when gateway with resources is deleted
Branch: ClientCLI Signed-off-by: Gabe Goodhart <ghart@us.ibm.com>
1 parent b90da29 commit e6164cd

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

mcpgateway/main.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3530,7 +3530,17 @@ async def delete_gateway(gateway_id: str, db: Session = Depends(get_db), user=De
35303530
logger.debug(f"User '{user}' requested deletion of gateway {gateway_id}")
35313531
try:
35323532
user_email = user.get("email") if isinstance(user, dict) else str(user)
3533+
current = await gateway_service.get_gateway(db, gateway_id)
3534+
has_resources = bool(current.capabilities.get("resources"))
35333535
await gateway_service.delete_gateway(db, gateway_id, user_email=user_email)
3536+
3537+
# If the gateway had resources and was successfully deleted, invalidate
3538+
# the whole resource cache. This is needed since the cache holds both
3539+
# individual resources and the full listing which will also need to be
3540+
# invalidated.
3541+
if has_resources:
3542+
await invalidate_resource_cache()
3543+
35343544
return {"status": "success", "message": f"Gateway {gateway_id} deleted"}
35353545
except PermissionError as e:
35363546
raise HTTPException(status_code=403, detail=str(e))

0 commit comments

Comments
 (0)