# coding: utf-8 import json import uuid from flask import Response from flask import request from flask import Blueprint from flask import jsonify from app import models from app.cloud.controllers.tasks.server import ControllerTasksServer # from .controllers import ControllerRulesStatistics viewServerAPI = Blueprint('server_api', __name__, url_prefix='/server_api') @viewServerAPI.route('/tasks', methods=['GET']) def tasks_list(): node_id = request.args.get('node_id') node_secret = request.args.get('node_secret') server_api = ControllerTasksServer(node_id, node_secret) # auth request if not server_api.auth(): # status: 403 - access denied return jsonify({'status': 403}) result = dict() result['status'] = 0 result['results'] = [] for task in server_api.get(): result['results'].append({ 'id': task.id, 'datacenter': task.datacenter.id, 'server': task.server.id, 'user': task.user.id, 'task': task.task, 'created': task.created, 'status': task.status, 'plain': json.loads(task.plain), }) return jsonify(result) @viewServerAPI.route('/task_status_update', methods=['GET']) def task_status_update(): node_id = request.args.get('node_id') node_secret = request.args.get('node_secret') server_api = ControllerTasksServer(node_id, node_secret) # auth request if not server_api.auth(): # status: 403 - access denied return jsonify({'status': 403}) task_id = request.args.get('task_id') status = int(request.args.get('status')) server_api.update(task_id, status) return jsonify({'status': 0})