Skip to content

Feature/only drupal#934

Merged
sayalijoshi27 merged 40 commits intodevfrom
feature/only-drupal
Feb 4, 2026
Merged

Feature/only drupal#934
sayalijoshi27 merged 40 commits intodevfrom
feature/only-drupal

Conversation

@sauravraw
Copy link
Contributor

No description provided.

sayalijoshi27 and others added 30 commits September 23, 2025 16:47
Contantstack logo and favicon updated according to new branding
…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.
@sauravraw sauravraw requested a review from a team as a code owner February 4, 2026 05:59
…; add migration-aem dependencies and devDependencies for improved functionality and compatibility.
@umeshmore45 umeshmore45 requested a review from Copilot February 4, 2026 06:40
@umeshmore45 umeshmore45 changed the base branch from main to dev February 4, 2026 06:41
@umeshmore45 umeshmore45 requested a review from a team as a code owner February 4, 2026 06:41
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 new migration-drupal module).
  • 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.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
@sayalijoshi27 sayalijoshi27 merged commit 3756fde into dev Feb 4, 2026
7 checks passed
@sayalijoshi27 sayalijoshi27 deleted the feature/only-drupal branch February 4, 2026 13:21
@sayalijoshi27 sayalijoshi27 restored the feature/only-drupal branch February 4, 2026 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants