mirror of
https://github.com/harness/drone.git
synced 2025-05-19 10:29:55 +08:00
57 lines
1.9 KiB
TypeScript
57 lines
1.9 KiB
TypeScript
/*
|
|
* Copyright 2024 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 React from 'react'
|
|
import { defaultTo } from 'lodash-es'
|
|
|
|
import { useParentComponents } from '@ar/hooks'
|
|
import { useStrings } from '@ar/frameworks/strings'
|
|
import type { RepositoryPackageType } from '@ar/common/types'
|
|
import { PermissionIdentifier, ResourceType } from '@ar/common/permissionTypes'
|
|
import { useSetupClientModal } from '@ar/pages/repository-details/hooks/useSetupClientModal/useSetupClientModal'
|
|
|
|
import type { VersionActionProps } from './types'
|
|
|
|
export default function SetupClientMenuItem(props: VersionActionProps): JSX.Element {
|
|
const { artifactKey, repoKey, data, readonly, versionKey } = props
|
|
const { getString } = useStrings()
|
|
const { RbacMenuItem } = useParentComponents()
|
|
|
|
const [showSetupClientModal] = useSetupClientModal({
|
|
repoKey,
|
|
packageType: data.packageType as RepositoryPackageType,
|
|
artifactKey,
|
|
versionKey
|
|
})
|
|
return (
|
|
<>
|
|
<RbacMenuItem
|
|
icon="setup-client"
|
|
text={getString('actions.setupClient')}
|
|
onClick={showSetupClientModal}
|
|
disabled={readonly}
|
|
permission={{
|
|
resource: {
|
|
resourceType: ResourceType.ARTIFACT_REGISTRY,
|
|
resourceIdentifier: defaultTo(repoKey, '')
|
|
},
|
|
permission: PermissionIdentifier.VIEW_ARTIFACT_REGISTRY
|
|
}}
|
|
/>
|
|
</>
|
|
)
|
|
}
|