From 27561410e5b9282e34ec2eaf74b403b66536a5b4 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Thu, 20 Mar 2025 14:19:40 +0800 Subject: [PATCH] fix: handle param value is blank --- apps/function_lib/serializers/function_lib_serializer.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/function_lib/serializers/function_lib_serializer.py b/apps/function_lib/serializers/function_lib_serializer.py index d5045e698..429c2704f 100644 --- a/apps/function_lib/serializers/function_lib_serializer.py +++ b/apps/function_lib/serializers/function_lib_serializer.py @@ -6,6 +6,7 @@ @date:2024/8/2 17:35 @desc: """ +import io import json import pickle import re @@ -289,7 +290,7 @@ class FunctionLibSerializer(serializers.Serializer): if function_lib.init_params: old_init_params = json.loads(rsa_long_decrypt(function_lib.init_params)) for key in edit_dict['init_params']: - if edit_dict['init_params'][key] == encryption(old_init_params[key]): + if key in old_init_params and edit_dict['init_params'][key] == encryption(old_init_params[key]): edit_dict['init_params'][key] = old_init_params[key] edit_dict['init_params'] = rsa_long_encrypt(json.dumps(edit_dict['init_params'])) @@ -309,7 +310,7 @@ class FunctionLibSerializer(serializers.Serializer): password_fields = [i["field"] for i in function_lib.init_field_list if i.get("input_type") == "PasswordInput"] if function_lib.init_params: for k in function_lib.init_params: - if k in password_fields: + if k in password_fields and function_lib.init_params[k]: function_lib.init_params[k] = encryption(function_lib.init_params[k]) return {**FunctionLibModelSerializer(function_lib).data, 'init_params': function_lib.init_params}