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)