import {Text} from '@gravity-ui/uikit'; import {AsyncReplicationState} from '../../../../../components/AsyncReplicationState'; import type {YDBDefinitionListItem} from '../../../../../components/YDBDefinitionList/YDBDefinitionList'; import type {TEvDescribeSchemeResult} from '../../../../../types/api/schema'; import {AsyncReplicationPaths} from '../AsyncReplicationPaths'; import {Credentials} from './Credentials'; import i18n from './i18n'; interface AsyncReplicationProps { data?: TEvDescribeSchemeResult; } /** Displays overview for Replication EPathType */ export function AsyncReplicationInfo({data}: AsyncReplicationProps) { if (!data) { return null; } return ; } export function prepareReplicationItems(data: TEvDescribeSchemeResult): YDBDefinitionListItem[] { const replicationDescription = data.PathDescription?.ReplicationDescription || {}; const state = replicationDescription.State; const srcConnectionParams = replicationDescription.Config?.SrcConnectionParams || {}; const {Endpoint, Database} = srcConnectionParams; const info: YDBDefinitionListItem[] = []; if (state) { info.push({ name: i18n('state.label'), content: , }); } if (Endpoint) { info.push({ name: i18n('srcConnection.endpoint.label'), copyText: Endpoint, content: {Endpoint}, }); } if (Database) { info.push({ name: i18n('srcConnection.database.label'), copyText: Database, content: {Database}, }); } if (srcConnectionParams) { info.push({ name: i18n('credentials.label'), content: , }); } return info; }