def create_author(): try: data = request.get_json() author_schema = AuthorSchema() author, error = author_schema.load(data) result = author_schema.dump(author.create()).data return response_with(resp.SUCCESS_201, value={"author": result}) except Exception as e: return response_with(resp.INVALID_INPUT_422)
def create_book(): try: data = request.get_json() book_schema = BookSchema() book, error = book_schema.load(data) result = book_schema.dump(book.create()).data return response_with(resp.SUCCESS_201, value={"book": result}) except Exception as e: print(e) return response_with(resp.INVALID_INPUT_422)
def create_user(): try: data = request.get_json() data['password'] = User.generate_hash(data['password']) user_schmea = UserSchema() user, error = user_schmea.load(data) result = user_schmea.dump(user.create()).data return response_with(resp.SUCCESS_201) except Exception as e: print(e) return response_with(resp.INVALID_INPUT_422)
def authenticate_user(): try: data = request.get_json() current_user = User.find_by_username(data['username']) if not current_user: return response_with(resp.SERVER_ERROR_404) if User.verify_hash(data['password'], current_user.password): access_token = create_access_token(identity=data['username']) return response_with(resp.SUCCESS_201, value={'message': 'Logged in as {}'.format(current_user.username), "access_token": access_token}) else: return response_with(resp.UNAUTHORIZED_401) except Exception as e: print e return response_with(resp.INVALID_INPUT_422)
def update_book_detail(id): data = request.get_json() get_book = Book.query.get_or_404(id) get_book.title = data['title'] get_book.year = data['year'] db.session.add(get_book) db.session.commit() book_schema = BookSchema() book, error = book_schema.dump(get_book) return response_with(resp.SUCCESS_200, value={"book": book})
def update_author_detail(id): data = request.get_json() get_author = Author.query.get_or_404(id) get_author.first_name = data['first_name'] get_author.last_name = data['last_name'] db.session.add(get_author) db.session.commit() author_schema = AuthorSchema() author, error = author_schema.dump(get_author) return response_with(resp.SUCCESS_200, value={"author": author})
def not_found(e): logging.error(e) return response_with(resp.SERVER_ERROR_404)
def server_error(e): logging.error(e) return response_with(resp.SERVER_ERROR_500)
def bad_request(e): logging.error(e) return response_with(resp.BAD_REQUEST_400)
def delete_book(id): get_book = Book.query.get_or_404(id) db.session.delete(get_book) db.session.commit() return response_with(resp.SUCCESS_204)
def get_book_detail(id): fetched = Book.query.get_or_404(id) book_schema = BookSchema() books, error = book_schema.dump(fetched) return response_with(resp.SUCCESS_200, value={"books": books})
def get_book_list(): fetched = Book.query.all() book_schema = BookSchema(many=True, only=['author_id', 'title', 'year']) books, error = book_schema.dump(fetched) return response_with(resp.SUCCESS_200, value={"books": books})
def delete_author(id): get_author = Author.query.get_or_404(id) db.session.delete(get_author) db.session.commit() return response_with(resp.SUCCESS_204)
def get_author_detail(author_id): fetched = Author.query.get_or_404(author_id) author_schema = AuthorSchema() author, error = author_schema.dump(fetched) return response_with(resp.SUCCESS_200, value={"author": author})
def get_author_list(): fetched = Author.query.all() author_schema = AuthorSchema(many=True, only=['first_name', 'last_name', 'id']) authors, error = author_schema.dump(fetched) return response_with(resp.SUCCESS_200, value={"authors": authors})