def register(self, cognito:str, email) -> bool: user = Users.objects(cognito_id=cognito) print("In register") if user: return False det = UserDetails(email=email,tags=[]) user = Users(cognito_id=cognito, details = det,followers=Followers(),following=Following(),direct_chats=[],reporters_members=[],viewers=[],communities=[],profile_posts=[],blocked=[]) user.save() return True
def get_users_by_name(self,name): users = Users.objects(details__name__icontains=name) res = {} for i,user in enumerate(users): res_part={} res_part["id"] = user.id res_part["name"] = user.details.name res_part["pp"] = user.details.pp res_part["email"] = user.details.email res_part["about"] = user.details.about res[i] = res_part return res
def remove_follower(self,followers_id): self.user.update_one(pull__followers__active__with_id=followers_id) Users.objects(id=followers_id).update_one(pull__following__active__with_id=self.user.id)
def unfollow(self,whom_id): self.user.update_one(pull__following__active__with_id=whom_id) Users.objects(id=whom_id).update_one(pull__followers__active__with_id=self.user.id)
def deny_follow_request(self,of_id): self.user.followers.incoming_requests.remove(bson.ObjectId(of_id)) self.user.save() Users.objects(id=of_id).update_one(pull__following__outgoing_requests=self.user.id)