def unfollow_user(data): code = 1 keys = [] values = [] resp_dict = {'code': code, 'response': []} email_1 = data['follower'] email_2 = data['followee'] sql_scheme_usr1 = { 'columns_names': ['email'], 'columns_values': [email_1], 'table': 'User' } sql_scheme_usr2 = { 'columns_names': ['email'], 'columns_values': [email_2], 'table': 'User' } sql_scheme_follow = { 'columns_names': ['follower', 'followee'], 'columns_values': [email_1, email_2], 'table': 'Followers' } sql_check_usr1 = build_sql_select_all_query(sql_scheme_usr1) sql_check_usr2 = build_sql_select_all_query(sql_scheme_usr2) sql_check_follow = build_sql_select_all_query(sql_scheme_follow) res_usr1 = open_sql(sql_check_usr1) # check if exists res_usr2 = open_sql(sql_check_usr2) res_follow = open_sql(sql_check_follow) if res_usr1 and res_usr2 and res_follow: sql_scheme_follow = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'table': 'Followers', 'condition': {'id': res_follow['id']} } sql = build_sql_update_query(sql_scheme_follow) exec_message = exec_sql(sql) if exec_message != 0: code = 4 usr_details = get_details_user({'user': [res_usr1['email'], ]}) usr_details = usr_details['response'] resp_dict = {'code': code, 'response': usr_details} else: code = 2 #resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)
def remove_thread(data): code = 0 thread = data['thread'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [thread], 'table': 'Thread' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme_posts_count = { 'columns_names': ['thread'], 'columns_values': [thread], 'table': 'Post' } sql_posts_count = build_sql_select_all_query(sql_scheme_posts_count) res_posts = open_sql(sql_posts_count) posts_count = 0 if res_posts: posts_count = len([res_posts]) """ TODO sql_scheme_thread_up = { 'columns_names': ['isDeleted', 'posts'], 'columns_values': [1, 'posts-'+str(posts_count)], 'condition': {'id': thread}, 'table': 'Thread' } """ sql_thread_up = 'update Thread set posts=0 , isDeleted=1 where id = %s' % thread exec_sql(sql_thread_up) sql_scheme_post_rm = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'condition': { 'thread': thread }, 'table': 'Post' } sql_post_rm = build_sql_update_query(sql_scheme_post_rm) exec_sql(sql_post_rm) sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if not res: code = 1 keys = ['thread'] values = [thread] resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)
def update_user(data): code = 0 keys = [] values = [] about = data['about'] user_email = data['user'] name = data['name'] sql_scheme = { 'columns_names': ['email'], 'columns_values': [user_email], 'table': 'User' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['name', 'about'], 'columns_values': [name, about], 'condition': {'email': user_email}, 'table': 'User' } exec_sql(build_sql_update_query(sql_scheme)) user_data = {'user': [res['email'], ]} user_resp = get_details_user(user_data)['response'] else: code = 1 resp_dict = {'code': code, 'response': user_resp} return flask.jsonify(resp_dict)
def restore_post(data): code = 0 post = data['post'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [post], 'table': 'Post' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['isDeleted'], 'columns_values': [0], 'condition': {'id': post}, 'table': 'Post' } sql1 = build_sql_update_query(sql_scheme) sql2 = " update Thread set posts=posts+1 where id= %s ;" % res['thread'] exec_sql([sql1, sql2], multi=True) if not res: code = 1 keys = ['post'] values = [post] resp_dict = make_response(keys=keys, values=values, code=code) return flask.jsonify(resp_dict)
def close_thread(data): code = 0 thread_id = data['thread'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [thread_id], 'table': 'Thread' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['isClosed'], 'columns_values': [1], 'condition': {'id': thread_id}, 'table': 'Thread' } exec_message = exec_sql(build_sql_update_query(sql_scheme)) if exec_message != 0: code = 4 else: code = 1 keys = ['thread'] values = [thread_id] resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)
def remove_thread(data): code = 0 thread = data['thread'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [thread], 'table': 'Thread' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme_posts_count = { 'columns_names': ['thread'], 'columns_values': [thread], 'table': 'Post' } sql_posts_count = build_sql_select_all_query(sql_scheme_posts_count) res_posts = open_sql(sql_posts_count) posts_count = 0 if res_posts: posts_count = len([res_posts]) """ TODO sql_scheme_thread_up = { 'columns_names': ['isDeleted', 'posts'], 'columns_values': [1, 'posts-'+str(posts_count)], 'condition': {'id': thread}, 'table': 'Thread' } """ sql_thread_up = 'update Thread set posts=0 , isDeleted=1 where id = %s' % thread exec_sql(sql_thread_up) sql_scheme_post_rm = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'condition': {'thread': thread}, 'table': 'Post' } sql_post_rm = build_sql_update_query(sql_scheme_post_rm) exec_sql(sql_post_rm) sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if not res: code = 1 keys = ['thread'] values = [thread] resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)
def unsubscribe_thread(data): code = 0 keys = [] values = [] thread_id = data['thread'] email = data['user'] sql_scheme = { 'columns_names': ['thread', 'user'], 'columns_values': [thread_id, email], 'table': 'Subscribe' } sql_check = build_sql_select_all_query(sql_scheme) res_dict = open_sql_all(sql_check, first=True, is_closing=False) # check if exists res = res_dict['result'][0] if res == -1 or not res: return make_response([], [], code=4) db = res_dict['db'] crs = res_dict['cursor'] if res: sql_scheme = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'condition': { 'id': res['id'] }, 'table': 'Subscribe' } exec_sql(build_sql_update_query(sql_scheme), first=False, cursor=crs, is_closing=False) keys = ['thread', 'user'] values = [res['thread'], res['user']] else: code = 1 db.close() resp_dict = make_response(keys=keys, values=values, code=code) return flask.jsonify(resp_dict)
def update_post(data): code = 0 keys = [] values = [] post_id = data['post'] message = data['message'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [post_id], 'table': 'Post' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['message'], 'columns_values': [message], 'condition': { 'id': post_id }, 'table': 'Post' } exec_sql(build_sql_update_query(sql_scheme)) keys = [ 'date', 'dislikes', 'forum', 'id', 'isApproved', 'isDeleted', 'isEdited', 'isHighlighted', 'isSpam', 'likes', 'message', 'parent', 'points', 'thread', 'user' ] values = [ res['date'], res['dislikes'], res['forum'], res['id'], res['isApproved'], res['isDeleted'], res['isEdited'], res['isHighlighted'], res['isSpam'], res['likes'], message, res['parent'], res['points'], res['thread'], res['user'] ] values = [str(x) for x in values] else: code = 1 resp_dict = make_response(keys=keys, values=values, code=code) return flask.jsonify(resp_dict)
def unsubscribe_thread(data): code = 0 keys = [] values = [] thread_id = data['thread'] email = data['user'] sql_scheme = { 'columns_names': ['thread', 'user'], 'columns_values': [thread_id, email], 'table': 'Subscribe' } sql_check = build_sql_select_all_query(sql_scheme) res_dict = open_sql_all(sql_check, first=True, is_closing=False) # check if exists res = res_dict['result'][0] if res == -1 or not res: return make_response([], [], code=4) db = res_dict['db'] crs = res_dict['cursor'] if res: sql_scheme = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'condition': {'id': res['id']}, 'table': 'Subscribe' } exec_sql(build_sql_update_query(sql_scheme), first=False, cursor=crs, is_closing=False) keys = ['thread', 'user'] values = [res['thread'], res['user']] else: code = 1 db.close() resp_dict = make_response(keys=keys, values=values, code=code) return flask.jsonify(resp_dict)
def update_user(data): code = 0 keys = [] values = [] about = data['about'] user_email = data['user'] name = data['name'] sql_scheme = { 'columns_names': ['email'], 'columns_values': [user_email], 'table': 'User' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['name', 'about'], 'columns_values': [name, about], 'condition': { 'email': user_email }, 'table': 'User' } exec_sql(build_sql_update_query(sql_scheme)) user_data = { 'user': [ res['email'], ] } user_resp = get_details_user(user_data)['response'] else: code = 1 resp_dict = {'code': code, 'response': user_resp} return flask.jsonify(resp_dict)
def update_thread(data): code = 0 keys = [] values = [] thread_id = data['thread'] message = data['message'] slug = data['slug'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [thread_id], 'table': 'Thread' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['message', 'slug'], 'columns_values': [message, slug], 'condition': {'id': thread_id}, 'table': 'Thread' } sql_update = build_sql_update_query(sql_scheme) exec_sql(sql_update) keys = ['id', 'date', 'dislikes', 'forum', 'isClosed', 'isDeleted', 'likes', 'message', 'points', 'posts', 'slug', 'title', 'user'] values = [res['id'], str(res['date']), res['dislikes'], res['forum'], bool(res['isClosed']), bool(res['isDeleted']), res['likes'], res['message'], res['points'], res['posts'], res['slug'], res['title'], res['user']] else: code = 1 resp_dict = make_response(keys=keys, values=values, code=code) return flask.jsonify(resp_dict)
def remove_post(data): code = 0 post = data['post'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [post], 'table': 'Post' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'condition': { 'id': post }, 'table': 'Post' } sql_update = build_sql_update_query(sql_scheme) sql = " update Thread set posts=posts-1 where id= %s " % res['thread'] #return sql exec_message = exec_sql([sql_update, sql], multi=True) if exec_message != 0: code = 4 if not res: code = 1 keys = ['post'] values = [post] resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)
def update_post(data): code = 0 keys = [] values = [] post_id = data['post'] message = data['message'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [post_id], 'table': 'Post' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['message'], 'columns_values': [message], 'condition': {'id': post_id}, 'table': 'Post' } exec_sql(build_sql_update_query(sql_scheme)) keys = ['date', 'dislikes', 'forum', 'id', 'isApproved', 'isDeleted', 'isEdited', 'isHighlighted', 'isSpam', 'likes', 'message', 'parent', 'points', 'thread', 'user'] values = [res['date'], res['dislikes'], res['forum'], res['id'], res['isApproved'], res['isDeleted'], res['isEdited'], res['isHighlighted'], res['isSpam'], res['likes'], message, res['parent'], res['points'], res['thread'], res['user']] values = [str(x) for x in values] else: code = 1 resp_dict = make_response(keys=keys, values=values, code=code) return flask.jsonify(resp_dict)
def remove_post(data): code = 0 post = data['post'] sql_scheme = { 'columns_names': ['id'], 'columns_values': [post], 'table': 'Post' } sql_check = build_sql_select_all_query(sql_scheme) res = open_sql(sql_check) if res: sql_scheme = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'condition': {'id': post}, 'table': 'Post' } sql_update = build_sql_update_query(sql_scheme) sql = " update Thread set posts=posts-1 where id= %s " % res['thread'] #return sql exec_message = exec_sql([sql_update, sql], multi=True) if exec_message != 0: code = 4 if not res: code = 1 keys = ['post'] values = [post] resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)
def unfollow_user(data): code = 1 keys = [] values = [] resp_dict = {'code': code, 'response': []} email_1 = data['follower'] email_2 = data['followee'] sql_scheme_usr1 = { 'columns_names': ['email'], 'columns_values': [email_1], 'table': 'User' } sql_scheme_usr2 = { 'columns_names': ['email'], 'columns_values': [email_2], 'table': 'User' } sql_scheme_follow = { 'columns_names': ['follower', 'followee'], 'columns_values': [email_1, email_2], 'table': 'Followers' } sql_check_usr1 = build_sql_select_all_query(sql_scheme_usr1) sql_check_usr2 = build_sql_select_all_query(sql_scheme_usr2) sql_check_follow = build_sql_select_all_query(sql_scheme_follow) res_usr1 = open_sql(sql_check_usr1) # check if exists res_usr2 = open_sql(sql_check_usr2) res_follow = open_sql(sql_check_follow) if res_usr1 and res_usr2 and res_follow: sql_scheme_follow = { 'columns_names': ['isDeleted'], 'columns_values': [1], 'table': 'Followers', 'condition': { 'id': res_follow['id'] } } sql = build_sql_update_query(sql_scheme_follow) exec_message = exec_sql(sql) if exec_message != 0: code = 4 usr_details = get_details_user({'user': [ res_usr1['email'], ]}) usr_details = usr_details['response'] resp_dict = {'code': code, 'response': usr_details} else: code = 2 #resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)
def restore_thread(data): code = 0 if not data: resp_dict = make_response(keys=[], values=[], code=4) return flask.jsonify(resp_dict) thread = data['thread'] sql_scheme = { 'columns_names': ['id', 'isDeleted'], 'columns_values': [thread, 1], 'table': 'Thread' } #sql_check = build_sql_select_all_query(sql_scheme) #res = open_sql(sql_check) res = True if res: sql_scheme_post_cont = { 'columns_names': ['thread'], 'columns_values': [thread], 'table': 'Post' } sql_post_count = build_sql_select_all_query(sql_scheme_post_cont, what='COUNT(*)') res_count_dict = open_sql_all(sql_post_count, first=True, is_closing=False) res_count = res_count_dict['result'][0] db = res_count_dict['db'] crs = res_count_dict['cursor'] posts_count = 0 if res_count: posts_count = res_count['COUNT(*)'] """ TODO sql_scheme_thread_up = { 'columns_names': ['isDeleted', 'posts'], 'columns_values': [0, 'posts+'+str(posts_count)], 'condition': {'id': thread}, 'table': 'Thread' }""" sql1 = 'update Thread set posts=%s , isDeleted=0 where id = %s' % (posts_count, thread) exec_sql(sql1, first=False, cursor=crs, is_closing=False) sql_scheme_post_up = { 'columns_names': ['isDeleted'], 'columns_values': [0], 'condition': {'thread': thread}, 'table': 'Post' } sql2 = build_sql_update_query(sql_scheme_post_up) exec_sql(sql2, first=False, cursor=crs, is_closing=False) #if (exec_message1 == exec_message2) != 0: # code = 4 if not res: code = 1 db.close() keys = ['thread'] values = [thread] resp_dict = make_response(keys, values, code) return flask.jsonify(resp_dict)