From da5cfff72452bc71b67bf2c581545a748635dfd0 Mon Sep 17 00:00:00 2001 From: Shrushti Polekar Date: Tue, 3 Jun 2025 20:02:31 +0530 Subject: [PATCH] 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 --- .../Auth/AuthProviders/AuthProvider.tsx | 2 ++ .../ui/src/locale/languages/de-de.json | 1 + .../ui/src/locale/languages/en-us.json | 1 + .../ui/src/locale/languages/es-es.json | 1 + .../ui/src/locale/languages/fr-fr.json | 1 + .../ui/src/locale/languages/gl-es.json | 1 + .../ui/src/locale/languages/he-he.json | 1 + .../ui/src/locale/languages/ja-jp.json | 1 + .../ui/src/locale/languages/ko-kr.json | 1 + .../ui/src/locale/languages/mr-in.json | 1 + .../ui/src/locale/languages/nl-nl.json | 1 + .../ui/src/locale/languages/pr-pr.json | 1 + .../ui/src/locale/languages/pt-br.json | 1 + .../ui/src/locale/languages/pt-pt.json | 1 + .../ui/src/locale/languages/ru-ru.json | 1 + .../ui/src/locale/languages/th-th.json | 1 + .../ui/src/locale/languages/tr-tr.json | 1 + .../ui/src/locale/languages/zh-cn.json | 1 + .../ui/src/utils/AuthProvider.util.ts | 21 +++++++++++++++++++ 19 files changed, 40 insertions(+) diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx index 07868820bd5..ebe5a11a5fe 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Auth/AuthProviders/AuthProvider.tsx @@ -74,6 +74,7 @@ import { getUrlPathnameExpiry, getUserManagerConfig, 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); diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json index 3b276439d9e..11bce8d369b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json index e5adc803c43..ba0204c91ca 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json index f52317b483b..e850c8e3176 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json index d13edc677f1..1be240cb3fd 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json index 10fa0ba262e..4d18eb3ca87 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/gl-es.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json index d0485f4ee34..ea65a136769 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/he-he.json @@ -1841,6 +1841,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>למד עוד.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json index 6f72360ce36..bf586b0ca72 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json @@ -1841,6 +1841,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>詳細を見る。", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json index 36c752978e2..864356c7f9a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json @@ -1841,6 +1841,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>자세히 알아보기.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json index b71d76457e2..add0d2b0b68 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/mr-in.json @@ -1841,6 +1841,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>अधिक जाणून घ्या.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json index 48313eaee91..454d1a05ed7 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/nl-nl.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json index a4d3a1799bf..fe6f37101be 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json @@ -1841,6 +1841,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>بیشتر بدانید.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json index 73cb93f7b61..bea0120623b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json @@ -1841,6 +1841,7 @@ "metric-description": "Monitore a saúde dos seus ativos de dados por meio de métricas.", "minimum-value-error": "O valor mínimo deve ser menor que o valor máximo.", "minute": "Minuto", + "missing-config-value": "Valor de configuração ausente: {{field}}", "modify-hierarchy-entity-description": "Modifique a hierarquia alterando o Pai {{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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json index 0d5a7e555dc..d2581924195 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-pt.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json index 5e081ce437b..8e29f18e210 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json @@ -1841,6 +1841,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>узнать больше.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json index 5b838320081..1e3de779537 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/th-th.json @@ -1841,6 +1841,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>เรียนรู้เพิ่มเติม", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json index 3817bd09fd1..4444547b585 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/tr-tr.json @@ -1841,6 +1841,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.", diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json index 1e2402dd32c..d7a84944388 100644 --- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json +++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json @@ -1841,6 +1841,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>了解更多。", diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts index 9af5e45a1bb..2f509b106ab 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts @@ -420,3 +420,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 })); + } + }); +};