pim-import 5.0.1 → 5.0.2

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.
Files changed (249) hide show
  1. package/dist/algolia/clean.js +0 -1
  2. package/dist/algolia/config.js +0 -1
  3. package/dist/algolia/downloads.js +0 -1
  4. package/dist/algolia/families.js +0 -1
  5. package/dist/algolia/inspirations.js +0 -1
  6. package/dist/algolia/models.js +0 -1
  7. package/dist/algolia/news.js +0 -1
  8. package/dist/algolia/pressRelease.js +0 -1
  9. package/dist/algolia/pressReview.js +0 -1
  10. package/dist/algolia/products.js +0 -1
  11. package/dist/algolia/projects.js +0 -1
  12. package/dist/algolia/stories.js +0 -1
  13. package/dist/algolia/subFamilies.js +0 -1
  14. package/dist/algolia/subModels.js +0 -1
  15. package/dist/browser.js +0 -1
  16. package/dist/downloads/classes/manageEntry.js +0 -1
  17. package/dist/downloads/import.js +0 -1
  18. package/dist/index.js +0 -1
  19. package/dist/libs/contentful-cda.js +0 -1
  20. package/dist/libs/contentful.js +0 -1
  21. package/dist/libs/imgix.js +0 -1
  22. package/dist/libs/logs.js +0 -1
  23. package/dist/libs/netlify.js +0 -1
  24. package/dist/libs/notifications.js +0 -1
  25. package/dist/libs/pdf.js +0 -1
  26. package/dist/libs/s3.js +0 -1
  27. package/dist/libs/sentry.js +0 -1
  28. package/dist/pim/config.js +0 -1
  29. package/dist/pim/endpoints.js +0 -1
  30. package/dist/pim/methods/bulkPublish.js +0 -1
  31. package/dist/pim/methods/catalogs.js +0 -1
  32. package/dist/pim/methods/checkTopicDraftAndPagePublished.js +0 -1
  33. package/dist/pim/methods/designers.js +0 -1
  34. package/dist/pim/methods/dictionary.js +0 -1
  35. package/dist/pim/methods/families.js +0 -1
  36. package/dist/pim/methods/latestProducts.js +0 -1
  37. package/dist/pim/methods/migrateEntryFields.js +0 -1
  38. package/dist/pim/methods/models.js +0 -1
  39. package/dist/pim/methods/pages/catalogs.js +0 -1
  40. package/dist/pim/methods/pages/families.js +0 -1
  41. package/dist/pim/methods/pages/subfamilies.js +0 -1
  42. package/dist/pim/methods/products.js +0 -1
  43. package/dist/pim/methods/subfamilies.js +0 -1
  44. package/dist/pim/methods/submodels.js +0 -1
  45. package/dist/pim/request.js +0 -1
  46. package/dist/resources/AllProducts.js +0 -1
  47. package/dist/resources/Audit.js +0 -1
  48. package/dist/resources/CatalogDetails.js +0 -1
  49. package/dist/resources/CollectionModels.js +0 -1
  50. package/dist/resources/CollectionSubFamilies.js +0 -1
  51. package/dist/resources/CollectionSubModels.js +0 -1
  52. package/dist/resources/DProductSubLine.js +0 -1
  53. package/dist/resources/FamilyDetails.js +0 -1
  54. package/dist/resources/ProductDetails.js +0 -1
  55. package/dist/resources/ProductRelation.js +0 -1
  56. package/dist/resources/cfFields.js +0 -1
  57. package/dist/types.js +0 -1
  58. package/dist/utils.js +0 -1
  59. package/package.json +7 -2
  60. package/.env.example +0 -45
  61. package/.nvmrc +0 -1
  62. package/.vscode/settings.json +0 -21
  63. package/dist/algolia/clean.js.map +0 -1
  64. package/dist/algolia/config.js.map +0 -1
  65. package/dist/algolia/downloads.js.map +0 -1
  66. package/dist/algolia/families.js.map +0 -1
  67. package/dist/algolia/inspirations.js.map +0 -1
  68. package/dist/algolia/models.js.map +0 -1
  69. package/dist/algolia/news.js.map +0 -1
  70. package/dist/algolia/pressRelease.js.map +0 -1
  71. package/dist/algolia/pressReview.js.map +0 -1
  72. package/dist/algolia/products.js.map +0 -1
  73. package/dist/algolia/projects.js.map +0 -1
  74. package/dist/algolia/stories.js.map +0 -1
  75. package/dist/algolia/subFamilies.js.map +0 -1
  76. package/dist/algolia/subModels.js.map +0 -1
  77. package/dist/browser.js.map +0 -1
  78. package/dist/downloads/classes/manageEntry.js.map +0 -1
  79. package/dist/downloads/import.js.map +0 -1
  80. package/dist/index.js.map +0 -1
  81. package/dist/libs/contentful-cda.js.map +0 -1
  82. package/dist/libs/contentful.js.map +0 -1
  83. package/dist/libs/imgix.js.map +0 -1
  84. package/dist/libs/logs.js.map +0 -1
  85. package/dist/libs/netlify.js.map +0 -1
  86. package/dist/libs/notifications.js.map +0 -1
  87. package/dist/libs/pdf.js.map +0 -1
  88. package/dist/libs/s3.js.map +0 -1
  89. package/dist/libs/sentry.js.map +0 -1
  90. package/dist/pim/config.js.map +0 -1
  91. package/dist/pim/endpoints.js.map +0 -1
  92. package/dist/pim/methods/bulkPublish.js.map +0 -1
  93. package/dist/pim/methods/catalogs.js.map +0 -1
  94. package/dist/pim/methods/checkTopicDraftAndPagePublished.js.map +0 -1
  95. package/dist/pim/methods/designers.js.map +0 -1
  96. package/dist/pim/methods/dictionary.js.map +0 -1
  97. package/dist/pim/methods/families.js.map +0 -1
  98. package/dist/pim/methods/latestProducts.js.map +0 -1
  99. package/dist/pim/methods/migrateEntryFields.js.map +0 -1
  100. package/dist/pim/methods/models.js.map +0 -1
  101. package/dist/pim/methods/pages/catalogs.js.map +0 -1
  102. package/dist/pim/methods/pages/families.js.map +0 -1
  103. package/dist/pim/methods/pages/subfamilies.js.map +0 -1
  104. package/dist/pim/methods/products.js.map +0 -1
  105. package/dist/pim/methods/subfamilies.js.map +0 -1
  106. package/dist/pim/methods/submodels.js.map +0 -1
  107. package/dist/pim/request.js.map +0 -1
  108. package/dist/resources/AllProducts.js.map +0 -1
  109. package/dist/resources/Audit.js.map +0 -1
  110. package/dist/resources/CatalogDetails.js.map +0 -1
  111. package/dist/resources/CollectionModels.js.map +0 -1
  112. package/dist/resources/CollectionSubFamilies.js.map +0 -1
  113. package/dist/resources/CollectionSubModels.js.map +0 -1
  114. package/dist/resources/DProductSubLine.js.map +0 -1
  115. package/dist/resources/FamilyDetails.js.map +0 -1
  116. package/dist/resources/ProductDetails.js.map +0 -1
  117. package/dist/resources/ProductRelation.js.map +0 -1
  118. package/dist/resources/cfFields.js.map +0 -1
  119. package/dist/types.js.map +0 -1
  120. package/dist/utils.js.map +0 -1
  121. package/docs/import-data-from-the-dictionary.md +0 -83
  122. package/docs/import-products.md +0 -61
  123. package/docs/import-taxonomies-from-the-catalog.md +0 -60
  124. package/docs/settings.md +0 -47
  125. package/jest.config.js +0 -16
  126. package/local-fn/reindex.js +0 -182
  127. package/src/algolia/clean.ts +0 -164
  128. package/src/algolia/config.ts +0 -390
  129. package/src/algolia/downloads.ts +0 -346
  130. package/src/algolia/families.ts +0 -652
  131. package/src/algolia/inspirations.ts +0 -315
  132. package/src/algolia/models.ts +0 -589
  133. package/src/algolia/news.ts +0 -258
  134. package/src/algolia/pressRelease.ts +0 -255
  135. package/src/algolia/pressReview.ts +0 -247
  136. package/src/algolia/products.ts +0 -731
  137. package/src/algolia/projects.ts +0 -339
  138. package/src/algolia/stories.ts +0 -347
  139. package/src/algolia/subFamilies.ts +0 -709
  140. package/src/algolia/subModels.ts +0 -359
  141. package/src/browser.ts +0 -122
  142. package/src/downloads/classes/manageEntry.ts +0 -99
  143. package/src/downloads/csv/legal.csv +0 -5
  144. package/src/downloads/csv/products.csv +0 -373
  145. package/src/downloads/import.ts +0 -381
  146. package/src/index.ts +0 -140
  147. package/src/libs/contentful-cda.ts +0 -543
  148. package/src/libs/contentful.ts +0 -1453
  149. package/src/libs/imgix.ts +0 -297
  150. package/src/libs/logs.ts +0 -121
  151. package/src/libs/netlify.ts +0 -37
  152. package/src/libs/notifications.ts +0 -104
  153. package/src/libs/pdf.ts +0 -107
  154. package/src/libs/s3.ts +0 -305
  155. package/src/libs/sentry.ts +0 -33
  156. package/src/pim/config.ts +0 -84
  157. package/src/pim/data/productFields.json +0 -1178
  158. package/src/pim/endpoints.ts +0 -364
  159. package/src/pim/methods/bulkPublish.ts +0 -266
  160. package/src/pim/methods/catalogs.ts +0 -586
  161. package/src/pim/methods/checkTopicDraftAndPagePublished.ts +0 -70
  162. package/src/pim/methods/designers.ts +0 -128
  163. package/src/pim/methods/dictionary.ts +0 -611
  164. package/src/pim/methods/families.ts +0 -345
  165. package/src/pim/methods/latestProducts.ts +0 -70
  166. package/src/pim/methods/migrateEntryFields.ts +0 -99
  167. package/src/pim/methods/models.ts +0 -349
  168. package/src/pim/methods/pages/catalogs.ts +0 -28
  169. package/src/pim/methods/pages/families.ts +0 -50
  170. package/src/pim/methods/pages/subfamilies.ts +0 -98
  171. package/src/pim/methods/products.ts +0 -3297
  172. package/src/pim/methods/subfamilies.ts +0 -706
  173. package/src/pim/methods/submodels.ts +0 -262
  174. package/src/pim/request.ts +0 -61
  175. package/src/resources/AllProducts.ts +0 -41
  176. package/src/resources/Audit.ts +0 -24
  177. package/src/resources/CatalogDetails.ts +0 -51
  178. package/src/resources/CollectionModels.ts +0 -42
  179. package/src/resources/CollectionSubFamilies.ts +0 -45
  180. package/src/resources/CollectionSubModels.ts +0 -36
  181. package/src/resources/DProductSubLine.ts +0 -34
  182. package/src/resources/FamilyDetails.ts +0 -31
  183. package/src/resources/ProductDetails.ts +0 -352
  184. package/src/resources/ProductRelation.ts +0 -24
  185. package/src/resources/cfFields.ts +0 -8
  186. package/src/types.ts +0 -268
  187. package/src/utils.ts +0 -553
  188. package/tsconfig.json +0 -93
  189. package/tslint.json +0 -22
  190. package/types/libs/puppeteer.d.ts +0 -17
  191. package/types/pim/methods/checkIp.d.ts +0 -1
  192. /package/{types → dist}/algolia/clean.d.ts +0 -0
  193. /package/{types → dist}/algolia/config.d.ts +0 -0
  194. /package/{types → dist}/algolia/downloads.d.ts +0 -0
  195. /package/{types → dist}/algolia/families.d.ts +0 -0
  196. /package/{types → dist}/algolia/inspirations.d.ts +0 -0
  197. /package/{types → dist}/algolia/models.d.ts +0 -0
  198. /package/{types → dist}/algolia/news.d.ts +0 -0
  199. /package/{types → dist}/algolia/pressRelease.d.ts +0 -0
  200. /package/{types → dist}/algolia/pressReview.d.ts +0 -0
  201. /package/{types → dist}/algolia/products.d.ts +0 -0
  202. /package/{types → dist}/algolia/projects.d.ts +0 -0
  203. /package/{types → dist}/algolia/stories.d.ts +0 -0
  204. /package/{types → dist}/algolia/subFamilies.d.ts +0 -0
  205. /package/{types → dist}/algolia/subModels.d.ts +0 -0
  206. /package/{types → dist}/browser.d.ts +0 -0
  207. /package/{types → dist}/downloads/classes/manageEntry.d.ts +0 -0
  208. /package/{types → dist}/downloads/import.d.ts +0 -0
  209. /package/{types → dist}/index.d.ts +0 -0
  210. /package/{types → dist}/libs/contentful-cda.d.ts +0 -0
  211. /package/{types → dist}/libs/contentful.d.ts +0 -0
  212. /package/{types → dist}/libs/imgix.d.ts +0 -0
  213. /package/{types → dist}/libs/logs.d.ts +0 -0
  214. /package/{types → dist}/libs/netlify.d.ts +0 -0
  215. /package/{types → dist}/libs/notifications.d.ts +0 -0
  216. /package/{types → dist}/libs/pdf.d.ts +0 -0
  217. /package/{types → dist}/libs/s3.d.ts +0 -0
  218. /package/{types → dist}/libs/sentry.d.ts +0 -0
  219. /package/{types → dist}/pim/config.d.ts +0 -0
  220. /package/{types → dist}/pim/endpoints.d.ts +0 -0
  221. /package/{types → dist}/pim/methods/bulkPublish.d.ts +0 -0
  222. /package/{types → dist}/pim/methods/catalogs.d.ts +0 -0
  223. /package/{types → dist}/pim/methods/checkTopicDraftAndPagePublished.d.ts +0 -0
  224. /package/{types → dist}/pim/methods/designers.d.ts +0 -0
  225. /package/{types → dist}/pim/methods/dictionary.d.ts +0 -0
  226. /package/{types → dist}/pim/methods/families.d.ts +0 -0
  227. /package/{types → dist}/pim/methods/latestProducts.d.ts +0 -0
  228. /package/{types → dist}/pim/methods/migrateEntryFields.d.ts +0 -0
  229. /package/{types → dist}/pim/methods/models.d.ts +0 -0
  230. /package/{types → dist}/pim/methods/pages/catalogs.d.ts +0 -0
  231. /package/{types → dist}/pim/methods/pages/families.d.ts +0 -0
  232. /package/{types → dist}/pim/methods/pages/subfamilies.d.ts +0 -0
  233. /package/{types → dist}/pim/methods/products.d.ts +0 -0
  234. /package/{types → dist}/pim/methods/subfamilies.d.ts +0 -0
  235. /package/{types → dist}/pim/methods/submodels.d.ts +0 -0
  236. /package/{types → dist}/pim/request.d.ts +0 -0
  237. /package/{types → dist}/resources/AllProducts.d.ts +0 -0
  238. /package/{types → dist}/resources/Audit.d.ts +0 -0
  239. /package/{types → dist}/resources/CatalogDetails.d.ts +0 -0
  240. /package/{types → dist}/resources/CollectionModels.d.ts +0 -0
  241. /package/{types → dist}/resources/CollectionSubFamilies.d.ts +0 -0
  242. /package/{types → dist}/resources/CollectionSubModels.d.ts +0 -0
  243. /package/{types → dist}/resources/DProductSubLine.d.ts +0 -0
  244. /package/{types → dist}/resources/FamilyDetails.d.ts +0 -0
  245. /package/{types → dist}/resources/ProductDetails.d.ts +0 -0
  246. /package/{types → dist}/resources/ProductRelation.d.ts +0 -0
  247. /package/{types → dist}/resources/cfFields.d.ts +0 -0
  248. /package/{types → dist}/types.d.ts +0 -0
  249. /package/{types → dist}/utils.d.ts +0 -0
