sourcegraph/client/web/src/enterprise/codeintel/configuration/hooks/useUpdateInferenceScript.tsx
Noah S-C 152351f55a
codeintel: add UI for setting auto-indexing inference script (#41517)
Co-authored-by: Eric Fritz <eric@eric-fritz.com>
2022-10-10 14:21:27 +00:00

37 lines
1.2 KiB
TypeScript

import { ApolloError, FetchResult, MutationFunctionOptions, OperationVariables } from '@apollo/client'
import { gql, useMutation } from '@sourcegraph/http-client'
import { UpdateCodeGraphInferenceScriptResult } from '../../../../graphql-operations'
const UPDATE_INFERENCE_SCRIPT = gql`
mutation UpdateCodeGraphInferenceScript($script: String!) {
updateCodeIntelligenceInferenceScript(script: $script) {
alwaysNil
}
}
`
type UpdateInferenceScriptFetchResult = Promise<
FetchResult<UpdateCodeGraphInferenceScriptResult, Record<string, string>, Record<string, string>>
>
interface UpdateInferenceScriptResult {
updateInferenceScript: (
options?: MutationFunctionOptions<UpdateCodeGraphInferenceScriptResult, OperationVariables> | undefined
) => UpdateInferenceScriptFetchResult
isUpdating: boolean
updatingError: ApolloError | undefined
}
export const useUpdateInferenceScript = (): UpdateInferenceScriptResult => {
const [updateInferenceScript, { loading, error }] = useMutation<UpdateCodeGraphInferenceScriptResult>(
UPDATE_INFERENCE_SCRIPT
)
return {
updateInferenceScript,
isUpdating: loading,
updatingError: error,
}
}