diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/services/api/rest/models.py | 2 | ||||
-rw-r--r-- | src/services/api/rest/routers.py | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/services/api/rest/models.py b/src/services/api/rest/models.py index dda50010f..9ca985a91 100644 --- a/src/services/api/rest/models.py +++ b/src/services/api/rest/models.py @@ -134,6 +134,7 @@ class RetrieveModel(ApiModel): class ConfigFileModel(ApiModel): op: StrictStr file: StrictStr = None + string: StrictStr = None class Config: json_schema_extra = { @@ -141,6 +142,7 @@ class ConfigFileModel(ApiModel): 'key': 'id_key', 'op': 'save | load', 'file': 'filename', + 'string': 'config_string' } } diff --git a/src/services/api/rest/routers.py b/src/services/api/rest/routers.py index e52c77fda..8679329da 100644 --- a/src/services/api/rest/routers.py +++ b/src/services/api/rest/routers.py @@ -510,8 +510,12 @@ def config_file_op(data: ConfigFileModel, background_tasks: BackgroundTasks): elif op == 'load': if data.file: path = data.file + elif data.string: + path = '/tmp/config.file' + with open(path, 'w') as f: + f.write(data.string) else: - return error(400, 'Missing required field "file"') + return error(400, 'Missing required field "file | string"') session.migrate_and_load_config(path) |