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.
This commit is contained in:
Harry
2025-12-18 14:56:08 +08:00
parent 0bca67e45a
commit c2af26e9df
2 changed files with 3 additions and 3 deletions

View File

@@ -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,
)

View File

@@ -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(