mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2025-01-20 10:15:29 +01:00
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
|
import logging
|
||
|
from app.classes.models.crafty_permissions import Enum_Permissions_Crafty
|
||
|
from app.classes.web.base_api_handler import BaseApiHandler
|
||
|
|
||
|
|
||
|
logger = logging.getLogger(__name__)
|
||
|
|
||
|
|
||
|
class ApiServersServerUsersHandler(BaseApiHandler):
|
||
|
def get(self, server_id: str):
|
||
|
auth_data = self.authenticate_user()
|
||
|
if not auth_data:
|
||
|
return
|
||
|
|
||
|
if server_id not in [str(x["server_id"]) for x in auth_data[0]]:
|
||
|
# if the user doesn't have access to the server, return an error
|
||
|
return self.finish_json(400, {"status": "error", "error": "NOT_AUTHORIZED"})
|
||
|
|
||
|
if Enum_Permissions_Crafty.User_Config not in auth_data[1]:
|
||
|
return self.finish_json(400, {"status": "error", "error": "NOT_AUTHORIZED"})
|
||
|
|
||
|
if Enum_Permissions_Crafty.Roles_Config not in auth_data[1]:
|
||
|
return self.finish_json(400, {"status": "error", "error": "NOT_AUTHORIZED"})
|
||
|
|
||
|
self.finish_json(
|
||
|
200,
|
||
|
{
|
||
|
"status": "ok",
|
||
|
"data": list(self.controller.servers.get_authorized_users(server_id)),
|
||
|
},
|
||
|
)
|