def change_password(): try: token = request.json['token'] oldPassword = request.json['oldPassword'] newPassword = request.json['newPassword'] except: return json.dumps({"success": False, "message":"Json key error."}),400 # Check if the user signs in # Check if the token is valid email = database_helper.get_emailByToken(token) if not email: return json.dumps({"success": False, "message":"You are not signed in."}),403 # Check if the old password is correct # If yes, change password if (oldPassword == database_helper.get_UserPW(email)): if len(newPassword)<8: return json.dumps({"success": False, "message":"Password should have at least 8 characters."}),403 if (oldPassword == newPassword): return json.dumps({"success": False, "message":"New password cannot be as same as old password."}),403 database_helper.change_PW(email,newPassword) return json.dumps({"success": True, "message":"Password changed."}),200 else: return json.dumps({"success": False, "message":"Wrong password."}),403
def get_user_data_by_email(token = None, email=None): if token is None or email is None: return json.dumps({"success": False, "message":"Key error."}),400 # Check if the token exists (current user) if not token: return json.dumps({"success": False, "message":"You are not signed in."}),403 # Check if the current user exists currentUser = database_helper.get_emailByToken(token) if not currentUser: return json.dumps({"success": False, "message":"No such user."}),404 # Return the user profile data = database_helper.find_user(email) if data: # Update the no. of views email = str(email) if email in view_table: view_table[email] += 1 else: view_table[email] = 1 send_num_view(email) return json.dumps({"success": True, "message": "User data retrieved.", "data": [dict(x) for x in data]}),200 else: return json.dumps({"success": False, "message":"No such user."}),404
def get_user_messages_by_token(token = None): if token is None: return json.dumps({"success": False, "message":"Key error."}),400 # Check if the token exists if not token: return json.dumps({"success": False, "message":"You are not signed in."}),403 # Check if the current user exists email = database_helper.get_emailByToken(token) if not email: return json.dumps({"success": False, "message":"No such user."}),404 # Return all messages of current user message = database_helper.get_msglist(email) return json.dumps({"success": True, "message": "User data retrieved.", "data": [dict(x) for x in message]}),200
def get_user_data_by_token(token = None): if token is None: return json.dumps({"success": False, "message":"Key error."}),400 # Check if the token exists if not token: return json.dumps({"success": False, "message":"You are not signed in."}),403 # Check if the current user exists email = database_helper.get_emailByToken(token) if not email: return json.dumps({"success": False, "message":"No such user."}),404 # Return the user profile data = database_helper.find_user(email) numOfPost = database_helper.get_num_post(email) totalOfPost = database_helper.get_totalnum_post() return json.dumps({"success": True, "message": "User data retrieved.", "data": [dict(x) for x in data], "NumOfPost":str(numOfPost), "TotalOfPost":str(totalOfPost)}),200
def sign_out(): global num_onlineuser try: token = request.json['token'] except: return json.dumps({"success": False, "message":"Json key error."}),400 email = database_helper.get_emailByToken(token) if not email: return json.dumps({"success": False, "message":"You are not signed in"}),403 database_helper.delete_token(token) # For live data update num_onlineuser -= 1 loggedUsers[email] = "" send_num_onlineuser() return json.dumps({"success": True, "message":"Successfully signed out"}),200
def post_message(): try: token = request.json['token'] toEmail = request.json['toEmail'] content = request.json['content'] except: return json.dumps({"success": False, "message":"Json key error."}),400 # Check if the user signs in or not fromEmail = database_helper.get_emailByToken(token) if not fromEmail: return json.dumps({"success": False, "message":"You are not signed in."}),403 # Check if the users exists or not if not database_helper.find_user(toEmail): return json.dumps({"success": False, "message":"No such user."}),404 database_helper.post_msg(toEmail, fromEmail, content) # Send latest num of posts to client send_num_post(toEmail) return json.dumps({"success": True, "message":"Message posted."}),200