Public/New-DifyToolProviderCredential.ps1
|
function New-DifyToolProviderCredential { [CmdletBinding()] param( [Parameter(Mandatory = $true)] [String] $Provider, [Parameter(Mandatory = $true)] [Hashtable] $Credential, [String] $AuthorizationName ) if (-not $AuthorizationName) { $AvailableCredentials = Get-DifyToolProviderCredential -Provider $Provider $AuthorizationName = "API KEY $($($AvailableCredentials | Measure-Object).Count + 1)" } $Endpoint = Join-Url -Segments @($env:PSDIFY_URL, "/console/api/workspaces/current/tool-provider/builtin", $Provider, "add") $Method = "POST" $Body = @{ "credentials" = $Credential "type" = "api-key" "name" = $AuthorizationName } | ConvertTo-Json -Depth 10 try { $Response = Invoke-DifyRestMethod -Uri $Endpoint -Method $Method -Body $Body -SessionOrToken $script:PSDIFY_CONSOLE_AUTH } catch { throw "Failed to create tool credential: $_" } if (-not $Response.result -or $Response.result -ne "success") { throw "Failed to create tool credential" } return Get-DifyToolProviderCredential -Provider $Provider -Name $AuthorizationName } |