(workspaceId?: string)
| 2 | import { usePersonalEnvironment, useWorkspaceEnvironment } from '@/hooks/queries/environment' |
| 3 | |
| 4 | export function useAvailableEnvVarKeys(workspaceId?: string): Set<string> | undefined { |
| 5 | const { data: personalEnv, isLoading: personalLoading } = usePersonalEnvironment() |
| 6 | const { data: workspaceEnvData, isLoading: workspaceLoading } = useWorkspaceEnvironment( |
| 7 | workspaceId || '' |
| 8 | ) |
| 9 | |
| 10 | return useMemo(() => { |
| 11 | if (personalLoading || (workspaceId && workspaceLoading)) { |
| 12 | return undefined |
| 13 | } |
| 14 | |
| 15 | const keys = new Set<string>() |
| 16 | |
| 17 | if (personalEnv) { |
| 18 | Object.keys(personalEnv).forEach((key) => keys.add(key)) |
| 19 | } |
| 20 | |
| 21 | if (workspaceId && workspaceEnvData) { |
| 22 | if (workspaceEnvData.workspace) { |
| 23 | Object.keys(workspaceEnvData.workspace).forEach((key) => keys.add(key)) |
| 24 | } |
| 25 | if (workspaceEnvData.personal) { |
| 26 | Object.keys(workspaceEnvData.personal).forEach((key) => keys.add(key)) |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | return keys |
| 31 | }, [personalEnv, workspaceEnvData, personalLoading, workspaceLoading, workspaceId]) |
| 32 | } |
| 33 | |
| 34 | export function createShouldHighlightEnvVar( |
| 35 | availableEnvVars: Set<string> | undefined |
no test coverage detected