validators are now decorators instead

This commit is contained in:
Martin
2016-11-13 19:38:45 +01:00
parent 66b1787722
commit d854ff9798
7 changed files with 172 additions and 55 deletions
+13 -2
View File
@@ -1,12 +1,23 @@
from flask import Blueprint, request, jsonify
from api import db, tasks
from api.models import Designer
from api.validators import validate_keys_exists
from api.helpers import pagination_to_dict
from api.validators import validate_jsonschema
mod = Blueprint('designers', __name__, url_prefix='/designers')
create_designer_schema = {
"type": "object",
"properties": {
"username": {"type": "string"},
"name": {"type": "string"},
"territory": {"type": "string"},
"currency": {"type": "string"},
},
"required": ["username", "name", "territory", "currency"]
}
@mod.route("/", methods=["GET"])
def list():
@@ -22,9 +33,9 @@ def list():
@mod.route("/", methods=["POST"])
@validate_jsonschema(create_designer_schema)
def create():
data = request.json
validate_keys_exists(data, 'username', 'name', 'territory', 'currency')
designer = Designer(**data)
db.session.add(designer)
db.session.commit()
+10 -11
View File
@@ -1,10 +1,10 @@
from flask import Blueprint, request, jsonify, abort
from api.validators import validate_territory, validate_number, validate_exists
from api.models.product import Material
from api.models.contract_customer import ContractCustomer
from api.models import market as market_model
from api.lib.prices import wallpaper_price, old_canvas_price, old_canvas_diy_frame_price, material_price
from api.lib.limits import calculate_canvas_limits
from api.validators import validate_territory, validate_number, validate_keys_exists
mod = Blueprint('prices', __name__, url_prefix='/prices')
@@ -19,11 +19,10 @@ def get_reseller():
@mod.route("/wallpaper", methods=['GET'])
@validate_exists('width', 'height', 'territory')
@validate_number('width', 'height')
@validate_territory('territory')
def wallpaper():
validate_keys_exists(request.args, 'width', 'height', 'territory')
validate_number(request.args.get('width'), request.args.get('height'))
validate_territory(request.args.get('territory'))
width = request.args.get('width', type=int)
height = request.args.get('height', type=int)
market = market_model.from_territory(request.args.get('territory'))
@@ -44,10 +43,10 @@ def wallpaper():
@mod.route('/canvas', methods=['GET'])
@validate_exists('width', 'height', 'territory')
@validate_number('width', 'height')
@validate_territory('territory')
def canvas():
validate_keys_exists(request.args, 'width', 'height', 'territory')
validate_number(request.args.get('width'), request.args.get('height'))
validate_territory(request.args.get('territory'))
market = market_model.from_territory(request.args.get('territory'))
reseller = get_reseller()
material = Material.query.canvas().first()
@@ -71,10 +70,10 @@ def canvas():
@mod.route('/diy-frame', methods=['GET'])
@validate_exists('width', 'height', 'territory')
@validate_number('width', 'height')
@validate_territory('territory')
def diy_frame():
validate_keys_exists(request.args, 'width', 'height', 'territory')
validate_number(request.args.get('width'), request.args.get('height'))
validate_territory(request.args.get('territory'))
market = market_model.from_territory(request.args.get('territory'))
reseller = get_reseller()
width, height = calculate_canvas_limits(