# coding: utf-8 <<<<<<< HEAD:app/cloud/views/api/__init__.py import uuid from datetime import datetime from datetime import timedelta from flask import jsonify from flask import render_template from flask import session from flask import redirect from flask import url_for from flask import request from flask import Blueprint from app import models from app.settings import settings from app.cloud.controllers.users import ControllerUsers from app.cloud.controllers.users import ControllerSSHKey from app.cloud.controllers.billing import ControllerBilling from app.cloud.controllers.users import ControllerAPI from app.cloud.controllers.datacenters import ControllerDataCenters from app.cloud.controllers.containers import ControllerContainers ======= from flask import Blueprint, jsonify, request from SWSCloudCore.controllers.containers import ControllerContainers from SWSCloudCore.controllers.datacenters import ControllerDataCenters from SWSCloudCore.controllers.users import ControllerAPI from SWSCloudCore.controllers.users import ControllerUsers >>>>>>> bf9e0731bcd036956918559645d2a8cd4a3a2c94:SWSCloudCore/views/api/__init__.py viewAPI = Blueprint('api', __name__, url_prefix='/api') # /auth @viewAPI.route('/auth', methods=['POST']) def auth(): """ curl -X POST http://localhost:5000/api/auth --data 'email=&secret=' TODO: Процесс авторизации - получаем емейл и секретный ключ - создаём временный токен - выдаём токен :return: """ email = request.form['email'] secret = request.form['secret'] # expire = request.form['expire'] if not ControllerAPI().auth(email, secret): return jsonify(status=1) user_id = ControllerUsers().get_id_by_email(email) return jsonify(user_id=user_id) @viewAPI.route('/datacenter/list', methods=['POST']) def datacenter_list(): """ curl -X POST http://localhost:5000/api/datacenter/list --data 'email=&secret=' :return: """ email = request.form['email'] secret = request.form['secret'] # if not ControllerAPI().auth(email, secret): return jsonify(status=1) # user_id = ControllerUsers().get_id_by_email(email) # get containers list datacenters = ControllerDataCenters().get() # return jsonify( status=0, total=datacenters['total'], items=datacenters['items'] ) # /container/create # /container/details/ @viewAPI.route('/container/list', methods=['POST']) def container_list(): """ curl -X POST http://localhost:5000/api/container/list --data 'email=&secret=' :return: """ email = request.form['email'] secret = request.form['secret'] # expire = request.form['expire'] # if not ControllerAPI().auth(email, secret): return jsonify(status=1) # user_id = ControllerUsers().get_id_by_email(email) # get containers list containers = ControllerContainers(user_id).get_items() # return jsonify( status=0, total=containers['total'], items=containers['items'] ) @viewAPI.route('/container/create', methods=['POST']) def container_create(): """ curl -X POST http://localhost:5000/api/container/create --data 'email=&secret=&datacenter_id=' :return: """ email = request.form['email'] secret = request.form['secret'] datacenter_id = request.form['datacenter_id'] # expire = request.form['expire'] # if not ControllerAPI().auth(email, secret): return jsonify(status=1) # user_id = ControllerUsers().get_id_by_email(email) # get containers list containers = ControllerContainers(user_id).get_items() # return jsonify( status=0, total=containers['total'], items=containers['items'] ) @viewAPI.route('/container/delete', methods=['POST']) def container_delete(): """ curl -X POST http://localhost:5000/api/container/delete --data 'email=&secret=&container_id=' :return: """ return jsonify(status=0) @viewAPI.route('/container/stop', methods=['POST']) def container_stop(): """ curl -X POST http://localhost:5000/api/container/stop --data 'email=&secret=&container_id=' :return: """ return jsonify(status=0) @viewAPI.route('/container/start', methods=['POST']) def container_start(): """ curl -X POST http://localhost:5000/api/container/start --data 'email=&secret=&container_id=' :return: """ return jsonify(status=0) @viewAPI.route('/container/restart', methods=['POST']) def container_restart(): """ curl -X POST http://localhost:5000/api/container/restart --data 'email=&secret=&container_id=' :return: """ return jsonify(status=0)