QuickAccess/main.py

55 lines
1.6 KiB
Python
Raw Normal View History

import requests
from models_vm import VmAccount
from models_dci import AuthUser
from settings import PLATFORM
class Access(object):
"""
Allows you to get a link with an authorization key
For quick access to the web interface of the client platform.
The PLATFORM variable can be set as an environment variable.
Default PLATFORM='vm'
"""
def __init__(self, platform):
if platform == 'vm':
self.input_container = 'vm_box'
self.user_table = VmAccount
if platform == 'dci':
self.input_container = 'input'
self.user_table = AuthUser
def get_admin(self):
query_admin = (self.user_table.select(
self.user_table.id,
self.user_table.email,
self.user_table.state,
self.user_table.roles).where(
(self.user_table.id <= 10) &
(self.user_table.state == "active")
)
)
for field in query_admin:
if field.roles[0] == '@admin':
admin = dict(id=field.id, email=field.email, state=field.state)
break
return admin
def get_key(self, admin):
host = self.input_container
admin_id = admin['id']
url = 'http://{}:1500/auth/v4/user/{}/key'.format(host, admin_id)
headers = {"Internal-Auth": "on", "Accept": "application/json"}
req = requests.post(url, headers=headers, data={})
result = req.json()
return result
if __name__ == "__main__":
access = Access(PLATFORM)
account = access.get_admin()
print(account)
key = access.get_key(account)
print(key)