Files
api2/api/resources/categories.py
T
2016-08-18 17:39:24 +02:00

37 lines
1004 B
Python

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("/<int:id>", methods=["GET"])
def show(id):
category = Category.query.get_or_404(id)
return jsonify(category.to_json())
@mod.route("/<id>", 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())