pim-import 2.60.2 → 2.61.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/algolia/config.js +18 -0
- package/dist/algolia/config.js.map +1 -1
- package/dist/algolia/news.js +141 -0
- package/dist/algolia/news.js.map +1 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/algolia/config.ts +20 -1
- package/src/algolia/news.ts +228 -0
- package/src/index.ts +1 -0
package/dist/algolia/config.js
CHANGED
|
@@ -228,6 +228,24 @@ const getIndicesSettings = () => {
|
|
|
228
228
|
replicas: [],
|
|
229
229
|
},
|
|
230
230
|
},
|
|
231
|
+
news: {
|
|
232
|
+
name: process.env.FPI_ALGOLIA_INDEX_NEWS_NAME,
|
|
233
|
+
settings: {
|
|
234
|
+
attributesForFaceting: [""],
|
|
235
|
+
searchableAttributes: ["name"],
|
|
236
|
+
ranking: [
|
|
237
|
+
"typo",
|
|
238
|
+
"geo",
|
|
239
|
+
"words",
|
|
240
|
+
"filters",
|
|
241
|
+
"proximity",
|
|
242
|
+
"attribute",
|
|
243
|
+
"exact",
|
|
244
|
+
"custom",
|
|
245
|
+
],
|
|
246
|
+
replicas: [],
|
|
247
|
+
},
|
|
248
|
+
},
|
|
231
249
|
};
|
|
232
250
|
};
|
|
233
251
|
exports.getIndicesSettings = getIndicesSettings;
|
|
@@ -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,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removePostObject = exports.reindexPosts = exports.reindexPost = void 0;
|
|
4
|
+
const logs_1 = require("../libs/logs");
|
|
5
|
+
const contentful_cda_1 = require("../libs/contentful-cda");
|
|
6
|
+
const config_1 = require("./config");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
const imgix_1 = require("../libs/imgix");
|
|
9
|
+
const indexKey = "news";
|
|
10
|
+
const isObjectToDelete = (object, defaultEnvironmentLocaleCode) => {
|
|
11
|
+
return !object?.slugs?.[defaultEnvironmentLocaleCode];
|
|
12
|
+
};
|
|
13
|
+
const getObject = async (topicNews) => {
|
|
14
|
+
const defaultEnvironmentLocaleCode = await contentful_cda_1.getEnvironmentDefaultLocaleCode();
|
|
15
|
+
logs_1.log(`Sync the ${topicNews.sys.id} topicNews...`);
|
|
16
|
+
let topicNewsWithFields = topicNews;
|
|
17
|
+
if (!topicNewsWithFields?.fields) {
|
|
18
|
+
logs_1.log(`Get the ${topicNews.sys.id} topicNews details...`);
|
|
19
|
+
topicNewsWithFields = await contentful_cda_1.getEntryByID(topicNews.sys.id, "topicNews");
|
|
20
|
+
}
|
|
21
|
+
if (!topicNewsWithFields) {
|
|
22
|
+
logs_1.log(`The topicNews ${topicNews.sys.id} not found`, "WARN");
|
|
23
|
+
const recordFail = {
|
|
24
|
+
objectID: topicNews?.sys?.id,
|
|
25
|
+
};
|
|
26
|
+
return recordFail;
|
|
27
|
+
}
|
|
28
|
+
logs_1.log(`Get page details...`);
|
|
29
|
+
const page = await contentful_cda_1.getTopicPage(topicNews.sys.id, "fields.slug");
|
|
30
|
+
const slugs = page?.fields.slug || {};
|
|
31
|
+
logs_1.log(`Get thumbnail imgix details...`);
|
|
32
|
+
let thumbnailImageImgix = {};
|
|
33
|
+
const thumbnailImgixWrapperImgixID = topicNewsWithFields?.fields?.thumbnailImageImgix?.[defaultEnvironmentLocaleCode]?.sys.id;
|
|
34
|
+
if (thumbnailImgixWrapperImgixID) {
|
|
35
|
+
thumbnailImageImgix = await imgix_1.getWrapperImgixFields(thumbnailImgixWrapperImgixID);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
logs_1.log(`No thumbnail imgix found`, "WARN");
|
|
39
|
+
}
|
|
40
|
+
logs_1.log(`Get fullScreenImageImgix imgix details...`);
|
|
41
|
+
let fullScreenImageImgix = {};
|
|
42
|
+
const fullScreenImageImgixWrapperImgixID = topicNewsWithFields?.fields?.fullScreenImageImgix?.[defaultEnvironmentLocaleCode]?.sys.id;
|
|
43
|
+
if (fullScreenImageImgixWrapperImgixID) {
|
|
44
|
+
fullScreenImageImgix = await imgix_1.getWrapperImgixFields(fullScreenImageImgixWrapperImgixID);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
logs_1.log(`No fullScreenImageImgix found`, "WARN");
|
|
48
|
+
}
|
|
49
|
+
const record = {
|
|
50
|
+
objectID: topicNewsWithFields.sys.id,
|
|
51
|
+
name: topicNewsWithFields?.fields?.title?.[defaultEnvironmentLocaleCode] || "",
|
|
52
|
+
slugs,
|
|
53
|
+
thumbnailImageImgix,
|
|
54
|
+
fullScreenImageImgix,
|
|
55
|
+
visualizationDate: topicNewsWithFields?.fields?.visualizationDate?.[defaultEnvironmentLocaleCode] || "",
|
|
56
|
+
lastSyncDate: utils_1.getLocalISOTime(),
|
|
57
|
+
};
|
|
58
|
+
return record;
|
|
59
|
+
};
|
|
60
|
+
const reindexPost = async (topicNewsId) => {
|
|
61
|
+
const defaultEnvironmentLocaleCode = await contentful_cda_1.getEnvironmentDefaultLocaleCode();
|
|
62
|
+
const timeStart = new Date();
|
|
63
|
+
logs_1.log(`reindexPost - entryId: ${topicNewsId} `);
|
|
64
|
+
const topicNews = await contentful_cda_1.getEntryByID(topicNewsId, "topicNews");
|
|
65
|
+
if (!topicNews) {
|
|
66
|
+
logs_1.log(`No topicNews found with id ${topicNewsId}`, "WARN");
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
const object = await getObject(topicNews);
|
|
70
|
+
const index = config_1.getIndex(indexKey);
|
|
71
|
+
let record = null;
|
|
72
|
+
if (!isObjectToDelete(object, defaultEnvironmentLocaleCode)) {
|
|
73
|
+
logs_1.log(`Save object`);
|
|
74
|
+
record = await index.saveObject(object);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
logs_1.log(`Delete object`);
|
|
78
|
+
record = await index.deleteObject(object.objectID);
|
|
79
|
+
}
|
|
80
|
+
const timeEnd = new Date();
|
|
81
|
+
const seconds = utils_1.secondBetweenTwoDate(timeStart, timeEnd);
|
|
82
|
+
logs_1.log(`Execution time: ${seconds} seconds`);
|
|
83
|
+
return { ...record, ...object };
|
|
84
|
+
};
|
|
85
|
+
exports.reindexPost = reindexPost;
|
|
86
|
+
const getObjects = async (offset, limit, filterKey, filterValue) => {
|
|
87
|
+
const client = await contentful_cda_1.getClient();
|
|
88
|
+
const opts = {
|
|
89
|
+
content_type: "topicNews",
|
|
90
|
+
limit,
|
|
91
|
+
skip: offset,
|
|
92
|
+
locale: "*",
|
|
93
|
+
};
|
|
94
|
+
if (filterKey && filterValue) {
|
|
95
|
+
opts[filterKey] = filterValue;
|
|
96
|
+
}
|
|
97
|
+
const { items, total } = await client.getEntries(opts);
|
|
98
|
+
const objects = [];
|
|
99
|
+
let count = Number(offset);
|
|
100
|
+
for (const topicNews of items) {
|
|
101
|
+
logs_1.log(`${++count} of ${total}`, "INFO");
|
|
102
|
+
const timeStart = new Date();
|
|
103
|
+
const record = await getObject(topicNews);
|
|
104
|
+
const timeEnd = new Date();
|
|
105
|
+
const seconds = utils_1.secondBetweenTwoDate(timeStart, timeEnd);
|
|
106
|
+
logs_1.log(`Execution time: ${seconds} seconds`);
|
|
107
|
+
objects.push(record);
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
objects,
|
|
111
|
+
offset: Number(offset) + Number(limit),
|
|
112
|
+
limit: Number(limit),
|
|
113
|
+
completed: count >= total,
|
|
114
|
+
total,
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
const reindexPosts = async (offset = 0, limit = 50, filterKey = "", filterValue = "") => {
|
|
118
|
+
const defaultEnvironmentLocaleCode = await contentful_cda_1.getEnvironmentDefaultLocaleCode();
|
|
119
|
+
const timeStart = new Date();
|
|
120
|
+
logs_1.log(`reindexPosts - filterKey: ${filterKey} filterValue: ${filterValue} offset: ${offset} limit: ${limit} `);
|
|
121
|
+
const records = await getObjects(offset, limit, filterKey, filterValue);
|
|
122
|
+
const objectsToSave = records.objects.filter((object) => !isObjectToDelete(object, defaultEnvironmentLocaleCode));
|
|
123
|
+
const objectIdsToDelete = records.objects
|
|
124
|
+
.filter((object) => isObjectToDelete(object, defaultEnvironmentLocaleCode))
|
|
125
|
+
.map((object) => object.objectID);
|
|
126
|
+
const index = config_1.getIndex(indexKey);
|
|
127
|
+
logs_1.log(`Save ${objectsToSave.length} objects to ${index.indexName} index`);
|
|
128
|
+
const savedObjectIDs = await index.saveObjects(objectsToSave);
|
|
129
|
+
logs_1.log(`Delete ${objectIdsToDelete.length} objects from ${index.indexName} index`);
|
|
130
|
+
const deletedObjectIDs = await index.deleteObjects(objectIdsToDelete);
|
|
131
|
+
const timeEnd = new Date();
|
|
132
|
+
const seconds = utils_1.secondBetweenTwoDate(timeStart, timeEnd);
|
|
133
|
+
logs_1.log(`Execution time: ${seconds} seconds`);
|
|
134
|
+
return { ...records, ...savedObjectIDs, ...deletedObjectIDs };
|
|
135
|
+
};
|
|
136
|
+
exports.reindexPosts = reindexPosts;
|
|
137
|
+
const removePostObject = async (objectId) => {
|
|
138
|
+
return config_1.removeIndexObject(objectId, indexKey);
|
|
139
|
+
};
|
|
140
|
+
exports.removePostObject = removePostObject;
|
|
141
|
+
//# sourceMappingURL=news.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"news.js","sourceRoot":"","sources":["../../src/algolia/news.ts"],"names":[],"mappings":"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"}
|
package/dist/index.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.pipedreamReindex = exports.removeFamilyObject = exports.reindexFamily = exports.reindexFamilies = exports.resetIndexSettings = 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.dailyProductsUpdate = exports.importLatestProducts = exports.importCategories = exports.importDictionaryProductSubLine = exports.importDictionaryProductLine = 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.setLogOptions = exports.setLogId = exports.log = exports.getStaticDailyProducts = exports.getLocalISOTime = exports.importDownloads = 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.setLogOptions = 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;
|
|
5
5
|
const sentry_1 = require("./libs/sentry");
|
|
6
6
|
sentry_1.initSentry();
|
|
7
7
|
var config_1 = require("./pim/config");
|
|
@@ -93,6 +93,10 @@ var pressRelease_1 = require("./algolia/pressRelease");
|
|
|
93
93
|
Object.defineProperty(exports, "reindexPressRelease", { enumerable: true, get: function () { return pressRelease_1.reindexPressRelease; } });
|
|
94
94
|
Object.defineProperty(exports, "reindexPressReleases", { enumerable: true, get: function () { return pressRelease_1.reindexPressReleases; } });
|
|
95
95
|
Object.defineProperty(exports, "removePressReleaseObject", { enumerable: true, get: function () { return pressRelease_1.removePressReleaseObject; } });
|
|
96
|
+
var news_1 = require("./algolia/news");
|
|
97
|
+
Object.defineProperty(exports, "reindexPost", { enumerable: true, get: function () { return news_1.reindexPost; } });
|
|
98
|
+
Object.defineProperty(exports, "reindexPosts", { enumerable: true, get: function () { return news_1.reindexPosts; } });
|
|
99
|
+
Object.defineProperty(exports, "removePostObject", { enumerable: true, get: function () { return news_1.removePostObject; } });
|
|
96
100
|
var import_1 = require("./downloads/import");
|
|
97
101
|
Object.defineProperty(exports, "importDownloads", { enumerable: true, get: function () { return import_1.importDownloads; } });
|
|
98
102
|
var utils_1 = require("./utils");
|
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
|
@@ -13,7 +13,8 @@ export type AvailableIndicesKey =
|
|
|
13
13
|
| "projects"
|
|
14
14
|
| "stories"
|
|
15
15
|
| "pressReviews"
|
|
16
|
-
| "pressRelease"
|
|
16
|
+
| "pressRelease"
|
|
17
|
+
| "news";
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* Get Algolia client
|
|
@@ -253,6 +254,24 @@ export const getIndicesSettings = () => {
|
|
|
253
254
|
replicas: [],
|
|
254
255
|
},
|
|
255
256
|
},
|
|
257
|
+
news: {
|
|
258
|
+
name: process.env.FPI_ALGOLIA_INDEX_NEWS_NAME,
|
|
259
|
+
settings: {
|
|
260
|
+
attributesForFaceting: [""],
|
|
261
|
+
searchableAttributes: ["name"],
|
|
262
|
+
ranking: [
|
|
263
|
+
"typo",
|
|
264
|
+
"geo",
|
|
265
|
+
"words",
|
|
266
|
+
"filters",
|
|
267
|
+
"proximity",
|
|
268
|
+
"attribute",
|
|
269
|
+
"exact",
|
|
270
|
+
"custom",
|
|
271
|
+
],
|
|
272
|
+
replicas: [],
|
|
273
|
+
},
|
|
274
|
+
},
|
|
256
275
|
};
|
|
257
276
|
};
|
|
258
277
|
|
|
@@ -0,0 +1,228 @@
|
|
|
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 { getLocalISOTime, secondBetweenTwoDate } from "../utils";
|
|
10
|
+
import type { Entry } from "contentful-management/dist/typings/entities/entry";
|
|
11
|
+
import {
|
|
12
|
+
CfLocalizedEntryField,
|
|
13
|
+
AlgoliaPaginateRecords,
|
|
14
|
+
WrapperImageFields,
|
|
15
|
+
} from "../types";
|
|
16
|
+
import { getWrapperImgixFields } from "../libs/imgix";
|
|
17
|
+
|
|
18
|
+
const indexKey: AvailableIndicesKey = "news";
|
|
19
|
+
|
|
20
|
+
export type AlgoliaPostRecord = {
|
|
21
|
+
objectID: string;
|
|
22
|
+
name?: CfLocalizedEntryField;
|
|
23
|
+
slugs?: {};
|
|
24
|
+
previewExcerpt?: string;
|
|
25
|
+
thumbnailImageImgix?: WrapperImageFields | {};
|
|
26
|
+
fullScreenImageImgix?: WrapperImageFields | {};
|
|
27
|
+
visualizationDate?: string;
|
|
28
|
+
lastSyncDate?: string;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const isObjectToDelete = (
|
|
32
|
+
object: any,
|
|
33
|
+
defaultEnvironmentLocaleCode: string
|
|
34
|
+
) => {
|
|
35
|
+
return !object?.slugs?.[defaultEnvironmentLocaleCode];
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const getObject = async (topicNews: Entry): Promise<AlgoliaPostRecord> => {
|
|
39
|
+
const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
|
|
40
|
+
log(`Sync the ${topicNews.sys.id} topicNews...`);
|
|
41
|
+
let topicNewsWithFields: Entry = topicNews;
|
|
42
|
+
|
|
43
|
+
if (!topicNewsWithFields?.fields) {
|
|
44
|
+
log(`Get the ${topicNews.sys.id} topicNews details...`);
|
|
45
|
+
topicNewsWithFields = await getEntryByID(topicNews.sys.id, "topicNews");
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (!topicNewsWithFields) {
|
|
49
|
+
log(`The topicNews ${topicNews.sys.id} not found`, "WARN");
|
|
50
|
+
|
|
51
|
+
const recordFail: AlgoliaPostRecord = {
|
|
52
|
+
objectID: topicNews?.sys?.id,
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
return recordFail; // return objectID to delete the record if it exists
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
log(`Get page details...`);
|
|
59
|
+
const page = await getTopicPage(topicNews.sys.id, "fields.slug");
|
|
60
|
+
const slugs = page?.fields.slug || {};
|
|
61
|
+
|
|
62
|
+
log(`Get thumbnail imgix details...`);
|
|
63
|
+
let thumbnailImageImgix = {};
|
|
64
|
+
const thumbnailImgixWrapperImgixID =
|
|
65
|
+
topicNewsWithFields?.fields?.thumbnailImageImgix?.[
|
|
66
|
+
defaultEnvironmentLocaleCode
|
|
67
|
+
]?.sys.id;
|
|
68
|
+
if (thumbnailImgixWrapperImgixID) {
|
|
69
|
+
thumbnailImageImgix = await getWrapperImgixFields(
|
|
70
|
+
thumbnailImgixWrapperImgixID
|
|
71
|
+
);
|
|
72
|
+
} else {
|
|
73
|
+
log(`No thumbnail imgix found`, "WARN");
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
log(`Get fullScreenImageImgix imgix details...`);
|
|
77
|
+
let fullScreenImageImgix = {};
|
|
78
|
+
const fullScreenImageImgixWrapperImgixID =
|
|
79
|
+
topicNewsWithFields?.fields?.fullScreenImageImgix?.[
|
|
80
|
+
defaultEnvironmentLocaleCode
|
|
81
|
+
]?.sys.id;
|
|
82
|
+
if (fullScreenImageImgixWrapperImgixID) {
|
|
83
|
+
fullScreenImageImgix = await getWrapperImgixFields(
|
|
84
|
+
fullScreenImageImgixWrapperImgixID
|
|
85
|
+
);
|
|
86
|
+
} else {
|
|
87
|
+
log(`No fullScreenImageImgix found`, "WARN");
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Single record
|
|
91
|
+
const record: AlgoliaPostRecord = {
|
|
92
|
+
objectID: topicNewsWithFields.sys.id,
|
|
93
|
+
name:
|
|
94
|
+
topicNewsWithFields?.fields?.title?.[defaultEnvironmentLocaleCode] || "",
|
|
95
|
+
slugs,
|
|
96
|
+
thumbnailImageImgix,
|
|
97
|
+
fullScreenImageImgix,
|
|
98
|
+
visualizationDate:
|
|
99
|
+
topicNewsWithFields?.fields?.visualizationDate?.[
|
|
100
|
+
defaultEnvironmentLocaleCode
|
|
101
|
+
] || "",
|
|
102
|
+
lastSyncDate: getLocalISOTime(),
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
return record;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const reindexPost = async (topicNewsId: string) => {
|
|
109
|
+
const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
|
|
110
|
+
const timeStart = new Date();
|
|
111
|
+
|
|
112
|
+
log(`reindexPost - entryId: ${topicNewsId} `);
|
|
113
|
+
|
|
114
|
+
const topicNews = await getEntryByID(topicNewsId, "topicNews");
|
|
115
|
+
|
|
116
|
+
if (!topicNews) {
|
|
117
|
+
log(`No topicNews found with id ${topicNewsId}`, "WARN");
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const object = await getObject(topicNews);
|
|
122
|
+
|
|
123
|
+
// Save record to Algolia
|
|
124
|
+
const index = getIndex(indexKey);
|
|
125
|
+
let record = null;
|
|
126
|
+
if (!isObjectToDelete(object, defaultEnvironmentLocaleCode)) {
|
|
127
|
+
log(`Save object`);
|
|
128
|
+
record = await index.saveObject(object);
|
|
129
|
+
} else {
|
|
130
|
+
log(`Delete object`);
|
|
131
|
+
record = await index.deleteObject(object.objectID);
|
|
132
|
+
}
|
|
133
|
+
const timeEnd = new Date();
|
|
134
|
+
const seconds = secondBetweenTwoDate(timeStart, timeEnd);
|
|
135
|
+
log(`Execution time: ${seconds} seconds`);
|
|
136
|
+
|
|
137
|
+
return { ...record, ...object };
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Get Objects
|
|
142
|
+
*
|
|
143
|
+
* @param offset
|
|
144
|
+
* @param limit
|
|
145
|
+
* @param filterKey
|
|
146
|
+
* @param filterValue
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
149
|
+
const getObjects = async (
|
|
150
|
+
offset: number,
|
|
151
|
+
limit: number,
|
|
152
|
+
filterKey?: string,
|
|
153
|
+
filterValue?: string
|
|
154
|
+
): Promise<AlgoliaPaginateRecords> => {
|
|
155
|
+
const client = await getClient();
|
|
156
|
+
|
|
157
|
+
const opts: any = {
|
|
158
|
+
content_type: "topicNews",
|
|
159
|
+
limit,
|
|
160
|
+
skip: offset,
|
|
161
|
+
locale: "*",
|
|
162
|
+
// select: "",
|
|
163
|
+
};
|
|
164
|
+
if (filterKey && filterValue) {
|
|
165
|
+
opts[filterKey] = filterValue;
|
|
166
|
+
}
|
|
167
|
+
const { items, total } = await client.getEntries(opts);
|
|
168
|
+
|
|
169
|
+
const objects: AlgoliaPostRecord[] = [];
|
|
170
|
+
let count: number = Number(offset);
|
|
171
|
+
for (const topicNews of items) {
|
|
172
|
+
log(`${++count} of ${total}`, "INFO");
|
|
173
|
+
const timeStart = new Date();
|
|
174
|
+
const record = await getObject(topicNews);
|
|
175
|
+
const timeEnd = new Date();
|
|
176
|
+
const seconds = secondBetweenTwoDate(timeStart, timeEnd);
|
|
177
|
+
log(`Execution time: ${seconds} seconds`);
|
|
178
|
+
objects.push(record);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return {
|
|
182
|
+
objects,
|
|
183
|
+
offset: Number(offset) + Number(limit),
|
|
184
|
+
limit: Number(limit),
|
|
185
|
+
completed: count >= total, // if is true the import is completed
|
|
186
|
+
total,
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
export const reindexPosts = async (
|
|
191
|
+
offset: number = 0,
|
|
192
|
+
limit: number = 50,
|
|
193
|
+
filterKey: string = "",
|
|
194
|
+
filterValue: string = ""
|
|
195
|
+
) => {
|
|
196
|
+
const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
|
|
197
|
+
const timeStart = new Date();
|
|
198
|
+
log(
|
|
199
|
+
`reindexPosts - filterKey: ${filterKey} filterValue: ${filterValue} offset: ${offset} limit: ${limit} `
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
const records = await getObjects(offset, limit, filterKey, filterValue);
|
|
203
|
+
const objectsToSave = records.objects.filter(
|
|
204
|
+
(object) => !isObjectToDelete(object, defaultEnvironmentLocaleCode)
|
|
205
|
+
);
|
|
206
|
+
const objectIdsToDelete = records.objects
|
|
207
|
+
.filter((object) => isObjectToDelete(object, defaultEnvironmentLocaleCode))
|
|
208
|
+
.map((object) => object.objectID);
|
|
209
|
+
|
|
210
|
+
// Save records to Algolia
|
|
211
|
+
const index = getIndex(indexKey);
|
|
212
|
+
log(`Save ${objectsToSave.length} objects to ${index.indexName} index`);
|
|
213
|
+
const savedObjectIDs = await index.saveObjects(objectsToSave);
|
|
214
|
+
log(
|
|
215
|
+
`Delete ${objectIdsToDelete.length} objects from ${index.indexName} index`
|
|
216
|
+
);
|
|
217
|
+
const deletedObjectIDs = await index.deleteObjects(objectIdsToDelete);
|
|
218
|
+
|
|
219
|
+
const timeEnd = new Date();
|
|
220
|
+
const seconds = secondBetweenTwoDate(timeStart, timeEnd);
|
|
221
|
+
log(`Execution time: ${seconds} seconds`);
|
|
222
|
+
|
|
223
|
+
return { ...records, ...savedObjectIDs, ...deletedObjectIDs };
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export const removePostObject = async (objectId: string) => {
|
|
227
|
+
return removeIndexObject(objectId, indexKey);
|
|
228
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -106,6 +106,7 @@ export {
|
|
|
106
106
|
reindexPressReleases,
|
|
107
107
|
removePressReleaseObject,
|
|
108
108
|
} from "./algolia/pressRelease";
|
|
109
|
+
export { reindexPost, reindexPosts, removePostObject } from "./algolia/news";
|
|
109
110
|
export { importDownloads } from "./downloads/import";
|
|
110
111
|
export { getLocalISOTime } from "./utils";
|
|
111
112
|
export { getStaticDailyProducts } from "./pim/endpoints";
|