11import { useQuery } from '@tanstack/react-query'
22import type { Credential } from '@/lib/oauth'
33import { CREDENTIAL_SET } from '@/executor/constants'
4- import { useCredentialSetMemberships } from '@/hooks/queries/credential-sets'
4+ import { useCredentialSetMemberships , useCredentialSets } from '@/hooks/queries/credential-sets'
55import { fetchJson } from '@/hooks/selectors/helpers'
66
77interface CredentialListResponse {
@@ -62,7 +62,12 @@ export function useOAuthCredentialDetail(
6262 } )
6363}
6464
65- export function useCredentialName ( credentialId ?: string , providerId ?: string , workflowId ?: string ) {
65+ export function useCredentialName (
66+ credentialId ?: string ,
67+ providerId ?: string ,
68+ workflowId ?: string ,
69+ workspaceId ?: string
70+ ) {
6671 // Check if this is a credential set value
6772 const isCredentialSet = credentialId ?. startsWith ( CREDENTIAL_SET . PREFIX ) ?? false
6873 const credentialSetId = isCredentialSet
@@ -72,6 +77,12 @@ export function useCredentialName(credentialId?: string, providerId?: string, wo
7277 // Fetch credential set memberships if this is a credential set
7378 const { data : memberships = [ ] , isFetching : membershipsLoading } = useCredentialSetMemberships ( )
7479
80+ // Also fetch owned credential sets to check there
81+ const { data : ownedSets = [ ] , isFetching : ownedSetsLoading } = useCredentialSets (
82+ workspaceId ,
83+ isCredentialSet && Boolean ( workspaceId )
84+ )
85+
7586 const { data : credentials = [ ] , isFetching : credentialsLoading } = useOAuthCredentials (
7687 providerId ,
7788 Boolean ( providerId ) && ! isCredentialSet
@@ -91,9 +102,10 @@ export function useCredentialName(credentialId?: string, providerId?: string, wo
91102
92103 const hasForeignMeta = foreignCredentials . length > 0
93104
94- // For credential sets, find the matching membership and use its name
105+ // For credential sets, find the matching membership or owned set and use its name
95106 const credentialSetName = credentialSetId
96- ? memberships . find ( ( m ) => m . credentialSetId === credentialSetId ) ?. credentialSetName
107+ ? ( memberships . find ( ( m ) => m . credentialSetId === credentialSetId ) ?. credentialSetName ??
108+ ownedSets . find ( ( s ) => s . id === credentialSetId ) ?. name )
97109 : undefined
98110
99111 const displayName =
@@ -103,7 +115,10 @@ export function useCredentialName(credentialId?: string, providerId?: string, wo
103115
104116 return {
105117 displayName,
106- isLoading : credentialsLoading || foreignLoading || ( isCredentialSet && membershipsLoading ) ,
118+ isLoading :
119+ credentialsLoading ||
120+ foreignLoading ||
121+ ( isCredentialSet && ( membershipsLoading || ownedSetsLoading ) ) ,
107122 hasForeignMeta,
108123 }
109124}
0 commit comments