mirror of
https://github.com/langgenius/dify.git
synced 2026-01-14 06:07:33 +08:00
Some checks are pending
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Waiting to run
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Blocked by required conditions
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Blocked by required conditions
Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: Yeuoly <admin@srmxy.cn>
26 lines
964 B
TypeScript
26 lines
964 B
TypeScript
import { useAppContext } from '@/context/app-context'
|
|
import {
|
|
useGetPluginCredentialInfoHook,
|
|
useInvalidPluginCredentialInfoHook,
|
|
} from './use-credential'
|
|
import { CredentialTypeEnum } from '../types'
|
|
import type { PluginPayload } from '../types'
|
|
|
|
export const usePluginAuth = (pluginPayload: PluginPayload, enable?: boolean) => {
|
|
const { data } = useGetPluginCredentialInfoHook(pluginPayload, enable)
|
|
const { isCurrentWorkspaceManager } = useAppContext()
|
|
const isAuthorized = !!data?.credentials.length
|
|
const canOAuth = data?.supported_credential_types.includes(CredentialTypeEnum.OAUTH2)
|
|
const canApiKey = data?.supported_credential_types.includes(CredentialTypeEnum.API_KEY)
|
|
const invalidPluginCredentialInfo = useInvalidPluginCredentialInfoHook(pluginPayload)
|
|
|
|
return {
|
|
isAuthorized,
|
|
canOAuth,
|
|
canApiKey,
|
|
credentials: data?.credentials || [],
|
|
disabled: !isCurrentWorkspaceManager,
|
|
invalidPluginCredentialInfo,
|
|
}
|
|
}
|