device.py 3.53 KB
Newer Older
wanli's avatar
wanli committed
1 2 3 4 5 6 7 8
'''
Author: your name
Date: 2021-04-14 14:12:18
LastEditTime: 2021-07-01 14:44:36
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\backend\view\device.py
'''
wanli's avatar
wanli committed
9 10 11 12 13 14 15 16 17
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import logging
import traceback
from flask import Blueprint, request
from app import config, signalManager
from fullstack.login import Auth
from fullstack.validation import validate_schema
from fullstack.response import ResponseCode, response_result
wanli's avatar
wanli committed
18
from schema.device import AddSchema, QuerySchema, UpdateSchema
wanli's avatar
wanli committed
19

wanli's avatar
wanli committed
20
logger = logging.getLogger(__name__)
wanli's avatar
wanli committed
21

wanli's avatar
wanli committed
22
device_api = Blueprint("device_api", __name__, url_prefix="/api/v1/%s/device" % config['NAME'])
wanli's avatar
wanli committed
23

wanli's avatar
wanli committed
24
@device_api.route("/add", methods=['POST'])
wanli's avatar
wanli committed
25 26 27 28
@validate_schema(AddSchema)
@Auth.auth_required
def add():
    try:
wanli's avatar
wanli committed
29 30
        user = request.current_user.get("id")
        isSuccess, message = signalManager.actionAddDevice.emit(user, request.schema_data)
wanli's avatar
wanli committed
31 32 33 34 35 36 37 38 39 40
        if isSuccess:
            return response_result(ResponseCode.OK, msg=message)
        else:
            return response_result(ResponseCode.REQUEST_ERROR, msg=message)
    except Exception as e:
        traceback.print_exc()
        logger.error(str(e))
        return response_result(ResponseCode.SERVER_ERROR, msg=str(e))


wanli's avatar
wanli committed
41
@device_api.route("/delete/<uuid:id>", methods=['POST'])
wanli's avatar
wanli committed
42 43 44
@Auth.auth_required
def delete(id):
    try:
wanli's avatar
wanli committed
45 46
        user = request.current_user.get("id")
        isSuccess, message = signalManager.actionDeleteDevice.emit(user, id)
wanli's avatar
wanli committed
47 48 49 50 51 52 53 54 55 56
        if isSuccess:
            return response_result(ResponseCode.OK, msg=message)
        else:
            return response_result(ResponseCode.REQUEST_ERROR, msg=message)
    except Exception as e:
        traceback.print_exc()
        logger.error(str(e))
        return response_result(ResponseCode.SERVER_ERROR)


wanli's avatar
wanli committed
57
@device_api.route("/get", methods=["POST"])
wanli's avatar
wanli committed
58 59 60 61
@validate_schema(QuerySchema)
@Auth.auth_required
def get():
    try:
wanli's avatar
wanli committed
62 63
        user = request.current_user.get("id")
        result, message = signalManager.actionGetDevice.emit(user, request.schema_data)
wanli's avatar
wanli committed
64 65 66 67 68 69 70 71 72 73
        if result:
            return response_result(ResponseCode.OK, data=result, msg=message)
        else:
            return response_result(ResponseCode.REQUEST_ERROR, msg=message)
    except Exception as e:
        traceback.print_exc()
        logger.error(str(e))
        return response_result(ResponseCode.SERVER_ERROR, msg=str(e))


wanli's avatar
wanli committed
74
@device_api.route("/list", methods=['POST'])
wanli's avatar
wanli committed
75 76 77 78
@validate_schema(QuerySchema)
@Auth.auth_required
def get_list():
    try:
wanli's avatar
wanli committed
79 80
        user = request.current_user.get("id")
        result, count, message = signalManager.actionGetDeviceList.emit(user, request.schema_data)
wanli's avatar
wanli committed
81 82 83 84 85 86 87 88 89 90
        if result:
            return response_result(ResponseCode.OK, data=result, msg=message, count=count)
        else:
            return response_result(ResponseCode.REQUEST_ERROR, msg=message)
    except Exception as e:
        traceback.print_exc()
        logger.error(str(e))
        return response_result(ResponseCode.SERVER_ERROR)


wanli's avatar
wanli committed
91
@device_api.route("/update/<uuid:id>", methods=['POST'])
wanli's avatar
wanli committed
92 93 94 95
@validate_schema(UpdateSchema)
@Auth.auth_required
def update(id):
    try:
wanli's avatar
wanli committed
96 97
        user = request.current_user.get("id")
        isSuccess, message = signalManager.actionUpdateDevice.emit(user, id, request.schema_data)
wanli's avatar
wanli committed
98 99 100 101 102 103 104 105
        if isSuccess:
            return response_result(ResponseCode.OK, msg=message)
        else:
            return response_result(ResponseCode.REQUEST_ERROR, msg=message)
    except Exception as e:
        traceback.print_exc()
        logger.error(str(e))
        return response_result(ResponseCode.SERVER_ERROR)