console/SWSCloudCore/views/api/__init__.py

147 lines
4.1 KiB
Python
Raw Normal View History

2015-12-01 02:43:10 +03:00
# coding: utf-8
2016-04-02 00:42:22 +03:00
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
2015-12-01 02:43:10 +03:00
viewAPI = Blueprint('api', __name__, url_prefix='/api')
2015-12-23 02:31:43 +03:00
# /auth
@viewAPI.route('/auth', methods=['POST'])
def auth():
"""
curl -X POST http://localhost:5000/api/auth --data 'email=<email>&secret=<secret>'
TODO:
2015-12-23 02:31:43 +03:00
Процесс авторизации
- получаем емейл и секретный ключ
- создаём временный токен
- выдаём токен
: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)
2015-12-24 02:36:32 +03:00
@viewAPI.route('/datacenter/list', methods=['POST'])
def datacenter_list():
"""
curl -X POST http://localhost:5000/api/datacenter/list --data 'email=<email>&secret=<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']
)
2015-12-23 02:31:43 +03:00
# /container/create
# /container/details/<uuid:container_id>
2015-12-24 02:36:32 +03:00
@viewAPI.route('/container/list', methods=['POST'])
2015-12-23 02:31:43 +03:00
def container_list():
"""
curl -X POST http://localhost:5000/api/container/list --data 'email=<email>&secret=<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)
2015-12-23 02:31:43 +03:00
# get containers list
containers = ControllerContainers(user_id).get_items()
#
return jsonify(
status=0,
total=containers['total'],
items=containers['items']
)
2015-12-24 02:36:32 +03:00
@viewAPI.route('/container/create', methods=['POST'])
def container_create():
"""
curl -X POST http://localhost:5000/api/container/create --data 'email=<email>&secret=<secret>&datacenter_id=<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']
)
2016-01-18 11:06:45 +03:00
2016-01-18 11:32:26 +03:00
@viewAPI.route('/container/delete', methods=['POST'])
2016-01-18 11:06:45 +03:00
def container_delete():
"""
curl -X POST http://localhost:5000/api/container/delete --data 'email=<str:email>&secret=<str:secret>&container_id=<uuid:container_id>'
:return:
"""
2016-01-18 11:32:26 +03:00
return jsonify(status=0)
2016-01-18 11:06:45 +03:00
2016-01-18 11:32:26 +03:00
@viewAPI.route('/container/stop', methods=['POST'])
2016-01-18 11:06:45 +03:00
def container_stop():
"""
curl -X POST http://localhost:5000/api/container/stop --data 'email=<str:email>&secret=<str:secret>&container_id=<uuid:container_id>'
:return:
"""
2016-01-18 11:32:26 +03:00
return jsonify(status=0)
2016-01-18 11:06:45 +03:00
2016-01-18 11:32:26 +03:00
@viewAPI.route('/container/start', methods=['POST'])
2016-01-18 11:06:45 +03:00
def container_start():
"""
curl -X POST http://localhost:5000/api/container/start --data 'email=<str:email>&secret=<str:secret>&container_id=<uuid:container_id>'
:return:
"""
2016-01-18 11:32:26 +03:00
return jsonify(status=0)
2016-01-18 11:06:45 +03:00
2016-01-18 11:32:26 +03:00
@viewAPI.route('/container/restart', methods=['POST'])
2016-01-18 14:16:42 +03:00
def container_restart():
2016-01-18 11:06:45 +03:00
"""
curl -X POST http://localhost:5000/api/container/restart --data 'email=<str:email>&secret=<str:secret>&container_id=<uuid:container_id>'
:return:
"""
2016-01-18 11:32:26 +03:00
return jsonify(status=0)