Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 14 additions & 16 deletions api/src/services/drupal.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { createRefrence } from './drupal/references.service.js';
import { createTaxonomy } from './drupal/taxonomy.service.js';
import { createVersionFile } from './drupal/version.service.js';
import { createQuery, createQueryConfig } from './drupal/query.service.js';
import { generateContentTypeSchemas } from './drupal/content-types.service.js';
import type { DbConfig, AssetsConfig } from './drupal/interface.js';

/**
* Drupal migration service with SQL-based data extraction.
Expand All @@ -16,24 +16,22 @@ import { generateContentTypeSchemas } from './drupal/content-types.service.js';
*
* IMPORTANT: Run in this order for proper dependency resolution:
* 1. createQuery - Generate dynamic queries from database analysis (MUST RUN FIRST)
* 2. generateContentTypeSchemas - Convert upload-api schema to API content types (MUST RUN AFTER upload-api)
* 3. createAssets - Extract assets first (needed by entries)
* 4. createRefrence - Create reference mappings (needed by entries)
* 5. createTaxonomy - Extract taxonomies (needed by entries for taxonomy references)
* 6. createEntry - Process entries (uses assets, references, and taxonomies)
* 7. createLocale - Create locale configurations
* 8. createVersionFile - Create version metadata file
* 2. createAssets - Extract assets first (needed by entries)
* 3. createRefrence - Create reference mappings (needed by entries)
* 4. createTaxonomy - Extract taxonomies (needed by entries for taxonomy references)
* 5. createEntry - Process entries (uses assets, references, and taxonomies)
* 6. createLocale - Create locale configurations
* 7. createVersionFile - Create version metadata file
*/
export const drupalService = {
createQuery, // Generate dynamic queries from database analysis (MUST RUN FIRST)
createQueryConfig, // Helper: Create query configuration file for dynamic SQL
generateContentTypeSchemas, // Convert upload-api schema to API content types (MUST RUN AFTER upload-api)
createAssets: (
dbConfig: any,
dbConfig: DbConfig,
destination_stack_id: string,
projectId: string,
isTest = false,
assetsConfig?: any
assetsConfig?: AssetsConfig
) => {
return createAssets(
dbConfig,
Expand All @@ -47,22 +45,22 @@ export const drupalService = {
createRefrence, // Create reference mappings for relationships (run before entries)
createTaxonomy, // Extract and process Drupal taxonomies (vocabularies and terms)
createEntry: (
dbConfig: any,
dbConfig: DbConfig,
destination_stack_id: string,
projectId: string,
isTest = false,
masterLocale = 'en-us',
contentTypeMapping: any[] = [],
project: any = null
project: Record<string, unknown> | null = null,
contentTypes: Record<string, unknown>[] = []
) => {
return createEntry(
dbConfig,
destination_stack_id,
projectId,
isTest,
masterLocale,
contentTypeMapping,
project
project,
contentTypes
);
},
createLocale, // Create locale configurations
Expand Down
Loading
Loading