def getFriendRecord(self, userId1, userId2): try: record = Friend.get(Friend.user_id == userId1, Friend.friend_id == userId2) # print("first record") return record except peewee.DoesNotExist: pass try: record = Friend.get(Friend.user_id == userId2, Friend.friend_id == userId1) # print("second record") return record except peewee.DoesNotExist: pass return None
def blockFriend(self, user_id, friend_id): record = self.getFriendRecord(user_id, friend_id) if record is None: newEntry = Friend.create(user=user_id, friend=friend_id, status="blocked", isBlocked=True) newEntry.save() return True record.status = "blocked" record.isBlocked = True record.save() return True
def addFriend(self, user_id, friend_id): print("came here") existingRequest = self.getFriendRecord(user_id, friend_id) if existingRequest is not None: print(existingRequest.status) if existingRequest.status == "requested": existingRequest.status = "accepted" existingRequest.save() return True friendRequest = Friend.create(user=user_id, friend=friend_id, status="requested") friendRequest.save() return "Successfully sent friend request"
def getMyFriends(self, user_id): myFriends = [] friends = Friend.select().where((Friend.user_id == user_id) | (Friend.friend_id == user_id)) if friends is None: print("returned none") return [] for friend in friends: if friend.id != user_id and friend.status == "accepted": userNameAndId = {"name": "", "id": ""} if friend.user_id == user_id: friendId = friend.friend_id else: friendId = friend.user_id userNameAndId["name"] = self.getUserNameWithId(friendId) userNameAndId["id"] = friendId myFriends.append(userNameAndId) return myFriends
def getPendingRequests(self, currentSession): currentUser = User.get(User.currentSession == currentSession) existingRequests = Friend.select().where( ((Friend.friend_id == currentUser.id) | (Friend.user_id == currentUser.id)), Friend.status == "requested") friendsRequested = [] for user in existingRequests: # print(user.status) if user.status == "requested": userNameAndId = {"name": "", "id": "", "status": ""} if user.user_id == currentUser.id: userNameAndId["id"] = user.friend_id name = self.getUserNameWithId(user.friend_id) else: userNameAndId["id"] = user.user_id name = self.getUserNameWithId(user.user_id) userNameAndId["name"] = name userNameAndId["status"] = user.status friendsRequested.append(userNameAndId) return friendsRequested