larxius commited on
Commit
b113d12
·
verified ·
1 Parent(s): b9c7095

Update backend_structured/routes.py

Browse files
Files changed (1) hide show
  1. backend_structured/routes.py +11 -6
backend_structured/routes.py CHANGED
@@ -982,7 +982,7 @@ def suspend_organization(current_user, org_id):
982
  @auth_bp.route('/impersonate/<org_id>', methods=['POST'])
983
  @token_required
984
  def impersonate_org(current_user, org_id):
985
- if current_user.role != 'super_admin':
986
  return jsonify({'message': 'Permission denied'}), 403
987
 
988
  target_user = User.query.filter_by(org_id=org_id, role='org_admin').first()
@@ -1681,10 +1681,13 @@ def get_scans_history(current_user):
1681
  try:
1682
 
1683
  limit_val = request.args.get('limit', 50, type=int)
1684
- if current_user.role in ['super_admin', 'support_engineer'] or request.args.get('global') == 'true':
1685
- scans_query = Scan.query
 
1686
  elif current_user.org_id:
1687
  scans_query = Scan.query.filter_by(org_id=current_user.org_id)
 
 
1688
  else:
1689
  scans_query = Scan.query.filter_by(user_id=current_user.id)
1690
 
@@ -2014,13 +2017,15 @@ vuln_bp = Blueprint('vulnerabilities', __name__)
2014
 
2015
  @vuln_bp.route('/summary', methods=['GET'])
2016
  @token_required
2017
- @cache.cached(timeout=30, query_string=True)
2018
  def get_vulnerabilities_summary(current_user):
2019
  try:
2020
- if current_user.role in ['super_admin', 'support_engineer'] or request.args.get('global') == 'true':
2021
- scan_filter = (Scan.id.isnot(None),)
 
2022
  elif current_user.org_id:
2023
  scan_filter = (Scan.org_id == current_user.org_id,)
 
 
2024
  else:
2025
  scan_filter = (Scan.user_id == current_user.id,)
2026
 
 
982
  @auth_bp.route('/impersonate/<org_id>', methods=['POST'])
983
  @token_required
984
  def impersonate_org(current_user, org_id):
985
+ if current_user.role not in ['super_admin', 'admin']:
986
  return jsonify({'message': 'Permission denied'}), 403
987
 
988
  target_user = User.query.filter_by(org_id=org_id, role='org_admin').first()
 
1681
  try:
1682
 
1683
  limit_val = request.args.get('limit', 50, type=int)
1684
+ org_id_param = request.args.get('org_id')
1685
+ if org_id_param and current_user.role in ['super_admin', 'admin', 'support_engineer']:
1686
+ scans_query = Scan.query.filter_by(org_id=org_id_param)
1687
  elif current_user.org_id:
1688
  scans_query = Scan.query.filter_by(org_id=current_user.org_id)
1689
+ elif current_user.role in ['super_admin', 'support_engineer'] or request.args.get('global') == 'true':
1690
+ scans_query = Scan.query
1691
  else:
1692
  scans_query = Scan.query.filter_by(user_id=current_user.id)
1693
 
 
2017
 
2018
  @vuln_bp.route('/summary', methods=['GET'])
2019
  @token_required
 
2020
  def get_vulnerabilities_summary(current_user):
2021
  try:
2022
+ org_id_param = request.args.get('org_id')
2023
+ if org_id_param and current_user.role in ['super_admin', 'admin', 'support_engineer']:
2024
+ scan_filter = (Scan.org_id == org_id_param,)
2025
  elif current_user.org_id:
2026
  scan_filter = (Scan.org_id == current_user.org_id,)
2027
+ elif current_user.role in ['super_admin', 'support_engineer'] or request.args.get('global') == 'true':
2028
+ scan_filter = (Scan.id.isnot(None),)
2029
  else:
2030
  scan_filter = (Scan.user_id == current_user.id,)
2031