You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

use-auth-service.ts 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { useCallback } from 'react'
  2. import {
  3. useActiveModelCredential,
  4. useActiveProviderCredential,
  5. useAddModelCredential,
  6. useAddProviderCredential,
  7. useDeleteModelCredential,
  8. useDeleteProviderCredential,
  9. useEditModelCredential,
  10. useEditProviderCredential,
  11. useGetModelCredential,
  12. useGetProviderCredential,
  13. } from '@/service/use-models'
  14. import type {
  15. CustomModel,
  16. } from '@/app/components/header/account-setting/model-provider-page/declarations'
  17. export const useGetCredential = (provider: string, isModelCredential?: boolean, credentialId?: string, model?: CustomModel, configFrom?: string) => {
  18. const providerData = useGetProviderCredential(!isModelCredential && !!credentialId, provider, credentialId)
  19. const modelData = useGetModelCredential(!!isModelCredential && !!credentialId, provider, credentialId, model?.model, model?.model_type, configFrom)
  20. return isModelCredential ? modelData : providerData
  21. }
  22. export const useAuthService = (provider: string) => {
  23. const { mutateAsync: addProviderCredential } = useAddProviderCredential(provider)
  24. const { mutateAsync: editProviderCredential } = useEditProviderCredential(provider)
  25. const { mutateAsync: deleteProviderCredential } = useDeleteProviderCredential(provider)
  26. const { mutateAsync: activeProviderCredential } = useActiveProviderCredential(provider)
  27. const { mutateAsync: addModelCredential } = useAddModelCredential(provider)
  28. const { mutateAsync: activeModelCredential } = useActiveModelCredential(provider)
  29. const { mutateAsync: deleteModelCredential } = useDeleteModelCredential(provider)
  30. const { mutateAsync: editModelCredential } = useEditModelCredential(provider)
  31. const getAddCredentialService = useCallback((isModel: boolean) => {
  32. return isModel ? addModelCredential : addProviderCredential
  33. }, [addModelCredential, addProviderCredential])
  34. const getEditCredentialService = useCallback((isModel: boolean) => {
  35. return isModel ? editModelCredential : editProviderCredential
  36. }, [editModelCredential, editProviderCredential])
  37. const getDeleteCredentialService = useCallback((isModel: boolean) => {
  38. return isModel ? deleteModelCredential : deleteProviderCredential
  39. }, [deleteModelCredential, deleteProviderCredential])
  40. const getActiveCredentialService = useCallback((isModel: boolean) => {
  41. return isModel ? activeModelCredential : activeProviderCredential
  42. }, [activeModelCredential, activeProviderCredential])
  43. return {
  44. getAddCredentialService,
  45. getEditCredentialService,
  46. getDeleteCredentialService,
  47. getActiveCredentialService,
  48. }
  49. }