def get_groups(): if 'email' not in session: return response(False, 'User not logged in') req = request.args names_only = 'true' == req.get('names_only', False) email_owner = session['email'] fg = helpers.get_groups(email_owner, names_only) return response(True, fg)
def remove_group(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email_owner = session['email'] fg_name = req['fg_name'] fg = helpers.remove_group(email_owner, fg_name) return response(True, fg)
def unfriend(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email = session['email'] email_other = req['email'] friends = helpers.remove_friend(email, email_other) return response(True, friends)
def remove_friend(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email_owner = session['email'] email_member = req['email'] fg_name = req['fg_name'] unfriend = helpers.remove_member(email_owner, email_member, fg_name) return response(True, unfriend)
def create_group(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email_owner = session['email'] fg_name = req['fg_name'] description = None #req.get('description', None) fg = helpers.create_group(email_owner, fg_name, description) return response(True, fg)
def tag_content_item(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() current_user = session['email'] tagee_email = req['tagee_email'] item_id = req['item_id'] tag_item = helpers.tag_item(current_user, tagee_email, item_id) return response(True, tag_item)
def add_friend(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email_owner = session['email'] email_member = req['email'] fg_name = req['fg_name'] friend = helpers.add_member(email_owner, email_member, fg_name) return response(friend[0], friend[1])
def post_comment(): if 'email' not in session: return response(False, 'User not logged in') email = session['email'] req = request.get_json() item_id = req['item_id'] comment = req['comment'] new_comment = helpers.post_comment(email, item_id, comment) return response(True, new_comment)
def get_proposed_tags(): if 'email' not in session: return response(False, 'User not logged in') req = request.args email = session['email'] page = req.get('page', 1) results_per_page = req.get('results_per_page', 10) proposed_tags = helpers.get_proposed_tags( email, page=page, results_per_page=results_per_page) return response(True, proposed_tags)
def tags_modify(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email_tagger = req['email_tagger'] email_tagged = session['email'] item_id = req['item_id'] decision = req['decision'] result = helpers.modify_proposed_tag(email_tagger, email_tagged, item_id, decision) return response(True, result)
def get_shared_content(): if 'email' not in session: return response(False, 'User not logged in') req = request.args email = session['email'] page = int(req.get('page', 1)) results_per_page = int(req.get('results_per_page', 10)) content = helpers.get_shared_content(email, page=page, results_per_page=results_per_page) return response(True, content)
def get_saved_posts(): if 'email' not in session: return response(False, 'User not logged in') req = request.args email = session['email'] page = int(req.get('page', 1)) results_per_page = int(req.get('results_per_page', 10)) saved_posts = helpers.get_saved_posts(email=email, page=page, results_per_page=results_per_page) return response(True, saved_posts)
def get_comments(): req = request.args email = None if 'email' in session: email = session['email'] item_id = req['item_id'] comments = helpers.get_comments(email, item_id) return response(comments[0], comments[1])
def unsave_post(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email = session['email'] item_id = req['item_id'] helpers.unsave_post(email, item_id) return 'ok'
def ratings_content_item(): req = request.args email = '' if 'email' in session: email = session['email'] item_id = req['item_id'] resp = helpers.post_ratings(email, item_id) return response(resp[0], resp[1])
def images(path): import os.path full_path = "./img/" + path if not os.path.exists(full_path): return response(True, 'Image not found on this server') b = open(full_path, 'rb').read() resp = make_response(b) resp.content_type = "image/jpeg" return resp
def rate_content_item(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email = session['email'] emoji = req['emoji'] item_id = req['item_id'] helpers.rate_post(email, item_id, emoji) return "ok"
def create_post(): if 'email' not in session: return response(False, 'User not logged in') req = request.get_json() email = session['email'] data = json.loads(request.form['data']) item_name = data['item_name'] is_pub = data['is_pub'] filepath = None if 'file' in request.files: file = request.files['file'] if file.filename == '': return response(True, 'empty filename') filepath = os.path.join('/home/user/pricosha/backend/img/', file.filename) file.save(filepath) result = helpers.create_content_item(email, item_name, is_pub, filepath) return response(True, result)
def login(): auth = request.authorization # Get info from request email = auth.username password = auth.password # Attempt login login_ = helpers.get_login(email, password) if login_['success']: user = login_['response'] session['email'] = user['email'] session['first_name'], session['last_name'] = user['first_name'], user[ 'last_name'] session['avatar'] = user['avatar'] session.modified = True return response( True, f"successfully logged in {session['first_name']} {session['last_name']}" ) else: return response(False, 'Login failed')
def get_profile_info(): # return: # user: { # bio: '', # avatar: '', # first_name: '', # last_name: '', # friend: false, # } req = request.args email_other = req['email'] email = '' if 'email' in session: email = session['email'] profile_info = helpers.get_profile_info(email, email_other) return response(True, profile_info)
def get_post(): if 'email' not in session: return response(False, 'User not logged in') req = request.args post = helpers.get_post(req['item_id']) return response(True, post)
def get_friends(): if 'email' not in session: return response(False, 'User not logged in') email = session['email'] friends = helpers.get_friends(email) return response(True, friends)
def set_profile_avatar(): email = session['email'] new_avatar = request.form.get('new_avatar') profile_info = helpers.set_profile_avatar(email, new_avatar) return response(True, profile_info)
def set_profile_bio(): req = request.get_json() email = session['email'] new_bio = req.get('new_bio') profile_info = helpers.set_profile_bio(email, new_bio) return response(True, profile_info)
def public_content(): req = request.args page = int(req.get('page', 1)) results_per_page = int(req.get('results_per_page', 10)) content = helpers.get_public_content(page, results_per_page) return response(True, content)
def logout(): # remove the username from the session if it's there session.pop('email', None) return response(True, 'Logged out')
def register(): req = request.get_json() auth = request.authorization new_user = helpers.register(auth['username'], auth['password'], req['first_name'], req['last_name']) return response(new_user['success'], new_user['response'])
def reset_password(): req = request.get_json() pw_reset = helpers.reset_password(session['email'], req['old_password'], req['new_password']) return response(True, pw_reset)