contensis-cli 1.5.1-beta.7 → 1.5.1-beta.8
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/mappers/MixedFileData.js +83 -0
- package/dist/mappers/MixedFileData.js.map +7 -0
- package/dist/services/ContensisCliService.js +55 -83
- package/dist/services/ContensisCliService.js.map +2 -2
- package/dist/util/index.js +0 -21
- package/dist/util/index.js.map +2 -2
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/src/mappers/MixedFileData.ts +80 -0
- package/src/services/ContensisCliService.ts +62 -118
- package/src/util/index.ts +0 -26
- package/src/version.ts +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __typeError = (msg) => {
|
|
7
|
+
throw TypeError(msg);
|
|
8
|
+
};
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name in all)
|
|
12
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from))
|
|
17
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
24
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
25
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
26
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
27
|
+
var MixedFileData_exports = {};
|
|
28
|
+
__export(MixedFileData_exports, {
|
|
29
|
+
MixedFileData: () => MixedFileData
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(MixedFileData_exports);
|
|
32
|
+
var import_file_provider = require("../providers/file-provider");
|
|
33
|
+
var _isProject, _isContentType, _isComponent, _isForm, _isAsset, _isEntry, _isNode, _isTag, _isTagGroup;
|
|
34
|
+
class MixedFileData {
|
|
35
|
+
constructor(fileData) {
|
|
36
|
+
__publicField(this, "models", []);
|
|
37
|
+
__publicField(this, "entries", []);
|
|
38
|
+
__publicField(this, "nodes", []);
|
|
39
|
+
__publicField(this, "tagGroups", []);
|
|
40
|
+
__publicField(this, "tags", []);
|
|
41
|
+
__publicField(this, "init", (fileData) => {
|
|
42
|
+
for (const item of fileData) {
|
|
43
|
+
if (__privateGet(this, _isContentType).call(this, item) || __privateGet(this, _isComponent).call(this, item) || __privateGet(this, _isForm).call(this, item))
|
|
44
|
+
this.models.push(item);
|
|
45
|
+
if (__privateGet(this, _isEntry).call(this, item) || __privateGet(this, _isAsset).call(this, item)) this.entries.push(item);
|
|
46
|
+
if (__privateGet(this, _isNode).call(this, item)) this.nodes.push(item);
|
|
47
|
+
if (__privateGet(this, _isTagGroup).call(this, item)) this.tagGroups.push(item);
|
|
48
|
+
if (__privateGet(this, _isTag).call(this, item)) this.tags.push(item);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
__privateAdd(this, _isProject, (item) => "id" in item && "name" in item && "primaryLanguage" in item);
|
|
52
|
+
__privateAdd(this, _isContentType, (item) => "dataFormat" in item && item.dataFormat === "entry");
|
|
53
|
+
__privateAdd(this, _isComponent, (item) => "dataFormat" in item && item.dataFormat === "component");
|
|
54
|
+
__privateAdd(this, _isForm, (item) => "dataFormat" in item && item.dataFormat === "form");
|
|
55
|
+
__privateAdd(this, _isAsset, (item) => "sys" in item && "contentTypeId" in item.sys && "dataFormat" in item.sys && item.sys.dataFormat === "asset");
|
|
56
|
+
__privateAdd(this, _isEntry, (item) => "sys" in item && "contentTypeId" in item.sys && "dataFormat" in item.sys && item.sys.dataFormat === "entry");
|
|
57
|
+
__privateAdd(this, _isNode, (item) => ("slug" in item || "path" in item) && "displayName" in item);
|
|
58
|
+
__privateAdd(this, _isTag, (item) => "id" in item && "groupId" in item && "label" in item);
|
|
59
|
+
__privateAdd(this, _isTagGroup, (item) => "id" in item && "name" in item && "tagCount" in item);
|
|
60
|
+
if (Array.isArray(fileData)) this.init(fileData);
|
|
61
|
+
}
|
|
62
|
+
async readFile(filePath) {
|
|
63
|
+
const fileData = await (0, import_file_provider.readFileAsJSON)(filePath);
|
|
64
|
+
if (typeof fileData === "string")
|
|
65
|
+
throw new Error(`Import file format must be of type JSON`);
|
|
66
|
+
if (Array.isArray(fileData)) this.init(fileData);
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
_isProject = new WeakMap();
|
|
71
|
+
_isContentType = new WeakMap();
|
|
72
|
+
_isComponent = new WeakMap();
|
|
73
|
+
_isForm = new WeakMap();
|
|
74
|
+
_isAsset = new WeakMap();
|
|
75
|
+
_isEntry = new WeakMap();
|
|
76
|
+
_isNode = new WeakMap();
|
|
77
|
+
_isTag = new WeakMap();
|
|
78
|
+
_isTagGroup = new WeakMap();
|
|
79
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
80
|
+
0 && (module.exports = {
|
|
81
|
+
MixedFileData
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=MixedFileData.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/mappers/MixedFileData.ts"],
|
|
4
|
+
"sourcesContent": ["import { Component, ContentType, Project } from 'contensis-core-api';\nimport {\n Entry,\n ICreateNode,\n ICreateTag,\n ICreateTagGroup,\n Tag,\n TagGroup,\n} from 'contensis-management-api';\nimport { MigrateRequest } from 'migratortron';\nimport { readFileAsJSON } from '~/providers/file-provider';\n\nexport class MixedFileData\n implements\n Pick<MigrateRequest, 'models' | 'entries' | 'nodes' | 'tagGroups' | 'tags'>\n{\n models: (ContentType | Component)[] = [];\n entries: Entry[] = [];\n nodes: ICreateNode[] = [];\n tagGroups: (TagGroup | ICreateTagGroup)[] = [];\n tags: (Tag | ICreateTag)[] = [];\n\n constructor(fileData?: any[]) {\n if (Array.isArray(fileData)) this.init(fileData);\n }\n init = (fileData: any[]) => {\n for (const item of fileData) {\n if (\n this.#isContentType(item) ||\n this.#isComponent(item) ||\n this.#isForm(item)\n )\n this.models.push(item);\n if (this.#isEntry(item) || this.#isAsset(item)) this.entries.push(item);\n if (this.#isNode(item)) this.nodes.push(item);\n if (this.#isTagGroup(item)) this.tagGroups.push(item);\n if (this.#isTag(item)) this.tags.push(item);\n }\n };\n async readFile(filePath: string): Promise<any> {\n const fileData = await readFileAsJSON(filePath);\n if (typeof fileData === 'string')\n throw new Error(`Import file format must be of type JSON`);\n if (Array.isArray(fileData)) this.init(fileData);\n return this;\n }\n\n #isProject = (item: any): item is Project =>\n 'id' in item && 'name' in item && 'primaryLanguage' in item;\n\n #isContentType = (item: any): item is ContentType =>\n 'dataFormat' in item && item.dataFormat === 'entry';\n\n #isComponent = (item: any): item is Component =>\n 'dataFormat' in item && item.dataFormat === 'component';\n\n #isForm = (item: any): item is ContentType =>\n 'dataFormat' in item && item.dataFormat === 'form';\n\n #isAsset = (item: any): item is Entry =>\n 'sys' in item &&\n 'contentTypeId' in item.sys &&\n 'dataFormat' in item.sys &&\n item.sys.dataFormat === 'asset';\n\n #isEntry = (item: any): item is Entry =>\n 'sys' in item &&\n 'contentTypeId' in item.sys &&\n 'dataFormat' in item.sys &&\n item.sys.dataFormat === 'entry';\n\n #isNode = (item: any): item is ICreateNode =>\n ('slug' in item || 'path' in item) && 'displayName' in item;\n\n #isTag = (item: any): item is ICreateTag =>\n 'id' in item && 'groupId' in item && 'label' in item;\n\n #isTagGroup = (item: any): item is ICreateTagGroup =>\n 'id' in item && 'name' in item && 'tagCount' in item;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,2BAA+B;AAV/B;AAYO,MAAM,cAGb;AAAA,EAOE,YAAY,UAAkB;AAN9B,kCAAsC,CAAC;AACvC,mCAAmB,CAAC;AACpB,iCAAuB,CAAC;AACxB,qCAA4C,CAAC;AAC7C,gCAA6B,CAAC;AAK9B,gCAAO,CAAC,aAAoB;AAC1B,iBAAW,QAAQ,UAAU;AAC3B,YACE,mBAAK,gBAAL,WAAoB,SACpB,mBAAK,cAAL,WAAkB,SAClB,mBAAK,SAAL,WAAa;AAEb,eAAK,OAAO,KAAK,IAAI;AACvB,YAAI,mBAAK,UAAL,WAAc,SAAS,mBAAK,UAAL,WAAc,MAAO,MAAK,QAAQ,KAAK,IAAI;AACtE,YAAI,mBAAK,SAAL,WAAa,MAAO,MAAK,MAAM,KAAK,IAAI;AAC5C,YAAI,mBAAK,aAAL,WAAiB,MAAO,MAAK,UAAU,KAAK,IAAI;AACpD,YAAI,mBAAK,QAAL,WAAY,MAAO,MAAK,KAAK,KAAK,IAAI;AAAA,MAC5C;AAAA,IACF;AASA,mCAAa,CAAC,SACZ,QAAQ,QAAQ,UAAU,QAAQ,qBAAqB;AAEzD,uCAAiB,CAAC,SAChB,gBAAgB,QAAQ,KAAK,eAAe;AAE9C,qCAAe,CAAC,SACd,gBAAgB,QAAQ,KAAK,eAAe;AAE9C,gCAAU,CAAC,SACT,gBAAgB,QAAQ,KAAK,eAAe;AAE9C,iCAAW,CAAC,SACV,SAAS,QACT,mBAAmB,KAAK,OACxB,gBAAgB,KAAK,OACrB,KAAK,IAAI,eAAe;AAE1B,iCAAW,CAAC,SACV,SAAS,QACT,mBAAmB,KAAK,OACxB,gBAAgB,KAAK,OACrB,KAAK,IAAI,eAAe;AAE1B,gCAAU,CAAC,UACR,UAAU,QAAQ,UAAU,SAAS,iBAAiB;AAEzD,+BAAS,CAAC,SACR,QAAQ,QAAQ,aAAa,QAAQ,WAAW;AAElD,oCAAc,CAAC,SACb,QAAQ,QAAQ,UAAU,QAAQ,cAAc;AAvDhD,QAAI,MAAM,QAAQ,QAAQ,EAAG,MAAK,KAAK,QAAQ;AAAA,EACjD;AAAA,EAeA,MAAM,SAAS,UAAgC;AAC7C,UAAM,WAAW,UAAM,qCAAe,QAAQ;AAC9C,QAAI,OAAO,aAAa;AACtB,YAAM,IAAI,MAAM,yCAAyC;AAC3D,QAAI,MAAM,QAAQ,QAAQ,EAAG,MAAK,KAAK,QAAQ;AAC/C,WAAO;AAAA,EACT;AAkCF;AAhCE;AAGA;AAGA;AAGA;AAGA;AAMA;AAMA;AAGA;AAGA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -42,7 +42,7 @@ var import_rfdc = __toESM(require("rfdc"));
|
|
|
42
42
|
var import_migratortron = require("migratortron");
|
|
43
43
|
var import_ContensisAuthService = __toESM(require("./ContensisAuthService"));
|
|
44
44
|
var import_en_GB = require("../localisation/en-GB");
|
|
45
|
-
var
|
|
45
|
+
var import_MixedFileData = require("../mappers/MixedFileData");
|
|
46
46
|
var import_SessionCacheProvider = __toESM(require("../providers/SessionCacheProvider"));
|
|
47
47
|
var import_CredentialProvider = __toESM(require("../providers/CredentialProvider"));
|
|
48
48
|
var import_util = require("../util");
|
|
@@ -262,16 +262,13 @@ class ContensisCli {
|
|
|
262
262
|
};
|
|
263
263
|
ConnectContensisImport = async ({
|
|
264
264
|
commit = false,
|
|
265
|
+
noSource = false,
|
|
265
266
|
fromFile,
|
|
266
|
-
|
|
267
|
-
importData,
|
|
268
|
-
mixedData
|
|
267
|
+
importData
|
|
269
268
|
}) => {
|
|
270
269
|
var _a, _b, _c, _d, _e, _f;
|
|
271
|
-
const source = fromFile || importData ||
|
|
272
|
-
const
|
|
273
|
-
if (typeof fileData === "string")
|
|
274
|
-
throw new Error(`Import file format must be of type JSON`);
|
|
270
|
+
const source = fromFile || importData || noSource ? "user-input" : "contensis";
|
|
271
|
+
const mixedData = fromFile ? await new import_MixedFileData.MixedFileData().readFile(fromFile) : importData;
|
|
275
272
|
const { contensisOpts, currentEnv, env, log, messages, sourceAlias } = this;
|
|
276
273
|
const environments = this.cache.environments || {};
|
|
277
274
|
const sourceEnvironment = environments[sourceAlias || ""] || {};
|
|
@@ -297,7 +294,7 @@ class ContensisCli {
|
|
|
297
294
|
);
|
|
298
295
|
const cachedTargetPassword = (_b = targetCredentials == null ? void 0 : targetCredentials.current) == null ? void 0 : _b.password;
|
|
299
296
|
if (cachedSourcePassword && cachedTargetPassword) {
|
|
300
|
-
if (source === "
|
|
297
|
+
if (source === "user-input") {
|
|
301
298
|
this.contensis = new import_migratortron.ContensisMigrationService(
|
|
302
299
|
{
|
|
303
300
|
concurrency: 2,
|
|
@@ -312,7 +309,6 @@ class ContensisCli {
|
|
|
312
309
|
targetProjects: [env.currentProject || ""],
|
|
313
310
|
assetHostname: (_d = this.urls) == null ? void 0 : _d.previewWeb
|
|
314
311
|
},
|
|
315
|
-
...importDataType ? { [importDataType]: fileData } : {},
|
|
316
312
|
...mixedData || {}
|
|
317
313
|
},
|
|
318
314
|
!commit
|
|
@@ -891,14 +887,16 @@ class ContensisCli {
|
|
|
891
887
|
}) => {
|
|
892
888
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
893
889
|
const { currentEnv, currentProject, log, messages } = this;
|
|
890
|
+
let importData;
|
|
891
|
+
if (tags) {
|
|
892
|
+
importData = new import_MixedFileData.MixedFileData();
|
|
893
|
+
importData.tags = tags;
|
|
894
|
+
importData.tagGroups = data || [];
|
|
895
|
+
}
|
|
894
896
|
const contensis = await this.ConnectContensisImport({
|
|
895
897
|
commit,
|
|
896
898
|
fromFile,
|
|
897
|
-
|
|
898
|
-
mixedData: {
|
|
899
|
-
tagGroups: data,
|
|
900
|
-
tags
|
|
901
|
-
}
|
|
899
|
+
importData
|
|
902
900
|
});
|
|
903
901
|
if (contensis) {
|
|
904
902
|
log.line();
|
|
@@ -994,10 +992,7 @@ class ContensisCli {
|
|
|
994
992
|
withDependents
|
|
995
993
|
});
|
|
996
994
|
if (Array.isArray(result)) {
|
|
997
|
-
|
|
998
|
-
const groups = [];
|
|
999
|
-
if (withDependents) (0, import_util.splitTagsAndGroups)(result, tags, groups);
|
|
1000
|
-
else tags = result;
|
|
995
|
+
const { tags, tagGroups } = new import_MixedFileData.MixedFileData(result);
|
|
1001
996
|
log.success(messages.tags.list(currentEnv, tags.length));
|
|
1002
997
|
if (tags)
|
|
1003
998
|
await this.HandleFormattingAndOutput(result, () => {
|
|
@@ -1005,10 +1000,12 @@ class ContensisCli {
|
|
|
1005
1000
|
log.raw("");
|
|
1006
1001
|
log.object(tag);
|
|
1007
1002
|
}
|
|
1008
|
-
if (
|
|
1003
|
+
if (tagGroups.length) {
|
|
1009
1004
|
log.raw("");
|
|
1010
|
-
log.success(
|
|
1011
|
-
|
|
1005
|
+
log.success(
|
|
1006
|
+
messages.taggroups.list(currentEnv, tagGroups.length)
|
|
1007
|
+
);
|
|
1008
|
+
for (const group of tagGroups) {
|
|
1012
1009
|
log.raw("");
|
|
1013
1010
|
log.object(group);
|
|
1014
1011
|
}
|
|
@@ -1027,10 +1024,7 @@ class ContensisCli {
|
|
|
1027
1024
|
withDependents
|
|
1028
1025
|
});
|
|
1029
1026
|
if (Array.isArray(result)) {
|
|
1030
|
-
|
|
1031
|
-
const groups = [];
|
|
1032
|
-
if (withDependents) (0, import_util.splitTagsAndGroups)(result, tags, groups);
|
|
1033
|
-
else tags = result;
|
|
1027
|
+
const { tags, tagGroups } = new import_MixedFileData.MixedFileData(result);
|
|
1034
1028
|
log.success(messages.tags.list(currentEnv, tags.length));
|
|
1035
1029
|
if (!tags.length) log.help(messages.tags.noneExist());
|
|
1036
1030
|
await this.HandleFormattingAndOutput(result, () => {
|
|
@@ -1038,10 +1032,10 @@ class ContensisCli {
|
|
|
1038
1032
|
log.raw("");
|
|
1039
1033
|
log.object(tag);
|
|
1040
1034
|
}
|
|
1041
|
-
if (
|
|
1035
|
+
if (tagGroups.length) {
|
|
1042
1036
|
log.raw("");
|
|
1043
|
-
log.success(messages.taggroups.list(currentEnv,
|
|
1044
|
-
for (const { version, ...group } of
|
|
1037
|
+
log.success(messages.taggroups.list(currentEnv, tagGroups.length));
|
|
1038
|
+
for (const { version, ...group } of tagGroups) {
|
|
1045
1039
|
log.raw("");
|
|
1046
1040
|
log.object(group);
|
|
1047
1041
|
}
|
|
@@ -1060,23 +1054,20 @@ class ContensisCli {
|
|
|
1060
1054
|
}) => {
|
|
1061
1055
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1062
1056
|
const { currentEnv, currentProject, log, messages } = this;
|
|
1063
|
-
|
|
1057
|
+
let importData;
|
|
1064
1058
|
if (data) {
|
|
1065
|
-
|
|
1066
|
-
|
|
1059
|
+
importData = new import_MixedFileData.MixedFileData();
|
|
1060
|
+
importData.tags = data;
|
|
1061
|
+
importData.tagGroups = [...new Set(data.map((t) => t.groupId))].map(
|
|
1067
1062
|
(id) => ({
|
|
1068
1063
|
id
|
|
1069
1064
|
})
|
|
1070
1065
|
);
|
|
1071
1066
|
}
|
|
1072
|
-
if (fromFile) {
|
|
1073
|
-
const fileData = fromFile ? await (0, import_file_provider.readFileAsJSON)(fromFile) || [] : [];
|
|
1074
|
-
(0, import_util.splitTagsAndGroups)(fileData, mixedData.tags, mixedData.tagGroups);
|
|
1075
|
-
}
|
|
1076
1067
|
const contensis = await this.ConnectContensisImport({
|
|
1077
1068
|
commit,
|
|
1078
|
-
|
|
1079
|
-
|
|
1069
|
+
fromFile,
|
|
1070
|
+
importData
|
|
1080
1071
|
});
|
|
1081
1072
|
if (contensis) {
|
|
1082
1073
|
log.line();
|
|
@@ -1136,8 +1127,7 @@ class ContensisCli {
|
|
|
1136
1127
|
this.contensisOpts.concurrency = 1;
|
|
1137
1128
|
const contensis = await this.ConnectContensisImport({
|
|
1138
1129
|
commit,
|
|
1139
|
-
|
|
1140
|
-
// 'user-input' import type does not require a source cms
|
|
1130
|
+
noSource: true
|
|
1141
1131
|
});
|
|
1142
1132
|
if (contensis) {
|
|
1143
1133
|
log.line();
|
|
@@ -1393,14 +1383,9 @@ class ContensisCli {
|
|
|
1393
1383
|
fromFile
|
|
1394
1384
|
}) => {
|
|
1395
1385
|
const { currentProject, log, messages } = this;
|
|
1396
|
-
const mixedData = { models: [], tagGroups: [] };
|
|
1397
|
-
if (fromFile) {
|
|
1398
|
-
const fileData = fromFile ? await (0, import_file_provider.readFileAsJSON)(fromFile) || [] : [];
|
|
1399
|
-
(0, import_util.splitTagGroupsInModels)(fileData, mixedData.models, mixedData.tagGroups);
|
|
1400
|
-
}
|
|
1401
1386
|
const contensis = await this.ConnectContensisImport({
|
|
1402
1387
|
commit,
|
|
1403
|
-
|
|
1388
|
+
fromFile
|
|
1404
1389
|
});
|
|
1405
1390
|
if (contensis) {
|
|
1406
1391
|
log.line();
|
|
@@ -1544,8 +1529,7 @@ Nodes:`));
|
|
|
1544
1529
|
const { currentProject, log, messages } = this;
|
|
1545
1530
|
const contensis = await this.ConnectContensisImport({
|
|
1546
1531
|
commit,
|
|
1547
|
-
|
|
1548
|
-
// 'user-input' import type does not require a source cms
|
|
1532
|
+
noSource: true
|
|
1549
1533
|
});
|
|
1550
1534
|
if (contensis) {
|
|
1551
1535
|
const [err, result] = await contensis.DeleteContentTypes(contentTypeIds);
|
|
@@ -1575,17 +1559,15 @@ Nodes:`));
|
|
|
1575
1559
|
fromFile
|
|
1576
1560
|
}, contentTypeIds = []) => {
|
|
1577
1561
|
const { currentProject, log, messages } = this;
|
|
1578
|
-
let
|
|
1579
|
-
if (
|
|
1580
|
-
throw new Error(`Import file format must be of type JSON`);
|
|
1581
|
-
if (!Array.isArray(fileData)) fileData = [fileData];
|
|
1562
|
+
let importData;
|
|
1563
|
+
if (fromFile) importData = await new import_MixedFileData.MixedFileData().readFile(fromFile);
|
|
1582
1564
|
const contensis = await this.ConnectContensisImport({
|
|
1583
1565
|
commit,
|
|
1584
|
-
|
|
1566
|
+
noSource: !!fromFile
|
|
1585
1567
|
});
|
|
1586
1568
|
if (contensis) {
|
|
1587
1569
|
if (fromFile)
|
|
1588
|
-
for (const contentType of
|
|
1570
|
+
for (const contentType of importData.models) {
|
|
1589
1571
|
contentType.projectId = currentProject;
|
|
1590
1572
|
delete contentType.uuid;
|
|
1591
1573
|
const [err, , createStatus] = await contensis.models.targets[currentProject].repo.UpsertContentType(false, contentType);
|
|
@@ -1616,17 +1598,14 @@ Nodes:`));
|
|
|
1616
1598
|
fromFile
|
|
1617
1599
|
}, modelIds = []) => {
|
|
1618
1600
|
const { log } = this;
|
|
1619
|
-
let
|
|
1620
|
-
if (
|
|
1621
|
-
|
|
1622
|
-
if (!Array.isArray(fileData)) fileData = [fileData];
|
|
1623
|
-
const contensis = await this.ConnectContensisImport({
|
|
1624
|
-
fromFile,
|
|
1625
|
-
importDataType: "models"
|
|
1626
|
-
});
|
|
1601
|
+
let importData;
|
|
1602
|
+
if (fromFile) importData = await new import_MixedFileData.MixedFileData().readFile(fromFile);
|
|
1603
|
+
const contensis = await this.ConnectContensisImport({ fromFile });
|
|
1627
1604
|
if (contensis) {
|
|
1628
1605
|
const [err, result] = await (0, import_await_to_js.default)(
|
|
1629
|
-
contensis.models.Diff(
|
|
1606
|
+
contensis.models.Diff(
|
|
1607
|
+
importData.models.length ? importData.models : modelIds
|
|
1608
|
+
)
|
|
1630
1609
|
);
|
|
1631
1610
|
if (err) log.error(err.message, err);
|
|
1632
1611
|
if (result)
|
|
@@ -1693,8 +1672,7 @@ Components:`));
|
|
|
1693
1672
|
const { currentProject, log, messages } = this;
|
|
1694
1673
|
const contensis = await this.ConnectContensisImport({
|
|
1695
1674
|
commit,
|
|
1696
|
-
|
|
1697
|
-
// 'user-input' import type does not require a source cms
|
|
1675
|
+
noSource: true
|
|
1698
1676
|
});
|
|
1699
1677
|
if (contensis) {
|
|
1700
1678
|
const [err, result] = await contensis.DeleteContentTypes(
|
|
@@ -1727,17 +1705,15 @@ Components:`));
|
|
|
1727
1705
|
fromFile
|
|
1728
1706
|
}, componentIds = []) => {
|
|
1729
1707
|
const { currentProject, log, messages } = this;
|
|
1730
|
-
let
|
|
1731
|
-
if (
|
|
1732
|
-
throw new Error(`Import file format must be of type JSON`);
|
|
1733
|
-
if (!Array.isArray(fileData)) fileData = [fileData];
|
|
1708
|
+
let importData;
|
|
1709
|
+
if (fromFile) importData = await new import_MixedFileData.MixedFileData().readFile(fromFile);
|
|
1734
1710
|
const contensis = await this.ConnectContensisImport({
|
|
1735
1711
|
commit,
|
|
1736
|
-
|
|
1712
|
+
noSource: !!fromFile
|
|
1737
1713
|
});
|
|
1738
1714
|
if (contensis) {
|
|
1739
1715
|
if (fromFile)
|
|
1740
|
-
for (const component of
|
|
1716
|
+
for (const component of importData.models) {
|
|
1741
1717
|
component.projectId = currentProject;
|
|
1742
1718
|
delete component.uuid;
|
|
1743
1719
|
const [err, , createStatus] = await contensis.models.targets[currentProject].repo.UpsertComponent(false, component);
|
|
@@ -1770,8 +1746,7 @@ Components:`));
|
|
|
1770
1746
|
this.contensisOpts.concurrency = 1;
|
|
1771
1747
|
const contensis = await this.ConnectContensisImport({
|
|
1772
1748
|
commit,
|
|
1773
|
-
|
|
1774
|
-
// 'user-input' import type does not require a source cms
|
|
1749
|
+
noSource: true
|
|
1775
1750
|
});
|
|
1776
1751
|
if (contensis) {
|
|
1777
1752
|
if (contensis.isPreview) {
|
|
@@ -1838,11 +1813,12 @@ Components:`));
|
|
|
1838
1813
|
}) => {
|
|
1839
1814
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
1840
1815
|
const { currentEnv, currentProject, log, messages } = this;
|
|
1816
|
+
let importData;
|
|
1817
|
+
if (data) importData = new import_MixedFileData.MixedFileData(data);
|
|
1841
1818
|
const contensis = await this.ConnectContensisImport({
|
|
1842
1819
|
commit,
|
|
1843
1820
|
fromFile,
|
|
1844
|
-
|
|
1845
|
-
importData: data
|
|
1821
|
+
importData
|
|
1846
1822
|
});
|
|
1847
1823
|
if (contensis) {
|
|
1848
1824
|
log.line();
|
|
@@ -1920,8 +1896,7 @@ Components:`));
|
|
|
1920
1896
|
const { currentEnv, currentProject, log, messages } = this;
|
|
1921
1897
|
const contensis = await this.ConnectContensisImport({
|
|
1922
1898
|
commit,
|
|
1923
|
-
fromFile
|
|
1924
|
-
importDataType: "entries"
|
|
1899
|
+
fromFile
|
|
1925
1900
|
});
|
|
1926
1901
|
if (contensis) {
|
|
1927
1902
|
log.line();
|
|
@@ -1978,8 +1953,7 @@ Components:`));
|
|
|
1978
1953
|
const { currentEnv, currentProject, log, messages } = this;
|
|
1979
1954
|
const contensis = await this.ConnectContensisImport({
|
|
1980
1955
|
commit,
|
|
1981
|
-
fromFile
|
|
1982
|
-
importDataType: "entries"
|
|
1956
|
+
fromFile
|
|
1983
1957
|
});
|
|
1984
1958
|
if (contensis) {
|
|
1985
1959
|
log.line();
|
|
@@ -2056,8 +2030,7 @@ Components:`));
|
|
|
2056
2030
|
const { currentEnv, currentProject, log, messages } = this;
|
|
2057
2031
|
const contensis = await this.ConnectContensisImport({
|
|
2058
2032
|
commit,
|
|
2059
|
-
fromFile
|
|
2060
|
-
importDataType: "nodes"
|
|
2033
|
+
fromFile
|
|
2061
2034
|
});
|
|
2062
2035
|
if (contensis) {
|
|
2063
2036
|
log.line();
|
|
@@ -2114,8 +2087,7 @@ Components:`));
|
|
|
2114
2087
|
const { currentEnv, currentProject, log, messages } = this;
|
|
2115
2088
|
const contensis = await this.ConnectContensisImport({
|
|
2116
2089
|
commit,
|
|
2117
|
-
|
|
2118
|
-
// 'user-input' import type does not require a source cms
|
|
2090
|
+
noSource: true
|
|
2119
2091
|
});
|
|
2120
2092
|
if (contensis) {
|
|
2121
2093
|
if (contensis.isPreview) {
|