From 24619e74f63827eb29992838e91c9651026ce319 Mon Sep 17 00:00:00 2001 From: Harry Date: Mon, 20 Oct 2025 20:01:17 +0800 Subject: [PATCH] fix(trigger): update error handling and credential expiration field --- api/controllers/console/workspace/trigger_providers.py | 3 ++- api/services/trigger/trigger_provider_service.py | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/api/controllers/console/workspace/trigger_providers.py b/api/controllers/console/workspace/trigger_providers.py index 8afec9a94d..631b82979b 100644 --- a/api/controllers/console/workspace/trigger_providers.py +++ b/api/controllers/console/workspace/trigger_providers.py @@ -8,6 +8,7 @@ from werkzeug.exceptions import BadRequest, Forbidden from configs import dify_config from controllers.console import api from controllers.console.wraps import account_initialization_required, setup_required +from controllers.web.error import NotFoundError from core.model_runtime.utils.encoders import jsonable_encoder from core.plugin.entities.plugin_daemon import CredentialType from core.plugin.impl.oauth import OAuthHandler @@ -318,7 +319,7 @@ class TriggerOAuthAuthorizeApi(Resource): ) if oauth_client_params is None: - raise Forbidden("No OAuth client configuration found for this trigger provider") + raise NotFoundError("No OAuth client configuration found for this trigger provider") # Create subscription builder subscription_builder = TriggerSubscriptionBuilderService.create_trigger_subscription_builder( diff --git a/api/services/trigger/trigger_provider_service.py b/api/services/trigger/trigger_provider_service.py index 5b6b18c37b..4cc19b485a 100644 --- a/api/services/trigger/trigger_provider_service.py +++ b/api/services/trigger/trigger_provider_service.py @@ -336,7 +336,7 @@ class TriggerProviderService: # Update credentials subscription.credentials = dict(encrypter.encrypt(dict(refreshed_credentials.credentials))) - subscription.expires_at = refreshed_credentials.expires_at + subscription.credential_expires_at = refreshed_credentials.expires_at session.commit() # Clear cache @@ -448,7 +448,9 @@ class TriggerProviderService: session.add(custom_client) # Update client params if provided - if client_params is not None: + if client_params is None: + custom_client.encrypted_oauth_params = json.dumps({}) + else: encrypter, cache = create_provider_encrypter( tenant_id=tenant_id, config=[x.to_basic_provider_config() for x in provider_controller.get_oauth_client_schema()],