dify/web/features/deployments/shared/components/env-var-bindings-utils.ts
Stephen Zhou a14310fc62
refactor(web): organize deployment feature state (#38065)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-27 07:34:46 +00:00

30 lines
831 B
TypeScript

import type { EnvVarSlot } from '@dify/contracts/enterprise/types.gen'
import type { EnvVarBindingSlot } from './env-var-bindings'
export function envVarBindingValueType(valueType?: EnvVarSlot['valueType'] | string): EnvVarBindingSlot['valueType'] {
switch (valueType) {
case 'ENV_VAR_VALUE_TYPE_NUMBER':
case 'number':
return 'number'
case 'ENV_VAR_VALUE_TYPE_SECRET':
case 'secret':
return 'secret'
default:
return 'string'
}
}
export function envVarBindingSlotFromContract(slot: EnvVarSlot): EnvVarBindingSlot | undefined {
const key = slot.key.trim()
if (!key)
return undefined
return {
...slot,
key,
valueType: envVarBindingValueType(slot.valueType),
hasDefaultValue: slot.defaultValue !== undefined,
hasLastValue: slot.lastValue !== undefined,
}
}