Fixed a couple of SonarQube issues.

This commit is contained in:
Nikhil Mohite
2022-09-27 14:28:31 +05:30
committed by GitHub
parent add5404f5e
commit 1b11a6cd4b
5 changed files with 152 additions and 104 deletions

View File

@@ -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 = ''