diff options
| author | omnom62 <omnom62@outlook.com> | 2026-08-25 16:56:19 +1000 |
|---|---|---|
| committer | John Estabrook <jestabro@vyos.io> | 2026-09-01 19:35:35 -0500 |
| commit | 841516c478f6c965d7dd39025728e8dc8984bbcd (patch) | |
| tree | 5d00f203f8d8c1c2cc0e183522b44271a53d65de /src/services/api | |
| parent | d8da36885cab192dd7f812321457fe93d7738aa6 (diff) | |
| download | vyos-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.py | 11 |
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) |
