예제 #1
0
def create_post():
    """Creates a new post with a new id"""
    if not request.json:
        abort(400)
    form = PostEditForm.from_json(request.json, skip_unkown_keys=False)
    if form.validate():
        post = Post(json=form.data)
        objId = mongo.db.posts.insert(post.to_bson())
        post.id = str(objId)
        return jsonify(**post.to_dict()), 201
    else:
        abort(400)
예제 #2
0
파일: api.py 프로젝트: wahrwolf/muckhacker
def create_post():
    """Creates a new post with a new id"""
    if not request.json:
        abort(400)
    form = PostEditForm.from_json(request.json, skip_unkown_keys=False)
    if form.validate():
        post = Post(json=form.data)
        objId = mongo.db.posts.insert(post.to_bson())
        post.id = str(objId)
        return jsonify(**post.to_dict()), 201
    else:
        abort(400)
예제 #3
0
def edit_post(post_id):
    """Replaces post behind id with submitted one"""
    post_d = mongo.db.posts.find_one(post_id)
    if post_d is None:
        abort(404) 
    form = PostEditForm.from_json(request.json, skip_unknown_keys=False)
    if form.validate():
        post = Post(bson=post_d)
        post.update(form.data)
        query = {'_id': post_id}
        mongo.db.posts.update(query, post.to_bson())
        # needed for chaining multiple edits together
        token = generate_csrf_token()
        return jsonify(_csrf=token, **post.to_dict())
    else:
        print form.errors #TODO
        abort(400)
예제 #4
0
파일: api.py 프로젝트: wahrwolf/muckhacker
def edit_post(post_id):
    """Replaces post behind id with submitted one"""
    post_d = mongo.db.posts.find_one(post_id)
    if post_d is None:
        abort(404)
    form = PostEditForm.from_json(request.json, skip_unknown_keys=False)
    if form.validate():
        post = Post(bson=post_d)
        post.update(form.data)
        query = {'_id': post_id}
        mongo.db.posts.update(query, post.to_bson())
        # needed for chaining multiple edits together
        token = generate_csrf_token()
        return jsonify(_csrf=token, **post.to_dict())
    else:
        print form.errors  #TODO
        abort(400)