| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- import {
- useMutation,
- useQuery,
- } from '@tanstack/react-query'
- import { del, get, post } from './base'
- import { useInvalid } from './use-base'
- import type {
- Credential,
- CredentialTypeEnum,
- } from '@/app/components/plugins/plugin-auth/types'
- import type { FormSchema } from '@/app/components/base/form/types'
-
- const NAME_SPACE = 'plugins-auth'
-
- export const useGetPluginCredentialInfo = (
- url: string,
- ) => {
- return useQuery({
- enabled: !!url,
- queryKey: [NAME_SPACE, 'credential-info', url],
- queryFn: () => get<{
- supported_credential_types: string[]
- credentials: Credential[]
- is_oauth_custom_client_enabled: boolean
- }>(url),
- staleTime: 0,
- })
- }
-
- export const useInvalidPluginCredentialInfo = (
- url: string,
- ) => {
- return useInvalid([NAME_SPACE, 'credential-info', url])
- }
-
- export const useSetPluginDefaultCredential = (
- url: string,
- ) => {
- return useMutation({
- mutationFn: (id: string) => {
- return post(url, { body: { id } })
- },
- })
- }
-
- export const useGetPluginCredentialList = (
- url: string,
- ) => {
- return useQuery({
- queryKey: [NAME_SPACE, 'credential-list', url],
- queryFn: () => get(url),
- })
- }
-
- export const useAddPluginCredential = (
- url: string,
- ) => {
- return useMutation({
- mutationFn: (params: {
- credentials: Record<string, any>
- type: CredentialTypeEnum
- name?: string
- }) => {
- return post(url, { body: params })
- },
- })
- }
-
- export const useUpdatePluginCredential = (
- url: string,
- ) => {
- return useMutation({
- mutationFn: (params: {
- credential_id: string
- credentials?: Record<string, any>
- name?: string
- }) => {
- return post(url, { body: params })
- },
- })
- }
-
- export const useDeletePluginCredential = (
- url: string,
- ) => {
- return useMutation({
- mutationFn: (params: { credential_id: string }) => {
- return post(url, { body: params })
- },
- })
- }
-
- export const useGetPluginCredentialSchema = (
- url: string,
- ) => {
- return useQuery({
- queryKey: [NAME_SPACE, 'credential-schema', url],
- queryFn: () => get<FormSchema[]>(url),
- })
- }
-
- export const useGetPluginOAuthUrl = (
- url: string,
- ) => {
- return useMutation({
- mutationKey: [NAME_SPACE, 'oauth-url', url],
- mutationFn: () => {
- return get<
- {
- authorization_url: string
- state: string
- context_id: string
- }>(url)
- },
- })
- }
-
- export const useGetPluginOAuthClientSchema = (
- url: string,
- ) => {
- return useQuery({
- queryKey: [NAME_SPACE, 'oauth-client-schema', url],
- queryFn: () => get<{
- schema: FormSchema[]
- is_oauth_custom_client_enabled: boolean
- is_system_oauth_params_exists?: boolean
- client_params?: Record<string, any>
- redirect_uri?: string
- }>(url),
- staleTime: 0,
- })
- }
-
- export const useInvalidPluginOAuthClientSchema = (
- url: string,
- ) => {
- return useInvalid([NAME_SPACE, 'oauth-client-schema', url])
- }
-
- export const useSetPluginOAuthCustomClient = (
- url: string,
- ) => {
- return useMutation({
- mutationFn: (params: {
- client_params: Record<string, any>
- enable_oauth_custom_client: boolean
- }) => {
- return post<{ result: string }>(url, { body: params })
- },
- })
- }
-
- export const useDeletePluginOAuthCustomClient = (
- url: string,
- ) => {
- return useMutation({
- mutationFn: () => {
- return del<{ result: string }>(url)
- },
- })
- }
|