def create_author(): data = request.get_json() or {} if 'name' not in data: return bad_request('must include name') if Author.query.filter_by(name=data['name']).first(): return bad_request('please use a different name') author = Author() author.from_dict(data) db.session.add(author) db.session.commit() response = jsonify(author.to_dict()) response.status_code = 201 response.headers['Location'] = url_for('api.get_author', id=author.id) return response
def update_user(id): if g.current_user.id != id: abort(403) user = User.query.get_or_404(id) data = request.get_json() or {} if 'username' in data and data['username'] != user.username and \ User.query.filter_by(username=data['username']).first(): return bad_request('please use a different username') if 'email' in data and data['email'] != user.email and \ User.query.filter_by(email=data['email']).first(): return bad_request('please use a different email address') user.from_dict(data, new_user=False) db.session.commit() return jsonify(user.to_dict())
def create_book(): data = request.get_json() or {} if 'name' not in data or 'isbn' not in data or 'author_id' not in data: return bad_request('must include name') if Book.query.filter_by(name=data['name']).first(): return bad_request('please use a different name') if Book.query.filter_by(isbn=data['isbn']).first(): return bad_request('Two books can not have the same ISBN.') book = Book() book.from_dict(data) db.session.add(book) db.session.commit() response = jsonify(book.to_dict()) response.status_code = 201 response.headers['Location'] = url_for('api.get_book', id=book.id) return response
def create_user(): data = request.get_json() or {} if 'username' not in data or 'email' not in data or 'password' not in data: return bad_request('must include username, email and password fields') if User.query.filter_by(username=data['username']).first(): return bad_request('please use a different username') if User.query.filter_by(email=data['email']).first(): return bad_request('please use a different email address') user = User() user.from_dict(data, new_user=True) db.session.add(user) db.session.commit() response = jsonify(user.to_dict()) response.status_code = 201 response.headers['Location'] = url_for('api.get_user', id=user.id) return response
def remove_translation(): """Remove Translation /*TODO: finish remove_translation docstring*/ """ result = None response = {} from app.service.words import remove # check if we received a valid parameters data = request.get_json() try: value = data and data.get('word', "") or "" language = data and data.get('lang', "") or "en" result = remove(value=value, language=language) logger.info(result) response.update({'data': result}) except Exception as ve_err: message = str(ve_err) logger.error("remove_translation : %s ", message) return bad_request(message) return response, 200
def validation_error(e): """Blueprint Validation error handler""" return bad_request(e.args[0], "MUN-777")