view.tpl 4.67 KB
Newer Older
wanli's avatar
wanli committed
1
from flask import current_app, jsonify, request
wanli's avatar
wanli committed
2 3 4
from flask_restful import Resource
from flask_restful.reqparse import RequestParser
from flask_jwt_extended import ( jwt_required, get_jwt_identity )
wanli's avatar
wanli committed
5 6 7 8 9 10
from application.signal_manager import signalManager
{%- set pipe = joiner(",") %}
from models.{{ config['name'] }} import {% for k, v in config["view"].items() -%}
{{ pipe() }}{{ k }}{{ config['name'] | letterUpper }}Schema
{%- endfor %}
from webcreator.response import ResponseCode, response_result
wanli's avatar
wanli committed
11

wanli's avatar
wanli committed
12
class {{ config['name'] | letterUpper }}Resource(Resource):
wanli's avatar
wanli committed
13
    def __init__(self):
wanli's avatar
wanli committed
14 15 16
        pass
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser = RequestParser()
wanli's avatar
wanli committed
17

wanli's avatar
wanli committed
18 19
{%- if config["view"]["getList"] %}
{% if config["view"]["getList"]["auth"] %}
wanli's avatar
wanli committed
20
    @jwt_required
wanli's avatar
wanli committed
21
{%- endif %}
wanli's avatar
wanli committed
22
    def get(self):
wanli's avatar
wanli committed
23 24 25 26
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser.add_argument("page", type=int, location="args", default=1)
        # self.parser.add_argument("pageSize", type=int, location="args", default=15)
        # args = self.parser.parse_args()
wanli's avatar
wanli committed
27 28

        try:
wanli's avatar
wanli committed
29 30 31 32 33 34
            json_payload = request.json
            print("========>", json_payload)
            data = getList{{ config['name'] | letterUpper }}Schema.load(json_payload)
            result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(**data)
            json_dumps = getList{{ config['name'] | letterUpper }}Schema.dump(result)
            return jsonify(json_dumps), 200
wanli's avatar
wanli committed
35 36
        except Exception as e:
            current_app.logger.error(e)
wanli's avatar
wanli committed
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
            return response_result(ResponseCode.DB_ERROR)
{%- endif %}

{%- if config["view"]["post"] %}
{% if config["view"]["post"]["auth"] %}
    @jwt_required
{%- endif %}
    def post(self):
        try:
            json_payload = request.json
            data = post{{ config['name'] | letterUpper }}Schema.load(json_payload)
            result = signalManager.actionPost{{ config["name"] | letterUpper }}.emit(**data)
            json_dumps = post{{ config['name'] | letterUpper }}Schema.dump(result)
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)
{% endif %}

class {{ config['name'] | letterUpper }}ResourceList(Resource):
    def __init__(self):
        pass
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser = RequestParser()

{%- if config["view"]["get"] %}
{% if config["view"]["get"]["auth"] %}
    @jwt_required
{%- endif %}
    def get(self):
        # 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
        # self.parser.add_argument("page", type=int, location="args", default=1)
        # self.parser.add_argument("pageSize", type=int, location="args", default=15)
        # args = self.parser.parse_args()

        try:
            json_payload = request.json
            print("========>", json_payload)
            data = get{{ config['name'] | letterUpper }}Schema.load(json_payload)
            result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(**data)
            json_dumps = get{{ config['name'] | letterUpper }}Schema.dump(result)
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)
{% endif %}

{%- if config["view"]["put"] %}
{% if config["view"]["put"]["auth"] %}
    @jwt_required
{%- endif %}
    def put(self):
        try:
            json_payload = request.json
            data = put{{ config['name'] | letterUpper }}Schema.load(json_payload)
            result = signalManager.actionPut{{ config["name"] | letterUpper }}.emit(**data)
            json_dumps = put{{ config['name'] | letterUpper }}Schema.dump(result)
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)
{% endif %}

{%- if config["view"]["delete"] %}
{% if config["view"]["delete"]["auth"] %}
    @jwt_required
{%- endif %}
    def delete(self):
        try:
            json_payload = request.json
            data = delete{{ config['name'] | letterUpper }}Schema.load(json_payload)
            result = signalManager.actionDelete{{ config["name"] | letterUpper }}.emit(**data)
            json_dumps = delete{{ config['name'] | letterUpper }}Schema.dump(result)
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)
{% endif %}