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)
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)
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")
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")
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")
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