openreplay/ee/api/chalicelib/blueprints/bp_ee.py
2021-11-30 18:02:21 +01:00

58 lines
1.5 KiB
Python

from chalice import Blueprint
from chalicelib import _overrides
from chalicelib.core import roles
from chalicelib.core import unlock
from chalicelib.utils import assist_helper
app = Blueprint(__name__)
_overrides.chalice_app(app)
unlock.check()
@app.route('/client/roles', methods=['GET'])
def get_roles(context):
return {
'data': roles.get_roles(tenant_id=context["tenantId"])
}
@app.route('/client/roles', methods=['POST', 'PUT'])
def add_role(context):
data = app.current_request.json_body
data = roles.create(tenant_id=context['tenantId'], user_id=context['userId'], name=data["name"],
description=data.get("description"), permissions=data["permissions"])
if "errors" in data:
return data
return {
'data': data
}
@app.route('/client/roles/{roleId}', methods=['POST', 'PUT'])
def edit_role(roleId, context):
data = app.current_request.json_body
data = roles.update(tenant_id=context['tenantId'], user_id=context['userId'], role_id=roleId, changes=data)
if "errors" in data:
return data
return {
'data': data
}
@app.route('/client/roles/{roleId}', methods=['DELETE'])
def delete_role(roleId, context):
data = roles.delete(tenant_id=context['tenantId'], user_id=context["userId"], role_id=roleId)
if "errors" in data:
return data
return {
'data': data
}
@app.route('/assist/credentials', methods=['GET'])
def get_assist_credentials(context):
return {"data": assist_helper.get_full_config()}