Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
def current_user_asd():
    return gen_response('Here is you', current_user.serialize)
Exemplo n.º 5
0
def get_categories():
    query = PostCategory.query.all()
    categories = [category.serialize for category in query]
    return gen_response('Retrieved Categories', categories)
Exemplo n.º 6
0
def get_outcomes():
    query = CallOutcome.query.all()
    outcomes = [outcome.serialize for outcome in query]
    return gen_response('Retrievevd Outcomes', outcomes)
Exemplo n.º 7
0
def get_all_stats():
    query = Stat.query.all()
    stat_list = [stat.serialize for stat in query]
    return gen_response('Retrieved Stats', stat_list)
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
def get_current_user():
    return gen_response('Here is you', current_user.serialize)
Exemplo n.º 12
0
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)
Exemplo n.º 13
0
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)