From fa9915f63d1512b05a947184b1c99db11850ccbe Mon Sep 17 00:00:00 2001 From: Urtzi Alfaro Date: Sat, 2 Aug 2025 17:38:55 +0200 Subject: [PATCH] Fix user delete flow --- gateway/app/routes/user.py | 12 +++++++++++- tests/test_onboarding_flow.sh | 11 +++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/gateway/app/routes/user.py b/gateway/app/routes/user.py index f1b0da4b..d7e9b949 100644 --- a/gateway/app/routes/user.py +++ b/gateway/app/routes/user.py @@ -184,11 +184,21 @@ async def update_current_user(request: Request): """Proxy update current user to auth service""" return await user_proxy.forward_request("PUT", "me", request) +@router.get("/delete/{user_id}/deletion-preview") +async def preview_user_deletion(user_id: str, request: Request): + """Proxy user deletion preview to auth service""" + return await user_proxy.forward_request("GET", f"delete/{user_id}/deletion-preview", request) + +@router.delete("/delete/{user_id}") +async def delete_user(user_id: str, request: Request): + """Proxy admin user deletion to auth service""" + return await user_proxy.forward_request("DELETE", f"delete/{user_id}", request) + # ================================================================ # CATCH-ALL ROUTE for any other user endpoints # ================================================================ -@router.api_route("/user/{path:path}", methods=["GET", "POST", "PUT", "DELETE", "PATCH"]) +@router.api_route("/{path:path}", methods=["GET", "POST", "PUT", "DELETE", "PATCH"]) async def proxy_auth_requests(path: str, request: Request): """Catch-all proxy for auth requests""" return await user_proxy.forward_request(request.method, path, request) \ No newline at end of file diff --git a/tests/test_onboarding_flow.sh b/tests/test_onboarding_flow.sh index 048dedf8..cb2f7b41 100755 --- a/tests/test_onboarding_flow.sh +++ b/tests/test_onboarding_flow.sh @@ -463,7 +463,15 @@ echo "Registration Response:" echo "$REGISTER_RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$REGISTER_RESPONSE" if check_response "$REGISTER_RESPONSE" "User Registration"; then - USER_ID=$(extract_json_field "$REGISTER_RESPONSE" "id") + USER_ID=$(echo "$REGISTER_RESPONSE" | python3 -c " +import json, sys +try: + data = json.load(sys.stdin) + user = data.get('user', {}) + print(user.get('id', '')) +except: + print('') +") if [ -n "$USER_ID" ]; then log_success "User ID extracted: $USER_ID" fi @@ -471,7 +479,6 @@ else echo "Full response: $REGISTER_RESPONSE" exit 1 fi - echo "" # =================================================================