Ejemplo n.º 1
0
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})
Ejemplo n.º 2
0
def create_book():
    try:
        data = request.get_json()
        book_schema = BookSchema()
        book = book_schema.load(data)
        result = book_schema.dump(book.data.create())
        return response_with(resp.SUCCESS_201, value={"book": result})
    except Exception as e:
        print(e)
        return response_with(resp.INVALID_INPUT_422)
Ejemplo n.º 3
0
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})
Ejemplo n.º 4
0
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})
Ejemplo n.º 5
0
from http import HTTPStatus
from flask_restful import Resource, abort, request

from models.database import db
from models.books import BookModel, BookSchema

books_schema = BookSchema(many=True)
book_schema = BookSchema()


class Book(Resource):
    def post(self):
        json_data = request.get_json(force=True)
        if not json_data:
            return {"error": "bad request"}, HTTPStatus.BAD_REQUEST

        data, errors = book_schema.load(json_data)
        if errors:
            return errors, HTTPStatus.BAD_REQUEST

        book = BookModel(data["title"], data["pages"])

        db.session.add(book)
        db.session.commit()

        result = book_schema.dump(book).data
        return result, HTTPStatus.CREATED

    def put(self, id):
        json_data = request.get_json(force=True)
        if not json_data: