feat: migrate old saved columns keys to name (#8747)

This commit is contained in:
Yunus M 2025-08-08 14:41:34 +05:30 committed by GitHub
parent 932918e3a4
commit 75d189162b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,6 +1,7 @@
/* eslint-disable sonarjs/cognitive-complexity */ /* eslint-disable sonarjs/cognitive-complexity */
/* eslint-disable no-empty */ /* eslint-disable no-empty */
import { TelemetryFieldKey } from 'api/v5/v5'; import { TelemetryFieldKey } from 'api/v5/v5';
import { has } from 'lodash-es';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { DataSource } from 'types/common/queryBuilder'; import { DataSource } from 'types/common/queryBuilder';
@ -8,6 +9,14 @@ import logsLoaderConfig from '../configs/logsLoaderConfig';
import tracesLoaderConfig from '../configs/tracesLoaderConfig'; import tracesLoaderConfig from '../configs/tracesLoaderConfig';
import { FormattingOptions, Preferences } from '../types'; import { FormattingOptions, Preferences } from '../types';
const migrateColumns = (columns: any): any =>
columns.map((column: any) => {
if (has(column, 'key') && !has(column, 'name')) {
return { ...column, name: column.key };
}
return column;
});
// Generic preferences loader that works with any config // Generic preferences loader that works with any config
async function preferencesLoader<T>(config: { async function preferencesLoader<T>(config: {
priority: readonly string[]; priority: readonly string[];
@ -26,11 +35,16 @@ async function preferencesLoader<T>(config: {
const validColumnsResult = results.find( const validColumnsResult = results.find(
({ result }) => result.columns?.length, ({ result }) => result.columns?.length,
); );
const validFormattingResult = results.find(({ result }) => result.formatting); const validFormattingResult = results.find(({ result }) => result.formatting);
const migratedColumns = validColumnsResult?.result.columns
? migrateColumns(validColumnsResult?.result.columns)
: undefined;
// Combine valid results or fallback to default // Combine valid results or fallback to default
const finalResult = { const finalResult = {
columns: validColumnsResult?.result.columns || config.default().columns, columns: migratedColumns || config.default().columns,
formatting: formatting:
validFormattingResult?.result.formatting || config.default().formatting, validFormattingResult?.result.formatting || config.default().formatting,
}; };