@kontent-ai/migration-toolkit 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +79 -67
  2. package/dist/es2022/core/helpers/workflow-helper.d.ts +1 -0
  3. package/dist/es2022/core/helpers/workflow-helper.js +6 -4
  4. package/dist/es2022/core/helpers/workflow-helper.js.map +1 -1
  5. package/dist/es2022/core/logs/loggers.js +13 -22
  6. package/dist/es2022/core/logs/loggers.js.map +1 -1
  7. package/dist/es2022/core/models/core.models.d.ts +16 -6
  8. package/dist/es2022/core/models/migration.models.d.ts +9 -9
  9. package/dist/es2022/core/models/migration.schema.d.ts +247 -0
  10. package/dist/es2022/core/models/migration.schema.js +12 -2
  11. package/dist/es2022/core/models/migration.schema.js.map +1 -1
  12. package/dist/es2022/core/utils/array.utils.js.map +1 -1
  13. package/dist/es2022/core/utils/binary-data.utils.js +2 -6
  14. package/dist/es2022/core/utils/binary-data.utils.js.map +1 -1
  15. package/dist/es2022/core/utils/confirm.utils.js +10 -14
  16. package/dist/es2022/core/utils/confirm.utils.js.map +1 -1
  17. package/dist/es2022/core/utils/error.utils.js +35 -27
  18. package/dist/es2022/core/utils/error.utils.js.map +1 -1
  19. package/dist/es2022/core/utils/http.utils.js +7 -11
  20. package/dist/es2022/core/utils/http.utils.js.map +1 -1
  21. package/dist/es2022/core/utils/management-client-utils.d.ts +2 -1
  22. package/dist/es2022/core/utils/management-client-utils.js +12 -2
  23. package/dist/es2022/core/utils/management-client-utils.js.map +1 -1
  24. package/dist/es2022/core/utils/run.utils.js +12 -10
  25. package/dist/es2022/core/utils/run.utils.js.map +1 -1
  26. package/dist/es2022/export/context/export-context-fetcher.js +2 -1
  27. package/dist/es2022/export/context/export-context-fetcher.js.map +1 -1
  28. package/dist/es2022/export/export-manager.js +8 -0
  29. package/dist/es2022/export/export-manager.js.map +1 -1
  30. package/dist/es2022/export/export.models.d.ts +2 -1
  31. package/dist/es2022/import/comparers/asset-comparer.d.ts +2 -1
  32. package/dist/es2022/import/comparers/asset-comparer.js +9 -17
  33. package/dist/es2022/import/comparers/asset-comparer.js.map +1 -1
  34. package/dist/es2022/import/context/import-context-fetcher.js +120 -40
  35. package/dist/es2022/import/context/import-context-fetcher.js.map +1 -1
  36. package/dist/es2022/import/import.models.d.ts +2 -1
  37. package/dist/es2022/import/importers/assets-importer.js +12 -2
  38. package/dist/es2022/import/importers/assets-importer.js.map +1 -1
  39. package/dist/es2022/import/importers/language-variant-importer.js +95 -83
  40. package/dist/es2022/import/importers/language-variant-importer.js.map +1 -1
  41. package/dist/es2022/import/importers/workflow-importer.d.ts +41 -4
  42. package/dist/es2022/import/importers/workflow-importer.js +158 -17
  43. package/dist/es2022/import/importers/workflow-importer.js.map +1 -1
  44. package/dist/es2022/metadata.js +2 -2
  45. package/dist/es2022/node/cli/app.js +8 -12
  46. package/dist/es2022/node/cli/app.js.map +1 -1
  47. package/dist/es2022/node/cli/args/args-fetcher.js +9 -10
  48. package/dist/es2022/node/cli/args/args-fetcher.js.map +1 -1
  49. package/dist/es2022/toolkit/migrate.d.ts +1 -3
  50. package/dist/es2022/toolkit/migrate.js.map +1 -1
  51. package/dist/es2022/translation/extraction/items-extraction.processor.js +17 -17
  52. package/dist/es2022/translation/extraction/items-extraction.processor.js.map +1 -1
  53. package/dist/es2022/translation/transforms/export-transforms.js +1 -1
  54. package/dist/es2022/translation/transforms/export-transforms.js.map +1 -1
  55. package/dist/es2022/zip/zip-packager.js +13 -18
  56. package/dist/es2022/zip/zip-packager.js.map +1 -1
  57. package/dist/es2022/zip/zip-transformer.js +3 -1
  58. package/dist/es2022/zip/zip-transformer.js.map +1 -1
  59. package/lib/core/helpers/workflow-helper.ts +8 -8
  60. package/lib/core/logs/loggers.ts +14 -22
  61. package/lib/core/models/core.models.ts +23 -4
  62. package/lib/core/models/migration.models.ts +13 -12
  63. package/lib/core/models/migration.schema.ts +189 -178
  64. package/lib/core/utils/array.utils.ts +2 -10
  65. package/lib/core/utils/binary-data.utils.ts +2 -7
  66. package/lib/core/utils/confirm.utils.ts +18 -24
  67. package/lib/core/utils/error.utils.ts +50 -30
  68. package/lib/core/utils/http.utils.ts +14 -15
  69. package/lib/core/utils/management-client-utils.ts +188 -182
  70. package/lib/core/utils/run.utils.ts +27 -18
  71. package/lib/export/context/export-context-fetcher.ts +2 -1
  72. package/lib/export/export-manager.ts +14 -3
  73. package/lib/export/export.models.ts +3 -1
  74. package/lib/import/comparers/asset-comparer.ts +16 -24
  75. package/lib/import/context/import-context-fetcher.ts +179 -85
  76. package/lib/import/import.models.ts +2 -0
  77. package/lib/import/importers/assets-importer.ts +19 -12
  78. package/lib/import/importers/language-variant-importer.ts +125 -129
  79. package/lib/import/importers/workflow-importer.ts +228 -20
  80. package/lib/metadata.ts +2 -2
  81. package/lib/node/cli/app.ts +11 -12
  82. package/lib/node/cli/args/args-fetcher.ts +12 -14
  83. package/lib/toolkit/migrate.ts +1 -3
  84. package/lib/translation/extraction/items-extraction.processor.ts +93 -93
  85. package/lib/translation/transforms/export-transforms.ts +1 -1
  86. package/lib/zip/zip-packager.ts +26 -28
  87. package/lib/zip/zip-transformer.ts +3 -1
  88. package/package.json +14 -13
