From c2af26e9df5512e6fe78ed332b2e815902d28fed Mon Sep 17 00:00:00 2001 From: Harry Date: Thu, 18 Dec 2025 14:56:08 +0800 Subject: [PATCH] refactor: improve credential handling in subscription rebuild requests - Updated `SubscriptionRebuildRequest` to allow `credentials` to be optional, enhancing flexibility in request payloads. - Modified `TriggerSubscriptionRebuildApi` to ensure credentials default to an empty dictionary if not provided, improving robustness in subscription rebuild logic. - Adjusted `TriggerProviderService` to use existing subscription credentials when rebuilding, streamlining the credential management process. --- api/controllers/console/workspace/trigger_providers.py | 4 ++-- api/services/trigger/trigger_provider_service.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/controllers/console/workspace/trigger_providers.py b/api/controllers/console/workspace/trigger_providers.py index 6eab1daca3..3f1f6149c7 100644 --- a/api/controllers/console/workspace/trigger_providers.py +++ b/api/controllers/console/workspace/trigger_providers.py @@ -45,7 +45,7 @@ class TriggerSubscriptionUpdateRequest(BaseModel): class SubscriptionRebuildRequest(BaseModel): """Request payload for rebuilding an existing subscription.""" - credentials: Mapping[str, Any] = Field(default_factory=dict, description="The credentials for the subscription") + credentials: Mapping[str, Any] | None = Field(default=None, description="The credentials for the subscription") parameters: Mapping[str, Any] = Field(default_factory=dict, description="The parameters for the subscription") @@ -423,7 +423,7 @@ class TriggerSubscriptionRebuildApi(Resource): tenant_id=user.current_tenant_id, provider_id=TriggerProviderID(provider), subscription_id=subscription_id, - credentials=rebuild_request.credentials, + credentials=rebuild_request.credentials or {}, parameters=rebuild_request.parameters, ) diff --git a/api/services/trigger/trigger_provider_service.py b/api/services/trigger/trigger_provider_service.py index 9fa3386e5e..6aa46b89fe 100644 --- a/api/services/trigger/trigger_provider_service.py +++ b/api/services/trigger/trigger_provider_service.py @@ -857,7 +857,7 @@ class TriggerProviderService: provider_id=provider_id, endpoint=generate_plugin_trigger_endpoint_url(subscription.endpoint_id), parameters=parameters, - credentials=credentials, + credentials=credentials or subscription.credentials, credential_type=credential_type, ) TriggerProviderService.update_trigger_subscription(