Spaces:
Runtime error
Runtime error
Commit
•
1db942a
1
Parent(s):
f2b0da1
Fix friend request acceptance logic
Browse files
app/routers/friend_request.py
CHANGED
@@ -76,7 +76,7 @@ async def acceptRequest(RequestId: str, user=Depends(get_current_user)):
|
|
76 |
raise HTTPException(status_code=400, detail="Friend request expired")
|
77 |
|
78 |
if isRequestDone(fr):
|
79 |
-
raise HTTPException(status_code=
|
80 |
|
81 |
if isInviter(user, fr):
|
82 |
if isInviteeEmpty(fr):
|
@@ -86,13 +86,17 @@ async def acceptRequest(RequestId: str, user=Depends(get_current_user)):
|
|
86 |
fr_ref.update({"status": RequestStatus.COMPLETE.value})
|
87 |
await makeFriend(fr["invitee"], fr["inviter"])
|
88 |
return {"status": "OK"}
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
|
|
|
|
|
|
|
|
96 |
|
97 |
|
98 |
def sendNotificationToInviter(inviterId: str, invitee):
|
|
|
76 |
raise HTTPException(status_code=400, detail="Friend request expired")
|
77 |
|
78 |
if isRequestDone(fr):
|
79 |
+
raise HTTPException(status_code=409, detail="Friend request already done")
|
80 |
|
81 |
if isInviter(user, fr):
|
82 |
if isInviteeEmpty(fr):
|
|
|
86 |
fr_ref.update({"status": RequestStatus.COMPLETE.value})
|
87 |
await makeFriend(fr["invitee"], fr["inviter"])
|
88 |
return {"status": "OK"}
|
89 |
+
else:
|
90 |
+
if isInviteeEmpty(fr):
|
91 |
+
fr_ref.update(
|
92 |
+
{"invitee": user["sub"], "status": RequestStatus.WAITING_INVITER.value}
|
93 |
+
)
|
94 |
+
sendNotificationToInviter(fr["inviter"], user)
|
95 |
+
return {"status": "OK"}
|
96 |
+
else:
|
97 |
+
raise HTTPException(
|
98 |
+
status_code=status.HTTP_409_CONFLICT, detail="Invitee is not empty"
|
99 |
+
)
|
100 |
|
101 |
|
102 |
def sendNotificationToInviter(inviterId: str, invitee):
|