示例#1
0
 def validate_user(self, user: UserObj):
     user_q = session.query(User).get(user.get_username())
     if user_q is None:
         return False
     elif (user_q.username == user.get_username()) and (user.check_password(
             user_q.password_hash)):
         return True
     else:
         return False
示例#2
0
 def get_user(self, user_name):
     user = session.query(User).get(user_name)
     if user is not None:
         return UserObj(user_name=user.username,
                        password=user.password_hash)
     else:
         return None
 def write_message(self, message: MessageObj, user: UserObj):
     if (self.__user_repo.is_username_exist(message.get_sender())) and \
             (self.__user_repo.is_username_exist(message.get_receiver())) and \
             (user.get_username() == message.get_sender()):
         self.__message_repo.add_message(message=message)
         return True
     else:
         return False
def messages_handler():
    username = request.args.get('username')
    password = request.args.get('password')
    if username not in is_logged_helper.keys():
        return jsonify(MessageObj("Server", username, "permission denied", "user is not logged in").serialize())
    else:
        user = UserObj(user_name=username, password=password)
        user_request = request.args.get('request')
        return response_controller.generate_response(user=user, request=user_request)
def login():
    username = request.args.get('username')
    password = request.args.get('password')
    user = UserObj(user_name=username, password=password)
    if username in is_logged_helper.keys():
        return jsonify(MessageObj("Server", request.args.get('username'), "login failed", "user already logged in").serialize()), 400
    if data_access_manager.check_auth_user(user):
        is_logged_helper[username] = True
        login_user(user)
        return jsonify(MessageObj("Server", str(username), "login success", "login complete").serialize()), 200
    else:
        return jsonify(MessageObj("Server", str(username), "login failed", "wrong password or username").serialize()), 400
def signup():
    username = request.args.get('username')
    password = request.args.get('password')
    user = UserObj(user_name=username, password=password)
    if data_access_manager.register_user(user):
        return make_response(
            jsonify(MessageObj("Server", username, "Registration complete", "user has registered successfully").serialize()), \
               200)
    else:
        return make_response(jsonify(
            MessageObj("Server", username, "Registration failed", "this username already exist").serialize()
        )
            , 400)
def message_handler():
    username = request.args.get('username')
    password = request.args.get('password')
    if username not in is_logged_helper.keys():
        return jsonify(MessageObj("Server", username, "permission denied", "user is not logged in").serialize())
    else:
        user = UserObj(user_name=username, password=password)
        user_request = request.args.get('request')
        if request.method == 'GET':
            return response_controller.generate_response(user=user, request='read')
        elif request.method == 'POST':
            message = create_message(request.get_json())
            return response_controller.generate_response(user=user, request=user_request, message=message)
 def register_user(self, user: UserObj):
     if not self.check_username(username=user.get_username()):
         return self.__user_repo.add_user(user=user)
     else:
         return False
 def delete_message(self, message: MessageObj, user: UserObj):
     return self.__message_repo.delete_message(
         user_name=user.get_username(), message=message)
 def get_all_unread_messages(self, user: UserObj):
     return self.__message_repo.get_all_unread_messages(
         user_name=user.get_username())
 def read_message(self, user: UserObj):
     ans: MessageObj = self.__message_repo.get_message(user.get_username())
     if ans is not None:
         self.__message_repo.edit_message_is_read(ans.id)
     return ans
示例#12
0
 def add_user(self, user: UserObj):
     user_data = User(username=user.get_username(),
                      password_hash=user.set_password_hash())
     session.add(user_data)
     session.commit()
     return True