MCPcopy Index your code
hub / github.com/dataease/SQLBot / save_parameter_args

Function save_parameter_args

backend/apps/system/crud/parameter_manage.py:16–45  ·  view source on GitHub ↗
(session: SessionDep, request: Request)

Source from the content-addressed store, hash-verified

14 return group_args
15
16async def save_parameter_args(session: SessionDep, request: Request):
17 allow_file_mapping = {
18 """ "test_logo": { "types": [".jpg", ".jpeg", ".png"], "size": 5 * 1024 * 1024 } """
19 }
20 form_data = await request.form()
21 files = form_data.getlist("files")
22 json_text = form_data.get("data")
23 sys_args = [
24 SysArgModel(**{**item, "pkey": f"{item['pkey']}"})
25 for item in json.loads(json_text)
26 if "pkey" in item
27 ]
28 if not sys_args:
29 return
30 file_mapping = None
31 if files:
32 file_mapping = {}
33 for file in files:
34 origin_file_name = file.filename
35 file_name, flag_name = SQLBotFileUtils.split_filename_and_flag(origin_file_name)
36 file.filename = file_name
37 allow_limit_obj = allow_file_mapping.get(flag_name)
38 if allow_limit_obj:
39 SQLBotFileUtils.check_file(file=file, file_types=allow_limit_obj.get("types"), limit_file_size=allow_limit_obj.get("size"))
40 else:
41 raise Exception(f'The file [{file_name}] is not allowed to be uploaded!')
42 file_id = await SQLBotFileUtils.upload(file)
43 file_mapping[f"{flag_name}"] = file_id
44
45 await save_group_args(session=session, sys_args=sys_args, file_mapping=file_mapping)

Callers 1

save_argsFunction · 0.90

Calls 2

uploadMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected