chore(ui): Added error logs for missing config values (#21541)

* added error logs for corrupt or missing config values

* update console info to warn

* update localization files

* address pr comments

(cherry picked from commit da5cfff72452bc71b67bf2c581545a748635dfd0)
This commit is contained in:
Shrushti Polekar 2025-06-03 20:02:31 +05:30 committed by shrushti2000
parent 92be66904e
commit 5beb7b39f3
19 changed files with 49 additions and 8 deletions

View File

@ -74,6 +74,7 @@ import {
getUserManagerConfig,
isProtectedRoute,
prepareUserProfileFromClaims,
validateAuthFields,
} from '../../../utils/AuthProvider.util';
import {
getOidcToken,
@ -608,6 +609,7 @@ export const AuthProvider = ({
// show an error toast if provider is null or not supported
if (provider && Object.values(AuthProviderEnum).includes(provider)) {
const configJson = getAuthConfig(authConfig);
validateAuthFields(configJson, t);
setJwtPrincipalClaims(authConfig.jwtPrincipalClaims);
setJwtPrincipalClaimsMapping(authConfig.jwtPrincipalClaimsMapping);
setAuthConfig(configJson);

View File

@ -1838,6 +1838,7 @@
"metric-description": "Überwachen Sie die Gesundheit Ihrer Datenobjekte mit Metriken.",
"minimum-value-error": "Der Minimalwert sollte kleiner als der Maximalwert sein.",
"minute": "Minute",
"missing-config-value": "Fehlender Konfigurationswert: {{field}}",
"modify-hierarchy-entity-description": "Ändern Sie die Hierarchie, indem Sie die übergeordnete {{entity}} ändern.",
"most-active-users": "Zeigt die aktivsten Benutzer auf der Plattform basierend auf Seitenaufrufen.",
"most-expensive-queries-widget-description": "Top 5 der aufwändigsten Abfragen für die Datenvermögenswerte im Dienst. <0>Mehr erfahren.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "Minute",
"missing-config-value": "Missing config value: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "Displays the most active users on the platform based on Page Views.",
"most-expensive-queries-widget-description": "Top 5 most expensive queries for the data assets in the service. <0>learn more.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "Minuto",
"missing-config-value": "Falta el valor de configuración: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "Muestra los usuarios más activos en la plataforma basado en las vistas de página.",
"most-expensive-queries-widget-description": "Las 5 consultas más costosas para los activos de datos en el servicio. <0>saber más.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "La vleur minimum value doit être plus petite que la valeur maximum.",
"minute": "Minute",
"missing-config-value": "Valeur de configuration manquante : {{field}}",
"modify-hierarchy-entity-description": "Modifier la hiérarchie en changeant le {{entity}} parent.",
"most-active-users": "Affiche les utilisateurs les plus actifs en fonction du nombre de consultations de pages.",
"most-expensive-queries-widget-description": "Top 5 des requêtes les plus coûteuses pour les actifs de données dans le service. <0>en savoir plus.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Fai un seguimento da saúde dos teus activos de datos con métricas.",
"minimum-value-error": "O valor mínimo debe ser menor que o valor máximo.",
"minute": "Minuto",
"missing-config-value": "Falta o valor de configuración: {{field}}",
"modify-hierarchy-entity-description": "Modifica a xerarquía cambiando o {{entity}} Pai.",
"most-active-users": "Mostra os usuarios máis activos na plataforma baseándose nas Vistas de Páxina.",
"most-expensive-queries-widget-description": "As 5 consultas máis custosas para os activos de datos no servizo. <0>saber máis.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "דקה",
"missing-config-value": "חסר ערך הגדרה: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "מציג את המשתמשים הפעילים ביותר בפלטפורמה על פי צפיות בדף.",
"most-expensive-queries-widget-description": "5 השאילתות היקרות ביותר עבור נכסי הנתונים בשירות. <0>למד עוד</0>.",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "分",
"missing-config-value": "設定値が不足しています: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "ページビューベースの最もアクティブなユーザの表示。",
"most-expensive-queries-widget-description": "サービス内のデータアセットにおける最もコストの高い上位5つのクエリ。<0>詳細を見る。</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "메트릭을 사용하여 데이터 자산의 상태를 추적하세요.",
"minimum-value-error": "최소값은 최대값보다 작아야 합니다.",
"minute": "분",
"missing-config-value": "누락된 구성 값: {{field}}",
"modify-hierarchy-entity-description": "상위 {{entity}}를 변경하여 계층 구조를 수정합니다.",
"most-active-users": "페이지 조회수를 기반으로 플랫폼에서 가장 활발한 사용자를 표시합니다.",
"most-expensive-queries-widget-description": "서비스 내에서 가장 많이 사용된 데이터 자산 상위 5개입니다. <0>자세히 알아보기.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "तुमच्या डेटा ॲसेट्सच्या आरोग्याचा मेट्रिक्ससह मागोवा घ्या.",
"minimum-value-error": "किमान मूल्य कमाल मूल्यापेक्षा लहान असावे.",
"minute": "मिनिट",
"missing-config-value": "कॉन्फिगरेशन व्हॅल्यू गहाळ आहे: {{field}}",
"modify-hierarchy-entity-description": "पालक {{entity}} बदलून श्रेणीक्रम बदल करा.",
"most-active-users": "पृष्ठ दृश्यांवर आधारित प्लॅटफॉर्मवरील सर्वात सक्रिय वापरकर्ते दर्शवते.",
"most-expensive-queries-widget-description": "सेवेतील डेटा मालमत्तांसाठी शीर्ष 5 सर्वात महाग क्वेरी. <0>अधिक जाणून घ्या.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "Minuut",
"missing-config-value": "Ontbrekende configuratiewaarde: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "Toont de meest actieve gebruikers op het platform op basis van paginaweergaven.",
"most-expensive-queries-widget-description": "Top 5 meest kostbare queries voor de data-assets in de service. <0>meer informatie.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "سلامت دارایی‌های داده‌ای خود را با متریک‌ها دنبال کنید.",
"minimum-value-error": "مقدار حداقل باید کوچکتر از مقدار حداکثر باشد.",
"minute": "دقیقه",
"missing-config-value": "مقدار پیکربندی گم شده: {{field}}",
"modify-hierarchy-entity-description": "با تغییر والد {{entity}}، سلسله‌مراتب را ویرایش کنید.",
"most-active-users": "فعال‌ترین کاربران بر اساس بازدیدهای صفحه را نمایش می‌دهد.",
"most-expensive-queries-widget-description": "5 کوئری پرهزینه برتر برای دارایی‌های داده در سرویس. <0>بیشتر بدانید.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "Minuto",
"missing-config-value": "Valor de configuração ausente: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "Exibe os usuários mais ativos na plataforma com base nas Visualizações de Página.",
"most-expensive-queries-widget-description": "Top 5 consultas mais caras para os ativos de dados no serviço. <0>saiba mais.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Confirme o bom estado dos seus conjuntos de dados com as métricas.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "Minuto",
"missing-config-value": "Valor de configuração em falta: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "Exibe os Utilizadores mais ativos na plataforma com base nas Visualizações de Página.",
"most-expensive-queries-widget-description": "Top 5 consultas mais dispendiosas para os ativos de dados no serviço. <0>saber mais.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "Минута",
"missing-config-value": "Отсутствует значение конфигурации: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "Отображает самых активных пользователей на платформе на основе просмотров страниц.",
"most-expensive-queries-widget-description": "Топ-5 самых дорогих запросов для объектов данных в сервисе. <0>узнать больше.</0>",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "The minimum value should be smaller than the maximum value.",
"minute": "Minute",
"missing-config-value": "ค่าการกำหนดค่าที่หายไป: {{field}}",
"modify-hierarchy-entity-description": "Modify the hierarchy by changing the Parent {{entity}}.",
"most-active-users": "Displays the most active users on the platform based on Page Views.",
"most-expensive-queries-widget-description": "5 อันดับคิวรีที่ใช้ทรัพยากรมากที่สุดสำหรับสินทรัพย์ข้อมูลในบริการ <0>เรียนรู้เพิ่มเติม</0>",

View File

@ -593,6 +593,7 @@
"foreign": "Yabancı",
"foreign-key": "Yabancı Anahtar",
"forgot-password": "Şifremi Unuttum",
"forgot-your-password": "Forgot your password?",
"format": "Biçim",
"fqn-uppercase": "FQN",
"frequently-joined-column-plural": "Sık Birleştirilen Sütunlar",
@ -602,7 +603,7 @@
"full-name": "Tam ad",
"full-screen": "Tam ekran",
"function": "Fonksiyon",
"g-chat": "G Chat",
"g-chat": "G Chat",
"gcs-config": "GCS Yapılandırması",
"gcs-config-source": "GCS Yapılandırma Kaynağı",
"gcs-credential-path": "GCS Kimlik Bilgileri Yolu",
@ -1226,7 +1227,7 @@
"send-to": "Gönderilecek yer",
"sender-email": "Gönderen E-postası",
"september": "Eylül",
"server": "Sunucu",
"server": "Sunucu",
"server-endpoint": "Sunucu Uç Noktası",
"server-port": "Sunucu Portu",
"service": "Servis",
@ -1279,7 +1280,7 @@
"source-plural": "Kaynaklar",
"source-url": "Kaynak URL'si",
"specific-data-asset-plural": "Belirli Veri Varlıkları",
"sql-function": "SQL Fonksiyonu",
"sql-function": "SQL Fonksiyonu",
"sql-uppercase": "SQL",
"sql-uppercase-query": "SQL Sorgusu",
"sso-uppercase": "SSO",
@ -1521,7 +1522,7 @@
"week": "Hafta",
"weekly-usage": "Haftalık Kullanım",
"weight": "Ağırlık",
"welcome-to": "Hoşgeldiniz",
"welcome-to": "Hoşgeldiniz",
"whats-new": "Yenilikler",
"whats-new-version": "Yenilikler ({{version}})",
"widget": "Widget",
@ -1534,7 +1535,7 @@
"zoom-in": "Yakınlaştır",
"zoom-out": "Uzaklaştır"
},
"message": {
"message": {
"access-block-time-message": "Erişim, maksimum başarısız giriş denemesinden sonra milisaniye boyunca engellenecektir.",
"access-control-description": "Roller ve politikalarla kurumsal hiyerarşinize ve ekip erişiminize uyum sağlayın.",
"access-to-collaborate": "Herkesin takıma katılmasına, verileri görüntülemesine ve işbirliği yapmasına olanak tanımak için açık erişime izin verin.",
@ -1837,6 +1838,7 @@
"metric-description": "Metriklerle veri varlıklarınızın sağlığını izleyin.",
"minimum-value-error": "Minimum değer maksimum değerden küçük olmalıdır.",
"minute": "Dakika",
"missing-config-value": "Eksik yapılandırma değeri: {{field}}",
"modify-hierarchy-entity-description": "Üst {{entity}} değiştirerek hiyerarşiyi değiştirin.",
"most-active-users": "Sayfa Görüntülemelerine göre platformdaki en aktif kullanıcıları görüntüler.",
"most-expensive-queries-widget-description": "Servisteki veri varlıkları için en maliyetli ilk 5 sorgu. <0>daha fazla bilgi edinin.</0>",
@ -1844,7 +1846,7 @@
"most-used-assets-widget-description": "Servisteki en çok kullanılan ilk 5 veri varlığı. <0>daha fazla bilgi edinin.</0>",
"most-used-assets-widget-subheader": "Servisinizde en çok ziyaret edilen varlıkları hızla anlayın.",
"most-viewed-data-assets": "En çok görüntülenen veri varlıklarını gösterir.",
"mutually-exclusive-alert": "Bir {{entity}} için 'Karşılıklı Dışlayan' seçeneğini etkinleştirirseniz, kullanıcılar bir veri varlığına uygulamak için yalnızca bir {{child-entity}} kullanmakla sınırlandırılacaktır. Bu seçenek etkinleştirildikten sonra devre dışı bırakılamaz.",
"mutually-exclusive-alert": "Bir {{entity}} için 'Karşılıklı Dışlayan' seçeneğini etkinleştirirseniz, kullanıcılar bir veri varlığına uygulamak için yalnızca bir {{child-entity}} kullanmakla sınırlandırılacaktır. Bu seçenek etkinleştirildikten sonra devre dışı bırakılamaz.",
"name-of-the-bucket-dbt-files-stored": "dbt dosyalarının saklandığı kovanın adı.",
"natural-language-search-active": "Doğal dil araması aktif. Basit ifadeler kullanarak varlıkları arayın. Arama modunu sıfırlamak için tekrar tıklayın.",
"need-help-message": "Yardıma mı ihtiyacınız var? <0>{{doc}}</0>.",
@ -2150,7 +2152,7 @@
"user-verified-successfully": "Kullanıcı Başarıyla Doğrulandı",
"valid-url-endpoint": "Uç noktalar geçerli URL olmalıdır",
"validation-error-assets": "Lütfen eklenen tüm varlıklarınızı inceleyin",
"value-must-be-greater-than": "{{field}} değeri {{minimum}} dan büyük olmalıdır.",
"value-must-be-greater-than": "{{field}} değeri {{minimum}} dan büyük olmalıdır.",
"value-should-equal-to-value": "Değer {{value}} değerine eşit olmalıdır.",
"value-should-not-equal-to-value": "Değer {{value}} değerine eşit olmamalıdır.",
"version-released-try-now": "{{version}} Yayınlandı <0>Yeniliklere Göz Atın!</0>",
@ -2164,7 +2166,7 @@
"welcome-screen-message": "Tüm verilerinizi tek bir yerde keşfedin ve güvenebileceğiniz veriler üzerinde ekibinizle sorunsuz bir şekilde işbirliği yapın.",
"welcome-to-om": "OpenMetadata'ya Hoş Geldiniz!",
"welcome-to-open-metadata": "OpenMetadata'ya Hoş Geldiniz!",
"workflow-status-exception": "AutoPilot uygulaması bir istisnayla karşılaştı.",
"workflow-status-exception": "AutoPilot uygulaması bir istisnayla karşılaştı.",
"workflow-status-failure": "AutoPilot uygulama çalıştırması başarısız oldu.",
"workflow-status-failure-description": "Daha fazla ayrıntı için lütfen uygulama çalıştırma günlüklerini kontrol edin. Uygulama sayfasından iş akışını yeniden tetikleyebilirsiniz.",
"workflow-status-finished": "AutoPilot uygulama çalıştırması başarıyla tamamlandı.",

View File

@ -1838,6 +1838,7 @@
"metric-description": "Track the health of your data assets with metrics.",
"minimum-value-error": "最小值应小于最大值",
"minute": "分钟",
"missing-config-value": "缺少配置值:{{field}}",
"modify-hierarchy-entity-description": "通过更改父{{entity}}来修改层级结构.",
"most-active-users": "显示平台上最活跃的用户(基于页面浏览量)",
"most-expensive-queries-widget-description": "服务中数据资产的前 5 个最昂贵查询。<0>了解更多。</0>",

View File

@ -440,3 +440,24 @@ export const parseMSALResponse = (response: AuthenticationResult): OidcUser => {
return user;
};
export const requiredAuthFields = [
'authority',
'clientId',
'callbackUrl',
'provider',
];
export const validateAuthFields = (
configJson: AuthenticationConfigurationWithScope,
t: (key: string, options?: any) => string
) => {
requiredAuthFields.forEach((field) => {
const value =
configJson[field as keyof AuthenticationConfigurationWithScope];
if (isEmpty(value)) {
// eslint-disable-next-line no-console
console.warn(t('message.missing-config-value', { field }));
}
});
};