From 3b66cb5f90eab95a75ce83934cc7293ee8e0117c Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Fri, 7 Nov 2025 17:01:52 +0100 Subject: [PATCH 1/9] add base voltages config to app metadata --- src/services/appsMetadata.ts | 6 +++++- src/utils/types/metadata.ts | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/services/appsMetadata.ts b/src/services/appsMetadata.ts index 320de9418..ecb0bb480 100644 --- a/src/services/appsMetadata.ts +++ b/src/services/appsMetadata.ts @@ -4,7 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { Metadata, StudyMetadata } from '../utils'; +import { BaseVoltagesCongig, Metadata, StudyMetadata } from '../utils'; // https://github.com/gridsuite/deployment/blob/main/docker-compose/docker-compose.base.yml // https://github.com/gridsuite/deployment/blob/main/k8s/resources/common/config/apps-metadata.json @@ -61,3 +61,7 @@ export const fetchDefaultCountry = async (): Promise => { const studyMetadata = await fetchStudyMetadata(); return studyMetadata.defaultCountry; }; +export async function fetchBaseVoltagesConfig(): Promise { + const studyMetadata = await fetchStudyMetadata(); + return studyMetadata.baseVoltagesCongig; +} diff --git a/src/utils/types/metadata.ts b/src/utils/types/metadata.ts index f5f1076ff..a556a3e46 100644 --- a/src/utils/types/metadata.ts +++ b/src/utils/types/metadata.ts @@ -19,6 +19,22 @@ export type Metadata = { resources?: MetaDataRessources[]; }; +type ThemeColors = Record; + +type BaseVoltageCongig = { + name: string; + vlValue: number; + minValue: number; + maxValue: number; + label: string; + mapColor: string; + darkThemeColors: ThemeColors; + lightThemeColors: ThemeColors; + profile: string; +} + +export type BaseVoltagesCongig = BaseVoltageCongig[]; + export type StudyMetadata = Metadata & { name: 'Study'; predefinedEquipmentProperties?: { @@ -30,4 +46,5 @@ export type StudyMetadata = Metadata & { defaultCountry?: string; favoriteCountries?: string[]; substationPropertiesGlobalFilters?: Map; // used to generate user specific global filters + baseVoltagesCongig?: BaseVoltagesCongig; }; From 79b42a1cdce6ccbc892089df33a6a70e45f916ef Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Sat, 8 Nov 2025 02:21:47 +0100 Subject: [PATCH 2/9] fix --- src/services/appsMetadata.ts | 6 +----- src/utils/types/metadata.ts | 8 +++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/services/appsMetadata.ts b/src/services/appsMetadata.ts index ecb0bb480..320de9418 100644 --- a/src/services/appsMetadata.ts +++ b/src/services/appsMetadata.ts @@ -4,7 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { BaseVoltagesCongig, Metadata, StudyMetadata } from '../utils'; +import { Metadata, StudyMetadata } from '../utils'; // https://github.com/gridsuite/deployment/blob/main/docker-compose/docker-compose.base.yml // https://github.com/gridsuite/deployment/blob/main/k8s/resources/common/config/apps-metadata.json @@ -61,7 +61,3 @@ export const fetchDefaultCountry = async (): Promise => { const studyMetadata = await fetchStudyMetadata(); return studyMetadata.defaultCountry; }; -export async function fetchBaseVoltagesConfig(): Promise { - const studyMetadata = await fetchStudyMetadata(); - return studyMetadata.baseVoltagesCongig; -} diff --git a/src/utils/types/metadata.ts b/src/utils/types/metadata.ts index a556a3e46..f5040620b 100644 --- a/src/utils/types/metadata.ts +++ b/src/utils/types/metadata.ts @@ -21,7 +21,7 @@ export type Metadata = { type ThemeColors = Record; -type BaseVoltageCongig = { +export type BaseVoltageConfig = { name: string; vlValue: number; minValue: number; @@ -31,9 +31,7 @@ type BaseVoltageCongig = { darkThemeColors: ThemeColors; lightThemeColors: ThemeColors; profile: string; -} - -export type BaseVoltagesCongig = BaseVoltageCongig[]; +}; export type StudyMetadata = Metadata & { name: 'Study'; @@ -46,5 +44,5 @@ export type StudyMetadata = Metadata & { defaultCountry?: string; favoriteCountries?: string[]; substationPropertiesGlobalFilters?: Map; // used to generate user specific global filters - baseVoltagesCongig?: BaseVoltagesCongig; + baseVoltagesConfig?: BaseVoltageConfig[]; }; From e4655bef7e8f95f8e34d7020f4f2791e8cc1b6a5 Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Wed, 12 Nov 2025 09:50:34 +0100 Subject: [PATCH 3/9] add property --- src/utils/types/metadata.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/utils/types/metadata.ts b/src/utils/types/metadata.ts index f5040620b..e69000820 100644 --- a/src/utils/types/metadata.ts +++ b/src/utils/types/metadata.ts @@ -21,6 +21,11 @@ export type Metadata = { type ThemeColors = Record; +type SldAndNadColors = { + darkThemeColors: ThemeColors; + lightThemeColors: ThemeColors; +}; + export type BaseVoltageConfig = { name: string; vlValue: number; @@ -28,8 +33,7 @@ export type BaseVoltageConfig = { maxValue: number; label: string; mapColor: string; - darkThemeColors: ThemeColors; - lightThemeColors: ThemeColors; + sldAndNadColors: SldAndNadColors; profile: string; }; @@ -44,5 +48,5 @@ export type StudyMetadata = Metadata & { defaultCountry?: string; favoriteCountries?: string[]; substationPropertiesGlobalFilters?: Map; // used to generate user specific global filters - baseVoltagesConfig?: BaseVoltageConfig[]; + baseVoltagesConfig?: BaseVoltageConfig[]; // use to define the voltage ranges and their colors }; From aafd2cacd59975000c0e8b1056901fca5ff3091a Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Fri, 7 Nov 2025 17:01:52 +0100 Subject: [PATCH 4/9] add base voltages config to app metadata --- src/services/appsMetadata.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/services/appsMetadata.ts b/src/services/appsMetadata.ts index 320de9418..ecb0bb480 100644 --- a/src/services/appsMetadata.ts +++ b/src/services/appsMetadata.ts @@ -4,7 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { Metadata, StudyMetadata } from '../utils'; +import { BaseVoltagesCongig, Metadata, StudyMetadata } from '../utils'; // https://github.com/gridsuite/deployment/blob/main/docker-compose/docker-compose.base.yml // https://github.com/gridsuite/deployment/blob/main/k8s/resources/common/config/apps-metadata.json @@ -61,3 +61,7 @@ export const fetchDefaultCountry = async (): Promise => { const studyMetadata = await fetchStudyMetadata(); return studyMetadata.defaultCountry; }; +export async function fetchBaseVoltagesConfig(): Promise { + const studyMetadata = await fetchStudyMetadata(); + return studyMetadata.baseVoltagesCongig; +} From 785d91dcc88130ca6047abd6513b7246acb15524 Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Sat, 8 Nov 2025 02:21:47 +0100 Subject: [PATCH 5/9] fix --- src/services/appsMetadata.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/services/appsMetadata.ts b/src/services/appsMetadata.ts index ecb0bb480..320de9418 100644 --- a/src/services/appsMetadata.ts +++ b/src/services/appsMetadata.ts @@ -4,7 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { BaseVoltagesCongig, Metadata, StudyMetadata } from '../utils'; +import { Metadata, StudyMetadata } from '../utils'; // https://github.com/gridsuite/deployment/blob/main/docker-compose/docker-compose.base.yml // https://github.com/gridsuite/deployment/blob/main/k8s/resources/common/config/apps-metadata.json @@ -61,7 +61,3 @@ export const fetchDefaultCountry = async (): Promise => { const studyMetadata = await fetchStudyMetadata(); return studyMetadata.defaultCountry; }; -export async function fetchBaseVoltagesConfig(): Promise { - const studyMetadata = await fetchStudyMetadata(); - return studyMetadata.baseVoltagesCongig; -} From 29139df77b3c63205fd502f0d5c4332bf7bbcae0 Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Wed, 19 Nov 2025 11:30:27 +0100 Subject: [PATCH 6/9] remove data from base voltages config metadata --- src/services/appsMetadata.ts | 13 ++++++++++--- src/utils/types/metadata.ts | 31 ++++++++++++++----------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/services/appsMetadata.ts b/src/services/appsMetadata.ts index 320de9418..92d77c30d 100644 --- a/src/services/appsMetadata.ts +++ b/src/services/appsMetadata.ts @@ -4,7 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { Metadata, StudyMetadata } from '../utils'; +import { BaseVoltageConfig, Metadata, StudyMetadata } from '../utils'; // https://github.com/gridsuite/deployment/blob/main/docker-compose/docker-compose.base.yml // https://github.com/gridsuite/deployment/blob/main/k8s/resources/common/config/apps-metadata.json @@ -39,14 +39,21 @@ export function isStudyMetadata(metadata: Metadata): metadata is StudyMetadata { export async function fetchStudyMetadata(): Promise { console.info(`Fetching study metadata...`); - const studyMetadata = (await fetchAppsMetadata()).filter(isStudyMetadata); + const studyMetadata = (await fetchAppsMetadata()).find(isStudyMetadata); if (!studyMetadata) { throw new Error('Study entry could not be found in metadata'); } else { - return studyMetadata[0]; // There should be only one study metadata + return studyMetadata; // There should be only one study metadata } } +export async function fetchBaseVoltagesConfig(): Promise { + console.info(`Fetching apps' base voltages configuration...`); + const env = await fetchEnv(); + const res = await fetch(`${env.appsMetadataServerUrl}/apps-metadata-base-voltages.json`); + return res.json(); +} + export async function fetchFavoriteAndDefaultCountries(): Promise<{ favoriteCountries: string[]; defaultCountry?: string; diff --git a/src/utils/types/metadata.ts b/src/utils/types/metadata.ts index e69000820..bc9cedbb1 100644 --- a/src/utils/types/metadata.ts +++ b/src/utils/types/metadata.ts @@ -19,8 +19,20 @@ export type Metadata = { resources?: MetaDataRessources[]; }; -type ThemeColors = Record; +export type StudyMetadata = Metadata & { + name: 'Study'; + predefinedEquipmentProperties?: { + [networkElementType: string]: PredefinedProperties; + }; + defaultParametersValues?: { + enableDeveloperMode?: boolean; + }; + defaultCountry?: string; + favoriteCountries?: string[]; + substationPropertiesGlobalFilters?: Map; // used to generate user specific global filters +}; +type ThemeColors = Record; type SldAndNadColors = { darkThemeColors: ThemeColors; lightThemeColors: ThemeColors; @@ -31,22 +43,7 @@ export type BaseVoltageConfig = { vlValue: number; minValue: number; maxValue: number; - label: string; mapColor: string; sldAndNadColors: SldAndNadColors; - profile: string; -}; - -export type StudyMetadata = Metadata & { - name: 'Study'; - predefinedEquipmentProperties?: { - [networkElementType: string]: PredefinedProperties; - }; - defaultParametersValues?: { - enableDeveloperMode?: boolean; - }; - defaultCountry?: string; - favoriteCountries?: string[]; - substationPropertiesGlobalFilters?: Map; // used to generate user specific global filters - baseVoltagesConfig?: BaseVoltageConfig[]; // use to define the voltage ranges and their colors }; +export type BaseVoltagesConfig = BaseVoltageConfig[]; // used to define the voltage ranges and their colors From ffd58eb57518df07d74afa86601a14810c0e9099 Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Wed, 19 Nov 2025 16:59:12 +0100 Subject: [PATCH 7/9] change base voltages definition --- src/services/appsMetadata.ts | 6 +++--- src/utils/types/metadata.ts | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/services/appsMetadata.ts b/src/services/appsMetadata.ts index 92d77c30d..fb489cac9 100644 --- a/src/services/appsMetadata.ts +++ b/src/services/appsMetadata.ts @@ -4,7 +4,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -import { BaseVoltageConfig, Metadata, StudyMetadata } from '../utils'; +import { BaseVoltage, Metadata, StudyMetadata } from '../utils'; // https://github.com/gridsuite/deployment/blob/main/docker-compose/docker-compose.base.yml // https://github.com/gridsuite/deployment/blob/main/k8s/resources/common/config/apps-metadata.json @@ -47,8 +47,8 @@ export async function fetchStudyMetadata(): Promise { } } -export async function fetchBaseVoltagesConfig(): Promise { - console.info(`Fetching apps' base voltages configuration...`); +export async function fetchBaseVoltages(): Promise { + console.info(`Fetching apps' base voltages...`); const env = await fetchEnv(); const res = await fetch(`${env.appsMetadataServerUrl}/apps-metadata-base-voltages.json`); return res.json(); diff --git a/src/utils/types/metadata.ts b/src/utils/types/metadata.ts index bc9cedbb1..f261b28f5 100644 --- a/src/utils/types/metadata.ts +++ b/src/utils/types/metadata.ts @@ -39,11 +39,14 @@ type SldAndNadColors = { }; export type BaseVoltageConfig = { + // used when calling powsybl server name: string; - vlValue: number; minValue: number; maxValue: number; + profile: string; +}; +export type BaseVoltage = BaseVoltageConfig & { + // used to define the voltage ranges and their colors mapColor: string; sldAndNadColors: SldAndNadColors; }; -export type BaseVoltagesConfig = BaseVoltageConfig[]; // used to define the voltage ranges and their colors From 3f804b813c09d8d16b90fab62832acd4bec03f86 Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Mon, 24 Nov 2025 17:20:31 +0100 Subject: [PATCH 8/9] remove `profile` property from base voltages config metadata --- src/utils/types/metadata.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utils/types/metadata.ts b/src/utils/types/metadata.ts index f261b28f5..0e9f3d2b3 100644 --- a/src/utils/types/metadata.ts +++ b/src/utils/types/metadata.ts @@ -43,7 +43,6 @@ export type BaseVoltageConfig = { name: string; minValue: number; maxValue: number; - profile: string; }; export type BaseVoltage = BaseVoltageConfig & { // used to define the voltage ranges and their colors From c0c72a645edf05bfff8a14d0e1d012cad375fdb6 Mon Sep 17 00:00:00 2001 From: Caroline Jeandat Date: Mon, 24 Nov 2025 17:39:50 +0100 Subject: [PATCH 9/9] fix property name --- src/utils/types/metadata.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/types/metadata.ts b/src/utils/types/metadata.ts index 0e9f3d2b3..ef0a91106 100644 --- a/src/utils/types/metadata.ts +++ b/src/utils/types/metadata.ts @@ -46,6 +46,6 @@ export type BaseVoltageConfig = { }; export type BaseVoltage = BaseVoltageConfig & { // used to define the voltage ranges and their colors - mapColor: string; + networkMapColor: string; sldAndNadColors: SldAndNadColors; };