Public/Remove-DifyToolProviderCredential.ps1
|
function Remove-DifyToolProviderCredential { [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = 'High')] param( [Parameter(ValueFromPipeline = $true)] [PSCustomObject[]] $Credential = @() ) begin { $Credentials = @() } process { foreach ($CredentialObject in $Credential) { $Credentials += $CredentialObject } } end { foreach ($Credential in $Credentials) { $Endpoint = Join-Url -Segments @($env:PSDIFY_URL, "/console/api/workspaces/current/tool-provider/builtin", $Credential.Provider, "delete") $Method = "POST" $Body = @{ "credential_id" = $Credential.Id } | ConvertTo-Json -Depth 10 if ($PSCmdlet.ShouldProcess("$($Credential.Name) on $($Credential.Provider)", "Remove Tool Credential")) { try { $Response = Invoke-DifyRestMethod -Uri $Endpoint -Method $Method -Body $Body -SessionOrToken $script:PSDIFY_CONSOLE_AUTH } catch { throw "Failed to remove tool credential: $_" } if (-not $Response.result -or $Response.result -ne "success") { throw "Failed to remove tool credential" } } } } } |