mirror of
https://github.com/langgenius/dify.git
synced 2026-05-03 07:46:31 +08:00
feat: optimize provider credential set
This commit is contained in:
parent
03363f8315
commit
b6bd14b7a5
@ -92,19 +92,23 @@ class ProviderTokenApi(Resource):
|
|||||||
token_is_valid = True
|
token_is_valid = True
|
||||||
except ValidateFailedError:
|
except ValidateFailedError:
|
||||||
token_is_valid = False
|
token_is_valid = False
|
||||||
|
|
||||||
|
base64_encrypted_token = ProviderService.get_encrypted_token(
|
||||||
|
tenant=current_user.current_tenant,
|
||||||
|
provider_name=ProviderName(provider),
|
||||||
|
configs=args['token']
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
|
base64_encrypted_token = None
|
||||||
token_is_valid = False
|
token_is_valid = False
|
||||||
|
|
||||||
tenant = current_user.current_tenant
|
tenant = current_user.current_tenant
|
||||||
|
|
||||||
base64_encrypted_token = ProviderService.get_encrypted_token(
|
provider_model = db.session.query(Provider).filter(
|
||||||
tenant=current_user.current_tenant,
|
Provider.tenant_id == tenant.id,
|
||||||
provider_name=ProviderName(provider),
|
Provider.provider_name == provider,
|
||||||
configs=args['token']
|
Provider.provider_type == ProviderType.CUSTOM.value
|
||||||
)
|
).first()
|
||||||
|
|
||||||
provider_model = Provider.query.filter_by(tenant_id=tenant.id, provider_name=provider,
|
|
||||||
provider_type=ProviderType.CUSTOM.value).first()
|
|
||||||
|
|
||||||
# Only allow updating token for CUSTOM provider type
|
# Only allow updating token for CUSTOM provider type
|
||||||
if provider_model:
|
if provider_model:
|
||||||
@ -117,6 +121,16 @@ class ProviderTokenApi(Resource):
|
|||||||
is_valid=token_is_valid)
|
is_valid=token_is_valid)
|
||||||
db.session.add(provider_model)
|
db.session.add(provider_model)
|
||||||
|
|
||||||
|
if provider_model.is_valid:
|
||||||
|
other_providers = db.session.query(Provider).filter(
|
||||||
|
Provider.tenant_id == tenant.id,
|
||||||
|
Provider.provider_name != provider,
|
||||||
|
Provider.provider_type == ProviderType.CUSTOM.value
|
||||||
|
).all()
|
||||||
|
|
||||||
|
for other_provider in other_providers:
|
||||||
|
other_provider.is_valid = False
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
if provider in [ProviderName.ANTHROPIC.value, ProviderName.AZURE_OPENAI.value, ProviderName.COHERE.value,
|
if provider in [ProviderName.ANTHROPIC.value, ProviderName.AZURE_OPENAI.value, ProviderName.COHERE.value,
|
||||||
|
|||||||
@ -92,7 +92,7 @@ class BaseProvider(ABC):
|
|||||||
try:
|
try:
|
||||||
config = self.get_provider_api_key()
|
config = self.get_provider_api_key()
|
||||||
except:
|
except:
|
||||||
config = 'THIS-IS-A-MOCK-TOKEN'
|
config = ''
|
||||||
|
|
||||||
if obfuscated:
|
if obfuscated:
|
||||||
return self.obfuscated_token(config)
|
return self.obfuscated_token(config)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user