Skip to content

Commit 9fc87c4

Browse files
authored
fix: refactor relative paths support (#2877)
1 parent 7eb1f2f commit 9fc87c4

File tree

124 files changed

+1050
-669
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+1050
-669
lines changed

src/components/ConnectToDB/ConnectToDBDialog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ function ConnectToDBDialog({
5656
// Since there is no ControlPlane data in this case
5757
const shouldRequestTenantData = database && !endpointFromProps && !singleClusterMode;
5858
const params = shouldRequestTenantData
59-
? {path: database, clusterName, isMetaDatabasesAvailable}
59+
? {database, clusterName, isMetaDatabasesAvailable}
6060
: skipToken;
6161
const {currentData: tenantData, isLoading: isTenantDataLoading} =
6262
tenantApi.useGetTenantInfoQuery(params);

src/components/NetworkTable/NetworkTable.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ import {
1111

1212
type NetworkWrapperProps = Pick<
1313
NodesProps,
14-
'path' | 'scrollContainerRef' | 'additionalNodesProps' | 'database'
14+
'path' | 'scrollContainerRef' | 'additionalNodesProps' | 'database' | 'databaseFullPath'
1515
>;
1616

1717
export function NetworkTable({
1818
database,
19+
databaseFullPath,
1920
path,
2021
scrollContainerRef,
2122
additionalNodesProps,
@@ -24,11 +25,12 @@ export function NetworkTable({
2425
<Nodes
2526
path={path}
2627
database={database}
28+
databaseFullPath={databaseFullPath}
2729
scrollContainerRef={scrollContainerRef}
2830
withPeerRoleFilter={Boolean(database)}
2931
additionalNodesProps={additionalNodesProps}
3032
columns={getNetworkTableNodesColumns({
31-
database: database,
33+
database,
3234
getNodeRef: additionalNodesProps?.getNodeRef,
3335
})}
3436
defaultColumnsIds={NETWORK_DEFAULT_NODES_COLUMNS}

src/components/QueriesActivityBar/QueriesActivityBar.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import {useQueriesActivityData} from './useQueriesActivityData';
66
import './QueriesActivityBar.scss';
77

88
interface QueriesActivityBarProps {
9-
tenantName: string;
9+
database: string;
1010
}
1111

12-
export function QueriesActivityBar({tenantName}: QueriesActivityBarProps) {
12+
export function QueriesActivityBar({database}: QueriesActivityBarProps) {
1313
const {runningQueriesCount, uniqueApplications, uniqueUsers, qps, latency, areChartsAvailable} =
14-
useQueriesActivityData(tenantName);
14+
useQueriesActivityData(database);
1515

1616
// Show skeleton while determining chart availability
1717
if (areChartsAvailable === null) {
@@ -32,7 +32,7 @@ export function QueriesActivityBar({tenantName}: QueriesActivityBarProps) {
3232
// Render expandable mode when charts are available
3333
return (
3434
<QueriesActivityExpandable
35-
tenantName={tenantName}
35+
database={database}
3636
runningQueriesCount={runningQueriesCount}
3737
uniqueApplications={uniqueApplications}
3838
uniqueUsers={uniqueUsers}

src/components/QueriesActivityBar/QueriesActivityCharts.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import type {ChartDataStatus} from '../MetricChart/types';
1111
const b = cn('queries-activity-bar');
1212

1313
interface QueriesActivityChartsProps {
14-
tenantName: string;
14+
database: string;
1515
expanded: boolean;
1616
onChartDataStatusChange?: (status: ChartDataStatus) => void;
1717
}
@@ -21,7 +21,7 @@ const QUERIES_PER_SECOND_CHART_HEIGHT = 292;
2121
const QUERIES_LATENCIES_CHART_HEIGHT = 292 + LEGEND_HEIGHT;
2222

2323
export function QueriesActivityCharts({
24-
tenantName,
24+
database,
2525
expanded,
2626
onChartDataStatusChange,
2727
}: QueriesActivityChartsProps) {
@@ -76,7 +76,7 @@ export function QueriesActivityCharts({
7676
>
7777
<Flex direction="column" gap={3} grow basis={0} minWidth={0}>
7878
<MetricChart
79-
database={tenantName}
79+
database={database}
8080
metrics={queriesChartConfig.metrics}
8181
autorefresh={shouldRefresh}
8282
height={QUERIES_PER_SECOND_CHART_HEIGHT}
@@ -89,7 +89,7 @@ export function QueriesActivityCharts({
8989

9090
<Flex direction="column" gap={3} grow basis={0} minWidth={0}>
9191
<MetricChart
92-
database={tenantName}
92+
database={database}
9393
metrics={latenciesChartConfig.metrics}
9494
autorefresh={shouldRefresh}
9595
height={QUERIES_LATENCIES_CHART_HEIGHT}

src/components/QueriesActivityBar/QueriesActivityExpandable.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import './QueriesActivityBar.scss';
1818
const b = cn('queries-activity-bar');
1919

2020
interface QueriesActivityExpandableProps {
21-
tenantName: string;
21+
database: string;
2222
runningQueriesCount: number;
2323
uniqueApplications: number;
2424
uniqueUsers: number;
@@ -37,7 +37,7 @@ interface QueriesActivityExpandableProps {
3737
}
3838

3939
export function QueriesActivityExpandable({
40-
tenantName,
40+
database,
4141
runningQueriesCount,
4242
uniqueApplications,
4343
uniqueUsers,
@@ -155,7 +155,7 @@ export function QueriesActivityExpandable({
155155
</Flex>
156156
</Flex>
157157
)}
158-
<QueriesActivityCharts tenantName={tenantName} expanded={expanded} />
158+
<QueriesActivityCharts database={database} expanded={expanded} />
159159
</Card>
160160
</div>
161161
);

src/components/QueriesActivityBar/useQueriesActivityData.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ interface UseQueriesActivityDataResult {
2323
areChartsAvailable: boolean | null; // null = loading, boolean = result
2424
}
2525

26-
export function useQueriesActivityData(tenantName: string): UseQueriesActivityDataResult {
26+
export function useQueriesActivityData(database: string): UseQueriesActivityDataResult {
2727
const [autoRefreshInterval] = useAutoRefreshInterval();
2828

2929
const shouldRefresh = autoRefreshInterval;
3030

3131
// Respect GraphShardExists if explicitly false for the specific tenant
32-
const graphShardExists = useTypedSelector((state) => selectGraphShardExists(state, tenantName));
32+
const graphShardExists = useTypedSelector((state) => selectGraphShardExists(state, database));
3333
const skipCharts = graphShardExists === false;
3434

3535
const {data: runningQueriesData} = topQueriesApi.useGetRunningQueriesQuery(
3636
{
37-
database: tenantName,
37+
database,
3838
filters: {},
3939
},
4040
{pollingInterval: shouldRefresh},
@@ -46,7 +46,7 @@ export function useQueriesActivityData(tenantName: string): UseQueriesActivityDa
4646
isError: queriesError,
4747
} = chartApi.useGetChartDataQuery(
4848
{
49-
database: tenantName,
49+
database,
5050
metrics: [{target: 'queries.requests'}],
5151
timeFrame: QUERIES_TIME_FRAME,
5252
maxDataPoints: 30,
@@ -56,7 +56,7 @@ export function useQueriesActivityData(tenantName: string): UseQueriesActivityDa
5656

5757
const {data: latencyData} = chartApi.useGetChartDataQuery(
5858
{
59-
database: tenantName,
59+
database,
6060
metrics: [{target: 'queries.latencies.p99'}],
6161
timeFrame: LATENCIES_TIME_FRAME,
6262
maxDataPoints: 30,

src/components/ShardsTable/ShardsTable.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ export interface ShardsTableProps
1313
extends Omit<ResizeableDataTableProps<KeyValueRow>, 'columnsWidthLSKey' | 'columns'> {
1414
columnsIds: TopShardsColumnId[];
1515
database: string;
16+
databaseFullPath: string;
1617
overrideColumns?: ShardsColumn[];
17-
schemaPath?: string;
1818
}
1919

2020
export function ShardsTable({
2121
columnsIds,
22-
schemaPath,
2322
database,
23+
databaseFullPath,
2424
overrideColumns = [],
2525
...props
2626
}: ShardsTableProps) {
@@ -33,14 +33,14 @@ export function ShardsTable({
3333
return overridedColumn;
3434
}
3535

36-
const column = shardsColumnIdToGetColumn[id]({database, schemaPath});
36+
const column = shardsColumnIdToGetColumn[id]({database, databaseFullPath});
3737

3838
return {
3939
...column,
4040
sortable: isSortableTopShardsColumn(column.name),
4141
};
4242
});
43-
}, [columnsIds, database, overrideColumns, schemaPath]);
43+
}, [columnsIds, database, overrideColumns, databaseFullPath]);
4444

4545
return (
4646
<ResizeableDataTable

src/components/ShardsTable/columns.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ import {TOP_SHARDS_COLUMNS_IDS, TOP_SHARDS_COLUMNS_TITLES} from './constants';
1313
import type {GetShardsColumn} from './types';
1414
import {prepareDateTimeValue} from './utils';
1515

16-
export const getPathColumn: GetShardsColumn = ({schemaPath = ''}) => {
16+
export const getPathColumn: GetShardsColumn = ({databaseFullPath = ''}) => {
1717
return {
1818
name: TOP_SHARDS_COLUMNS_IDS.Path,
1919
header: TOP_SHARDS_COLUMNS_TITLES.Path,
2020
render: ({row}) => {
2121
// row.RelativePath - relative schema path without start slash
2222
return (
23-
<LinkToSchemaObject path={`${schemaPath}/${row.RelativePath}`}>
23+
<LinkToSchemaObject path={`${databaseFullPath}/${row.RelativePath}`}>
2424
{row.RelativePath}
2525
</LinkToSchemaObject>
2626
);

src/components/ShardsTable/types.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@ import type {KeyValueRow} from '../../types/api/query';
44

55
export type ShardsColumn = Column<KeyValueRow>;
66

7-
export type GetShardsColumn = (params: {database: string; schemaPath?: string}) => ShardsColumn;
7+
export type GetShardsColumn = (params: {
8+
database: string;
9+
databaseFullPath?: string;
10+
}) => ShardsColumn;

src/components/VDisk/VDisk.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const VDisk = ({
3737
}: VDiskProps) => {
3838
const database = useDatabaseFromQuery();
3939
const vDiskPath = getVDiskLink(data, {
40-
database: database,
40+
database,
4141
});
4242

4343
return (

0 commit comments

Comments
 (0)