mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Make queries narrower
This commit is contained in:
parent
27d310e2de
commit
0115421243
@ -74,8 +74,7 @@ class RolesController:
|
||||
|
||||
if role:
|
||||
servers_query = PermissionsServers.get_servers_from_role(role_id)
|
||||
# TODO: this query needs to be narrower
|
||||
servers = {s.server_id.server_id for s in servers_query}
|
||||
servers = {s.server_id_id for s in servers_query}
|
||||
role["servers"] = servers
|
||||
# logger.debug("role: ({}) {}".format(role_id, role))
|
||||
return role
|
||||
|
@ -109,9 +109,7 @@ class ServersController:
|
||||
@staticmethod
|
||||
def get_authorized_servers_stats_api_key(api_key: ApiKeys):
|
||||
server_data = []
|
||||
authorized_servers = ServersController.get_authorized_servers(
|
||||
api_key.user.user_id
|
||||
)
|
||||
authorized_servers = ServersController.get_authorized_servers(api_key.user_id)
|
||||
|
||||
for server in authorized_servers:
|
||||
latest = HelperServers.get_latest_server_stats(server.get("server_id"))
|
||||
|
@ -324,7 +324,7 @@ class HelpersManagement:
|
||||
"backup_path": row.server_id.backup_path,
|
||||
"excluded_dirs": row.excluded_dirs,
|
||||
"max_backups": row.max_backups,
|
||||
"server_id": row.server_id.server_id,
|
||||
"server_id": row.server_id_id,
|
||||
"compress": row.compress,
|
||||
}
|
||||
except IndexError:
|
||||
|
@ -207,14 +207,16 @@ class PermissionsServers:
|
||||
def get_server_user_list(server_id):
|
||||
final_users = []
|
||||
server_roles = RoleServers.select().where(RoleServers.server_id == server_id)
|
||||
super_users = Users.select().where(
|
||||
super_users = Users.select(Users.user_id).where(
|
||||
Users.superuser == True # pylint: disable=singleton-comparison
|
||||
)
|
||||
for role in server_roles:
|
||||
users = UserRoles.select().where(UserRoles.role_id == role.role_id)
|
||||
users = UserRoles.select(UserRoles.user_id).where(
|
||||
UserRoles.role_id == role.role_id
|
||||
)
|
||||
for user in users:
|
||||
if user.user_id.user_id not in final_users:
|
||||
final_users.append(user.user_id.user_id)
|
||||
if user.user_id_id not in final_users:
|
||||
final_users.append(user.user_id_id)
|
||||
for suser in super_users:
|
||||
if suser.user_id not in final_users:
|
||||
final_users.append(suser.user_id)
|
||||
|
@ -298,8 +298,7 @@ class HelperUsers:
|
||||
.join(Roles, JOIN.INNER)
|
||||
.where(UserRoles.user_id == user_id)
|
||||
)
|
||||
# TODO: this query needs to be narrower
|
||||
roles = {r.role_id.role_id for r in roles_query}
|
||||
roles = {r.role_id_id for r in roles_query}
|
||||
|
||||
if isinstance(user, dict):
|
||||
user["roles"] = roles
|
||||
|
@ -1893,7 +1893,7 @@ class PanelHandler(BaseHandler):
|
||||
|
||||
self.write(
|
||||
self.controller.authentication.generate(
|
||||
key.user_id.user_id, {"token_id": key.token_id}
|
||||
key.user_id_id, {"token_id": key.token_id}
|
||||
)
|
||||
)
|
||||
self.finish()
|
||||
|
Loading…
Reference in New Issue
Block a user