from flask import Blueprint, request, jsonify from api import db, tasks from api.models import Category mod = Blueprint('categories', __name__, url_prefix='/categories') @mod.route("/", methods=["GET"]) def list(): page = request.args.get('page', 1, type=int) per_page = request.args.get('per_page', 10, type=int) categories = Category.query.paginate(page=page, per_page=per_page).items j = { 'page': page, 'per_page': per_page, 'data': [c.to_json() for c in categories] } return jsonify(j) @mod.route("/", methods=["GET"]) def show(id): category = Category.query.get_or_404(id) return jsonify(category.to_json()) @mod.route("/", methods=["PUT"]) def update(id): category = Category.query.get_or_404(id) data = request.json for k, v in data.items(): setattr(category, k, v) db.session.add(category) db.session.commit() tasks.esales.update_category(category) return jsonify(category.to_json())