pim-import 4.53.0 → 4.55.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/.env.example +1 -0
- package/dist/algolia/config.js +9 -0
- package/dist/algolia/config.js.map +1 -1
- package/dist/algolia/inspirations.js +197 -0
- package/dist/algolia/inspirations.js.map +1 -0
- package/dist/browser.js +5 -1
- package/dist/browser.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/algolia/config.ts +10 -0
- package/src/algolia/inspirations.ts +315 -0
- package/src/browser.ts +5 -0
- package/src/index.ts +5 -0
- package/types/algolia/config.d.ts +10 -1
- package/types/algolia/inspirations.d.ts +41 -0
- package/types/browser.d.ts +1 -0
- package/types/index.d.ts +1 -0
package/.env.example
CHANGED
|
@@ -28,6 +28,7 @@ FPI_ALGOLIA_INDEX_MODEL_NAME=""
|
|
|
28
28
|
FPI_ALGOLIA_INDEX_DOWNLOAD_NAME=""
|
|
29
29
|
FPI_ALGOLIA_INDEX_PROJECT_NAME=""
|
|
30
30
|
FPI_ALGOLIA_INDEX_STORY_NAME=""
|
|
31
|
+
FPI_ALGOLIA_INDEX_INSPIRATION_NAME=""
|
|
31
32
|
FPI_ALGOLIA_INDEX_PRESS_REVIEW_NAME=""
|
|
32
33
|
FPI_ALGOLIA_INDEX_PRESS_RELEASE_NAME=""
|
|
33
34
|
FPI_ALGOLIA_INDEX_NEWS_NAME=""
|
package/dist/algolia/config.js
CHANGED
|
@@ -148,6 +148,15 @@ const getIndicesSettings = () => {
|
|
|
148
148
|
],
|
|
149
149
|
},
|
|
150
150
|
},
|
|
151
|
+
inspirations: {
|
|
152
|
+
name: `${process.env.FPI_ALGOLIA_INDEX_INSPIRATION_NAME}${suffix}`,
|
|
153
|
+
settings: {
|
|
154
|
+
attributesForFaceting: [],
|
|
155
|
+
searchableAttributes: ["name"],
|
|
156
|
+
ranking: [],
|
|
157
|
+
replicas: [],
|
|
158
|
+
},
|
|
159
|
+
},
|
|
151
160
|
projects: {
|
|
152
161
|
name: `${process.env.FPI_ALGOLIA_INDEX_PROJECT_NAME}${suffix}`,
|
|
153
162
|
settings: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/algolia/config.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA0C;AAG1C,uCAAmC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/algolia/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.removeInspirationObject = exports.reindexInspirations = exports.reindexInspiration = void 0;
|
|
7
|
+
const logs_1 = require("../libs/logs");
|
|
8
|
+
const contentful_cda_1 = require("../libs/contentful-cda");
|
|
9
|
+
const config_1 = require("./config");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
|
+
const imgix_1 = require("../libs/imgix");
|
|
12
|
+
const remove_markdown_1 = __importDefault(require("remove-markdown"));
|
|
13
|
+
const indexKey = "inspirations";
|
|
14
|
+
const isObjectToDelete = (object, defaultEnvironmentLocaleCode) => {
|
|
15
|
+
return !object?.slugs?.[defaultEnvironmentLocaleCode];
|
|
16
|
+
};
|
|
17
|
+
const getObject = async (topic, contentTypeId) => {
|
|
18
|
+
const defaultEnvironmentLocaleCode = await (0, contentful_cda_1.getEnvironmentDefaultLocaleCode)();
|
|
19
|
+
(0, logs_1.log)(`Sync the ${topic.sys.id} ${contentTypeId}...`);
|
|
20
|
+
let topicWithFields = topic;
|
|
21
|
+
if (!topicWithFields?.fields) {
|
|
22
|
+
(0, logs_1.log)(`Get the ${topic.sys.id} ${contentTypeId} details...`);
|
|
23
|
+
topicWithFields = await (0, contentful_cda_1.getEntryByID)(topic.sys.id, contentTypeId);
|
|
24
|
+
}
|
|
25
|
+
if (!topicWithFields) {
|
|
26
|
+
(0, logs_1.log)(`The ${contentTypeId} ${topic.sys.id} not found`, "WARN");
|
|
27
|
+
const recordFail = {
|
|
28
|
+
objectID: topic?.sys?.id,
|
|
29
|
+
};
|
|
30
|
+
return recordFail;
|
|
31
|
+
}
|
|
32
|
+
const isProject = topicWithFields.sys.contentType.sys.id === "topicProject";
|
|
33
|
+
(0, logs_1.log)(`Get page details...`);
|
|
34
|
+
const page = await (0, contentful_cda_1.getTopicPage)(topic.sys.id, "fields.slug,fields.protected,fields.hideInRegions");
|
|
35
|
+
if (!page) {
|
|
36
|
+
(0, logs_1.log)(`The ${contentTypeId} page ${topic.sys.id} not found`, "WARN");
|
|
37
|
+
const recordFail = {
|
|
38
|
+
objectID: topic?.sys?.id,
|
|
39
|
+
};
|
|
40
|
+
return recordFail;
|
|
41
|
+
}
|
|
42
|
+
const slugs = await (0, utils_1.getAllTranslations)(page?.fields.slug || {});
|
|
43
|
+
const thumbnailField = isProject ? "thumbnailImgix" : "previewImagesImgix";
|
|
44
|
+
(0, logs_1.log)(`Get ${thumbnailField} details...`);
|
|
45
|
+
let thumbnailImgix = {};
|
|
46
|
+
let thumbnailImgixWrapperImgixID = "";
|
|
47
|
+
if (Array.isArray(topicWithFields?.fields?.[thumbnailField]?.[defaultEnvironmentLocaleCode])) {
|
|
48
|
+
thumbnailImgixWrapperImgixID =
|
|
49
|
+
topicWithFields?.fields?.[thumbnailField]?.[defaultEnvironmentLocaleCode]?.[0]?.sys?.id;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
thumbnailImgixWrapperImgixID =
|
|
53
|
+
topicWithFields?.fields?.[thumbnailField]?.[defaultEnvironmentLocaleCode]
|
|
54
|
+
?.sys?.id;
|
|
55
|
+
}
|
|
56
|
+
if (thumbnailImgixWrapperImgixID) {
|
|
57
|
+
thumbnailImgix = await (0, imgix_1.getWrapperImgixFields)(thumbnailImgixWrapperImgixID);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
(0, logs_1.log)(`No thumbnail imgix found`, "WARN");
|
|
61
|
+
}
|
|
62
|
+
(0, logs_1.log)(`Get hideInRegions details...`);
|
|
63
|
+
const hideInRegions = page.fields.hideInRegions?.[defaultEnvironmentLocaleCode].map((item) => item.sys.id) || [];
|
|
64
|
+
const clearExcerpt = {};
|
|
65
|
+
for (const locale in topicWithFields?.fields?.excerpt) {
|
|
66
|
+
if (topicWithFields?.fields?.excerpt?.[locale]) {
|
|
67
|
+
clearExcerpt[locale] = (0, remove_markdown_1.default)(topicWithFields?.fields?.excerpt?.[locale]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
(0, logs_1.log)(`Get category details...`);
|
|
71
|
+
let category = {};
|
|
72
|
+
if (!isProject &&
|
|
73
|
+
topicWithFields.fields?.category?.[defaultEnvironmentLocaleCode]?.sys?.id) {
|
|
74
|
+
const categoryEntry = await (0, contentful_cda_1.getEntryByID)(topicWithFields.fields.category[defaultEnvironmentLocaleCode].sys.id, "topicStoryCategory");
|
|
75
|
+
if (categoryEntry) {
|
|
76
|
+
category = {
|
|
77
|
+
sysId: topicWithFields.fields.category[defaultEnvironmentLocaleCode].sys.id,
|
|
78
|
+
title: await (0, utils_1.getAllTranslations)(categoryEntry?.fields?.title || {}),
|
|
79
|
+
priority: await (0, utils_1.getAllTranslations)(categoryEntry?.fields?.priority || {}),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
(0, logs_1.log)(`No categoryEntry found`, "WARN");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
(0, logs_1.log)(`No category found`, "WARN");
|
|
88
|
+
}
|
|
89
|
+
const emptyLocalizedField = {
|
|
90
|
+
[defaultEnvironmentLocaleCode]: "",
|
|
91
|
+
};
|
|
92
|
+
const record = {
|
|
93
|
+
objectID: topicWithFields.sys.id,
|
|
94
|
+
name: await (0, utils_1.getAllTranslations)(topicWithFields?.fields?.title || emptyLocalizedField),
|
|
95
|
+
excerpt: await (0, utils_1.getAllTranslations)(topicWithFields?.fields?.excerpt ? clearExcerpt : emptyLocalizedField),
|
|
96
|
+
description: await (0, utils_1.getAllTranslations)(topicWithFields?.fields?.description || emptyLocalizedField),
|
|
97
|
+
slugs,
|
|
98
|
+
thumbnailImgix,
|
|
99
|
+
category,
|
|
100
|
+
visualizationDate: topicWithFields?.fields?.visualizationDate?.[defaultEnvironmentLocaleCode] || "",
|
|
101
|
+
hideInRegions,
|
|
102
|
+
lastSyncDate: (0, utils_1.getLocalISOTime)(),
|
|
103
|
+
type: isProject ? "project" : "story",
|
|
104
|
+
};
|
|
105
|
+
return record;
|
|
106
|
+
};
|
|
107
|
+
const reindexInspiration = async (topicId) => {
|
|
108
|
+
const defaultEnvironmentLocaleCode = await (0, contentful_cda_1.getEnvironmentDefaultLocaleCode)();
|
|
109
|
+
const timeStart = new Date();
|
|
110
|
+
(0, logs_1.log)(`reindexInspiration - entryId: ${topicId} `);
|
|
111
|
+
let topic = await (0, contentful_cda_1.getEntryByID)(topicId, "topicProject");
|
|
112
|
+
topic = !topic ? await (0, contentful_cda_1.getEntryByID)(topicId, "topicStory") : topic;
|
|
113
|
+
const index = (0, config_1.getIndex)(indexKey);
|
|
114
|
+
let record = null;
|
|
115
|
+
if (!topic) {
|
|
116
|
+
(0, logs_1.log)(`No topic found with id ${topicId}. Delete object if exists`, "WARN");
|
|
117
|
+
record = await index.deleteObject(topicId);
|
|
118
|
+
return { ...record };
|
|
119
|
+
}
|
|
120
|
+
const object = await getObject(topic, topic.sys.contentType.sys.id);
|
|
121
|
+
if (!isObjectToDelete(object, defaultEnvironmentLocaleCode)) {
|
|
122
|
+
(0, logs_1.log)(`Save object`);
|
|
123
|
+
record = await index.saveObject(object);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
(0, logs_1.log)(`Delete object`);
|
|
127
|
+
record = await index.deleteObject(object.objectID);
|
|
128
|
+
}
|
|
129
|
+
const timeEnd = new Date();
|
|
130
|
+
const seconds = (0, utils_1.secondBetweenTwoDate)(timeStart, timeEnd);
|
|
131
|
+
(0, logs_1.log)(`Execution time: ${seconds} seconds`);
|
|
132
|
+
return { ...record, ...object };
|
|
133
|
+
};
|
|
134
|
+
exports.reindexInspiration = reindexInspiration;
|
|
135
|
+
const getObjects = async (offset, limit, filterKey, filterValue) => {
|
|
136
|
+
const client = await (0, contentful_cda_1.getClient)();
|
|
137
|
+
const opts = {
|
|
138
|
+
content_type: "topicProject",
|
|
139
|
+
limit,
|
|
140
|
+
skip: offset,
|
|
141
|
+
};
|
|
142
|
+
if (filterKey && filterValue) {
|
|
143
|
+
opts[filterKey] = filterValue;
|
|
144
|
+
}
|
|
145
|
+
const { items: projectItems, total: projectTotal } = await client.withAllLocales.getEntries(opts);
|
|
146
|
+
opts.content_type = "topicStory";
|
|
147
|
+
const { items: storyItems, total: stotyTotal } = await client.withAllLocales.getEntries(opts);
|
|
148
|
+
const items = [...projectItems, ...storyItems];
|
|
149
|
+
const total = projectTotal + stotyTotal;
|
|
150
|
+
const objects = [];
|
|
151
|
+
let count = Number(offset);
|
|
152
|
+
for (const topic of items) {
|
|
153
|
+
(0, logs_1.log)(`${++count} of ${total}`, "INFO");
|
|
154
|
+
const timeStart = new Date();
|
|
155
|
+
const record = await getObject(topic, topic.sys.contentType.sys.id);
|
|
156
|
+
const timeEnd = new Date();
|
|
157
|
+
const seconds = (0, utils_1.secondBetweenTwoDate)(timeStart, timeEnd);
|
|
158
|
+
(0, logs_1.log)(`Execution time: ${seconds} seconds`);
|
|
159
|
+
objects.push(record);
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
objects,
|
|
163
|
+
offset: Number(offset) + Number(limit),
|
|
164
|
+
limit: Number(limit),
|
|
165
|
+
completed: count >= total,
|
|
166
|
+
total,
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
const reindexInspirations = async (offset = 0, limit = 50, filterKey = "", filterValue = "") => {
|
|
170
|
+
const defaultEnvironmentLocaleCode = await (0, contentful_cda_1.getEnvironmentDefaultLocaleCode)();
|
|
171
|
+
const timeStart = new Date();
|
|
172
|
+
(0, logs_1.log)(`reindexInspirations - filterKey: ${filterKey} filterValue: ${filterValue} offset: ${offset} limit: ${limit} `);
|
|
173
|
+
const records = await getObjects(offset, limit, filterKey, filterValue);
|
|
174
|
+
const objectsToSave = records.objects.filter((object) => !isObjectToDelete(object, defaultEnvironmentLocaleCode));
|
|
175
|
+
const objectIdsToDelete = records.objects
|
|
176
|
+
.filter((object) => isObjectToDelete(object, defaultEnvironmentLocaleCode))
|
|
177
|
+
.map((object) => object.objectID);
|
|
178
|
+
const index = (0, config_1.getIndex)(indexKey);
|
|
179
|
+
(0, logs_1.log)(`Save ${objectsToSave.length} objects to ${index.indexName} index`);
|
|
180
|
+
const savedObjectIDs = await index.saveObjects(objectsToSave);
|
|
181
|
+
(0, logs_1.log)(`Delete ${objectIdsToDelete.length} objects from ${index.indexName} index`);
|
|
182
|
+
const deletedObjectIDs = await index.deleteObjects(objectIdsToDelete);
|
|
183
|
+
const timeEnd = new Date();
|
|
184
|
+
const seconds = (0, utils_1.secondBetweenTwoDate)(timeStart, timeEnd);
|
|
185
|
+
(0, logs_1.log)(`Execution time: ${seconds} seconds`);
|
|
186
|
+
return {
|
|
187
|
+
...records,
|
|
188
|
+
savedObjectIDs: savedObjectIDs.objectIDs,
|
|
189
|
+
deletedObjectIDs: deletedObjectIDs.objectIDs,
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
exports.reindexInspirations = reindexInspirations;
|
|
193
|
+
const removeInspirationObject = async (objectId) => {
|
|
194
|
+
return (0, config_1.removeIndexObject)(objectId, indexKey);
|
|
195
|
+
};
|
|
196
|
+
exports.removeInspirationObject = removeInspirationObject;
|
|
197
|
+
//# sourceMappingURL=inspirations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspirations.js","sourceRoot":"","sources":["../../src/algolia/inspirations.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAmC;AACnC,2DAKgC;AAChC,qCAA4E;AAC5E,oCAIkB;AAOlB,yCAAsD;AACtD,sEAAuC;AAEvC,MAAM,QAAQ,GAAwB,cAAc,CAAC;AAgBrD,MAAM,gBAAgB,GAAG,CACvB,MAAW,EACX,4BAAoC,EACpC,EAAE;IACF,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,4BAA4B,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EACrB,KAAY,EACZ,aAAqB,EACc,EAAE;IACrC,MAAM,4BAA4B,GAAG,MAAM,IAAA,gDAA+B,GAAE,CAAC;IAC7E,IAAA,UAAG,EAAC,YAAY,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,aAAa,KAAK,CAAC,CAAC;IACpD,IAAI,eAAe,GAAU,KAAK,CAAC;IAEnC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE;QAC5B,IAAA,UAAG,EAAC,WAAW,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,aAAa,aAAa,CAAC,CAAC;QAC3D,eAAe,GAAG,MAAM,IAAA,6BAAY,EAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;KACnE;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,IAAA,UAAG,EAAC,OAAO,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAE9D,MAAM,UAAU,GAA6B;YAC3C,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;SACzB,CAAC;QAEF,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC;IAE5E,IAAA,UAAG,EAAC,qBAAqB,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAY,EAC7B,KAAK,CAAC,GAAG,CAAC,EAAE,EACZ,mDAAmD,CACpD,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE;QACT,IAAA,UAAG,EAAC,OAAO,aAAa,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAEnE,MAAM,UAAU,GAA6B;YAC3C,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;SACzB,CAAC;QAEF,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC3E,IAAA,UAAG,EAAC,OAAO,cAAc,aAAa,CAAC,CAAC;IACxC,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,4BAA4B,GAAG,EAAE,CAAC;IACtC,IACE,KAAK,CAAC,OAAO,CACX,eAAe,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAC1E,EACD;QACA,4BAA4B;YAC1B,eAAe,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,CACzC,4BAA4B,CAC7B,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;KACnB;SAAM;QACL,4BAA4B;YAC1B,eAAe,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,4BAA4B,CAAC;gBACvE,EAAE,GAAG,EAAE,EAAE,CAAC;KACf;IACD,IAAI,4BAA4B,EAAE;QAChC,cAAc,GAAG,MAAM,IAAA,6BAAqB,EAAC,4BAA4B,CAAC,CAAC;KAC5E;SAAM;QACL,IAAA,UAAG,EAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;KACzC;IAED,IAAA,UAAG,EAAC,8BAA8B,CAAC,CAAC;IACpC,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAC3D,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC7B,IAAI,EAAE,CAAC;IAEV,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE;QACrD,IAAI,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;YAC7C,YAAoB,CAAC,MAAM,CAAC,GAAG,IAAA,yBAAQ,EACtC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAC3C,CAAC;SACH;KACF;IAED,IAAA,UAAG,EAAC,yBAAyB,CAAC,CAAC;IAC/B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IACE,CAAC,SAAS;QACV,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,EAAE,EACzE;QACA,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAY,EACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,EAAE,EACpE,oBAAoB,CACrB,CAAC;QACF,IAAI,aAAa,EAAE;YACjB,QAAQ,GAAG;gBACT,KAAK,EACH,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,EAAE;gBACtE,KAAK,EAAE,MAAM,IAAA,0BAAkB,EAAC,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;gBACnE,QAAQ,EAAE,MAAM,IAAA,0BAAkB,EAChC,aAAa,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,CACtC;aACF,CAAC;SACH;aAAM;YACL,IAAA,UAAG,EAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;SACvC;KACF;SAAM;QACL,IAAA,UAAG,EAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;KAClC;IAGD,MAAM,mBAAmB,GAA0B;QACjD,CAAC,4BAA4B,CAAC,EAAE,EAAE;KACnC,CAAC;IACF,MAAM,MAAM,GAA6B;QACvC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE;QAChC,IAAI,EAAE,MAAM,IAAA,0BAAkB,EAC5B,eAAe,EAAE,MAAM,EAAE,KAAK,IAAI,mBAAmB,CACtD;QACD,OAAO,EAAE,MAAM,IAAA,0BAAkB,EAC/B,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CACtE;QACD,WAAW,EAAE,MAAM,IAAA,0BAAkB,EACnC,eAAe,EAAE,MAAM,EAAE,WAAW,IAAI,mBAAmB,CAC5D;QACD,KAAK;QACL,cAAc;QACd,QAAQ;QACR,iBAAiB,EACf,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAC1C,4BAA4B,CAC7B,IAAI,EAAE;QACT,aAAa;QACb,YAAY,EAAE,IAAA,uBAAe,GAAE;QAC/B,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;KACtC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IAC1D,MAAM,4BAA4B,GAAG,MAAM,IAAA,gDAA+B,GAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAA,UAAG,EAAC,iCAAiC,OAAO,GAAG,CAAC,CAAC;IAEjD,IAAI,KAAK,GAAG,MAAM,IAAA,6BAAY,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACxD,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAY,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnE,MAAM,KAAK,GAAG,IAAA,iBAAQ,EAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC,KAAK,EAAE;QACV,IAAA,UAAG,EAAC,0BAA0B,OAAO,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;KACtB;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAGpE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,4BAA4B,CAAC,EAAE;QAC3D,IAAA,UAAG,EAAC,aAAa,CAAC,CAAC;QACnB,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACzC;SAAM;QACL,IAAA,UAAG,EAAC,eAAe,CAAC,CAAC;QACrB,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACpD;IACD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,IAAA,UAAG,EAAC,mBAAmB,OAAO,UAAU,CAAC,CAAC;IAE1C,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAClC,CAAC,CAAC;AAhCW,QAAA,kBAAkB,sBAgC7B;AAWF,MAAM,UAAU,GAAG,KAAK,EACtB,MAAc,EACd,KAAa,EACb,SAAkB,EAClB,WAAoB,EACa,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAS,GAAE,CAAC;IAEjC,MAAM,IAAI,GAAQ;QAChB,YAAY,EAAE,cAAc;QAC5B,KAAK;QACL,IAAI,EAAE,MAAM;KAEb,CAAC;IACF,IAAI,SAAS,IAAI,WAAW,EAAE;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;KAC/B;IACD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAChD,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAC5C,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC;IAExC,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,IAAI,KAAK,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;QACzB,IAAA,UAAG,EAAC,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzD,IAAA,UAAG,EAAC,mBAAmB,OAAO,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACtB;IAED,OAAO;QACL,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,KAAK;QACzB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,KAAK,EACtC,SAAiB,CAAC,EAClB,QAAgB,EAAE,EAClB,YAAoB,EAAE,EACtB,cAAsB,EAAE,EACxB,EAAE;IACF,MAAM,4BAA4B,GAAG,MAAM,IAAA,gDAA+B,GAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,IAAA,UAAG,EACD,oCAAoC,SAAS,iBAAiB,WAAW,YAAY,MAAM,WAAW,KAAK,GAAG,CAC/G,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAC1C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,4BAA4B,CAAC,CACpE,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO;SACtC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;SAC1E,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAGpC,MAAM,KAAK,GAAG,IAAA,iBAAQ,EAAC,QAAQ,CAAC,CAAC;IACjC,IAAA,UAAG,EAAC,QAAQ,aAAa,CAAC,MAAM,eAAe,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAA,UAAG,EACD,UAAU,iBAAiB,CAAC,MAAM,iBAAiB,KAAK,CAAC,SAAS,QAAQ,CAC3E,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAEtE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,IAAA,UAAG,EAAC,mBAAmB,OAAO,UAAU,CAAC,CAAC;IAE1C,OAAO;QACL,GAAG,OAAO;QACV,cAAc,EAAE,cAAc,CAAC,SAAS;QACxC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS;KAC7C,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,mBAAmB,uBAsC9B;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;IAChE,OAAO,IAAA,0BAAiB,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC,CAAC;AAFW,QAAA,uBAAuB,2BAElC"}
|
package/dist/browser.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.removeModelObject = exports.reindexModels = exports.reindexModel = exports.removeSubModelObject = exports.reindexSubModels = exports.reindexSubModel = exports.removeProductObject = exports.reindexProducts = exports.reindexProduct = exports.removeSubFamilyObject = exports.reindexSubFamily = exports.reindexSubFamilies = exports.removeFamilyObject = exports.reindexFamily = exports.reindexFamilies = exports.resetIndexSettings = exports.removeAllProductModelProductRelations = exports.removeProductFromColorVariantsByProductLine = exports.setProductAutodescriptionByTopicId = exports.getProductAutodescription = exports.setProductsAutodescription = exports.generateTechSpecPdf = exports.audit = exports.getAllProductEntriesByCatalog = exports.setProductRelationships = exports.setProductsRelationships = exports.importProductByCode = exports.importFamilies = exports.importSubFamilies = exports.importSubModels = exports.importModels = exports.importLatestProducts = exports.importCategories = exports.importDictionaryProductSubLine = exports.importDictionaryProductLine = exports.importDictionaryData = exports.importDictionaryIcons = exports.importDictionaryFields = exports.savePDFToS3 = exports.getFileFromS3 = exports.saveJsonToS3 = exports.uploadS3 = exports.initS3 = exports.getTopicPage = exports.getEntryByID = exports.deleteEntries = exports.deletePages = exports.initBaseEntries = exports.initContentful = exports.initPim = void 0;
|
|
4
|
-
exports.generatePDFByUrl = exports.removeRecordsByStatus = exports.setLogId = exports.log = exports.getStaticDailyProducts = exports.getLocalISOTime = exports.importDownloads = exports.removePostObject = exports.reindexPosts = exports.reindexPost = exports.removePressReleaseObject = exports.reindexPressReleases = exports.reindexPressRelease = exports.removePressReviewObject = exports.reindexPressReviews = exports.reindexPressReview = exports.removeStoryObject = exports.reindexStories = exports.reindexStory = exports.removeProjectObject = exports.reindexProjects = exports.reindexProject = exports.removeDownloadObject = exports.reindexDownloads = exports.reindexDownload = void 0;
|
|
4
|
+
exports.generatePDFByUrl = exports.removeRecordsByStatus = exports.setLogId = exports.log = exports.getStaticDailyProducts = exports.getLocalISOTime = exports.importDownloads = exports.removePostObject = exports.reindexPosts = exports.reindexPost = exports.removePressReleaseObject = exports.reindexPressReleases = exports.reindexPressRelease = exports.removePressReviewObject = exports.reindexPressReviews = exports.reindexPressReview = exports.removeStoryObject = exports.reindexStories = exports.reindexStory = exports.removeProjectObject = exports.reindexProjects = exports.reindexProject = exports.removeInspirationObject = exports.reindexInspirations = exports.reindexInspiration = exports.removeDownloadObject = exports.reindexDownloads = exports.reindexDownload = void 0;
|
|
5
5
|
var config_1 = require("./pim/config");
|
|
6
6
|
Object.defineProperty(exports, "initPim", { enumerable: true, get: function () { return config_1.init; } });
|
|
7
7
|
var contentful_1 = require("./libs/contentful");
|
|
@@ -73,6 +73,10 @@ var downloads_1 = require("./algolia/downloads");
|
|
|
73
73
|
Object.defineProperty(exports, "reindexDownload", { enumerable: true, get: function () { return downloads_1.reindexDownload; } });
|
|
74
74
|
Object.defineProperty(exports, "reindexDownloads", { enumerable: true, get: function () { return downloads_1.reindexDownloads; } });
|
|
75
75
|
Object.defineProperty(exports, "removeDownloadObject", { enumerable: true, get: function () { return downloads_1.removeDownloadObject; } });
|
|
76
|
+
var inspirations_1 = require("./algolia/inspirations");
|
|
77
|
+
Object.defineProperty(exports, "reindexInspiration", { enumerable: true, get: function () { return inspirations_1.reindexInspiration; } });
|
|
78
|
+
Object.defineProperty(exports, "reindexInspirations", { enumerable: true, get: function () { return inspirations_1.reindexInspirations; } });
|
|
79
|
+
Object.defineProperty(exports, "removeInspirationObject", { enumerable: true, get: function () { return inspirations_1.removeInspirationObject; } });
|
|
76
80
|
var projects_1 = require("./algolia/projects");
|
|
77
81
|
Object.defineProperty(exports, "reindexProject", { enumerable: true, get: function () { return projects_1.reindexProject; } });
|
|
78
82
|
Object.defineProperty(exports, "reindexProjects", { enumerable: true, get: function () { return projects_1.reindexProjects; } });
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";;;;AAGA,uCAA+C;AAAtC,iGAAA,IAAI,OAAW;AACxB,gDAO2B;AANzB,4GAAA,IAAI,OAAkB;AACtB,6GAAA,eAAe,OAAA;AACf,yGAAA,WAAW,OAAA;AACX,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AAEd,gCAMmB;AALjB,4FAAA,IAAI,OAAU;AACd,8FAAA,MAAM,OAAY;AAClB,kGAAA,YAAY,OAAA;AACZ,mGAAA,aAAa,OAAA;AACb,iGAAA,WAAW,OAAA;AAEb,uDAMkC;AALhC,oHAAA,sBAAsB,OAAA;AACtB,mHAAA,qBAAqB,OAAA;AACrB,kHAAA,oBAAoB,OAAA;AACpB,yHAAA,2BAA2B,OAAA;AAC3B,4HAAA,8BAA8B,OAAA;AAEhC,mDAA0D;AAAjD,4GAAA,gBAAgB,OAAA;AACzB,+DAAoE;AAA3D,sHAAA,oBAAoB,OAAA;AAC7B,+CAAoD;AAA3C,sGAAA,YAAY,OAAA;AACrB,qDAA0D;AAAjD,4GAAA,eAAe,OAAA;AACxB,yDAA8D;AAArD,gHAAA,iBAAiB,OAAA;AAC1B,mDAAwD;AAA/C,0GAAA,cAAc,OAAA;AACvB,mDAYgC;AAX9B,+GAAA,mBAAmB,OAAA;AACnB,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,yHAAA,6BAA6B,OAAA;AAC7B,iGAAA,KAAK,OAAA;AACL,+GAAA,mBAAmB,OAAA;AACnB,sHAAA,0BAA0B,OAAA;AAC1B,qHAAA,yBAAyB,OAAA;AACzB,8HAAA,kCAAkC,OAAA;AAClC,uIAAA,2CAA2C,OAAA;AAC3C,iIAAA,qCAAqC,OAAA;AAMvC,2CAAsD;AAA7C,4GAAA,kBAAkB,OAAA;AAC3B,+CAI4B;AAH1B,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,8GAAA,kBAAkB,OAAA;AAMpB,qDAI+B;AAH7B,iHAAA,kBAAkB,OAAA;AAClB,+GAAA,gBAAgB,OAAA;AAChB,oHAAA,qBAAqB,OAAA;AAOvB,+CAI4B;AAH1B,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AAErB,iDAI6B;AAH3B,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AAEtB,2CAI0B;AAHxB,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AAEnB,iDAI6B;AAH3B,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AAEtB,uDAIgC;AAH9B,kHAAA,kBAAkB,OAAA;AAClB,mHAAA,mBAAmB,OAAA;AACnB,uHAAA,uBAAuB,OAAA;AAEzB,+CAI4B;AAH1B,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AAErB,6CAI2B;AAHzB,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AAEnB,qDAI+B;AAH7B,iHAAA,kBAAkB,OAAA;AAClB,kHAAA,mBAAmB,OAAA;AACnB,sHAAA,uBAAuB,OAAA;AAEzB,uDAIgC;AAH9B,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,wHAAA,wBAAwB,OAAA;AAE1B,uCAA6E;AAApE,mGAAA,WAAW,OAAA;AAAE,oGAAA,YAAY,OAAA;AAAE,wGAAA,gBAAgB,OAAA;AACpD,6CAAqD;AAA5C,yGAAA,eAAe,OAAA;AACxB,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AACxB,6CAAyD;AAAhD,mHAAA,sBAAsB,OAAA;AAC/B,oCAA4C;AAAnC,2FAAA,GAAG,OAAA;AAAE,gGAAA,QAAQ,OAAA;AACtB,yCAAwD;AAA/C,8GAAA,qBAAqB,OAAA;AAC9B,kCAA8C;AAArC,uGAAA,gBAAgB,OAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.reindexProducts = exports.reindexProduct = exports.removeSubFamilyObject = exports.reindexSubFamily = exports.reindexSubFamilies = exports.removeFamilyObject = exports.reindexFamily = exports.reindexFamilies = exports.getIndex = exports.checkTopicDraftAndPagePublished = exports.publishAllProductDrafts = exports.purgeProductThumbCacheByProductCodes = exports.populateDestinations = exports.reimportAuditProducts = exports.getProductPageIdByCode = exports.removeAllProductModelProductRelations = exports.removeProductFromColorVariantsByProductLine = exports.setProductAutodescriptionByTopicId = exports.getProductAutodescription = exports.setProductsAutodescription = exports.generateTechSpecPdf = exports.audit = exports.getAllProductEntriesByCatalog = exports.setProductRelationships = exports.setProductsRelationships = exports.importProductByCode = exports.importFamilies = exports.importSubFamilies = exports.importSubModels = exports.importModels = exports.importLatestProducts = exports.importCategories = exports.importDictionaryProductSubLine = exports.importDictionaryProductLine = exports.importDictionaryData = exports.importDictionaryIcons = exports.importDictionaryFields = exports.savePDFToS3 = exports.getFileFromS3 = exports.saveJsonToS3 = exports.uploadS3 = exports.initS3 = exports.getEntries = exports.getTopicPage = exports.getEntryByID = exports.deleteEntries = exports.deletePages = exports.initBaseEntries = exports.initContentful = exports.initPim = void 0;
|
|
4
|
-
exports.notify = exports.importDesigner = exports.importDesigners = exports.generatePDFByUrl = exports.removeRecordsByStatus = exports.getLogFolder = exports.setLogFilename = exports.setLogPath = exports.setLogId = exports.setServerUtils = exports.log = exports.getLatestProducts = exports.getStaticDailyProducts = exports.getLocalISOTime = exports.importDownloads = exports.removePostObject = exports.reindexPosts = exports.reindexPost = exports.removePressReleaseObject = exports.reindexPressReleases = exports.reindexPressRelease = exports.removePressReviewObject = exports.reindexPressReviews = exports.reindexPressReview = exports.removeStoryObject = exports.reindexStories = exports.reindexStory = exports.removeProjectObject = exports.reindexProjects = exports.reindexProject = exports.removeDownloadObject = exports.reindexDownloads = exports.reindexDownload = exports.removeModelObject = exports.reindexModels = exports.reindexModel = exports.removeSubModelObject = exports.reindexSubModels = exports.reindexSubModel = exports.renderPDFGenerator = exports.removeProductObject = void 0;
|
|
4
|
+
exports.notify = exports.importDesigner = exports.importDesigners = exports.generatePDFByUrl = exports.removeRecordsByStatus = exports.getLogFolder = exports.setLogFilename = exports.setLogPath = exports.setLogId = exports.setServerUtils = exports.log = exports.getLatestProducts = exports.getStaticDailyProducts = exports.getLocalISOTime = exports.importDownloads = exports.removePostObject = exports.reindexPosts = exports.reindexPost = exports.removePressReleaseObject = exports.reindexPressReleases = exports.reindexPressRelease = exports.removePressReviewObject = exports.reindexPressReviews = exports.reindexPressReview = exports.removeStoryObject = exports.reindexStories = exports.reindexStory = exports.removeProjectObject = exports.reindexProjects = exports.reindexProject = exports.removeInspirationObject = exports.reindexInspirations = exports.reindexInspiration = exports.removeDownloadObject = exports.reindexDownloads = exports.reindexDownload = exports.removeModelObject = exports.reindexModels = exports.reindexModel = exports.removeSubModelObject = exports.reindexSubModels = exports.reindexSubModel = exports.renderPDFGenerator = exports.removeProductObject = void 0;
|
|
5
5
|
var config_1 = require("./pim/config");
|
|
6
6
|
Object.defineProperty(exports, "initPim", { enumerable: true, get: function () { return config_1.init; } });
|
|
7
7
|
var contentful_1 = require("./libs/contentful");
|
|
@@ -83,6 +83,10 @@ var downloads_1 = require("./algolia/downloads");
|
|
|
83
83
|
Object.defineProperty(exports, "reindexDownload", { enumerable: true, get: function () { return downloads_1.reindexDownload; } });
|
|
84
84
|
Object.defineProperty(exports, "reindexDownloads", { enumerable: true, get: function () { return downloads_1.reindexDownloads; } });
|
|
85
85
|
Object.defineProperty(exports, "removeDownloadObject", { enumerable: true, get: function () { return downloads_1.removeDownloadObject; } });
|
|
86
|
+
var inspirations_1 = require("./algolia/inspirations");
|
|
87
|
+
Object.defineProperty(exports, "reindexInspiration", { enumerable: true, get: function () { return inspirations_1.reindexInspiration; } });
|
|
88
|
+
Object.defineProperty(exports, "reindexInspirations", { enumerable: true, get: function () { return inspirations_1.reindexInspirations; } });
|
|
89
|
+
Object.defineProperty(exports, "removeInspirationObject", { enumerable: true, get: function () { return inspirations_1.removeInspirationObject; } });
|
|
86
90
|
var projects_1 = require("./algolia/projects");
|
|
87
91
|
Object.defineProperty(exports, "reindexProject", { enumerable: true, get: function () { return projects_1.reindexProject; } });
|
|
88
92
|
Object.defineProperty(exports, "reindexProjects", { enumerable: true, get: function () { return projects_1.reindexProjects; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/algolia/config.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type AvailableIndicesKey =
|
|
|
10
10
|
| "subModels"
|
|
11
11
|
| "models"
|
|
12
12
|
| "downloads"
|
|
13
|
+
| "inspirations"
|
|
13
14
|
| "projects"
|
|
14
15
|
| "stories"
|
|
15
16
|
| "pressReviews"
|
|
@@ -170,6 +171,15 @@ export const getIndicesSettings = () => {
|
|
|
170
171
|
],
|
|
171
172
|
},
|
|
172
173
|
},
|
|
174
|
+
inspirations: {
|
|
175
|
+
name: `${process.env.FPI_ALGOLIA_INDEX_INSPIRATION_NAME}${suffix}`,
|
|
176
|
+
settings: {
|
|
177
|
+
attributesForFaceting: [],
|
|
178
|
+
searchableAttributes: ["name"],
|
|
179
|
+
ranking: [],
|
|
180
|
+
replicas: [],
|
|
181
|
+
},
|
|
182
|
+
},
|
|
173
183
|
projects: {
|
|
174
184
|
name: `${process.env.FPI_ALGOLIA_INDEX_PROJECT_NAME}${suffix}`,
|
|
175
185
|
settings: {
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { log } from "../libs/logs";
|
|
2
|
+
import {
|
|
3
|
+
getClient,
|
|
4
|
+
getEnvironmentDefaultLocaleCode,
|
|
5
|
+
getEntryByID,
|
|
6
|
+
getTopicPage,
|
|
7
|
+
} from "../libs/contentful-cda";
|
|
8
|
+
import { getIndex, AvailableIndicesKey, removeIndexObject } from "./config";
|
|
9
|
+
import {
|
|
10
|
+
getAllTranslations,
|
|
11
|
+
getLocalISOTime,
|
|
12
|
+
secondBetweenTwoDate,
|
|
13
|
+
} from "../utils";
|
|
14
|
+
import type { Entry } from "contentful-management/dist/typings/entities/entry";
|
|
15
|
+
import {
|
|
16
|
+
CfLocalizedEntryField,
|
|
17
|
+
AlgoliaPaginateRecords,
|
|
18
|
+
WrapperImageFields,
|
|
19
|
+
} from "../types";
|
|
20
|
+
import { getWrapperImgixFields } from "../libs/imgix";
|
|
21
|
+
import removeMd from "remove-markdown";
|
|
22
|
+
|
|
23
|
+
const indexKey: AvailableIndicesKey = "inspirations";
|
|
24
|
+
|
|
25
|
+
export type AlgoliaInspirationRecord = {
|
|
26
|
+
objectID: string;
|
|
27
|
+
name?: CfLocalizedEntryField;
|
|
28
|
+
description?: CfLocalizedEntryField;
|
|
29
|
+
excerpt?: CfLocalizedEntryField;
|
|
30
|
+
slugs?: {};
|
|
31
|
+
thumbnailImgix?: WrapperImageFields | {};
|
|
32
|
+
category?: {};
|
|
33
|
+
visualizationDate?: string;
|
|
34
|
+
lastSyncDate?: string;
|
|
35
|
+
hideInRegions?: string[];
|
|
36
|
+
type?: string;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const isObjectToDelete = (
|
|
40
|
+
object: any,
|
|
41
|
+
defaultEnvironmentLocaleCode: string
|
|
42
|
+
) => {
|
|
43
|
+
return !object?.slugs?.[defaultEnvironmentLocaleCode];
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const getObject = async (
|
|
47
|
+
topic: Entry,
|
|
48
|
+
contentTypeId: string
|
|
49
|
+
): Promise<AlgoliaInspirationRecord> => {
|
|
50
|
+
const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
|
|
51
|
+
log(`Sync the ${topic.sys.id} ${contentTypeId}...`);
|
|
52
|
+
let topicWithFields: Entry = topic;
|
|
53
|
+
|
|
54
|
+
if (!topicWithFields?.fields) {
|
|
55
|
+
log(`Get the ${topic.sys.id} ${contentTypeId} details...`);
|
|
56
|
+
topicWithFields = await getEntryByID(topic.sys.id, contentTypeId);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (!topicWithFields) {
|
|
60
|
+
log(`The ${contentTypeId} ${topic.sys.id} not found`, "WARN");
|
|
61
|
+
|
|
62
|
+
const recordFail: AlgoliaInspirationRecord = {
|
|
63
|
+
objectID: topic?.sys?.id,
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
return recordFail; // return objectID to delete the record if it exists
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const isProject = topicWithFields.sys.contentType.sys.id === "topicProject";
|
|
70
|
+
|
|
71
|
+
log(`Get page details...`);
|
|
72
|
+
const page = await getTopicPage(
|
|
73
|
+
topic.sys.id,
|
|
74
|
+
"fields.slug,fields.protected,fields.hideInRegions"
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
if (!page) {
|
|
78
|
+
log(`The ${contentTypeId} page ${topic.sys.id} not found`, "WARN");
|
|
79
|
+
|
|
80
|
+
const recordFail: AlgoliaInspirationRecord = {
|
|
81
|
+
objectID: topic?.sys?.id,
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
return recordFail; // return objectID to delete the record if it exists
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const slugs = await getAllTranslations(page?.fields.slug || {});
|
|
88
|
+
|
|
89
|
+
const thumbnailField = isProject ? "thumbnailImgix" : "previewImagesImgix";
|
|
90
|
+
log(`Get ${thumbnailField} details...`);
|
|
91
|
+
let thumbnailImgix = {};
|
|
92
|
+
let thumbnailImgixWrapperImgixID = "";
|
|
93
|
+
if (
|
|
94
|
+
Array.isArray(
|
|
95
|
+
topicWithFields?.fields?.[thumbnailField]?.[defaultEnvironmentLocaleCode]
|
|
96
|
+
)
|
|
97
|
+
) {
|
|
98
|
+
thumbnailImgixWrapperImgixID =
|
|
99
|
+
topicWithFields?.fields?.[thumbnailField]?.[
|
|
100
|
+
defaultEnvironmentLocaleCode
|
|
101
|
+
]?.[0]?.sys?.id;
|
|
102
|
+
} else {
|
|
103
|
+
thumbnailImgixWrapperImgixID =
|
|
104
|
+
topicWithFields?.fields?.[thumbnailField]?.[defaultEnvironmentLocaleCode]
|
|
105
|
+
?.sys?.id;
|
|
106
|
+
}
|
|
107
|
+
if (thumbnailImgixWrapperImgixID) {
|
|
108
|
+
thumbnailImgix = await getWrapperImgixFields(thumbnailImgixWrapperImgixID);
|
|
109
|
+
} else {
|
|
110
|
+
log(`No thumbnail imgix found`, "WARN");
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
log(`Get hideInRegions details...`);
|
|
114
|
+
const hideInRegions =
|
|
115
|
+
page.fields.hideInRegions?.[defaultEnvironmentLocaleCode].map(
|
|
116
|
+
(item: Entry) => item.sys.id
|
|
117
|
+
) || [];
|
|
118
|
+
|
|
119
|
+
const clearExcerpt = {};
|
|
120
|
+
for (const locale in topicWithFields?.fields?.excerpt) {
|
|
121
|
+
if (topicWithFields?.fields?.excerpt?.[locale]) {
|
|
122
|
+
(clearExcerpt as any)[locale] = removeMd(
|
|
123
|
+
topicWithFields?.fields?.excerpt?.[locale]
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
log(`Get category details...`);
|
|
129
|
+
let category = {};
|
|
130
|
+
if (
|
|
131
|
+
!isProject &&
|
|
132
|
+
topicWithFields.fields?.category?.[defaultEnvironmentLocaleCode]?.sys?.id
|
|
133
|
+
) {
|
|
134
|
+
const categoryEntry = await getEntryByID(
|
|
135
|
+
topicWithFields.fields.category[defaultEnvironmentLocaleCode].sys.id,
|
|
136
|
+
"topicStoryCategory"
|
|
137
|
+
);
|
|
138
|
+
if (categoryEntry) {
|
|
139
|
+
category = {
|
|
140
|
+
sysId:
|
|
141
|
+
topicWithFields.fields.category[defaultEnvironmentLocaleCode].sys.id,
|
|
142
|
+
title: await getAllTranslations(categoryEntry?.fields?.title || {}),
|
|
143
|
+
priority: await getAllTranslations(
|
|
144
|
+
categoryEntry?.fields?.priority || {}
|
|
145
|
+
),
|
|
146
|
+
};
|
|
147
|
+
} else {
|
|
148
|
+
log(`No categoryEntry found`, "WARN");
|
|
149
|
+
}
|
|
150
|
+
} else {
|
|
151
|
+
log(`No category found`, "WARN");
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Single record
|
|
155
|
+
const emptyLocalizedField: CfLocalizedEntryField = {
|
|
156
|
+
[defaultEnvironmentLocaleCode]: "",
|
|
157
|
+
};
|
|
158
|
+
const record: AlgoliaInspirationRecord = {
|
|
159
|
+
objectID: topicWithFields.sys.id,
|
|
160
|
+
name: await getAllTranslations(
|
|
161
|
+
topicWithFields?.fields?.title || emptyLocalizedField
|
|
162
|
+
),
|
|
163
|
+
excerpt: await getAllTranslations(
|
|
164
|
+
topicWithFields?.fields?.excerpt ? clearExcerpt : emptyLocalizedField
|
|
165
|
+
),
|
|
166
|
+
description: await getAllTranslations(
|
|
167
|
+
topicWithFields?.fields?.description || emptyLocalizedField
|
|
168
|
+
),
|
|
169
|
+
slugs,
|
|
170
|
+
thumbnailImgix,
|
|
171
|
+
category,
|
|
172
|
+
visualizationDate:
|
|
173
|
+
topicWithFields?.fields?.visualizationDate?.[
|
|
174
|
+
defaultEnvironmentLocaleCode
|
|
175
|
+
] || "",
|
|
176
|
+
hideInRegions,
|
|
177
|
+
lastSyncDate: getLocalISOTime(),
|
|
178
|
+
type: isProject ? "project" : "story",
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
return record;
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
export const reindexInspiration = async (topicId: string) => {
|
|
185
|
+
const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
|
|
186
|
+
const timeStart = new Date();
|
|
187
|
+
|
|
188
|
+
log(`reindexInspiration - entryId: ${topicId} `);
|
|
189
|
+
|
|
190
|
+
let topic = await getEntryByID(topicId, "topicProject");
|
|
191
|
+
topic = !topic ? await getEntryByID(topicId, "topicStory") : topic;
|
|
192
|
+
|
|
193
|
+
const index = getIndex(indexKey);
|
|
194
|
+
let record = null;
|
|
195
|
+
if (!topic) {
|
|
196
|
+
log(`No topic found with id ${topicId}. Delete object if exists`, "WARN");
|
|
197
|
+
record = await index.deleteObject(topicId);
|
|
198
|
+
return { ...record };
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
const object = await getObject(topic, topic.sys.contentType.sys.id);
|
|
202
|
+
|
|
203
|
+
// Save record to Algolia
|
|
204
|
+
if (!isObjectToDelete(object, defaultEnvironmentLocaleCode)) {
|
|
205
|
+
log(`Save object`);
|
|
206
|
+
record = await index.saveObject(object);
|
|
207
|
+
} else {
|
|
208
|
+
log(`Delete object`);
|
|
209
|
+
record = await index.deleteObject(object.objectID);
|
|
210
|
+
}
|
|
211
|
+
const timeEnd = new Date();
|
|
212
|
+
const seconds = secondBetweenTwoDate(timeStart, timeEnd);
|
|
213
|
+
log(`Execution time: ${seconds} seconds`);
|
|
214
|
+
|
|
215
|
+
return { ...record, ...object };
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Get Objects
|
|
220
|
+
*
|
|
221
|
+
* @param offset
|
|
222
|
+
* @param limit
|
|
223
|
+
* @param filterKey
|
|
224
|
+
* @param filterValue
|
|
225
|
+
* @returns
|
|
226
|
+
*/
|
|
227
|
+
const getObjects = async (
|
|
228
|
+
offset: number,
|
|
229
|
+
limit: number,
|
|
230
|
+
filterKey?: string,
|
|
231
|
+
filterValue?: string
|
|
232
|
+
): Promise<AlgoliaPaginateRecords> => {
|
|
233
|
+
const client = await getClient();
|
|
234
|
+
|
|
235
|
+
const opts: any = {
|
|
236
|
+
content_type: "topicProject",
|
|
237
|
+
limit,
|
|
238
|
+
skip: offset,
|
|
239
|
+
// select: "",
|
|
240
|
+
};
|
|
241
|
+
if (filterKey && filterValue) {
|
|
242
|
+
opts[filterKey] = filterValue;
|
|
243
|
+
}
|
|
244
|
+
const { items: projectItems, total: projectTotal } =
|
|
245
|
+
await client.withAllLocales.getEntries(opts);
|
|
246
|
+
opts.content_type = "topicStory";
|
|
247
|
+
const { items: storyItems, total: stotyTotal } =
|
|
248
|
+
await client.withAllLocales.getEntries(opts);
|
|
249
|
+
const items = [...projectItems, ...storyItems];
|
|
250
|
+
const total = projectTotal + stotyTotal;
|
|
251
|
+
|
|
252
|
+
const objects: AlgoliaInspirationRecord[] = [];
|
|
253
|
+
let count: number = Number(offset);
|
|
254
|
+
for (const topic of items) {
|
|
255
|
+
log(`${++count} of ${total}`, "INFO");
|
|
256
|
+
const timeStart = new Date();
|
|
257
|
+
const record = await getObject(topic, topic.sys.contentType.sys.id);
|
|
258
|
+
const timeEnd = new Date();
|
|
259
|
+
const seconds = secondBetweenTwoDate(timeStart, timeEnd);
|
|
260
|
+
log(`Execution time: ${seconds} seconds`);
|
|
261
|
+
objects.push(record);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return {
|
|
265
|
+
objects,
|
|
266
|
+
offset: Number(offset) + Number(limit),
|
|
267
|
+
limit: Number(limit),
|
|
268
|
+
completed: count >= total, // if is true the import is completed
|
|
269
|
+
total,
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
export const reindexInspirations = async (
|
|
274
|
+
offset: number = 0,
|
|
275
|
+
limit: number = 50,
|
|
276
|
+
filterKey: string = "",
|
|
277
|
+
filterValue: string = ""
|
|
278
|
+
) => {
|
|
279
|
+
const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
|
|
280
|
+
const timeStart = new Date();
|
|
281
|
+
log(
|
|
282
|
+
`reindexInspirations - filterKey: ${filterKey} filterValue: ${filterValue} offset: ${offset} limit: ${limit} `
|
|
283
|
+
);
|
|
284
|
+
|
|
285
|
+
const records = await getObjects(offset, limit, filterKey, filterValue);
|
|
286
|
+
const objectsToSave = records.objects.filter(
|
|
287
|
+
(object) => !isObjectToDelete(object, defaultEnvironmentLocaleCode)
|
|
288
|
+
);
|
|
289
|
+
const objectIdsToDelete = records.objects
|
|
290
|
+
.filter((object) => isObjectToDelete(object, defaultEnvironmentLocaleCode))
|
|
291
|
+
.map((object) => object.objectID);
|
|
292
|
+
|
|
293
|
+
// Save records to Algolia
|
|
294
|
+
const index = getIndex(indexKey);
|
|
295
|
+
log(`Save ${objectsToSave.length} objects to ${index.indexName} index`);
|
|
296
|
+
const savedObjectIDs = await index.saveObjects(objectsToSave);
|
|
297
|
+
log(
|
|
298
|
+
`Delete ${objectIdsToDelete.length} objects from ${index.indexName} index`
|
|
299
|
+
);
|
|
300
|
+
const deletedObjectIDs = await index.deleteObjects(objectIdsToDelete);
|
|
301
|
+
|
|
302
|
+
const timeEnd = new Date();
|
|
303
|
+
const seconds = secondBetweenTwoDate(timeStart, timeEnd);
|
|
304
|
+
log(`Execution time: ${seconds} seconds`);
|
|
305
|
+
|
|
306
|
+
return {
|
|
307
|
+
...records,
|
|
308
|
+
savedObjectIDs: savedObjectIDs.objectIDs,
|
|
309
|
+
deletedObjectIDs: deletedObjectIDs.objectIDs,
|
|
310
|
+
};
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
export const removeInspirationObject = async (objectId: string) => {
|
|
314
|
+
return removeIndexObject(objectId, indexKey);
|
|
315
|
+
};
|
package/src/browser.ts
CHANGED
|
@@ -87,6 +87,11 @@ export {
|
|
|
87
87
|
reindexDownloads,
|
|
88
88
|
removeDownloadObject,
|
|
89
89
|
} from "./algolia/downloads";
|
|
90
|
+
export {
|
|
91
|
+
reindexInspiration,
|
|
92
|
+
reindexInspirations,
|
|
93
|
+
removeInspirationObject,
|
|
94
|
+
} from "./algolia/inspirations";
|
|
90
95
|
export {
|
|
91
96
|
reindexProject,
|
|
92
97
|
reindexProjects,
|
package/src/index.ts
CHANGED
|
@@ -95,6 +95,11 @@ export {
|
|
|
95
95
|
reindexDownloads,
|
|
96
96
|
removeDownloadObject,
|
|
97
97
|
} from "./algolia/downloads";
|
|
98
|
+
export {
|
|
99
|
+
reindexInspiration,
|
|
100
|
+
reindexInspirations,
|
|
101
|
+
removeInspirationObject,
|
|
102
|
+
} from "./algolia/inspirations";
|
|
98
103
|
export {
|
|
99
104
|
reindexProject,
|
|
100
105
|
reindexProjects,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type AvailableIndicesKey = "products" | "families" | "subFamilies" | "subModels" | "models" | "downloads" | "projects" | "stories" | "pressReviews" | "pressRelease" | "news";
|
|
1
|
+
export type AvailableIndicesKey = "products" | "families" | "subFamilies" | "subModels" | "models" | "downloads" | "inspirations" | "projects" | "stories" | "pressReviews" | "pressRelease" | "news";
|
|
2
2
|
export declare const getClient: () => import("algoliasearch").SearchClient;
|
|
3
3
|
export declare const getIndicesSettings: () => {
|
|
4
4
|
products: {
|
|
@@ -44,6 +44,15 @@ export declare const getIndicesSettings: () => {
|
|
|
44
44
|
replicas: string[];
|
|
45
45
|
};
|
|
46
46
|
};
|
|
47
|
+
inspirations: {
|
|
48
|
+
name: string;
|
|
49
|
+
settings: {
|
|
50
|
+
attributesForFaceting: never[];
|
|
51
|
+
searchableAttributes: string[];
|
|
52
|
+
ranking: never[];
|
|
53
|
+
replicas: never[];
|
|
54
|
+
};
|
|
55
|
+
};
|
|
47
56
|
projects: {
|
|
48
57
|
name: string;
|
|
49
58
|
settings: {
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CfLocalizedEntryField, WrapperImageFields } from "../types";
|
|
2
|
+
export type AlgoliaInspirationRecord = {
|
|
3
|
+
objectID: string;
|
|
4
|
+
name?: CfLocalizedEntryField;
|
|
5
|
+
description?: CfLocalizedEntryField;
|
|
6
|
+
excerpt?: CfLocalizedEntryField;
|
|
7
|
+
slugs?: {};
|
|
8
|
+
thumbnailImgix?: WrapperImageFields | {};
|
|
9
|
+
category?: {};
|
|
10
|
+
visualizationDate?: string;
|
|
11
|
+
lastSyncDate?: string;
|
|
12
|
+
hideInRegions?: string[];
|
|
13
|
+
type?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const reindexInspiration: (topicId: string) => Promise<{
|
|
16
|
+
taskID: number;
|
|
17
|
+
} | {
|
|
18
|
+
objectID: string;
|
|
19
|
+
name?: Partial<Record<import("../types").ContentfulLocale, string | null>> | undefined;
|
|
20
|
+
description?: Partial<Record<import("../types").ContentfulLocale, string | null>> | undefined;
|
|
21
|
+
excerpt?: Partial<Record<import("../types").ContentfulLocale, string | null>> | undefined;
|
|
22
|
+
slugs?: {} | undefined;
|
|
23
|
+
thumbnailImgix?: {} | WrapperImageFields | undefined;
|
|
24
|
+
category?: {} | undefined;
|
|
25
|
+
visualizationDate?: string | undefined;
|
|
26
|
+
lastSyncDate?: string | undefined;
|
|
27
|
+
hideInRegions?: string[] | undefined;
|
|
28
|
+
type?: string | undefined;
|
|
29
|
+
taskID: number;
|
|
30
|
+
}>;
|
|
31
|
+
export declare const reindexInspirations: (offset?: number, limit?: number, filterKey?: string, filterValue?: string) => Promise<{
|
|
32
|
+
savedObjectIDs: string[];
|
|
33
|
+
deletedObjectIDs: string[];
|
|
34
|
+
objects: Readonly<Record<string, any>>[];
|
|
35
|
+
offset: number;
|
|
36
|
+
limit: number;
|
|
37
|
+
completed: boolean;
|
|
38
|
+
s3FilePath?: string | undefined;
|
|
39
|
+
total?: number | undefined;
|
|
40
|
+
}>;
|
|
41
|
+
export declare const removeInspirationObject: (objectId: string) => Promise<void>;
|
package/types/browser.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export { reindexProduct, reindexProducts, removeProductObject, } from "./algolia
|
|
|
16
16
|
export { reindexSubModel, reindexSubModels, removeSubModelObject, } from "./algolia/subModels";
|
|
17
17
|
export { reindexModel, reindexModels, removeModelObject, } from "./algolia/models";
|
|
18
18
|
export { reindexDownload, reindexDownloads, removeDownloadObject, } from "./algolia/downloads";
|
|
19
|
+
export { reindexInspiration, reindexInspirations, removeInspirationObject, } from "./algolia/inspirations";
|
|
19
20
|
export { reindexProject, reindexProjects, removeProjectObject, } from "./algolia/projects";
|
|
20
21
|
export { reindexStory, reindexStories, removeStoryObject, } from "./algolia/stories";
|
|
21
22
|
export { reindexPressReview, reindexPressReviews, removePressReviewObject, } from "./algolia/pressReview";
|
package/types/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export { reindexProduct, reindexProducts, removeProductObject, renderPDFGenerato
|
|
|
18
18
|
export { reindexSubModel, reindexSubModels, removeSubModelObject, } from "./algolia/subModels";
|
|
19
19
|
export { reindexModel, reindexModels, removeModelObject, } from "./algolia/models";
|
|
20
20
|
export { reindexDownload, reindexDownloads, removeDownloadObject, } from "./algolia/downloads";
|
|
21
|
+
export { reindexInspiration, reindexInspirations, removeInspirationObject, } from "./algolia/inspirations";
|
|
21
22
|
export { reindexProject, reindexProjects, removeProjectObject, } from "./algolia/projects";
|
|
22
23
|
export { reindexStory, reindexStories, removeStoryObject, } from "./algolia/stories";
|
|
23
24
|
export { reindexPressReview, reindexPressReviews, removePressReviewObject, } from "./algolia/pressReview";
|