Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Update backend_structured/routes.py
Browse files- 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
|
| 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 |
-
|
| 1685 |
-
|
|
|
|
| 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 |
-
|
| 2021 |
-
|
|
|
|
| 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 |
|