Skip to content

Commit 2973772

Browse files
authored
Merge pull request #929 from dfir-iris/api_v2_update_comment
Api v2 update comment
2 parents 0ee5c46 + be96b39 commit 2973772

File tree

107 files changed

+489
-320
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+489
-320
lines changed

pyproject.toml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.ruff.lint]
22
preview = true
3-
select = ["E101", "E225", "E23", "E24", "E3", "E4", "E7", "E9", "F", "PLR0402", "RET506", "UP032", "W29"]
3+
select = ["E101", "E225", "E23", "E24", "E3", "E4", "E7", "E9", "F", "PLR0402", "RET506", "TID252", "UP032", "W29"]
44
ignore = ["E402", "E711", "E712", "E721", "E722"]
55

66
[tool.importlinter]
@@ -10,8 +10,8 @@ include_external_packages = true
1010
[[tool.importlinter.contracts]]
1111
name = "Do not import the persistence layer from the API layer"
1212
type = "forbidden"
13-
source_modules = "app.blueprints.rest.v2.alerts"
14-
forbidden_modules = "app.datamgmt.alerts"
13+
source_modules = "app.blueprints.rest.v2"
14+
forbidden_modules = "app.datamgmt"
1515
allow_indirect_imports = true
1616

1717
[[tool.importlinter.contracts]]
@@ -21,10 +21,24 @@ source_modules = ["app.blueprints.rest.search_routes", "app.blueprints.rest.dim_
2121
forbidden_modules = "sqlalchemy"
2222
allow_indirect_imports = true
2323

24+
[[tool.importlinter.contracts]]
25+
name = "Do not import API layer from the business layer"
26+
type = "forbidden"
27+
source_modules = ["app.business.access_controls", "app.business.assets"]
28+
forbidden_modules = "app.blueprints.iris_user"
29+
allow_indirect_imports = true
30+
2431
[[tool.importlinter.contracts]]
2532
name = "Do not import sqlalchemy from the business layer"
2633
type = "forbidden"
2734
source_modules = "app.business"
2835
forbidden_modules = "sqlalchemy"
2936
allow_indirect_imports = true
3037

38+
[[tool.importlinter.contracts]]
39+
name = "Do not import API layer from the persistence layer"
40+
type = "forbidden"
41+
source_modules = "app.datamgmt.dashboard"
42+
forbidden_modules = "app.blueprints.iris_user"
43+
allow_indirect_imports = true
44+

source/app/blueprints/access_controls.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
from app.datamgmt.case.case_db import get_case
4848
from app.datamgmt.manage.manage_access_control_db import user_has_client_access
4949
from app.datamgmt.manage.manage_users_db import get_user
50-
from app.iris_engine.access_control.iris_user import iris_current_user
50+
from app.blueprints.iris_user import iris_current_user
5151
from app.business.access_controls import ac_fast_check_user_has_case_access
5252
from app.iris_engine.access_control.utils import ac_get_effective_permissions_of_user
5353
from app.iris_engine.utils.tracker import track_activity
@@ -578,3 +578,7 @@ def is_authentication_oidc():
578578

579579
def is_authentication_ldap():
580580
return app.config.get('AUTHENTICATION_TYPE') == "ldap"
581+
582+
583+
def ac_fast_check_current_user_has_case_access(cid, access_level):
584+
return ac_fast_check_user_has_case_access(iris_current_user.id, cid, access_level)

source/app/blueprints/graphql/cases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
from app.blueprints.graphql.permissions import permissions_check_current_user_has_some_case_access
4242
from app.iris_engine.module_handler.module_handler import call_deprecated_on_preload_modules_hook
4343
from app.schema.marshables import CaseSchema
44-
from app.iris_engine.access_control.iris_user import iris_current_user
44+
from app.blueprints.iris_user import iris_current_user
4545
from app.datamgmt.manage.manage_access_control_db import user_has_client_access
4646

4747
from app.blueprints.graphql.iocs import IOCConnection

source/app/blueprints/graphql/graphql_route.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050

5151
from app.business.cases import cases_get_by_identifier
5252
from app.business.iocs import iocs_get
53-
from app.iris_engine.access_control.iris_user import iris_current_user
53+
from app.blueprints.iris_user import iris_current_user
5454
from app.blueprints.graphql.permissions import permissions_check_current_user_has_some_case_access
5555
import warnings
5656

source/app/blueprints/graphql/permissions.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@
2222
from flask import session
2323
from flask import request
2424

25-
from app.blueprints.access_controls import get_case_access_from_api
26-
from app.iris_engine.access_control.iris_user import iris_current_user
25+
from app.blueprints.access_controls import get_case_access_from_api, ac_fast_check_current_user_has_case_access
26+
from app.blueprints.iris_user import iris_current_user
2727
from app.iris_engine.access_control.utils import ac_get_effective_permissions_of_user
28-
from app.business.access_controls import ac_fast_check_current_user_has_case_access
2928

3029

3130
class PermissionDeniedError(Exception):
File renamed without changes.

source/app/blueprints/pages/alerts/alerts_routes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from app.models.authorization import Permissions
3030
from app.blueprints.responses import response_error
3131
from app.blueprints.access_controls import ac_requires
32-
from app.iris_engine.access_control.iris_user import iris_current_user
32+
from app.blueprints.iris_user import iris_current_user
3333

3434
alerts_blueprint = Blueprint(
3535
'alerts',

source/app/blueprints/pages/case/case_tasks_routes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from flask import url_for
2323
from flask_wtf import FlaskForm
2424

25-
from app.iris_engine.access_control.iris_user import iris_current_user
25+
from app.blueprints.iris_user import iris_current_user
2626
from app.datamgmt.case.case_db import get_case
2727
from app.datamgmt.case.case_tasks_db import get_case_tasks_comments_count
2828
from app.datamgmt.case.case_tasks_db import get_task

source/app/blueprints/pages/dashboard/dashboard_routes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from flask_wtf import FlaskForm
2424

2525
from app import app
26-
from app.iris_engine.access_control.iris_user import iris_current_user
26+
from app.blueprints.iris_user import iris_current_user
2727
from app.datamgmt.dashboard.dashboard_db import get_tasks_status
2828
from app.forms import CaseGlobalTaskForm
2929
from app.iris_engine.access_control.utils import ac_get_user_case_counts

source/app/blueprints/pages/login/login_routes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
from app.datamgmt.manage.manage_users_db import update_user_groups
4747
from app.datamgmt.manage.manage_users_db import get_user
4848
from app.forms import LoginForm, MFASetupForm
49-
from app.iris_engine.access_control.iris_user import iris_current_user
49+
from app.blueprints.iris_user import iris_current_user
5050
from app.iris_engine.utils.tracker import track_activity
5151
from app.datamgmt.manage.manage_groups_db import get_groups_list
5252
from app.business.auth import generate_auth_tokens

0 commit comments

Comments
 (0)