from flask import Blueprint, request, jsonify from api import db, tasks from api.models import Designer from api.validators import validate_keys_exists mod = Blueprint('designers', __name__, url_prefix='/designers') @mod.route("/", methods=["GET"]) def list(): designers = Designer.query.all() return jsonify(designers=[d.to_json() for d in designers]) @mod.route("/", methods=["POST"]) def create(): data = request.json validate_keys_exists(data, 'username', 'name', 'territory', 'currency') designer = Designer(**data) db.session.add(designer) db.session.commit() return jsonify(designer.to_json()), 201 @mod.route("/", methods=["GET"]) def show(id): designer = Designer.query.get_or_404(id) return jsonify(designer.to_json()) @mod.route("/", methods=["PUT"]) def update(id): designer = Designer.query.get_or_404(id) data = request.json for k, v in data.items(): setattr(designer, k, v) db.session.add(designer) db.session.commit() tasks.esales.update_designer(designer) return jsonify(designer.to_json())