@@ -1,6 +1,7 @@
1
- import { findRequired, is404Error, isNotUndefined, managementClientUtils, processItemsAsync, runMapiRequestAsync, workflowHelper } from '../../core/index.js';
1
+ import { findRequired, is404Error, isNotUndefined, managementClientUtils, processItemsAsync, runMapiRequestAsync, workflowHelper as workflowHelperInit } from '../../core/index.js';
2
2
  import { itemsExtractionProcessor } from '../../translation/index.js';
3
3
  import chalk from 'chalk';
4
+ import { match } from 'ts-pattern';
4
5
  export async function importContextFetcherAsync(config) {
5
6
  const getEnvironmentDataAsync = async () => {
6
7
  const mapiUtils = managementClientUtils(config.managementClient, config.logger);
@@ -10,19 +11,19 @@ export async function importContextFetcherAsync(config) {
10
11
  collections: await mapiUtils.getAllCollectionsAsync(spinnerData),
11
12
  languages: await mapiUtils.getAllLanguagesAsync(spinnerData),
12
13
  workflows: await mapiUtils.getAllWorkflowsAsync(spinnerData),
13
- types: await mapiUtils.getFlattenedContentTypesAsync(spinnerData)
14
+ types: await mapiUtils.getFlattenedContentTypesAsync(spinnerData),
15
+ assetFolders: await mapiUtils.getAllAssetFoldersAsync(spinnerData)
14
16
  };
15
17
  spinnerData({ type: 'info', message: `Environmental data loaded` });
16
18
  return environmentData;
17
19
  });
18
20
  };
19
21
  const environmentData = await getEnvironmentDataAsync();
