summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/services/api/rest/models.py2
-rw-r--r--src/services/api/rest/routers.py6
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)