def edit_user(): data = request.get_json(force=True) if data['id'] != current_user.id: return gen_response('Hey, you can\'t edit someone that isn\'t you!', data, 401, True) for key in set(data.keys()).intersection(set(current_user.get_editable)): setattr(current_user, key, data[key]) db.session.add(current_user) db.session.commit() return gen_response('Successfully edited profile!', current_user.serialize)
def add_post(): post = Post.create_post(request.get_json(force=True)) if post is None: return gen_response('Invalid data', request.data, 400, True) # Replace with user stuff post.user = current_user db.session.add(post) db.session.commit() return gen_response('Added post', post.serialize)
def update_post(id): forbidden_keys = ['id', 'user_id', 'user'] data = request.get_json(force=True) post = Post.query.filter_by(id=id).first() if not post: return gen_response('Invalid Post id', data, 400, True) updates = [] for key in data.keys(): if key not in forbidden_keys and key in getattr(post): setattr(post, key, data[key]) updates.append((key, data[key])) if len(updates) == 0: return gen_response('No valid attributes to change', data, 400, True) db.session.add(post) db.session.commit(post) return gen_response('Updated Post', updates)
def current_user_asd(): return gen_response('Here is you', current_user.serialize)
def get_categories(): query = PostCategory.query.all() categories = [category.serialize for category in query] return gen_response('Retrieved Categories', categories)
def get_outcomes(): query = CallOutcome.query.all() outcomes = [outcome.serialize for outcome in query] return gen_response('Retrievevd Outcomes', outcomes)
def get_all_stats(): query = Stat.query.all() stat_list = [stat.serialize for stat in query] return gen_response('Retrieved Stats', stat_list)
def get_summary_stat(name): summary_stat = SummaryStat.query.filter_by(name=name).first() if summary_stat is None: return gen_response('No Summary Stat with specified name', name, 400, True) return gen_response('Retrieved Summary Stat with name ' + name, summary_stat.serialize)
def get_all_summary_stats(): query = SummaryStat.query.all() summary_stat_list = [summary_stat.serialize for summary_stat in query] return gen_response('Retrieved all Summary Stats', summary_stat_list)
def get_user_stats(username=""): query = Stat.query.join(User).filter(User.username == username).all() if not query: return gen_response('No results for User: '******'Retrieved User Stats for ' + username, stat_list)
def get_current_user(): return gen_response('Here is you', current_user.serialize)
def like_post(id): post = Post.query.filter_by(id=id).first() if not post: return gen_response('Invalid Post id', data, 400, True) return gen_response('Method not implemented', id)
def get_all_posts(): query = Post.query.filter_by(parent_id=None).order_by(desc( Post.date)).all() post_list = [post.serialize for post in query] return gen_response('Retrieved Posts', post_list)