summaryrefslogtreecommitdiff
path: root/src/services/api
diff options
context:
space:
mode:
authoromnom62 <omnom62@outlook.com>2026-08-25 16:56:19 +1000
committerJohn Estabrook <jestabro@vyos.io>2026-09-01 19:35:35 -0500
commit841516c478f6c965d7dd39025728e8dc8984bbcd (patch)
tree5d00f203f8d8c1c2cc0e183522b44271a53d65de /src/services/api
parentd8da36885cab192dd7f812321457fe93d7738aa6 (diff)
downloadvyos-1x-841516c478f6c965d7dd39025728e8dc8984bbcd.tar.gz
vyos-1x-841516c478f6c965d7dd39025728e8dc8984bbcd.zip
http-api: T8989: fix routers.py regressions from initial commit
- Restore mask_dict/config_dict variable names in _execute_configure_op (shadowing of Config object was causing potential crash on delete ops) - Fix load_section_tree() call to pass correct 3 arguments - Pass data.destructive to merge_config() to preserve destructive behavior
Diffstat (limited to 'src/services/api')
-rw-r--r--src/services/api/rest/routers.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/services/api/rest/routers.py b/src/services/api/rest/routers.py
index 0f509caad..0f0662327 100644
--- a/src/services/api/rest/routers.py
+++ b/src/services/api/rest/routers.py
@@ -460,8 +460,8 @@ def _execute_configure_op(
section = c.section
elif isinstance(c, BaseConfigSectionTreeModel):
- mask = c.mask
- config = c.config
+ mask_dict = c.mask
+ config_dict = c.config
if isinstance(c, BaseConfigureModel):
if op == 'set':
@@ -487,9 +487,10 @@ def _execute_configure_op(
elif isinstance(c, BaseConfigSectionTreeModel):
if op == 'set':
- session.set_section_tree(config)
+ session.set_section_tree(config_dict)
elif op == 'load':
- session.load_section_tree(mask, config)
+ config_tree = config.get_config_tree()
+ session.load_section_tree(config_tree, mask_dict, config_dict)
else:
raise op_error
# end for
@@ -726,7 +727,7 @@ async def config_file_op(data: ConfigFileModel, background_tasks: BackgroundTask
case 'load':
session.migrate_and_load_config(path)
case 'merge':
- session.merge_config(path)
+ session.merge_config(path, destructive=data.destructive)
config = Config(session_env=env)
d = get_config_diff(config)