22
+ const workflowHelper = workflowHelperInit(environmentData.workflows);
20
23
  const getElement = () => {
21
24
  const getFlattenedElement = (contentTypeCodename, elementCodename, sourceType) => {
22
25
  const contentType = findRequired(environmentData.types, (type) => type.contentTypeCodename === contentTypeCodename, `Content type with codename '${chalk.red(contentTypeCodename)}' was not found.`);
23
- const element = findRequired(contentType.elements, (element) => element.codename === elementCodename, `Element type with codename '${chalk.red(elementCodename)}' was not found in content type '${chalk.red(contentTypeCodename)}'. Available elements are '${contentType.elements
24
- .map((element) => chalk.yellow(element.codename))
25
- .join(', ')}'`);
26
+ const element = findRequired(contentType.elements, (element) => element.codename === elementCodename, `Element type with codename '${chalk.red(elementCodename)}' was not found in content type '${chalk.red(contentTypeCodename)}'. Available elements are '${contentType.elements.map((element) => chalk.yellow(element.codename)).join(', ')}'`);
26
27
  if (sourceType !== element.type) {
27
28
  throw Error(`Element '${chalk.red(element.codename)}' in content type '${chalk.yellow(contentType.contentTypeCodename)}' is of type '${chalk.red(element.type)}', but source type is '${chalk.yellow(sourceType)}'.`);
28
29
  }
@@ -30,7 +31,54 @@ export async function importContextFetcherAsync(config) {
30
31
  };
31
32
  return getFlattenedElement;
32
33
  };
33
- const getLanguageVariantsAsync = async (migrationItems) => {
34
+ const getLatestLanguageVariantAsync = async (logSpinner, migrationItem) => {
35
+ try {
36
+ const latestLanguageVariant = await runMapiRequestAsync({
37
+ logger: config.logger,
38
+ func: async () => (await config.managementClient
39
+ .viewLanguageVariant()
40
+ .byItemCodename(migrationItem.system.codename)
41
+ .byLanguageCodename(migrationItem.system.language.codename)
42
+ .toPromise()).data,
43
+ action: 'view',
44
+ type: 'languageVariant',
45
+ logSpinner: logSpinner,
46
+ itemName: `latest -> codename -> ${migrationItem.system.codename} (${migrationItem.system.language.codename})`
47
+ });
48
+ return latestLanguageVariant;
49
+ }
50
+ catch (error) {
51
+ if (!is404Error(error)) {
52
+ throw error;
53
+ }
54
+ return undefined;
55
+ }
56
+ };
57
+ const getPublishedLanguageVariantAsync = async (logSpinner, migrationItem) => {
58
+ try {
59
+ const draftLanguageVariant = await runMapiRequestAsync({
60
+ logger: config.logger,
61
+ func: async () => (await config.managementClient
62
+ .viewLanguageVariant()
63
+ .byItemCodename(migrationItem.system.codename)
64
+ .byLanguageCodename(migrationItem.system.language.codename)
65
+ .published()
66
+ .toPromise()).data,
67
+ action: 'view',
68
+ type: 'languageVariant',
69
+ logSpinner: logSpinner,
70
+ itemName: `published -> codename -> ${migrationItem.system.codename} (${migrationItem.system.language.codename})`
71
+ });
72
+ return draftLanguageVariant;
73
+ }
74
+ catch (error) {
75
+ if (!is404Error(error)) {
76
+ throw error;
77
+ }
78
+ return undefined;
79
+ }
80
+ };
81
+ const getLanguageVariantWrappersAsync = async (migrationItems) => {
34
82
  return (await processItemsAsync({
35
83
  action: 'Fetching language variants',
36
84
  logger: config.logger,
@@ -43,30 +91,25 @@ export async function importContextFetcherAsync(config) {
43
91
  };
44
92
  },
45
93
  processAsync: async (item, logSpinner) => {
46
- try {
47
- const languageVariant = await runMapiRequestAsync({
48
- logger: config.logger,
49
- func: async () => (await config.managementClient
50
- .viewLanguageVariant()
51
- .byItemCodename(item.system.codename)
52
- .byLanguageCodename(item.system.language.codename)
53
- .toPromise()).data,
54
- action: 'view',
55
- type: 'languageVariant',
56
- logSpinner: logSpinner,
57
- itemName: `codename -> ${item.system.codename} (${item.system.language.codename})`
58
- });
94
+ const latestLanguageVariant = await getLatestLanguageVariantAsync(logSpinner, item);
95
+ if (!latestLanguageVariant) {
96
+ // there is neither published or draft version as latest version does not exist at all
97
+ return undefined;
98
+ }
99
+ if (workflowHelper.isPublishedStepById(latestLanguageVariant.workflow.stepIdentifier.id ?? '')) {
100
+ // if latest version is published, it means that there is no draft, but there is published version
59
101
  return {
60
- languageVariant: languageVariant,
61
- migrationItem: item
102
+ migrationItem: item,
103
+ draftLanguageVariant: undefined,
104
+ publishedLanguageVariant: latestLanguageVariant
62
105
  };
63
106
  }
64
- catch (error) {
65
- if (!is404Error(error)) {
66
- throw error;
67
- }
68
- return undefined;
69
- }
107
+ // if latest version is a draft version, check if there is published version as well
108
+ return {
109
+ migrationItem: item,
110
+ draftLanguageVariant: latestLanguageVariant,
111
+ publishedLanguageVariant: await getPublishedLanguageVariantAsync(logSpinner, item)
112
+ };
70
113
  }
71
114
  })).filter(isNotUndefined);
72
115
  };
@@ -134,29 +177,66 @@ export async function importContextFetcherAsync(config) {
134
177
  }
135
178
  })).filter(isNotUndefined);
