Conversation
Contantstack logo and favicon updated according to new branding
Dev to Stage Push
Dev to Stage Push
Dev to Stage Push
Dev To Stage Push
Pre-Stage pr
Dev to Stage PR
Dev to Stage
staging to Prod
Dev - snyk fixes
Dev to pre-stage
…elper functions for database connection and taxonomies retrieval; implement Drupal service for asset management and migration processes.
…n; refactor aem.service.ts to improve UID handling and modular block processing; enhance content type schema management in content-type-creator.utils.ts; add support for modular blocks in contentMapper interface and index files.
…; add migration-aem dependencies and devDependencies for improved functionality and compatibility.
There was a problem hiding this comment.
Pull request overview
This PR introduces Drupal-only (SQL-based) migration support across the upload API, backend API, and UI, including Drupal-specific validation, mapper generation, and taxonomy handling.
Changes:
- Add Drupal SQL validator + mapper generation flow in
upload-api(including a newmigration-drupalmodule). - Add Drupal migration services in
api(taxonomies, locales, references, content-type schema generation, and query optimizations) plus a new endpoint to fetch taxonomies. - Update UI to support SQL “connection validation” flows and taxonomy selection, plus enhancements around modular blocks/reference handling.
Reviewed changes
Copilot reviewed 55 out of 58 changed files in this pull request and generated 17 comments.
Show a summary per file
| File | Description |
|---|---|
| upload-api/src/validators/index.ts | Adds Drupal SQL validator routing and passes assetsConfig. |
| upload-api/src/validators/drupal/index.ts | New Drupal DB/assets validation via MySQL + HEAD checks. |
| upload-api/src/utils/sanitize-path.utils.ts | New path/filename sanitization helpers. |
| upload-api/src/services/fileProcessing.ts | Adds SQL validation branch and buffer safety checks. |
| upload-api/src/services/drupal/index.ts | New Drupal mapper creation and taxonomy/locale extraction integration. |
| upload-api/src/services/createMapper.ts | Adds Drupal mapper support and global migration-data cleanup. |
| upload-api/src/models/types.ts | Extends config types with SQL/MySQL/assets config fields. |
| upload-api/src/helper/index.ts | Adds MySQL connection helpers (currently not exported). |
| upload-api/src/config/index.ts | Switches defaults to Drupal/SQL and adds MySQL/assets defaults. |
| upload-api/package.json | Adds Drupal deps (migration-drupal, mysql2, php-serialize) and bumps versions. |
| upload-api/migration-drupal/utils/restrictedKeyWords/index.json | Adds restricted keyword list for Drupal mapping. |
| upload-api/migration-drupal/utils/helper.js | Adds helper utilities and MySQL connection for Drupal module. |
| upload-api/migration-drupal/libs/extractTaxonomy.js | Extracts taxonomy vocabularies from Drupal DB and writes schema JSON. |
| upload-api/migration-drupal/libs/extractLocale.js | Extracts/transforms locales from Drupal DB. |
| upload-api/migration-drupal/libs/createInitialMapper.js | Generates initial Drupal content-type mapper/schema files. |
| upload-api/migration-drupal/index.js | Exposes Drupal migration module entry points. |
| upload-api/migration-drupal/config/index.json | Drupal migration module configuration and query templates. |
| ui/src/services/api/migration.service.ts | Adds API call to fetch existing taxonomies. |
| ui/src/pages/Migration/index.tsx | Minor cleanup. |
| ui/src/context/app/app.interface.ts | Extends file details for SQL/MySQL/assets config. |
| ui/src/components/LegacyCms/Actions/LoadUploadFile.tsx | Updates validation UX for SQL connections + source locale refresh. |
| ui/src/components/LegacyCms/Actions/LoadSelectCms.tsx | Persists SQL/MySQL/assets config into Redux during CMS selection. |
| ui/src/components/LegacyCms/Actions/LoadFileFormat.tsx | Displays SQL format label while preserving icon title mapping. |
| ui/src/components/DestinationStack/Actions/LoadStacks.tsx | Alters locale dispatch sequencing (introduces timeout-based ordering). |
| ui/src/components/DestinationStack/Actions/LoadLanguageMapper.tsx | Improves reactivity for source locale changes. |
| ui/src/components/ContentMapper/index.tsx | Adds taxonomy field type + modular blocks handling improvements. |
| ui/src/components/ContentMapper/contentMapper.interface.ts | Adds taxonomy/modular-block typing and referenceTo compatibility. |
| ui/src/components/AdvancePropertise/index.tsx | Adds taxonomy selection UI and taxonomy fetching logic. |
| ui/src/cmsData/legacyCms.json | Adjusts Drupal supported format to SQL and removes older Drupal variants. |
| ui/package.json | Bumps UI dependencies. |
| ui/package-lock.json | Lockfile updates for bumped UI dependencies. |
| package.json | Adds/bumps top-level resolutions (lodash/undici). |
| package-lock.json | Lockfile update for top-level lodash bump. |
| api/src/utils/optimized-query-builder.utils.ts | Adds query generation strategies to avoid MySQL JOIN limits. |
| api/src/utils/content-type-creator.utils.ts | Adds taxonomy + modular blocks schema support and export adjustments. |
| api/src/utils/batch-processor.utils.ts | Adds generic batch processor utility for large datasets. |
| api/src/services/projects.service.ts | Adds (currently unused) drupalService import. |
| api/src/services/drupal/version.service.ts | Adds export-info version metadata writer for Drupal migrations. |
| api/src/services/drupal/taxonomy.service.ts | Implements Drupal taxonomy export and consolidated taxonomy metadata output. |
| api/src/services/drupal/references.service.ts | Implements Drupal references export + taxonomy reference mapping generation. |
| api/src/services/drupal/locales.service.ts | Implements Drupal locale extraction + mapping to destination locales. |
| api/src/services/drupal/field-fetcher.service.ts | Fetches field data without exceeding JOIN limits. |
| api/src/services/drupal/field-analysis.service.ts | Analyzes Drupal field configs (taxonomy/reference/asset) + transforms values. |
| api/src/services/drupal/content-types.service.ts | Converts upload-api Drupal schemas to API content-type schemas. |
| api/src/services/drupal.service.ts | Aggregates Drupal migration services behind one service object. |
| api/src/services/aem.service.ts | Improves modular blocks processing and CT UID resolution via keyMapper. |
| api/src/routes/contentMapper.routes.ts | Adds route to fetch existing taxonomies. |
| api/src/helper/index.ts | Adds MySQL connection helpers with timeout + logging. |
| api/src/controllers/projects.contentMapper.controller.ts | Adds controller method for taxonomies endpoint. |
| api/src/constants/index.ts | Adds CMS.DRUPAL and formatting/quoting consistency updates. |
| api/package.json | Adds Drupal deps (mysql2, php-serialize) and bumps CLI-related packages. |
Files not reviewed (1)
- ui/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…move MySQL connection functions from helper module and clean up configuration settings for local path.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 54 out of 57 changed files in this pull request and generated 9 comments.
Files not reviewed (1)
- ui/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…sole.info statements; clean up error handling in contentMapper and migration services by removing redundant parameters and improving readability.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 55 out of 58 changed files in this pull request and generated 6 comments.
Files not reviewed (1)
- ui/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)
ui/src/cmsData/legacyCms.json:113
- The Drupal allowed file format title was changed from a user-facing value (e.g., "Sql") to "ApiTokens", and UI code now special-cases that string to display "SQL". This will leak "ApiTokens" into other UI surfaces (e.g., selection cards, persisted data) and couples behavior to a magic title. Keep the title as "SQL" (or "Sql") and handle any icon/label mapping without renaming the underlying data.
"allowed_file_formats": [
{
"fileformat_id": "sql",
"title": "ApiTokens",
"description": "",
"group_name": "sql",
"isactive": true,
"_metadata": {
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ure consistent error management and resource cleanup; enhance SQL query safety with parameterized queries and validation functions to prevent SQL injection vulnerabilities.
…g null checks and improving UID handling; ensure consistent access to field properties for better error prevention and readability.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 55 out of 58 changed files in this pull request and generated 3 comments.
Files not reviewed (1)
- ui/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…on; implement null checks and ensure proper array handling for better stability and readability across project and Drupal services.
No description provided.