mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Fixed a couple of SonarQube issues.
This commit is contained in:
@@ -245,6 +245,22 @@ def _get_rows_for_type(conn, ntype, server_prop, node_id):
|
||||
return status, res
|
||||
|
||||
|
||||
def get_node_sql_with_type(node_id, node_type, server_prop,
|
||||
get_schema_sql_url, show_sysobj):
|
||||
if node_type == 'database':
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], get_schema_sql_url]),
|
||||
show_sysobj=show_sysobj)
|
||||
ntype = 'schema'
|
||||
else:
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], get_schema_sql_url]),
|
||||
show_sysobj=show_sysobj, nspid=node_id)
|
||||
ntype = node_type
|
||||
|
||||
return sql, ntype
|
||||
|
||||
|
||||
@blueprint.route(
|
||||
'/<int:sid>/<int:did>/<int:node_id>/<node_type>/',
|
||||
methods=['GET'], endpoint='objects'
|
||||
@@ -269,16 +285,9 @@ def properties(sid, did, node_id, node_type):
|
||||
conn = manager.connection(did=did)
|
||||
|
||||
show_sysobj = blueprint.show_system_objects().get()
|
||||
if node_type == 'database':
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], get_schema_sql_url]),
|
||||
show_sysobj=show_sysobj)
|
||||
ntype = 'schema'
|
||||
else:
|
||||
sql = render_template("/".join(
|
||||
[server_prop['template_path'], get_schema_sql_url]),
|
||||
show_sysobj=show_sysobj, nspid=node_id)
|
||||
ntype = node_type
|
||||
|
||||
sql, ntype = get_node_sql_with_type(node_id, node_type, server_prop,
|
||||
get_schema_sql_url, show_sysobj)
|
||||
|
||||
status, res = conn.execute_dict(sql)
|
||||
|
||||
@@ -351,6 +360,17 @@ def properties(sid, did, node_id, node_type):
|
||||
)
|
||||
|
||||
|
||||
def get_req_data():
|
||||
return request.form if request.form else json.loads(request.data.decode())
|
||||
|
||||
|
||||
def set_priv_for_package(server_prop, data, acls):
|
||||
if server_prop['server_type'] == 'ppas':
|
||||
data['priv']['package'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['package']['acl'])
|
||||
|
||||
|
||||
@blueprint.route(
|
||||
'/sql/<int:sid>/<int:did>/',
|
||||
methods=['POST'], endpoint='modified_sql'
|
||||
@@ -362,7 +382,7 @@ def msql(sid, did):
|
||||
This function will return modified SQL
|
||||
"""
|
||||
server_prop = server_info
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = get_req_data()
|
||||
# Form db connection
|
||||
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
|
||||
conn = manager.connection(did=did)
|
||||
@@ -398,10 +418,7 @@ def msql(sid, did):
|
||||
acls['foreign_table']['acl'])
|
||||
|
||||
# Logic for setting privileges only for ppas
|
||||
if server_prop['server_type'] == 'ppas':
|
||||
data['priv']['package'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['package']['acl'])
|
||||
set_priv_for_package(server_prop, data, acls)
|
||||
|
||||
# Pass database objects and get SQL for privileges
|
||||
sql_data = ''
|
||||
@@ -466,6 +483,29 @@ def msql(sid, did):
|
||||
)
|
||||
|
||||
|
||||
def parse_priv(data, acls, server_prop):
|
||||
if 'acl' in data:
|
||||
# Get function acls
|
||||
data['priv']['function'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['function']['acl'])
|
||||
|
||||
data['priv']['sequence'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['sequence']['acl'])
|
||||
|
||||
data['priv']['table'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['table']['acl'])
|
||||
|
||||
data['priv']['foreign_table'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['foreign_table']['acl'])
|
||||
|
||||
# Logic for setting privileges only for ppas
|
||||
set_priv_for_package(server_prop, data, acls)
|
||||
|
||||
|
||||
@blueprint.route(
|
||||
'/<int:sid>/<int:did>/', methods=['POST'], endpoint='apply'
|
||||
)
|
||||
@@ -477,7 +517,7 @@ def save(sid, did):
|
||||
Database Objects
|
||||
"""
|
||||
server_prop = server_info
|
||||
data = request.form if request.form else json.loads(request.data.decode())
|
||||
data = get_req_data()
|
||||
|
||||
# Form db connection and we use conn to execute sql
|
||||
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
|
||||
@@ -496,30 +536,7 @@ def save(sid, did):
|
||||
|
||||
# Parse privileges
|
||||
data['priv'] = {}
|
||||
if 'acl' in data:
|
||||
# Get function acls
|
||||
data['priv']['function'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['function']['acl'])
|
||||
|
||||
data['priv']['sequence'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['sequence']['acl'])
|
||||
|
||||
data['priv']['table'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['table']['acl'])
|
||||
|
||||
data['priv']['foreign_table'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['foreign_table']['acl'])
|
||||
|
||||
# Logic for setting privileges only for ppas
|
||||
if server_prop['server_type'] == 'ppas':
|
||||
data['priv']['package'] = parse_priv_to_db(
|
||||
data['acl'],
|
||||
acls['package']['acl'])
|
||||
|
||||
parse_priv(data, acls, server_prop)
|
||||
# Pass database objects and get SQL for privileges
|
||||
# Pass database objects and get SQL for privileges
|
||||
sql_data = ''
|
||||
|
||||
Reference in New Issue
Block a user