@@ -1,182 +0,0 @@
1
- const pimImport = require("../dist/index");
2
-
3
- function reindexFamilies(offset, limit, catalog) {
4
- pimImport
5
- .reindexFamilies(offset, limit, catalog)
6
- .then((res) => {
7
- console.log(res);
8
- if (!res?.completed) {
9
- reindexFamilies(res.offset, res.limit, catalog);
10
- }
11
- })
12
- .catch((err) => {
13
- console.log(err);
14
- });
15
- }
16
-
17
- function reindexSubFamilies(offset, limit, catalog) {
18
- pimImport
19
- .reindexSubFamilies(offset, limit, catalog)
20
- .then((res) => {
21
- console.log(res);
22
- if (!res?.completed) {
23
- reindexSubFamilies(res.offset, res.limit, catalog);
24
- }
25
- })
26
- .catch((err) => {
27
- console.log(err);
28
- });
29
- }
30
-
31
- function reindexModels(offset, limit, catalogCode) {
32
- pimImport
33
- .reindexModels(offset, limit, catalogCode)
34
- .then((res) => {
35
- console.log(res);
36
- if (!res.completed) {
37
- reindexModels(res.offset, res.limit, catalogCode);
38
- }
39
- })
40
- .catch((err) => {
41
- console.log(err);
42
- });
43
- }
44
-
45
- function reindexSubModels(offset, limit, catalogCode) {
46
- pimImport
47
- .reindexSubModels(offset, limit, catalogCode)
48
- .then((res) => {
49
- console.log(res);
50
- if (!res.completed) {
51
- reindexSubModels(res.offset, res.limit, catalogCode);
52
- }
53
- })
54
- .catch((err) => {
55
- console.log(err);
56
- });
57
- }
58
-
59
- function reindexProducts(
60
- filterKey,
61
- filterValue,
62
- offset,
63
- limit,
64
- lastPimSyncDateGte = "",
65
- generatePdf = true,
66
- filters = [],
67
- lastModified = ""
68
- ) {
69
- pimImport
70
- .reindexProducts(
71
- filterKey,
72
- filterValue,
73
- offset,
74
- limit,
75
- lastPimSyncDateGte,
76
- generatePdf,
77
- filters,
78
- lastModified
79
- )
80
- .then((res) => {
81
- console.log(res);
82
- if (!res.completed) {
83
- reindexProducts(
84
- filterKey,
85
- filterValue,
86
- res.offset,
87
- res.limit,
88
- lastPimSyncDateGte,
89
- generatePdf,
90
- filters,
91
- lastModified
92
- );
93
- }
94
- })
95
- .catch((err) => {
96
- console.log(err);
97
- });
98
- }
99
-
100
- function reindexStories(offset, limit, filterKey, filterValue) {
101
- pimImport
102
- .reindexStories(offset, limit, filterKey, filterValue)
103
- .then((res) => {
104
- console.log(res);
105
- if (!res?.completed) {
106
- reindexStories(res.offset, res.limit, filterKey, filterValue);
107
- }
108
- })
109
- .catch((err) => {
110
- console.log(err);
111
- });
112
- }
113
-
114
- function reindexProjects(offset, limit) {
115
- pimImport
116
- .reindexProjects(offset, limit)
117
- .then((res) => {
118
- console.log(res);
119
- if (!res?.completed) {
120
- reindexProjects(res.offset, res.limit);
121
- }
122
- })
123
- .catch((err) => {
124
- console.log(err);
125
- });
126
- }
127
-
128
- function reindexDownloads(offset, limit) {
129
- pimImport
130
- .reindexDownloads(offset, limit)
131
- .then((res) => {
132
- console.log(res);
133
- if (!res?.completed) {
134
- reindexDownloads(res.offset, res.limit);
135
- }
136
- })
137
- .catch((err) => {
138
- console.log(err);
139
- });
140
- }
141
-
142
- /**
143
- * Per reindicizzare i contentuti negli indici di stage prima di procedere accertarsi che:
144
- * - La variabile d'ambiente FPI_ALGOLIA_INDEX_NAME_SUFFIX sia uguale a "_STAGE"
145
- * - Il file src/algolia/products.ts stia utilizzando la CMA di Contentful (../libs/contentful) e non la CDA (../libs/contentful-cda)
146
- */
147
-
148
- const catalog = "ARCHITECTURAL"; //"ARCHITECTURAL"; // ARCHITECTURAL, OUTDOOR or DECORATIVE
149
- const lastModified = ""; //"2023-11-05T00:00:00.931Z"; // Modificare solo mese e giorno non occorre modificare l'ora
150
-
151
- // 1. Reindicizzare per ogni catalogo tutte le famiglie
152
- // reindexFamilies(0, 10, catalog);
153
-
154
- // 2. Reindicizzare per ogni catalogo tutte le subfamily
155
- // reindexSubFamilies(0, 50, catalog);
156
-
157
- // 3. Reindicizzare per ogni catalogo tutti i model
158
- // reindexModels(0, 50, catalog);
159
-
160
- // 4. Reindicizzare per ogni catalogo tutti i submodel
161
- // reindexSubModels(0, 50, catalog);
162
-
163
- // 5. Reindicizzare per ogni catalogo tutti i prodotti modificati da una certa data in poi
164
- // reindexProducts(
165
- // "fields.catalogs.sys.id[in]",
166
- // catalog,
167
- // 0,
168
- // 50,
169
- // "",
170
- // false,
171
- // [],
172
- // lastModified
173
- // );
174
-
175
- // 6. Reindicizzare le stories
176
- // reindexStories(0, 50);
177
-
178
- // 7. Reindicizzare i projects
179
- // reindexProjects(0, 50);
180
-
181
- // 7. Reindicizzare i downloads
182
- // reindexDownloads(0, 50);
@@ -1,164 +0,0 @@
1
- import { getEnvironment } from "../libs/contentful";
2
- import {
3
- AvailableCatalogs,
4
- AvailableEntryStatus,
5
- AlgoliaPaginateObjectIds,
6
- } from "../types";
7
- import { log } from "../libs/logs";
8
- import { getIndex, AvailableIndicesKey } from "./config";
9
- import { secondBetweenTwoDate } from "../utils";
10
-
11
- const getObjects = async (
12
- contentType: string,
13
- offset: number,
14
- limit: number,
15
- status: AvailableEntryStatus = "Draft",
16
- catalogCode?: AvailableCatalogs
17
- ): Promise<AlgoliaPaginateObjectIds> => {
18
- const env = await getEnvironment();
19
- const opts: any = {
20
- content_type: contentType,
21
- limit,
22
- skip: offset,
23
- locale: "*",
24
- select: "sys",
25
- };
26
-
27
- const hasMultiCatalogsFields = [
28
- "topicProduct",
29
- "topicFamily",
30
- "topicDownload",
31
- ];
32
- if (catalogCode && hasMultiCatalogsFields.includes(contentType)) {
33
- opts["fields.catalogs.sys.id[in]"] = catalogCode;
34
- } else {
35
- opts["fields.catalog.sys.id"] = catalogCode;
36
- }
37
-
38
- switch (status) {
39
- case "Published":
40
- opts["sys.archivedAt[exists]"] = false;
41
- opts["sys.publishedAt[exists]"] = true;
42
- break;
43
- case "Changed":
44
- opts["sys.archivedAt[exists]"] = false;
45
- opts["sys.publishedAt[exists]"] = true;
46
- opts.changed = true;
47
- break;
48
- case "Draft":
49
- opts["sys.archivedAt[exists]"] = false;
50
- opts["sys.publishedAt[exists]"] = false;
51
- opts.changed = true;
52
- break;
53
- case "Archived":
54
- opts["sys.archivedAt[exists]"] = true;
55
- break;
56
- default:
57
- log(`The status ${status} is not valid`, "ERROR");
58
- }
59
-
60
- const { items, total } = await env.getEntries(opts);
61
-
62
- const objectIds = items.map((item) => item.sys.id);
63
- const count: number = Number(offset) + objectIds.length;
64
-
65
- return {
66
- objectIds,
67
- offset: Number(offset) + Number(limit),
68
- limit: Number(limit),
69
- completed: count >= total, // if is true the import is completed
70
- total,
71
- };
72
- };
73
-
74
- /**
75
- * Remove records by entry status
76
- *
77
- * @param indexKey An AvailableIndicesKey. Eg: products
78
- * @param offset
79
- * @param limit Default: 50
80
- * @param status An AvailableEntryStatus. Eg: Draft or Archived
81
- * @param catalogCode (optional) An AvailableCatalogs. Eg: ARCHITECTURAL
82
- *
83
- * @example removeRecordsByStatus("products", 0, 50, "Draft", "OUTDOOR");
84
- *
85
- * @returns
86
- */
87
- export const removeRecordsByStatus = async (
88
- indexKey: AvailableIndicesKey,
89
- offset: number = 0,
90
- limit: number = 50,
91
- status: AvailableEntryStatus = "Draft",
92
- catalogCode?: AvailableCatalogs
93
- ) => {
94
- const timeStart = new Date();
95
- status = (status.charAt(0).toUpperCase() +
96
- status.slice(1).toLowerCase()) as AvailableEntryStatus;
97
-
98
- log(
99
- `removeRecordsByStatus - offset: ${offset} limit: ${limit} catalog: ${catalogCode} status: ${status}`
100
- );
101
-
102
- let contentType;
103
- switch (indexKey) {
104
- case "families":
105
- contentType = "topicFamily";
106
- break;
107
- case "subFamilies":
108
- contentType = "topicSubFamily";
109
- break;
110
- case "models":
111
- contentType = "topicModel";
112
- break;
113
- case "subModels":
114
- contentType = "topicSubModel";
115
- break;
116
- case "products":
117
- contentType = "topicProduct";
118
- break;
119
- case "downloads":
120
- contentType = "topicDownload";
121
- break;
122
- case "projects":
123
- contentType = "topicProject";
124
- break;
125
- case "pressReviews":
126
- contentType = "topicPressReview";
127
- break;
128
- case "pressRelease":
129
- contentType = "topicPressRelease";
130
- break;
131
- case "news":
132
- contentType = "topicNews";
133
- break;
134
- default:
135
- log(`The indexKey ${indexKey} is not valid.`, "ERROR");
136
- }
137
-
138
- if (!contentType) {
139
- log(`No contentType available for ${indexKey} indexKey`, "WARN");
140
- return false;
141
- }
142
-
143
- const records = await getObjects(
144
- contentType,
145
- offset,
146
- limit,
147
- status,
148
- catalogCode
149
- );
150
-
151
- // Delete records from Algolia
152
- const index = getIndex(indexKey);
153
- log(`${offset + records.objectIds?.length} of ${records.total}`);
154
- log(
155
- `Deleting ${records.objectIds?.length} ${catalogCode} entries with status ${status} from ${index.indexName} index...`
156
- );
157
- await index.deleteObjects(records.objectIds as string[]);
158
-
159
- const timeEnd = new Date();
160
- const seconds = secondBetweenTwoDate(timeStart, timeEnd);
161
- log(`Execution time: ${seconds} seconds`);
162
-
163
- return { ...records };
164
- };