136
179
  };
180
+ const getVariantState = (languageVariant) => {
181
+ const variantWorkflowId = languageVariant.workflow.workflowIdentifier.id;
182
+ const variantStepId = languageVariant.workflow.stepIdentifier.id;
183
+ const { workflow, step } = workflowHelper.getWorkflowAndStep({
184
+ workflowMatcher: {
185
+ errorMessage: `Could not workflow with id '${chalk.red(variantWorkflowId)}' in target project`,
186
+ match: (workflow) => workflow.id == variantWorkflowId
187
+ },
188
+ stepMatcher: {
189
+ errorMessage: `Could not workflow step with id '${chalk.red(variantStepId)}' in workflow '${chalk.yellow(variantWorkflowId)}'`,
190
+ match: (step) => step.id == variantStepId
191
+ }
192
+ });
193
+ return {
194
+ languageVariant: languageVariant,
195
+ workflow: workflow,
196
+ workflowState: getWorkflowState(step, languageVariant)
197
+ };
198
+ };
137
199
  const getVariantStatesAsync = async (migrationItems) => {
138
- const variants = await getLanguageVariantsAsync(migrationItems);
200
+ const variantWrappers = await getLanguageVariantWrappersAsync(migrationItems);
139
201
  return migrationItems.map((migrationItem) => {
140
- const variant = variants.find((m) => m.migrationItem.system.codename === migrationItem.system.codename &&
202
+ const variantWrapper = variantWrappers.find((m) => m.migrationItem.system.codename === migrationItem.system.codename &&
141
203
  m.migrationItem.system.language === migrationItem.system.language);
142
- const variantWorkflowId = variant?.languageVariant?.workflow?.workflowIdentifier?.id;
143
- const variantStepId = variant?.languageVariant?.workflow?.stepIdentifier?.id;
144
- const workflow = environmentData.workflows.find((workflow) => workflow.id === variantWorkflowId);
145
204
  return {
146
205
  itemCodename: migrationItem.system.codename,
147
206
  languageCodename: migrationItem.system.language.codename,
148
- languageVariant: variant?.languageVariant,
149
- workflow: workflow,
150
- step: workflow
151
- ? workflowHelper(environmentData.workflows).getWorkflowStep(workflow, {
152
- errorMessage: `Could not workflow step with id '${chalk.red(variantStepId)}' in workflow '${chalk.yellow(workflow.codename)}'`,
153
- match: (step) => step.id == variantStepId
154
- })
207
+ draftLanguageVariant: variantWrapper?.draftLanguageVariant
208
+ ? getVariantState(variantWrapper.draftLanguageVariant)
209
+ : undefined,
210
+ publishedLanguageVariant: variantWrapper?.publishedLanguageVariant
211
+ ? getVariantState(variantWrapper.publishedLanguageVariant)
155
212
  : undefined,
156
- state: variant ? 'exists' : 'doesNotExists'
213
+ state: variantWrapper ? 'exists' : 'doesNotExists'
157
214
  };
158
215
  });
159
216
  };
217
+ const getWorkflowState = (step, variant) => {
218
+ if (!variant) {
219
+ return undefined;
220
+ }
221
+ const getScheduledState = () => {
222
+ return match(variant.schedule)
223
+ .returnType()
224
+ .when((schedule) => schedule.publishTime && schedule.publishDisplayTimezone, () => 'scheduledPublish')
225
+ .when((schedule) => schedule.unpublishTime && schedule.unpublishDisplayTimezone, () => 'scheduledUnpublish')
226
+ .otherwise(() => 'n/a');
227
+ };
228
+ const getWorkflowState = () => {
229
+ return match(step.codename)
230
+ .returnType()
231
+ .when((stepCodename) => workflowHelper.isPublishedStepByCodename(stepCodename), () => 'published')
232
+ .when((stepCodename) => workflowHelper.isArchivedStepByCodename(stepCodename), () => 'archived')
233
+ .otherwise(() => 'draft');
234
+ };
235
+ return {
236
+ workflowState: getWorkflowState(),
237
+ scheduledState: getScheduledState()
238
+ };
239
+ };
160
240
  const getItemStatesAsync = async (itemCodenames) => {
161
241
  const items = await getContentItemsByCodenamesAsync(itemCodenames);
162
242
  return Array.from(itemCodenames).map((codename) => {
@@ -1 +1 @@
1
- {"version":3,"file":"import-context-fetcher.js","sourceRoot":"","sources":["../../../../lib/import/context/import-context-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-context-fetcher.js","sourceRoot":"","sources":["../../../../lib/import/context/import-context-fetcher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { MigrationItem, MigrationAsset, Logger, AssetStateInTargetEnvironmentByCodename, ItemStateInTargetEnvironmentByCodename, ReferencedDataInMigrationItems, LanguageVariantStateInTargetEnvironmentByCodename, ExternalIdGenerator, FlattenedContentTypeElement, MigrationElementValue, MigrationElementType, MigrationData, ManagementClientConfig, FlattenedContentType } from '../core/index.js';
2
- import { AssetModels, CollectionModels, ContentItemModels, ElementContracts, LanguageModels, LanguageVariantModels, ManagementClient, WorkflowModels } from '@kontent-ai/management-sdk';
2
+ import { AssetFolderModels, AssetModels, CollectionModels, ContentItemModels, ElementContracts, LanguageModels, LanguageVariantModels, ManagementClient, WorkflowModels } from '@kontent-ai/management-sdk';
3
3
  export interface ImportContextConfig {
4
4
  readonly logger: Logger;
5
5
  readonly managementClient: Readonly<ManagementClient>;
@@ -8,6 +8,7 @@ export interface ImportContextConfig {
8
8
  }
9
9
  export interface ImportContextEnvironmentData {
10
10
  readonly languages: readonly Readonly<LanguageModels.LanguageModel>[];
11
+ readonly assetFolders: readonly Readonly<AssetFolderModels.AssetFolder>[];
11
12
  readonly collections: readonly Readonly<CollectionModels.Collection>[];
12
13
  readonly workflows: readonly Readonly<WorkflowModels.Workflow>[];
13
14
  readonly types: readonly Readonly<FlattenedContentType>[];
@@ -18,6 +18,7 @@ export function assetsImporter(data) {
18
18
  if (!shouldUpdateAsset({
19
19
  collections: data.importContext.environmentData.collections,
20
20
  languages: data.importContext.environmentData.languages,
21
+ assetFolders: data.importContext.environmentData.assetFolders,
21
22
  migrationAsset: migrationAsset,
22
23
  targetAsset: assetState.asset
23
24
  })) {
@@ -66,7 +67,8 @@ export function assetsImporter(data) {
66
67
  title: assetEditRequest.migrationAsset.title,
67
68
  descriptions: mapAssetDescriptions(assetEditRequest.migrationAsset.descriptions),
68
69
  collection: mapAssetCollection(assetEditRequest.migrationAsset.collection),
69
- file_reference: uploadedBinaryFile ?? undefined
70
+ file_reference: uploadedBinaryFile ?? undefined,
71
+ folder: mapAssetFolder(assetEditRequest.migrationAsset.folder)
70
72
  };
71
73
  })
72
74
  .toPromise()).data;
@@ -88,6 +90,13 @@ export function assetsImporter(data) {
88
90
  }
89
91
  : undefined;
90
92
  };
93
+ const mapAssetFolder = (migrationFolder) => {
94
+ return migrationFolder
95
+ ? {
96
+ codename: migrationFolder.codename
97
+ }
98
+ : undefined;
99
+ };
91
100
  const mapAssetDescriptions = (migrationDescription) => {
92
101
  return (migrationDescription ?? []).map((m) => {
93
102
  const assetDescription = {
@@ -149,7 +158,8 @@ export function assetsImporter(data) {
149
158
  title: migrationAsset.title,
150
159
  external_id: assetStateInTargetEnv.externalIdToUse,
151
160
  collection: mapAssetCollection(migrationAsset.collection),
152
- descriptions: mapAssetDescriptions(migrationAsset.descriptions)
161
+ descriptions: mapAssetDescriptions(migrationAsset.descriptions),
162
+ folder: mapAssetFolder(migrationAsset.folder)
153
163
  };
154
164
  return assetRequestData;
155
165
  })
@@ -1 +1 @@
1
- {"version":3,"file":"assets-importer.js","sourceRoot":"","sources":["../../../../lib/import/importers/assets-importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets-importer.js","sourceRoot":"","sources":["../../../../lib/import/importers/assets-importer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- import { processItemsAsync, runMapiRequestAsync, workflowHelper, findRequired } from '../../core/index.js';
1
+ import { match } from 'ts-pattern';
2
+ import { processItemsAsync, runMapiRequestAsync, workflowHelper, findRequired, isNotUndefined } from '../../core/index.js';
2
3
  import chalk from 'chalk';
3
4
  import { importTransforms } from '../../translation/index.js';
4
- import { workflowImporter } from './workflow-importer.js';
5
+ import { workflowImporter as workflowImporterInit } from './workflow-importer.js';
5
6
  import { throwErrorForMigrationItem } from '../utils/import.utils.js';
6
7
  export function languageVariantImporter(config) {
8
+ const workflowImporter = workflowImporterInit({
9
+ logger: config.logger,
10
+ managementClient: config.client,
11
+ workflows: config.importContext.environmentData.workflows
12
+ });
7
13
  const upsertLanguageVariantAsync = async (data) => {
8
14
  return await runMapiRequestAsync({
9
15
  logger: config.logger,
@@ -43,7 +49,7 @@ export function languageVariantImporter(config) {
43
49
  throwErrorForMigrationItem(migrationItem, `There can be only 1 published version. There are '${publishedVersions.length}' published versions for the item.`);
44
50
  }
45
51
  if (draftVersions.length > 1) {
46
- throwErrorForMigrationItem(migrationItem, `There can be only 1 draft version. There are '${publishedVersions.length}' draft versions for the item.`);
52
+ throwErrorForMigrationItem(migrationItem, `There can be only 1 draft version. There are '${draftVersions.length}' draft versions for the item.`);
47
53
  }
48
54
  return {
49
55
  draftVersion: draftVersions?.[0],
@@ -56,13 +62,11 @@ export function languageVariantImporter(config) {
56
62
  workflowCodename: data.migrationItem.system.workflow.codename,
57
63
  stepCodename: data.migrationItemVersion.workflow_step.codename
58
64
  });
59
- // prepare target variant for upsert if it exists in target env
60
- if (data.workflowStepCodenameInTargetEnvironment) {
61
- await prepareLanguageVariantForImportAsync({
65
+ // create new version if necessary. This is needed when both draft & published version are imported
66
+ if (data.createNewVersion) {
67
+ await workflowImporter.createNewVersionOfLanguageVariantAsync({
62
68
  logSpinner: data.logSpinner,
63
- workflowStepCodenameInTargetEnvironment: data.workflowStepCodenameInTargetEnvironment,
64
- migrationItem: data.migrationItem,
65
- workflow
69
+ migrationItem: data.migrationItem
66
70
  });
67
71
  }
68
72
  // upsert language variant
@@ -74,108 +78,116 @@ export function languageVariantImporter(config) {
74
78
  workflow
75
79
  });
76
80
  // set workflow accordingly (publish, move to workflow step, archive ...)
77
- await workflowImporter({
78
- logger: config.logger,
79
- managementClient: config.client,
80
- workflows: config.importContext.environmentData.workflows
81
- }).setWorkflowOfLanguageVariantAsync({
81
+ await workflowImporter.setWorkflowOfLanguageVariantAsync({
82
82
  logSpinner: data.logSpinner,
83
83
  migrationItem: data.migrationItem,
84
84
  workflowCodename: workflow.codename,
85
- stepCodename: step.codename
85
+ stepCodename: step.codename,
86
+ migrationItemVersion: data.migrationItemVersion
87
+ });
88
+ // set scheduling
89
+ await workflowImporter.setScheduledStateOfLanguageVariantAsync({
90
+ logSpinner: data.logSpinner,
91
+ migrationItem: data.migrationItem,
92
+ migrationItemVersion: data.migrationItemVersion
86
93
  });
87
94
  return languageVariant;
88
95
  };
89
96
  const importLanguageVariantAsync = async (logSpinner, migrationItem, preparedContentItem) => {
90
97
  const { draftVersion, publishedVersion } = categorizeVersions(migrationItem);
91
- let publishedLanguageVariant;
92
- let draftLanguageVariant;
93
- let lastWorkflowStepCodenameInTargetEnvironment;
94
- const workflow = workflowHelper(config.importContext.environmentData.workflows).getWorkflowByCodename(migrationItem.system.workflow.codename);
95
98
  // get initial state of language variant from target env
96
- const languageVariantState = config.importContext.getLanguageVariantStateInTargetEnvironment(migrationItem.system.codename, migrationItem.system.language.codename);
97
- if (languageVariantState.step) {
98
- // keep track of last worfklow step
99
- lastWorkflowStepCodenameInTargetEnvironment = languageVariantState.step.codename;
100
- }
99
+ const targetVariantState = config.importContext.getLanguageVariantStateInTargetEnvironment(migrationItem.system.codename, migrationItem.system.language.codename);
100
+ // prepare language variant for import (unpublish, create new version, un-schedule ...)
101
+ await prepareTargetEnvironmentVariantForImportAsync({
102
+ logSpinner,
103
+ migrationItem,
104
+ targetVariantState
105
+ });
101
106
  // first import published version if it exists
102
- if (publishedVersion) {
103
- publishedLanguageVariant = await importVersionAsync({
107
+ const publishedLanguageVariant = publishedVersion
108
+ ? await importVersionAsync({
104
109
  logSpinner: logSpinner,
105
110
  migrationItem: migrationItem,
106
111
  preparedContentItem: preparedContentItem,
107
- migrationItemVersion: publishedVersion,
108
- workflowStepCodenameInTargetEnvironment: lastWorkflowStepCodenameInTargetEnvironment
112
+ migrationItemVersion: publishedVersion
113
+ })
114
+ : undefined;
115
+ // if target env contains published version & imported version not, unpublish it from the target env
116
+ if (targetVariantState.publishedLanguageVariant && !publishedVersion) {
117
+ await workflowImporter.unpublishLanguageVariantAsync({
118
+ logSpinner,
119
+ migrationItem
120
+ });
121
+ await workflowImporter.moveToDraftStepAsync({
122
+ logSpinner,
123
+ migrationItem
109
124
  });
110
- // set last published workflow step to publish as language variant has just been published in target environment
111
- lastWorkflowStepCodenameInTargetEnvironment = workflow.publishedStep.codename;
112
125
  }
113
- if (draftVersion) {
114
- draftLanguageVariant = await importVersionAsync({
126
+ const draftLanguageVariant = draftVersion
127
+ ? await importVersionAsync({
115
128
  logSpinner: logSpinner,
116
129
  migrationItem: migrationItem,
117
130
  preparedContentItem: preparedContentItem,
118
131
  migrationItemVersion: draftVersion,
119
- workflowStepCodenameInTargetEnvironment: lastWorkflowStepCodenameInTargetEnvironment
120
- });
121
- }
122
- return [
123
- ...(publishedLanguageVariant ? [publishedLanguageVariant] : []),
124
- ...(draftLanguageVariant ? [draftLanguageVariant] : [])
125
- ];
132
+ createNewVersion: publishedLanguageVariant ? true : false
133
+ })
134
+ : undefined;
135
+ return [publishedLanguageVariant, draftLanguageVariant].filter(isNotUndefined);
126
136
  };
127
- const createNewVersionOfLanguageVariantAsync = async (logSpinner, migrationItem) => {
128
- await runMapiRequestAsync({
129
- logger: config.logger,
130
- func: async () => {
131
- await config.client
132
- .createNewVersionOfLanguageVariant()
133
- .byItemCodename(migrationItem.system.codename)
134
- .byLanguageCodename(migrationItem.system.language.codename)
135
- .toPromise();
136
- },
137
- action: 'createNewVersion',
138
- type: 'languageVariant',
139
- logSpinner: logSpinner,
140
- itemName: `${migrationItem.system.codename} (${migrationItem.system.language.codename})`
141
- });
137
+ const cancelScheduledStateAsync = async (data) => {
138
+ const changeWorkflowData = {
139
+ logSpinner: data.logSpinner,
140
+ migrationItem: data.migrationItem
141
+ };
142
+ await match(data.scheduledState)
143
+ .with('scheduledPublish', async () => {
144
+ // cancel scheduled publish if language variant is scheduled to be published
145
+ await workflowImporter.cancelScheduledPublishAsync(changeWorkflowData);
146
+ })
147
+ .with('scheduledUnpublish', async () => {
148
+ // cancel scheduled unpublish if language variant is scheduled to be unpublished
149
+ await workflowImporter.cancelScheduledUnpublishAsync(changeWorkflowData);
150
+ })
151
+ .otherwise(() => { });
142
152
  };
143
- const moveToDraftStepAsync = async (logSpinner, migrationItem, workflow) => {
144
- const firstWorkflowStep = workflow.steps?.[0];
145
- if (firstWorkflowStep) {
146
- await runMapiRequestAsync({
147
- logger: config.logger,
148
- func: async () => {
149
- await config.client
150
- .changeWorkflowStepOfLanguageVariant()
151
- .byItemCodename(migrationItem.system.codename)
152
- .byLanguageCodename(migrationItem.system.language.codename)
153
- .byWorkflowStepCodename(firstWorkflowStep.codename)
154
- .toPromise();
155
- },
156
- action: 'changeWorkflowStep',
157
- type: 'languageVariant',
158
- logSpinner: logSpinner,
159
- itemName: `${migrationItem.system.codename} (${migrationItem.system.language.codename}) -> ${firstWorkflowStep.codename}`
160
- });
153
+ const prepareTargetEnvironmentVariantForImportAsync = async (data) => {
154
+ if (!data.targetVariantState) {
155
+ // no need to prepare language variant as it doesn't exist in target environment
156
+ return;
161
157
  }
162
- };
163
- const prepareLanguageVariantForImportAsync = async (data) => {
164
- // create new version if language variant is published
165
- if (isPublishedWorkflowStep(data.workflowStepCodenameInTargetEnvironment, data.workflow)) {
166
- await createNewVersionOfLanguageVariantAsync(data.logSpinner, data.migrationItem);
158
+ // when language variant exists in target env, we need to prepare it for import by unscheduling, moving to draft etc...
159
+ // we use draft language variant if it exists, otherwise we use published language variant
160
+ const languageVariantToPrepare = data.targetVariantState.draftLanguageVariant ?? data.targetVariantState.publishedLanguageVariant;
161
+ if (!languageVariantToPrepare) {
162
+ return;
167
163
  }
168
- // move to draft step if language variant is archived
169
- if (isArchivedWorkflowStep(data.workflowStepCodenameInTargetEnvironment, data.workflow)) {
170
- await moveToDraftStepAsync(data.logSpinner, data.migrationItem, data.workflow);
164
+ // there is likely a bug which causes /published endpoint to return invalid scheduled state
165
+ // use conditions below to determine scheduled state to use - this will be fixed in future
166
+ if (languageVariantToPrepare.workflowState?.scheduledState) {
167
+ await cancelScheduledStateAsync({
168
+ logSpinner: data.logSpinner,
169
+ migrationItem: data.migrationItem,
170
+ scheduledState: languageVariantToPrepare.workflowState.scheduledState
171
+ });
171
172
  }
173
+ const changeWorkflowData = {
174
+ logSpinner: data.logSpinner,
175
+ migrationItem: data.migrationItem
176
+ };
177
+ await match(languageVariantToPrepare.workflowState?.workflowState)
178
+ .with('published', async () => {
179
+ // create new version if language variant is published
180
+ await workflowImporter.createNewVersionOfLanguageVariantAsync(changeWorkflowData);
181
+ })
182
+ .with('archived', async () => {
183
+ // move to draft step if language variant is archived
184
+ await workflowImporter.moveToDraftStepAsync(changeWorkflowData);
185
+ })
186
+ .otherwise(() => { });
172
187
  };
173
188
  const isPublishedWorkflowStep = (stepCodename, workflow) => {
174
189
  return workflow.publishedStep.codename === stepCodename;
175
190
  };
176
- const isArchivedWorkflowStep = (stepCodename, workflow) => {
177
- return workflow.archivedStep.codename === stepCodename;
178
- };
179
191
  const getElementContract = (migrationItem, element, elementCodename) => {
180
192
  const importTransformResult = importTransforms[config.importContext.getElement(migrationItem.system.type.codename, elementCodename, element.type).type]({
181
193
  elementCodename: elementCodename,