From 7ef19d1444add97c07a5443e32bcd402badb9edc Mon Sep 17 00:00:00 2001 From: yashin4112 Date: Fri, 8 May 2026 11:27:13 +0530 Subject: [PATCH 1/2] fix: move drupal locale save API call before mapper creation to fix empty dropdown on step2 --- upload-api/src/services/drupal/index.ts | 53 +++++++++++++------------ 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/upload-api/src/services/drupal/index.ts b/upload-api/src/services/drupal/index.ts index e897ef601..8dcfacae7 100644 --- a/upload-api/src/services/drupal/index.ts +++ b/upload-api/src/services/drupal/index.ts @@ -24,6 +24,33 @@ const createDrupalMapper = async ( const localeData = await extractLocale(config); + // 🔧 CRITICAL: Always normalize to lowercase before saving + const localeArray = Array.from(localeData).map((locale: any) => { + const localeValue = typeof locale === 'string' ? locale : (locale?.code || locale?.value || locale); + return (localeValue || '').toLowerCase(); + }).filter((locale: string) => locale && locale.length > 0); + + const mapperConfig = { + method: 'post', + maxBodyLength: Infinity, + url: `${process.env.NODE_BACKEND_API}/v2/migration/localeMapper/${projectId}`, + headers: { + app_token, + 'Content-Type': 'application/json' + }, + data: { + locale: localeArray + } + }; + + const mapRes = await axios.request(mapperConfig); + if (mapRes?.status == 200) { + logger.info('Legacy CMS', { + status: HTTP_CODES?.OK, + message: HTTP_TEXTS?.LOCALE_SAVED + }); + } + // Extract taxonomy vocabularies and save to drupalMigrationData await extractTaxonomy(config.mysql); @@ -79,32 +106,6 @@ const createDrupalMapper = async ( }); } - // 🔧 CRITICAL: Always normalize to lowercase before saving - const localeArray = Array.from(localeData).map((locale: any) => { - const localeValue = typeof locale === 'string' ? locale : (locale?.code || locale?.value || locale); - return (localeValue || '').toLowerCase(); - }).filter((locale: string) => locale && locale.length > 0); - - const mapperConfig = { - method: 'post', - maxBodyLength: Infinity, - url: `${process.env.NODE_BACKEND_API}/v2/migration/localeMapper/${projectId}`, - headers: { - app_token, - 'Content-Type': 'application/json' - }, - data: { - locale: localeArray - } - }; - - const mapRes = await axios.request(mapperConfig); - if (mapRes?.status == 200) { - logger.info('Legacy CMS', { - status: HTTP_CODES?.OK, - message: HTTP_TEXTS?.LOCALE_SAVED - }); - } } catch (err: any) { logger.warn('Validation error:', { status: HTTP_CODES?.UNAUTHORIZED, From 64985d9ca10e6c9338d72a37113df9588e30cf7f Mon Sep 17 00:00:00 2001 From: yashin4112 Date: Fri, 8 May 2026 12:44:13 +0530 Subject: [PATCH 2/2] fix: null check added on config --- upload-api/src/services/drupal/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upload-api/src/services/drupal/index.ts b/upload-api/src/services/drupal/index.ts index 8dcfacae7..63b33ad0f 100644 --- a/upload-api/src/services/drupal/index.ts +++ b/upload-api/src/services/drupal/index.ts @@ -52,7 +52,7 @@ const createDrupalMapper = async ( } // Extract taxonomy vocabularies and save to drupalMigrationData - await extractTaxonomy(config.mysql); + await extractTaxonomy(config?.mysql); const initialMapper = await createInitialMapper(config, affix);