security: make Campaign mutation audits atomic
This commit is contained in:
@@ -157,6 +157,7 @@ def create_campaign_version_from_json(
|
||||
raw_json: dict[str, Any],
|
||||
source_filename: str | None = None,
|
||||
source_base_path: str | None = None,
|
||||
commit: bool = True,
|
||||
) -> tuple[Campaign, CampaignVersion]:
|
||||
assert_server_safe_campaign_paths(
|
||||
raw_json,
|
||||
@@ -211,8 +212,11 @@ def create_campaign_version_from_json(
|
||||
session.flush()
|
||||
campaign.current_version_id = version.id
|
||||
session.add(campaign)
|
||||
_write_campaign_snapshot(version)
|
||||
session.commit()
|
||||
if commit:
|
||||
_write_campaign_snapshot(version)
|
||||
session.commit()
|
||||
else:
|
||||
session.flush()
|
||||
return campaign, version
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user