示例#1
0
    def put(self, post_id=None):

        if not post_id:
            abort(400)

        post = Post.query.filter_by(id=post_id).first()
        if not post:
            abort(404)

        args = parsers.post_put_parser.parse_args()
        user = User.verify_auth_token(args['token'])

        if not user:
            abort(401)
        if user != post.user:
            abort(403)

        if args['title']:
            post.title = args['title']
        if args['text']:
            post.text = args['text']
        if args['tags']:
            for item in args['tags']:
                tag = Tag.query.filter_by(name=item).first()
                if tag:
                    post.tags.append(tag)
                else:
                    new_tag = Tag()
                    new_tag.name = item
                    post.tags.append(new_tag)

        db.session.add(post)
        db.session.commit()

        return (post.id, 201)
示例#2
0
    def post(self, post_id=None):

        if not post_id:
            abort(400)
        else:
            args = parsers.post_post_parser.parse_args(strict=True)

            user = User.verify_auth_token(args['token'])
            if not user:
                abort(401)

            new_post = Post()
            new_post.title = args['title']
            new_post.date = datetime.datetime.now()
            new_post.text = args['text']
            new_post.user = user

            if args['tags']:
                for item in args['tags']:
                    tag = Tag.query.filter_by(name=item).first()

                    if tag:
                        new_post.tags.append(tag)

                    else:
                        new_tag = Tag()
                        new_tag.name = item
                        new_post.tags.append(new_tag)
        db.session.add(new_post)
        db.session.commit()
        return (new_post.id, 201)
示例#3
0
def deletePost():
    token = request.headers['token']
    token_validity = User.verify_auth_token(token=token)
    if token_validity:
        post_id = request.json['post_id']
        post = Posts.query.get_or_404(int(post_id))
        db.session.delete(post)
        db.session.commit()
    return ("Your post has been deleted")
示例#4
0
def addPost():
    token = request.headers['token']
    token_validity = User.verify_auth_token(token=token)
    if token_validity:
        title = request.json['title']
        content = request.json['content']
        user_id = request.json['user_id']

        post = Posts(title=title, content=content, user_id=int(user_id))
        db.session.add(post)
        db.session.commit()

        return ("Post has been created")
示例#5
0
def updatePost():
    token = request.headers['token']
    token_validity = User.verify_auth_token(token=token)
    if token_validity:
        post_id = request.json['post_id']
        post = Posts.query.get_or_404(int(post_id))

        title = request.json['title']
        content = request.json['content']

        post.title = title
        post.content = content

        db.session.commit()

    return ("Your post has been updated")
示例#6
0
    def delete(self, post_id=None):

        if not post_id:
            abort(400)

        post = Post.query.filter_by(id=post_id).first()
        if not post:
            abort(404)

        args = parsers.post_delete_parser.parse_args(strict=True)
        user = User.verify_auth_token(args['token'])
        if user != post.user:
            abort(403)

        db.session.delete(post)
        db.session.commit()

        return '', 204