@kontent-ai/migration-toolkit 3.2.0-preview.0 → 3.2.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.
- package/dist/core/models/core.models.d.ts +2 -2
- package/dist/core/utils/array.utils.js +0 -3
- package/dist/core/utils/array.utils.js.map +1 -1
- package/dist/core/utils/confirm.utils.d.ts +10 -0
- package/dist/core/utils/confirm.utils.js +48 -1
- package/dist/core/utils/confirm.utils.js.map +1 -1
- package/dist/core/utils/external-id.utils.d.ts +2 -2
- package/dist/core/utils/global.utils.d.ts +0 -7
- package/dist/core/utils/global.utils.js +0 -54
- package/dist/core/utils/global.utils.js.map +1 -1
- package/dist/import/context/import-context-fetcher.js +32 -0
- package/dist/import/context/import-context-fetcher.js.map +1 -1
- package/dist/metadata.js +1 -1
- package/dist/metadata.js.map +1 -1
- package/dist/toolkit/export.js +1 -18
- package/dist/toolkit/export.js.map +1 -1
- package/dist/toolkit/file.js +10 -41
- package/dist/toolkit/file.js.map +1 -1
- package/dist/toolkit/import.js +11 -28
- package/dist/toolkit/import.js.map +1 -1
- package/dist/toolkit/migrate.js +15 -34
- package/dist/toolkit/migrate.js.map +1 -1
- package/dist/translation/helpers/rich-text.processor.js +0 -12
- package/dist/translation/helpers/rich-text.processor.js.map +1 -1
- package/dist/translation/transforms/import-transforms.js +13 -27
- package/dist/translation/transforms/import-transforms.js.map +1 -1
- package/lib/core/models/core.models.ts +2 -2
- package/lib/core/utils/array.utils.ts +0 -3
- package/lib/core/utils/confirm.utils.ts +73 -1
- package/lib/core/utils/external-id.utils.ts +2 -2
- package/lib/core/utils/global.utils.ts +0 -65
- package/lib/import/context/import-context-fetcher.ts +38 -0
- package/lib/metadata.ts +1 -1
- package/lib/toolkit/export.ts +1 -18
- package/lib/toolkit/file.ts +9 -43
- package/lib/toolkit/import.ts +11 -28
- package/lib/toolkit/migrate.ts +16 -35
- package/lib/translation/helpers/rich-text.processor.ts +0 -19
- package/lib/translation/transforms/import-transforms.ts +16 -34
- package/package.json +11 -10
package/dist/toolkit/migrate.js
CHANGED
|
@@ -1,42 +1,23 @@
|
|
|
1
1
|
import { getDefaultLogger } from "../core/logs/loggers.js";
|
|
2
|
-
import { executeWithTrackingAsync } from "../core/utils/global.utils.js";
|
|
3
|
-
import { libMetadata } from "../metadata.js";
|
|
4
2
|
import { exportAsync } from "./export.js";
|
|
5
3
|
import { importAsync } from "./import.js";
|
|
6
4
|
export async function migrateAsync(config) {
|
|
7
5
|
const logger = config.logger ?? getDefaultLogger();
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
version: libMetadata.version,
|
|
14
|
-
},
|
|
15
|
-
action: "migrate",
|
|
16
|
-
relatedEnvironmentId: undefined,
|
|
17
|
-
details: {
|
|
18
|
-
itemsCount: config.sourceEnvironment.items.length,
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
func: async () => {
|
|
22
|
-
const migrationData = await exportAsync({
|
|
23
|
-
...config.sourceEnvironment,
|
|
24
|
-
logger: logger,
|
|
25
|
-
exportItems: config.sourceEnvironment.items,
|
|
26
|
-
skipMissingReferences: config.sourceEnvironment.skipMissingReferences,
|
|
27
|
-
});
|
|
28
|
-
const importResult = await importAsync({
|
|
29
|
-
...config.targetEnvironment,
|
|
30
|
-
logger: logger,
|
|
31
|
-
data: migrationData,
|
|
32
|
-
externalIdGenerator: config.externalIdGenerator,
|
|
33
|
-
});
|
|
34
|
-
return {
|
|
35
|
-
importResult,
|
|
36
|
-
migrationData,
|
|
37
|
-
};
|
|
38
|
-
},
|
|
39
|
-
logger: config.logger,
|
|
6
|
+
const migrationData = await exportAsync({
|
|
7
|
+
...config.sourceEnvironment,
|
|
8
|
+
logger: logger,
|
|
9
|
+
exportItems: config.sourceEnvironment.items,
|
|
10
|
+
skipMissingReferences: config.sourceEnvironment.skipMissingReferences,
|
|
40
11
|
});
|
|
12
|
+
const importResult = await importAsync({
|
|
13
|
+
...config.targetEnvironment,
|
|
14
|
+
logger: logger,
|
|
15
|
+
data: migrationData,
|
|
16
|
+
externalIdGenerator: config.externalIdGenerator,
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
importResult,
|
|
20
|
+
migrationData,
|
|
21
|
+
};
|
|
41
22
|
}
|
|
42
23
|
//# sourceMappingURL=migrate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../lib/toolkit/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../lib/toolkit/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAyB1C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAuB;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;IAEnD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC;QACvC,GAAG,MAAM,CAAC,iBAAiB;QAC3B,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK;QAC3C,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAAC,qBAAqB;KACrE,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC;QACtC,GAAG,MAAM,CAAC,iBAAiB;QAC3B,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,aAAa;QACnB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;KAC/C,CAAC,CAAC;IAEH,OAAO;QACN,YAAY;QACZ,aAAa;KACb,CAAC;AACH,CAAC"}
|
|
@@ -126,9 +126,6 @@ export function richTextProcessor() {
|
|
|
126
126
|
// no need to replace codename attribute
|
|
127
127
|
return objectTag;
|
|
128
128
|
}
|
|
129
|
-
if (!itemState.externalIdToUse) {
|
|
130
|
-
return "";
|
|
131
|
-
}
|
|
132
129
|
return objectTag.replaceAll(`${attributes.codenames.itemCodenameAttribute}="${codename}"`, `${attributes.ids.externalIdAttributeName}="${itemState.externalIdToUse}"`);
|
|
133
130
|
}
|
|
134
131
|
}
|
|
@@ -151,9 +148,6 @@ export function richTextProcessor() {
|
|
|
151
148
|
if (itemState.item && itemState.state === "exists") {
|
|
152
149
|
return linkTag;
|
|
153
150
|
}
|
|
154
|
-
if (!itemState.externalIdToUse) {
|
|
155
|
-
return "";
|
|
156
|
-
}
|
|
157
151
|
return linkTag.replaceAll(`${attributes.codenames.linkItemCodenameAttribute}="${codename}"`, `${attributes.ids.itemExternalIdAttributeName}="${itemState.externalIdToUse}"`);
|
|
158
152
|
}
|
|
159
153
|
}
|
|
@@ -176,9 +170,6 @@ export function richTextProcessor() {
|
|
|
176
170
|
if (assetState.asset && assetState.state === "exists") {
|
|
177
171
|
return figureTag;
|
|
178
172
|
}
|
|
179
|
-
if (!assetState.externalIdToUse) {
|
|
180
|
-
return "";
|
|
181
|
-
}
|
|
182
173
|
return figureTag.replaceAll(`${attributes.codenames.assetCodenameAttribute}="${codename}"`, `${attributes.ids.externalAssetIdAttributeName}="${assetState.externalIdToUse}"`);
|
|
183
174
|
}
|
|
184
175
|
}
|
|
@@ -201,9 +192,6 @@ export function richTextProcessor() {
|
|
|
201
192
|
if (assetState.asset && assetState.state === "exists") {
|
|
202
193
|
return linkTag;
|
|
203
194
|
}
|
|
204
|
-
if (!assetState.externalIdToUse) {
|
|
205
|
-
return "";
|
|
206
|
-
}
|
|
207
195
|
return linkTag.replaceAll(`${attributes.codenames.assetCodenameAttribute}="${codename}"`, `${attributes.ids.externalAssetIdAttributeName}="${assetState.externalIdToUse}"`);
|
|
208
196
|
}
|
|
209
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text.processor.js","sourceRoot":"","sources":["../../../lib/translation/helpers/rich-text.processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rich-text.processor.js","sourceRoot":"","sources":["../../../lib/translation/helpers/rich-text.processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LanguageVariantElementsBuilder } from "@kontent-ai/management-sdk";
|
|
2
2
|
import { parseAsMigrationReferencesArray } from "../../core/utils/array.utils.js";
|
|
3
|
-
import {
|
|
3
|
+
import { isString } from "../../core/utils/global.utils.js";
|
|
4
4
|
import { richTextProcessor } from "../helpers/rich-text.processor.js";
|
|
5
5
|
const elementsBuilder = new LanguageVariantElementsBuilder();
|
|
6
6
|
/**
|
|
@@ -25,20 +25,13 @@ export const importTransforms = {
|
|
|
25
25
|
.map((reference) => reference.codename)
|
|
26
26
|
.map((codename) => {
|
|
27
27
|
const assetState = data.importContext.getAssetStateInTargetEnvironment(codename);
|
|
28
|
+
// only reference with external_id if item does not exist in target env
|
|
28
29
|
// API currently only supports referencing assets by ids only, not by codenames
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (assetState.externalIdToUse && assetState.state === "doesNotExists") {
|
|
35
|
-
return {
|
|
36
|
-
external_id: assetState.externalIdToUse,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return undefined;
|
|
40
|
-
})
|
|
41
|
-
.filter(isNotUndefined);
|
|
30
|
+
return {
|
|
31
|
+
id: assetState.asset ? assetState.asset.id : undefined,
|
|
32
|
+
external_id: assetState.asset ? undefined : assetState.externalIdToUse,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
42
35
|
return elementsBuilder.assetElement({
|
|
43
36
|
element: {
|
|
44
37
|
codename: data.elementCodename,
|
|
@@ -68,19 +61,12 @@ export const importTransforms = {
|
|
|
68
61
|
.map((reference) => reference.codename)
|
|
69
62
|
.map((codename) => {
|
|
70
63
|
const itemState = data.importContext.getItemStateInTargetEnvironment(codename);
|
|
71
|
-
if
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return {
|
|
78
|
-
external_id: itemState.externalIdToUse,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
return undefined;
|
|
82
|
-
})
|
|
83
|
-
.filter(isNotUndefined);
|
|
64
|
+
// only reference with external_id if item does not exist in target env
|
|
65
|
+
return {
|
|
66
|
+
codename: itemState.item ? itemState.item.codename : undefined,
|
|
67
|
+
external_id: itemState.item ? undefined : itemState.externalIdToUse,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
84
70
|
return elementsBuilder.linkedItemsElement({
|
|
85
71
|
element: {
|
|
86
72
|
codename: data.elementCodename,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-transforms.js","sourceRoot":"","sources":["../../../lib/translation/transforms/import-transforms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,8BAA8B,EAAwB,MAAM,4BAA4B,CAAC;AAEhI,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"import-transforms.js","sourceRoot":"","sources":["../../../lib/translation/transforms/import-transforms.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ export type ItemStateInTargetEnvironmentByCodename = {
|
|
|
100
100
|
readonly state: TargetItemState;
|
|
101
101
|
readonly itemCodename: string;
|
|
102
102
|
readonly item: Readonly<ContentItemModels.ContentItem> | undefined;
|
|
103
|
-
readonly externalIdToUse: string
|
|
103
|
+
readonly externalIdToUse: string;
|
|
104
104
|
};
|
|
105
105
|
|
|
106
106
|
export type LanguageVariantStateData = {
|
|
@@ -121,7 +121,7 @@ export type AssetStateInTargetEnvironmentByCodename = {
|
|
|
121
121
|
readonly state: TargetItemState;
|
|
122
122
|
readonly assetCodename: string;
|
|
123
123
|
readonly asset: Readonly<AssetModels.Asset> | undefined;
|
|
124
|
-
readonly externalIdToUse: string
|
|
124
|
+
readonly externalIdToUse: string;
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
export type PackageMetadata = {
|
|
@@ -3,9 +3,6 @@ import type { MigrationElementValue, MigrationReference } from "../models/migrat
|
|
|
3
3
|
import { isArray, isString } from "./global.utils.js";
|
|
4
4
|
|
|
5
5
|
export function parseAsMigrationReferencesArray(value: MigrationElementValue): readonly MigrationReference[] {
|
|
6
|
-
if (!value) {
|
|
7
|
-
return [];
|
|
8
|
-
}
|
|
9
6
|
if (isArray(value)) {
|
|
10
7
|
return value;
|
|
11
8
|
}
|
|
@@ -94,6 +94,39 @@ export async function confirmMigrateAsync(data: {
|
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
export async function confirmCleanAsync(data: {
|
|
98
|
+
readonly force: boolean;
|
|
99
|
+
readonly environmentId: string;
|
|
100
|
+
readonly apiKey: string;
|
|
101
|
+
readonly logger: Logger;
|
|
102
|
+
readonly dataToClean?: {
|
|
103
|
+
readonly include?: readonly string[];
|
|
104
|
+
readonly exclude?: readonly string[];
|
|
105
|
+
};
|
|
106
|
+
}): Promise<void> {
|
|
107
|
+
const environment = await managementClientUtils(
|
|
108
|
+
getMigrationManagementClient({
|
|
109
|
+
environmentId: data.environmentId,
|
|
110
|
+
apiKey: data.apiKey,
|
|
111
|
+
}),
|
|
112
|
+
data.logger,
|
|
113
|
+
).getEnvironmentAsync();
|
|
114
|
+
|
|
115
|
+
const text = getConfirmText({
|
|
116
|
+
action: "clean",
|
|
117
|
+
targetEnvironment: environment,
|
|
118
|
+
cleanInclude: data.dataToClean?.include,
|
|
119
|
+
cleanExclude: data.dataToClean?.exclude,
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
await confirmAsync({
|
|
123
|
+
force: data.force,
|
|
124
|
+
logger: data.logger,
|
|
125
|
+
action: "Clean",
|
|
126
|
+
message: text,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
97
130
|
export async function confirmImportAsync(data: {
|
|
98
131
|
readonly force: boolean;
|
|
99
132
|
readonly environmentId: string;
|
|
@@ -164,8 +197,10 @@ function getConfirmText({
|
|
|
164
197
|
sourceEnvironment,
|
|
165
198
|
targetEnvironment,
|
|
166
199
|
skipMissingReferences,
|
|
200
|
+
cleanInclude,
|
|
201
|
+
cleanExclude,
|
|
167
202
|
}: {
|
|
168
|
-
readonly action: "export" | "import" | "migrate";
|
|
203
|
+
readonly action: "export" | "import" | "migrate" | "clean";
|
|
169
204
|
readonly skipMissingReferences?: boolean;
|
|
170
205
|
readonly itemsCount?: number;
|
|
171
206
|
readonly exportItems?: readonly ItemPreview[];
|
|
@@ -173,12 +208,15 @@ function getConfirmText({
|
|
|
173
208
|
readonly migrateItems?: readonly ItemPreview[];
|
|
174
209
|
readonly sourceEnvironment?: EnvironmentModels.EnvironmentInformationModel;
|
|
175
210
|
readonly targetEnvironment?: EnvironmentModels.EnvironmentInformationModel;
|
|
211
|
+
readonly cleanInclude?: readonly string[];
|
|
212
|
+
readonly cleanExclude?: readonly string[];
|
|
176
213
|
}): string {
|
|
177
214
|
const previewItems: readonly ItemPreview[] = match(action)
|
|
178
215
|
.returnType<readonly ItemPreview[]>()
|
|
179
216
|
.with("export", () => exportItems ?? [])
|
|
180
217
|
.with("import", () => importItems ?? [])
|
|
181
218
|
.with("migrate", () => migrateItems ?? [])
|
|
219
|
+
.with("clean", () => [])
|
|
182
220
|
.exhaustive()
|
|
183
221
|
.slice(0, maxItemsShownInPreview);
|
|
184
222
|
const remainingPreviewItemsCount: number = Math.max(
|
|
@@ -187,6 +225,7 @@ function getConfirmText({
|
|
|
187
225
|
.with("export", () => exportItems?.length ?? 0)
|
|
188
226
|
.with("import", () => importItems?.length ?? 0)
|
|
189
227
|
.with("migrate", () => migrateItems?.length ?? 0)
|
|
228
|
+
.with("clean", () => 0)
|
|
190
229
|
.exhaustive() - previewItems.length,
|
|
191
230
|
0,
|
|
192
231
|
);
|
|
@@ -217,6 +256,12 @@ function getConfirmText({
|
|
|
217
256
|
` ${chalk.gray("├─")} Environment: ${chalk.green.bold(targetEnvironment?.environment)}`,
|
|
218
257
|
` ${chalk.gray("└─")} ID: ${chalk.dim(targetEnvironment?.id)}`,
|
|
219
258
|
])
|
|
259
|
+
.with("clean", () => [
|
|
260
|
+
`${chalk.red("🧹 Environment to clean:")}`,
|
|
261
|
+
` ${chalk.gray("├─")} Name: ${chalk.yellow.bold(targetEnvironment?.name)}`,
|
|
262
|
+
` ${chalk.gray("├─")} Environment: ${chalk.green.bold(targetEnvironment?.environment)}`,
|
|
263
|
+
` ${chalk.gray("└─")} ID: ${chalk.dim(targetEnvironment?.id)}`,
|
|
264
|
+
])
|
|
220
265
|
.exhaustive(),
|
|
221
266
|
"\n",
|
|
222
267
|
...match(itemsCount)
|
|
@@ -264,11 +309,38 @@ function getConfirmText({
|
|
|
264
309
|
"",
|
|
265
310
|
])
|
|
266
311
|
.otherwise(() => []),
|
|
312
|
+
...match(action)
|
|
313
|
+
.returnType<readonly string[]>()
|
|
314
|
+
.with("clean", () =>
|
|
315
|
+
match({ include: cleanInclude, exclude: cleanExclude })
|
|
316
|
+
.returnType<readonly string[]>()
|
|
317
|
+
.with({ include: P.when((include) => (include?.length ?? 0) > 0) }, ({ include }) => [
|
|
318
|
+
`${chalk.cyan("🗑️ Entities to clean:")}`,
|
|
319
|
+
` ${chalk.gray("└─")} Only: ${chalk.yellow.bold(include?.join(", "))}`,
|
|
320
|
+
"",
|
|
321
|
+
])
|
|
322
|
+
.with({ exclude: P.when((exclude) => (exclude?.length ?? 0) > 0) }, ({ exclude }) => [
|
|
323
|
+
`${chalk.cyan("🗑️ Entities to clean:")}`,
|
|
324
|
+
` ${chalk.gray("└─")} All except: ${chalk.yellow.bold(exclude?.join(", "))}`,
|
|
325
|
+
"",
|
|
326
|
+
])
|
|
327
|
+
.otherwise(() => [
|
|
328
|
+
`${chalk.cyan("🗑️ Entities to clean:")}`,
|
|
329
|
+
` ${chalk.gray("└─")} ${chalk.red.bold("All entities")}`,
|
|
330
|
+
"",
|
|
331
|
+
]),
|
|
332
|
+
)
|
|
333
|
+
.otherwise(() => []),
|
|
267
334
|
`${chalk.yellow("⚠")} ${match(action)
|
|
268
335
|
.returnType<string>()
|
|
269
336
|
.with("export", () => "Are you sure you want to export the data?")
|
|
270
337
|
.with("import", () => "Are you sure you want to import the data?")
|
|
271
338
|
.with("migrate", () => "Are you sure you want to migrate the data?")
|
|
339
|
+
.with(
|
|
340
|
+
"clean",
|
|
341
|
+
() =>
|
|
342
|
+
`${chalk.red.bold("This will permanently delete data from the environment above.")} Are you sure you want to clean it?`,
|
|
343
|
+
)
|
|
272
344
|
.exhaustive()}`,
|
|
273
345
|
];
|
|
274
346
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type ExternalIdGenerator = {
|
|
2
|
-
readonly assetExternalId: (codename: string) => string
|
|
3
|
-
readonly contentItemExternalId: (codename: string) => string
|
|
2
|
+
readonly assetExternalId: (codename: string) => string;
|
|
3
|
+
readonly contentItemExternalId: (codename: string) => string;
|
|
4
4
|
};
|
|
5
5
|
|
|
6
6
|
export const defaultExternalIdGenerator: ExternalIdGenerator = {
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { getTrackingService, type ITrackingEventData } from "@kontent-ai-consulting/tools-analytics";
|
|
2
1
|
import { isBrowser, isNode, isWebWorker } from "browser-or-node";
|
|
3
2
|
import { format } from "bytes";
|
|
4
|
-
import { getDefaultLogger } from "../logs/loggers.js";
|
|
5
3
|
import type { EnvContext } from "../models/core.models.js";
|
|
6
4
|
import { MigrationToolkitError } from "../models/error.models.js";
|
|
7
|
-
import type { Logger } from "../models/log.models.js";
|
|
8
|
-
import { extractErrorData } from "./error.utils.js";
|
|
9
5
|
|
|
10
6
|
export type Writeable<T> = { -readonly [P in keyof T]: T[P] };
|
|
11
7
|
|
|
@@ -37,64 +33,3 @@ export function getCurrentEnvironment(): EnvContext {
|
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
export const defaultZipFilename: string = "data.zip";
|
|
40
|
-
|
|
41
|
-
export async function executeWithTrackingAsync<TResult>(data: {
|
|
42
|
-
readonly func: () => Promise<TResult extends void ? void : Readonly<TResult>>;
|
|
43
|
-
readonly event: Readonly<ITrackingEventData>;
|
|
44
|
-
readonly logger?: Logger;
|
|
45
|
-
}): Promise<TResult extends void ? void : Readonly<TResult>> {
|
|
46
|
-
const trackingService = getTrackingService();
|
|
47
|
-
const logger = data.logger ?? getDefaultLogger();
|
|
48
|
-
|
|
49
|
-
const event = await runWithTrackingAsync({
|
|
50
|
-
func: async () => {
|
|
51
|
-
return await trackingService.trackEventAsync(data.event);
|
|
52
|
-
},
|
|
53
|
-
logger: logger,
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
try {
|
|
57
|
-
const result = await data.func();
|
|
58
|
-
|
|
59
|
-
if (event) {
|
|
60
|
-
await runWithTrackingAsync({
|
|
61
|
-
func: async () => {
|
|
62
|
-
await trackingService.setEventResultAsync({
|
|
63
|
-
eventId: event.eventId,
|
|
64
|
-
result: "success",
|
|
65
|
-
});
|
|
66
|
-
},
|
|
67
|
-
logger: logger,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return result;
|
|
72
|
-
} catch (error) {
|
|
73
|
-
if (event) {
|
|
74
|
-
await runWithTrackingAsync({
|
|
75
|
-
func: async () => {
|
|
76
|
-
await trackingService.setEventResultAsync({
|
|
77
|
-
eventId: event.eventId,
|
|
78
|
-
result: "fail",
|
|
79
|
-
});
|
|
80
|
-
},
|
|
81
|
-
logger: logger,
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
throw error;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
async function runWithTrackingAsync<T>(data: { readonly func: () => Promise<T>; readonly logger: Logger }): Promise<T | undefined> {
|
|
90
|
-
try {
|
|
91
|
-
return await data.func();
|
|
92
|
-
} catch (trackingError) {
|
|
93
|
-
data.logger.log({
|
|
94
|
-
message: `Failed to track event. ${extractErrorData(trackingError).message}`,
|
|
95
|
-
type: "warning",
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
return undefined;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
@@ -358,7 +358,42 @@ export async function importContextFetcherAsync(config: ImportContextConfig) {
|
|
|
358
358
|
};
|
|
359
359
|
};
|
|
360
360
|
|
|
361
|
+
const targetProjectHasItemsAsync = async (): Promise<boolean> => {
|
|
362
|
+
return (await config.managementClient.listContentItems().toPromise()).data.items.length > 0;
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
const targetProjectHasAssetsAsync = async (): Promise<boolean> => {
|
|
366
|
+
return (await config.managementClient.listAssets().toPromise()).data.items.length > 0;
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
const mapItemCodenamesToNonExistentItems = (itemCodenames: ReadonlySet<string>): readonly ItemStateInTargetEnvironmentByCodename[] => {
|
|
370
|
+
return Array.from(itemCodenames).map<ItemStateInTargetEnvironmentByCodename>((codename) => {
|
|
371
|
+
return {
|
|
372
|
+
itemCodename: codename,
|
|
373
|
+
item: undefined,
|
|
374
|
+
state: "doesNotExists",
|
|
375
|
+
externalIdToUse: config.externalIdGenerator.contentItemExternalId(codename),
|
|
376
|
+
};
|
|
377
|
+
});
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
const mapAssetCodenamesToNonExistentAssets = (
|
|
381
|
+
assetCodenames: ReadonlySet<string>,
|
|
382
|
+
): readonly AssetStateInTargetEnvironmentByCodename[] => {
|
|
383
|
+
return Array.from(assetCodenames).map<AssetStateInTargetEnvironmentByCodename>((codename) => {
|
|
384
|
+
return {
|
|
385
|
+
assetCodename: codename,
|
|
386
|
+
asset: undefined,
|
|
387
|
+
state: "doesNotExists",
|
|
388
|
+
externalIdToUse: config.externalIdGenerator.assetExternalId(codename),
|
|
389
|
+
};
|
|
390
|
+
});
|
|
391
|
+
};
|
|
392
|
+
|
|
361
393
|
const getItemStatesAsync = async (itemCodenames: ReadonlySet<string>): Promise<readonly ItemStateInTargetEnvironmentByCodename[]> => {
|
|
394
|
+
if (!(await targetProjectHasItemsAsync())) {
|
|
395
|
+
return mapItemCodenamesToNonExistentItems(itemCodenames);
|
|
396
|
+
}
|
|
362
397
|
const items = await getContentItemsByCodenamesAsync(itemCodenames);
|
|
363
398
|
|
|
364
399
|
return Array.from(itemCodenames).map<ItemStateInTargetEnvironmentByCodename>((codename) => {
|
|
@@ -375,6 +410,9 @@ export async function importContextFetcherAsync(config: ImportContextConfig) {
|
|
|
375
410
|
const getAssetStatesAsync = async (
|
|
376
411
|
assetCodenames: ReadonlySet<string>,
|
|
377
412
|
): Promise<readonly AssetStateInTargetEnvironmentByCodename[]> => {
|
|
413
|
+
if (!(await targetProjectHasAssetsAsync())) {
|
|
414
|
+
return mapAssetCodenamesToNonExistentAssets(assetCodenames);
|
|
415
|
+
}
|
|
378
416
|
const assets = await getAssetsByCodenamesAsync(assetCodenames);
|
|
379
417
|
|
|
380
418
|
return Array.from(assetCodenames).map<AssetStateInTargetEnvironmentByCodename>((codename) => {
|
package/lib/metadata.ts
CHANGED
package/lib/toolkit/export.ts
CHANGED
|
@@ -1,24 +1,7 @@
|
|
|
1
1
|
import type { MigrationData } from "../core/models/migration.models.js";
|
|
2
|
-
import { executeWithTrackingAsync } from "../core/utils/global.utils.js";
|
|
3
2
|
import type { ExportConfig } from "../export/export.models.js";
|
|
4
3
|
import { exportManager } from "../export/export-manager.js";
|
|
5
|
-
import { libMetadata } from "../metadata.js";
|
|
6
4
|
|
|
7
5
|
export async function exportAsync(config: ExportConfig): Promise<MigrationData> {
|
|
8
|
-
return await
|
|
9
|
-
event: {
|
|
10
|
-
tool: "migrationToolkit",
|
|
11
|
-
package: {
|
|
12
|
-
name: libMetadata.name,
|
|
13
|
-
version: libMetadata.version,
|
|
14
|
-
},
|
|
15
|
-
action: "export",
|
|
16
|
-
relatedEnvironmentId: undefined,
|
|
17
|
-
details: {},
|
|
18
|
-
},
|
|
19
|
-
func: async () => {
|
|
20
|
-
return await exportManager(config).exportAsync();
|
|
21
|
-
},
|
|
22
|
-
logger: config.logger,
|
|
23
|
-
});
|
|
6
|
+
return await exportManager(config).exportAsync();
|
|
24
7
|
}
|
package/lib/toolkit/file.ts
CHANGED
|
@@ -3,9 +3,8 @@ import { getDefaultLogger } from "../core/logs/loggers.js";
|
|
|
3
3
|
import { MigrationToolkitError } from "../core/models/error.models.js";
|
|
4
4
|
import type { Logger } from "../core/models/log.models.js";
|
|
5
5
|
import type { MigrationData } from "../core/models/migration.models.js";
|
|
6
|
-
import { defaultZipFilename
|
|
6
|
+
import { defaultZipFilename } from "../core/utils/global.utils.js";
|
|
7
7
|
import { fileManager } from "../file/file-manager.js";
|
|
8
|
-
import { libMetadata } from "../metadata.js";
|
|
9
8
|
import { zipManager } from "../zip/zip-manager.js";
|
|
10
9
|
|
|
11
10
|
export type StoreConfig = {
|
|
@@ -23,52 +22,19 @@ export async function storeAsync(config: StoreConfig): Promise<void> {
|
|
|
23
22
|
const logger = config.logger ?? getDefaultLogger();
|
|
24
23
|
const filename = config.filename ?? defaultZipFilename;
|
|
25
24
|
|
|
26
|
-
await
|
|
27
|
-
event: {
|
|
28
|
-
tool: "migrationToolkit",
|
|
29
|
-
package: {
|
|
30
|
-
name: libMetadata.name,
|
|
31
|
-
version: libMetadata.version,
|
|
32
|
-
},
|
|
33
|
-
action: "store",
|
|
34
|
-
relatedEnvironmentId: undefined,
|
|
35
|
-
details: {},
|
|
36
|
-
},
|
|
37
|
-
func: async () => {
|
|
38
|
-
const zipData = await zipManager(logger).createZipAsync(config.data);
|
|
25
|
+
const zipData = await zipManager(logger).createZipAsync(config.data);
|
|
39
26
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
`Cannot store '${filename}' on File system because the provided zip is not a Buffer`,
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
logger: config.logger,
|
|
50
|
-
});
|
|
27
|
+
if (zipData instanceof BufferProxy) {
|
|
28
|
+
await fileManager(logger).writeFileAsync(filename, zipData);
|
|
29
|
+
} else {
|
|
30
|
+
throw new MigrationToolkitError("invalidZip", `Cannot store '${filename}' on File system because the provided zip is not a Buffer`);
|
|
31
|
+
}
|
|
51
32
|
}
|
|
52
33
|
|
|
53
34
|
export async function extractAsync(config: ExtractConfig): Promise<MigrationData> {
|
|
54
35
|
const logger = config.logger ?? getDefaultLogger();
|
|
55
36
|
const filename = config.filename ?? defaultZipFilename;
|
|
56
37
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
tool: "migrationToolkit",
|
|
60
|
-
package: {
|
|
61
|
-
name: libMetadata.name,
|
|
62
|
-
version: libMetadata.version,
|
|
63
|
-
},
|
|
64
|
-
action: "extract",
|
|
65
|
-
relatedEnvironmentId: undefined,
|
|
66
|
-
details: {},
|
|
67
|
-
},
|
|
68
|
-
func: async () => {
|
|
69
|
-
const fileData = await fileManager(logger).loadFileAsync(filename);
|
|
70
|
-
return await zipManager(logger).parseZipAsync(fileData);
|
|
71
|
-
},
|
|
72
|
-
logger: config.logger,
|
|
73
|
-
});
|
|
38
|
+
const fileData = await fileManager(logger).loadFileAsync(filename);
|
|
39
|
+
return await zipManager(logger).parseZipAsync(fileData);
|
|
74
40
|
}
|