pim-import 2.64.2 → 2.65.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.
|
@@ -50,18 +50,36 @@ const getTopicSubModelData = async (subModel, topicSubModel) => {
|
|
|
50
50
|
const importSubModel = async (subModel) => {
|
|
51
51
|
const code = `${subModel.code}`;
|
|
52
52
|
let topicSubModel = await contentful_1.getEntryByID(code, "topicSubModel");
|
|
53
|
-
const
|
|
53
|
+
const topicSubModelData = await getTopicSubModelData(subModel, topicSubModel);
|
|
54
54
|
if (topicSubModel) {
|
|
55
55
|
logs_1.log(`The topicSubModel ${code} already exists. Updating...`);
|
|
56
|
-
topicSubModel = await contentful_1.updateEntry(topicSubModel,
|
|
56
|
+
topicSubModel = await contentful_1.updateEntry(topicSubModel, topicSubModelData, topicSubModel.isPublished());
|
|
57
57
|
}
|
|
58
58
|
else {
|
|
59
59
|
logs_1.log(`The topicSubModel ${code} not exists. Creating...`);
|
|
60
|
-
topicSubModel = await contentful_1.createEntryWithId("topicSubModel", code,
|
|
60
|
+
topicSubModel = await contentful_1.createEntryWithId("topicSubModel", code, topicSubModelData);
|
|
61
|
+
}
|
|
62
|
+
const defaultEnvironmentLocaleCode = await contentful_1.getEnvironmentDefaultLocaleCode();
|
|
63
|
+
const topicModelId = topicSubModel?.fields?.parentModel?.[defaultEnvironmentLocaleCode]?.sys?.id;
|
|
64
|
+
if (topicModelId) {
|
|
65
|
+
await addSubModelToModel(topicSubModel.sys.id, topicModelId);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
logs_1.log("No parent model found", "WARN");
|
|
61
69
|
}
|
|
62
70
|
return topicSubModel;
|
|
63
71
|
};
|
|
72
|
+
const addSubModelToModel = async (topicSubModelId, topicModelId) => {
|
|
73
|
+
logs_1.log(`addSubModelToModel - topicSubModelId:${topicSubModelId}, topicModelId: ${topicModelId} `);
|
|
74
|
+
let topicModel = await contentful_1.getEntryByID(topicModelId, "topicModel");
|
|
75
|
+
const data = {
|
|
76
|
+
fields: topicModel?.fields || {},
|
|
77
|
+
};
|
|
78
|
+
data.fields = await contentful_1.addToRelationFields(topicModel, "subModels", topicSubModelId, true);
|
|
79
|
+
topicModel = await contentful_1.updateEntry(topicModel, data, topicModel.isPublished());
|
|
80
|
+
};
|
|
64
81
|
const importSubModels = async (offset = 0, limit = 50) => {
|
|
82
|
+
const timeStart = new Date();
|
|
65
83
|
logs_1.log(`importSubModels - offset: ${offset}, limit: ${limit}`, "INFO");
|
|
66
84
|
const subModels = await endpoints_1.getOtherCatalogData("submodels", offset, limit);
|
|
67
85
|
const total = subModels?.pagedCollection?.length || 0;
|
|
@@ -77,6 +95,9 @@ const importSubModels = async (offset = 0, limit = 50) => {
|
|
|
77
95
|
}
|
|
78
96
|
}
|
|
79
97
|
const nextOffset = Number(offset) + Number(limit);
|
|
98
|
+
const timeEnd = new Date();
|
|
99
|
+
const seconds = utils_1.secondBetweenTwoDate(timeStart, timeEnd);
|
|
100
|
+
logs_1.log(`Request time: ${seconds} seconds`);
|
|
80
101
|
return {
|
|
81
102
|
offset: nextOffset,
|
|
82
103
|
limit: Number(limit),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submodels.js","sourceRoot":"","sources":["../../../src/pim/methods/submodels.ts"],"names":[],"mappings":";;;AACA,0CAAsC;AACtC,4CAAmD;AASnD,sDAQ+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"submodels.js","sourceRoot":"","sources":["../../../src/pim/methods/submodels.ts"],"names":[],"mappings":";;;AACA,0CAAsC;AACtC,4CAAmD;AASnD,sDAQ+B;AAC/B,uCAKqB;AAErB,MAAM,oBAAoB,GAAG,KAAK,EAChC,QAA+B,EAC/B,aAAoB,EACpB,EAAE;IACF,MAAM,4BAA4B,GAAG,MAAM,4CAA+B,EAAE,CAAC;IAC7E,MAAM,IAAI,GAAqB;QAC7B,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,EAAE;KACpC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,0BAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,GAAG,MAAM,0BAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,0BAAa,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAGvE,IAAI,QAAQ,CAAC,aAAa,EAAE;QAC1B,MAAM,cAAc,GAAG,MAAM,2BAAc,CACzC,QAAQ,CAAC,aAAa,EACtB,gBAAgB,EAChB,gCAAgC,CACjC,CAAC;QACF,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,MAAM,gCAAmB,CACrC,IAAI,EACJ,WAAW,EACX,cAAc,CAAC,GAAG,CAAC,EAAE,CACtB,CAAC;YAGF,IAAI,CAAC,MAAM,GAAG,MAAM,gCAAmB,CACrC,IAAI,EACJ,SAAS,EACT,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,EAAE,CACnE,CAAC;SACH;aAAM;YACL,UAAG,CACD,4BAA4B,QAAQ,CAAC,aAAa,0EAA0E,EAC5H,MAAM,CACP,CAAC;SACH;KACF;SAAM;QACL,UAAG,CACD,0EAA0E,EAC1E,MAAM,CACP,CAAC;KACH;IAGD,IAAI,QAAQ,CAAC,eAAe,EAAE;QAC5B,MAAM,gBAAgB,GAAG,MAAM,2BAAc,CAC3C,QAAQ,CAAC,eAAe,EACxB,kBAAkB,EAClB,iBAAiB,CAClB,CAAC;QACF,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,MAAM,gCAAmB,CACrC,IAAI,EACJ,aAAa,EACb,gBAAgB,CAAC,GAAG,CAAC,EAAE,CACxB,CAAC;SACH;aAAM;YACL,UAAG,CACD,8BAA8B,QAAQ,CAAC,eAAe,YAAY,EAClE,MAAM,CACP,CAAC;SACH;KACF;IAGD,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE;QAC9B,MAAM,UAAU,GAAG,MAAM,2BAAc,CACrC,QAAQ,CAAC,WAAW,CAAC,IAAI,EACzB,YAAY,EACZ,iBAAiB,CAClB,CAAC;QACF,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,MAAM,GAAG,MAAM,gCAAmB,CACrC,IAAI,EACJ,aAAa,EACb,UAAU,CAAC,GAAG,CAAC,EAAE,CAClB,CAAC;SACH;aAAM;YACL,UAAG,CACD,wBAAwB,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,EAC7D,MAAM,CACP,CAAC;SACH;KACF;IAGD,IAAI,CAAC,MAAM,GAAG,MAAM,0BAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,uBAAe,EAAE,CAAC,CAAC;IAE9E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAkBF,MAAM,cAAc,GAAG,KAAK,EAC1B,QAA+B,EACf,EAAE;IAClB,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,aAAa,GAAU,MAAM,yBAAY,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAErE,MAAM,iBAAiB,GAAqB,MAAM,oBAAoB,CACpE,QAAQ,EACR,aAAa,CACd,CAAC;IACF,IAAI,aAAa,EAAE;QACjB,UAAG,CAAC,qBAAqB,IAAI,8BAA8B,CAAC,CAAC;QAC7D,aAAa,GAAG,MAAM,wBAAW,CAC/B,aAAa,EACb,iBAAiB,EACjB,aAAa,CAAC,WAAW,EAAE,CAC5B,CAAC;KACH;SAAM;QACL,UAAG,CAAC,qBAAqB,IAAI,0BAA0B,CAAC,CAAC;QACzD,aAAa,GAAG,MAAM,8BAAiB,CACrC,eAAe,EACf,IAAI,EACJ,iBAAiB,CAClB,CAAC;KACH;IAED,MAAM,4BAA4B,GAAG,MAAM,4CAA+B,EAAE,CAAC;IAC7E,MAAM,YAAY,GAChB,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAC9E,IAAI,YAAY,EAAE;QAChB,MAAM,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;KAC9D;SAAM;QACL,UAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;KACtC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,eAAuB,EACvB,YAAoB,EACpB,EAAE;IACF,UAAG,CACD,wCAAwC,eAAe,mBAAmB,YAAY,GAAG,CAC1F,CAAC;IACF,IAAI,UAAU,GAAG,MAAM,yBAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,IAAI,GAAqB;QAC7B,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,EAAE;KACjC,CAAC;IAEF,IAAI,CAAC,MAAM,GAAG,MAAM,gCAAmB,CACrC,UAAU,EACV,WAAW,EACX,eAAe,EACf,IAAI,CACL,CAAC;IAEF,UAAU,GAAG,MAAM,wBAAW,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AASK,MAAM,eAAe,GAAG,KAAK,EAClC,SAAiB,CAAC,EAClB,QAAgB,EAAE,EACU,EAAE;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,UAAG,CAAC,6BAA6B,MAAM,YAAY,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,+BAAmB,CACzC,WAAW,EACX,MAAM,EACN,KAAK,CACN,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC;IAEtD,IAAI,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE;QACtC,UAAG,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,eAAe,EAAE;YAChD,UAAG,CAAC,GAAG,EAAE,KAAK,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;YAE7C,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAG/B,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE;gBACnD,MAAM,aAAK,CAAC,IAAI,CAAC,CAAC;aACnB;SACF;KACF;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,4BAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,UAAG,CAAC,iBAAiB,OAAO,UAAU,CAAC,CAAC;IAExC,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,SAAS,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU;QAC7C,KAAK,EAAE,SAAS,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,eAAe,mBAwC1B"}
|
package/package.json
CHANGED
|
@@ -18,7 +18,12 @@ import {
|
|
|
18
18
|
addFieldValue,
|
|
19
19
|
addToRelationFields,
|
|
20
20
|
} from "../../libs/contentful";
|
|
21
|
-
import {
|
|
21
|
+
import {
|
|
22
|
+
sleep,
|
|
23
|
+
getPimTranslations,
|
|
24
|
+
getLocalISOTime,
|
|
25
|
+
secondBetweenTwoDate,
|
|
26
|
+
} from "../../utils";
|
|
22
27
|
|
|
23
28
|
const getTopicSubModelData = async (
|
|
24
29
|
subModel: PagedCollectionEntity,
|
|
@@ -135,7 +140,7 @@ const importSubModel = async (
|
|
|
135
140
|
const code = `${subModel.code}`;
|
|
136
141
|
let topicSubModel: Entry = await getEntryByID(code, "topicSubModel");
|
|
137
142
|
|
|
138
|
-
const
|
|
143
|
+
const topicSubModelData: CreateEntryProps = await getTopicSubModelData(
|
|
139
144
|
subModel,
|
|
140
145
|
topicSubModel
|
|
141
146
|
);
|
|
@@ -143,7 +148,7 @@ const importSubModel = async (
|
|
|
143
148
|
log(`The topicSubModel ${code} already exists. Updating...`);
|
|
144
149
|
topicSubModel = await updateEntry(
|
|
145
150
|
topicSubModel,
|
|
146
|
-
|
|
151
|
+
topicSubModelData,
|
|
147
152
|
topicSubModel.isPublished()
|
|
148
153
|
);
|
|
149
154
|
} else {
|
|
@@ -151,13 +156,44 @@ const importSubModel = async (
|
|
|
151
156
|
topicSubModel = await createEntryWithId(
|
|
152
157
|
"topicSubModel",
|
|
153
158
|
code,
|
|
154
|
-
|
|
159
|
+
topicSubModelData
|
|
155
160
|
);
|
|
156
161
|
}
|
|
157
162
|
|
|
163
|
+
const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
|
|
164
|
+
const topicModelId =
|
|
165
|
+
topicSubModel?.fields?.parentModel?.[defaultEnvironmentLocaleCode]?.sys?.id;
|
|
166
|
+
if (topicModelId) {
|
|
167
|
+
await addSubModelToModel(topicSubModel.sys.id, topicModelId);
|
|
168
|
+
} else {
|
|
169
|
+
log("No parent model found", "WARN");
|
|
170
|
+
}
|
|
171
|
+
|
|
158
172
|
return topicSubModel;
|
|
159
173
|
};
|
|
160
174
|
|
|
175
|
+
const addSubModelToModel = async (
|
|
176
|
+
topicSubModelId: string,
|
|
177
|
+
topicModelId: string
|
|
178
|
+
) => {
|
|
179
|
+
log(
|
|
180
|
+
`addSubModelToModel - topicSubModelId:${topicSubModelId}, topicModelId: ${topicModelId} `
|
|
181
|
+
);
|
|
182
|
+
let topicModel = await getEntryByID(topicModelId, "topicModel");
|
|
183
|
+
const data: CreateEntryProps = {
|
|
184
|
+
fields: topicModel?.fields || {},
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
data.fields = await addToRelationFields(
|
|
188
|
+
topicModel,
|
|
189
|
+
"subModels",
|
|
190
|
+
topicSubModelId,
|
|
191
|
+
true
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
topicModel = await updateEntry(topicModel, data, topicModel.isPublished());
|
|
195
|
+
};
|
|
196
|
+
|
|
161
197
|
/**
|
|
162
198
|
* Import subModel
|
|
163
199
|
*
|
|
@@ -169,6 +205,7 @@ export const importSubModels = async (
|
|
|
169
205
|
offset: number = 0,
|
|
170
206
|
limit: number = 50
|
|
171
207
|
): Promise<PaginationResults> => {
|
|
208
|
+
const timeStart = new Date();
|
|
172
209
|
log(`importSubModels - offset: ${offset}, limit: ${limit}`, "INFO");
|
|
173
210
|
const subModels = await getOtherCatalogData<CollectionSubModels>(
|
|
174
211
|
"submodels",
|
|
@@ -194,6 +231,9 @@ export const importSubModels = async (
|
|
|
194
231
|
}
|
|
195
232
|
|
|
196
233
|
const nextOffset = Number(offset) + Number(limit);
|
|
234
|
+
const timeEnd = new Date();
|
|
235
|
+
const seconds = secondBetweenTwoDate(timeStart, timeEnd);
|
|
236
|
+
log(`Request time: ${seconds} seconds`);
|
|
197
237
|
|
|
198
238
|
return {
|
|
199
239
|
offset: nextOffset,
|