drone/web/src/hooks/useGetResourceContent.ts
Ritik Kapoor 62f27bb816 fix: [code-2300] width and style of branch/tag select dropdown (#2617)
* fix: [CODE-2300] changed to relative width
* fix: [CODE-2300] input-spinner enum
* fix: [CODE-2300] strings
* fix: [CODE-2300] popover rules dialog box
* feat: [CODE-2300] fix flicker and empty repo/branch states
* fix: [code-2300] latest commit alignment
* fix: [code-2300] lint
* fix: [code-2300] fix branch rules truncate issue with rule title
* fix: [code-2300] pr count on hard refresh
* fix: [code-2300] interaction to click from hover for PR options menu
* fix: [code-2300] handle pr count on initial loading
* fix: [code-2300] handle long branch names in commit modal
* fix: [code-2300] width and style of branch/tag select dropdown
2024-09-13 17:15:39 +00:00

52 lines
1.5 KiB
TypeScript

/*
* Copyright 2023 Harness, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useGet } from 'restful-react'
import type { OpenapiGetContentOutput } from 'services/code'
import type { GitInfoProps } from 'utils/GitUtils'
interface UseGetResourceContentParams
extends Optional<Pick<GitInfoProps, 'repoMetadata' | 'gitRef' | 'resourcePath'>, 'repoMetadata'> {
includeCommit?: boolean
lazy?: boolean
}
export function useGetResourceContent({
repoMetadata,
gitRef,
resourcePath,
includeCommit = false,
lazy = false
}: UseGetResourceContentParams) {
const { data, error, loading, refetch, response } = useGet<OpenapiGetContentOutput>({
path: `/api/v1/repos/${repoMetadata?.path}/+/content${resourcePath ? '/' + resourcePath : ''}`,
queryParams: {
include_commit: String(includeCommit),
git_ref: gitRef
},
lazy: !repoMetadata?.path || lazy
})
return {
data,
error: repoMetadata?.is_empty ? undefined : error,
loading,
refetch,
response,
isRepositoryEmpty: !!repoMetadata?.is_empty
}
}