Skip to content

Commit 16dc916

Browse files
committed
Extended a contract
1 parent 05dbee3 commit 16dc916

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ allow_indirect_imports = true
2424
[[tool.importlinter.contracts]]
2525
name = "Do not import API layer from the business layer"
2626
type = "forbidden"
27-
source_modules = "app.business.access_controls"
27+
source_modules = ["app.business.access_controls", "app.business.assets"]
2828
forbidden_modules = "app.blueprints.iris_user"
2929
allow_indirect_imports = true
3030

source/app/blueprints/rest/case/case_assets_routes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def deprecated_add_asset(caseid):
169169
request_data = call_modules_hook('on_preload_asset_create', data=request.get_json(), caseid=caseid)
170170
ioc_links = request_data.get('ioc_links')
171171
asset = asset_schema.load(request_data)
172-
msg, created_asset = assets_create(caseid, asset, ioc_links)
172+
msg, created_asset = assets_create(iris_current_user, caseid, asset, ioc_links)
173173
return response_success(msg, asset_schema.dump(created_asset))
174174
except ValidationError as e:
175175
return response_error('Data error', data=e.messages)

source/app/blueprints/rest/v2/case_routes/assets.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
from app.iris_engine.module_handler.module_handler import call_deprecated_on_preload_modules_hook
4242
from app.models.authorization import CaseAccessLevel
4343
from app.schema.marshables import CaseAssetsSchema
44+
from app.blueprints.iris_user import iris_current_user
4445

4546

4647
class AssetsOperations:
@@ -88,7 +89,7 @@ def create(self, case_identifier):
8889
request_data = call_deprecated_on_preload_modules_hook('asset_create', request.get_json(), case_identifier)
8990
ioc_links = request_data.get('ioc_links')
9091
asset = self._schema.load(request_data)
91-
_, create_asset = assets_create(case_identifier, asset, ioc_links)
92+
_, create_asset = assets_create(iris_current_user, case_identifier, asset, ioc_links)
9293
return response_api_created(self._schema.dump(create_asset))
9394

9495
except ValidationError as e:

source/app/business/assets.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from flask_sqlalchemy.pagination import Pagination
2020

2121
from app import db
22-
from app.blueprints.iris_user import iris_current_user
2322
from app.business.errors import BusinessProcessingError
2423
from app.business.errors import ObjectNotFoundError
2524
from app.business.cases import cases_exists
@@ -37,12 +36,12 @@
3736
from app.util import add_obj_history_entry
3837

3938

40-
def assets_create(case_identifier, asset: CaseAssets, ioc_links):
39+
def assets_create(user, case_identifier, asset: CaseAssets, ioc_links):
4140
asset.case_id = case_identifier
4241

4342
if case_assets_db_exists(asset):
4443
raise BusinessProcessingError('Asset with same value and type already exists')
45-
asset = create_asset(asset=asset, caseid=case_identifier, user_id=iris_current_user.id)
44+
asset = create_asset(asset=asset, caseid=case_identifier, user_id=user.id)
4645
# TODO should the custom attributes be set?
4746
if ioc_links:
4847
errors, _ = set_ioc_links(ioc_links, asset.asset_id)

0 commit comments

Comments
 (0)