fix(api/fields/workflow_fields.py): Add check in environment variables (#6621)
This commit is contained in:
parent
ca696fe94c
commit
55c2b61921
1 changed files with 9 additions and 3 deletions
|
|
@ -1,10 +1,12 @@
|
||||||
from flask_restful import fields
|
from flask_restful import fields
|
||||||
|
|
||||||
from core.app.segments import SecretVariable, Variable
|
from core.app.segments import SecretVariable, SegmentType, Variable
|
||||||
from core.helper import encrypter
|
from core.helper import encrypter
|
||||||
from fields.member_fields import simple_account_fields
|
from fields.member_fields import simple_account_fields
|
||||||
from libs.helper import TimestampField
|
from libs.helper import TimestampField
|
||||||
|
|
||||||
|
ENVIRONMENT_VARIABLE_SUPPORTED_TYPES = (SegmentType.STRING, SegmentType.NUMBER, SegmentType.SECRET)
|
||||||
|
|
||||||
|
|
||||||
class EnvironmentVariableField(fields.Raw):
|
class EnvironmentVariableField(fields.Raw):
|
||||||
def format(self, value):
|
def format(self, value):
|
||||||
|
|
@ -16,14 +18,18 @@ class EnvironmentVariableField(fields.Raw):
|
||||||
'value': encrypter.obfuscated_token(value.value),
|
'value': encrypter.obfuscated_token(value.value),
|
||||||
'value_type': value.value_type.value,
|
'value_type': value.value_type.value,
|
||||||
}
|
}
|
||||||
elif isinstance(value, Variable):
|
if isinstance(value, Variable):
|
||||||
return {
|
return {
|
||||||
'id': value.id,
|
'id': value.id,
|
||||||
'name': value.name,
|
'name': value.name,
|
||||||
'value': value.value,
|
'value': value.value,
|
||||||
'value_type': value.value_type.value,
|
'value_type': value.value_type.value,
|
||||||
}
|
}
|
||||||
return value
|
if isinstance(value, dict):
|
||||||
|
value_type = value.get('value_type')
|
||||||
|
if value_type not in ENVIRONMENT_VARIABLE_SUPPORTED_TYPES:
|
||||||
|
raise ValueError(f'Unsupported environment variable value type: {value_type}')
|
||||||
|
return value
|
||||||
|
|
||||||
|
|
||||||
environment_variable_fields = {
|
environment_variable_fields = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue