view.tpl 4.43 KB
Newer Older
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 )
5
from application.signal_manager import signalManager
6 7 8 9
{%- set pipe = joiner(",") %}
from models.{{ config['name'] }} import {% for k, v in config["view"].items() -%}
{{ pipe() }}{{ k }}{{ config['name'] | letterUpper }}Schema
{%- endfor %}
10
from webcreator.response import ResponseCode, response_result
wanli's avatar
wanli committed
11

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

18
{% if config["view"]["getList"] %}
wanli's avatar
wanli committed
19
    @jwt_required
20
{%- endif %}
wanli's avatar
wanli committed
21
    def get(self):
22 23 24 25
        # 特殊参数,即不是从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
26 27

        try:
28 29
            json_payload = request.json
            print("========>", json_payload)
30
            data = getList{{ config['name'] | letterUpper }}Schema.load(json_payload)
31
            result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(**data)
32
            json_dumps = getList{{ config['name'] | letterUpper }}Schema.dump(result)
33
            return jsonify(json_dumps), 200
wanli's avatar
wanli committed
34 35
        except Exception as e:
            current_app.logger.error(e)
36 37 38 39 40 41 42 43
            return response_result(ResponseCode.DB_ERROR)

{% if config["view"]["post"] %}
    @jwt_required
{%- endif %}
    def post(self):
        try:
            json_payload = request.json
44
            data = post{{ config['name'] | letterUpper }}Schema.load(json_payload)
45
            result = signalManager.actionPost{{ config["name"] | letterUpper }}.emit(**data)
46
            json_dumps = post{{ config['name'] |letterUpper }}Schema.dump(result)
47 48 49 50 51 52 53 54 55 56 57
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)

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

58
{% if config["view"]["get"] %}
59 60 61 62 63 64 65 66 67 68 69
    @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)
70
            data = get{{ config['name'] | letterUpper }}Schema.load(json_payload)
71
            result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(**data)
72
            json_dumps = get{{ config['name'] | letterUpper }}Schema.dump(result)
73 74 75 76 77
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)

78
{% if config["view"]["put"] %}
79 80 81 82 83
    @jwt_required
{%- endif %}
    def put(self):
        try:
            json_payload = request.json
84
            data = put{{ config['name'] | letterUpper }}Schema.load(json_payload)
85
            result = signalManager.actionPut{{ config["name"] | letterUpper }}.emit(**data)
86
            json_dumps = put{{ config['name'] | letterUpper }}Schema.dump(result)
87 88 89 90 91
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)

92
{% if config["view"]["delete"] %}
93 94 95 96 97
    @jwt_required
{%- endif %}
    def delete(self):
        try:
            json_payload = request.json
98
            data = delete{{ config['name'] | letterUpper }}Schema.load(json_payload)
99
            result = signalManager.actionDelete{{ config["name"] | letterUpper }}.emit(**data)
100
            json_dumps = delete{{ config['name'] | letterUpper }}Schema.dump(result)
101 102 103 104
            return jsonify(json_dumps), 200
        except Exception as e:
            current_app.logger.error(e)
            return response_result(ResponseCode.DB_ERROR)