pim-import 5.0.0 → 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 -46
  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,262 +0,0 @@
1
- import { PaginationResults } from "../../types";
2
- import { log, serverUtils } from "../../libs/logs";
3
- import { getOtherCatalogData } from "../endpoints";
4
- import {
5
- CollectionSubModels,
6
- PagedCollectionEntity,
7
- } from "../../resources/CollectionSubModels";
8
- import type {
9
- Entry,
10
- CreateEntryProps,
11
- } from "contentful-management/dist/typings/entities/entry";
12
- import {
13
- updateEntry,
14
- createEntryWithId,
15
- getEnvironmentDefaultLocaleCode,
16
- getEntryByID,
17
- getEntryByCode,
18
- addFieldValue,
19
- addToRelationFields,
20
- } from "../../libs/contentful";
21
- import {
22
- sleep,
23
- getPimTranslations,
24
- getLocalISOTime,
25
- secondBetweenTwoDate,
26
- } from "../../utils";
27
-
28
- const getTopicSubModelData = async (
29
- subModel: PagedCollectionEntity,
30
- topicSubModel: Entry
31
- ) => {
32
- const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
33
- const data: CreateEntryProps = {
34
- fields: topicSubModel?.fields || {},
35
- };
36
- data.fields.name = getPimTranslations(subModel.data);
37
- data.fields = await addFieldValue(data, "code", subModel.code);
38
- data.fields = await addFieldValue(data, "priority", subModel.priority);
39
-
40
- // Related subFamily
41
- if (subModel.subFamilyCode) {
42
- const subFamilyEntry = await getEntryByCode(
43
- subModel.subFamilyCode,
44
- "topicSubFamily",
45
- "sys,fields.code,fields.catalog"
46
- );
47
- if (subFamilyEntry) {
48
- data.fields = await addToRelationFields(
49
- data,
50
- "subFamily",
51
- subFamilyEntry.sys.id
52
- );
53
-
54
- // Catalog
55
- data.fields = await addToRelationFields(
56
- data,
57
- "catalog",
58
- subFamilyEntry.fields.catalog[defaultEnvironmentLocaleCode].sys.id
59
- );
60
- } else {
61
- log(
62
- `topicSubFamily with code ${subModel.subFamilyCode} not found so it is not possible to set subFamily and the catalog fields`,
63
- "WARN"
64
- );
65
- }
66
- } else {
67
- log(
68
- `subFamily not set so it is not possible to set it and the catalog fields`,
69
- "WARN"
70
- );
71
- }
72
-
73
- // Related productLine
74
- if (subModel.productLineCode) {
75
- const productLineEntry = await getEntryByCode(
76
- subModel.productLineCode,
77
- "topicProductLine",
78
- "sys,fields.code"
79
- );
80
- if (productLineEntry) {
81
- data.fields = await addToRelationFields(
82
- data,
83
- "productLine",
84
- productLineEntry.sys.id
85
- );
86
- } else {
87
- log(
88
- `topicProductLine with code ${subModel.productLineCode} not found`,
89
- "WARN"
90
- );
91
- }
92
- }
93
-
94
- // Related parentModel
95
- if (subModel.parentModel?.code) {
96
- const modelEntry = await getEntryByCode(
97
- subModel.parentModel.code,
98
- "topicModel",
99
- "sys,fields.code"
100
- );
101
- if (modelEntry) {
102
- data.fields = await addToRelationFields(
103
- data,
104
- "parentModel",
105
- modelEntry.sys.id
106
- );
107
- } else {
108
- log(
109
- `topicModel with code ${subModel.parentModel.code} not found`,
110
- "WARN"
111
- );
112
- }
113
- }
114
-
115
- // Destinations
116
- if(subModel?.destinations?.length){
117
- log(`set destinations`);
118
- data.fields = await addFieldValue(data, "destinations", subModel.destinations);
119
- }else{
120
- log(`destinations not found`, "WARN");
121
- }
122
-
123
- // lastPimSyncDate
124
- data.fields = await addFieldValue(data, "lastPimSyncDate", getLocalISOTime());
125
-
126
-
127
- return data;
128
- };
129
-
130
- /**
131
- * Import subModel
132
- *
133
- * create/update topicSubModel
134
- * - name
135
- * - code
136
- * - priority
137
- * - catalog
138
- * - subFamily
139
- * - productLine
140
- * - parentModel
141
- * - lastPimSyncDate
142
- *
143
- * @param subModel
144
- * @returns
145
- */
146
- const importSubModel = async (
147
- subModel: PagedCollectionEntity
148
- ): Promise<Entry> => {
149
- const code = `${subModel.code}`;
150
- let topicSubModel: Entry = await getEntryByID(code, "topicSubModel");
151
-
152
- const topicSubModelData: CreateEntryProps = await getTopicSubModelData(
153
- subModel,
154
- topicSubModel
155
- );
156
- if (topicSubModel) {
157
- log(`The topicSubModel ${code} already exists. Updating...`);
158
- topicSubModel = await updateEntry(
159
- topicSubModel,
160
- topicSubModelData,
161
- topicSubModel.isPublished()
162
- );
163
- } else {
164
- log(`The topicSubModel ${code} not exists. Creating...`);
165
- topicSubModel = await createEntryWithId(
166
- "topicSubModel",
167
- code,
168
- topicSubModelData
169
- );
170
- }
171
-
172
- const defaultEnvironmentLocaleCode = await getEnvironmentDefaultLocaleCode();
173
- const topicModelId =
174
- topicSubModel?.fields?.parentModel?.[defaultEnvironmentLocaleCode]?.sys?.id;
175
- if (topicModelId) {
176
- await addSubModelToModel(topicSubModel.sys.id, topicModelId);
177
- } else {
178
- log("No parent model found", "WARN");
179
- }
180
-
181
- return topicSubModel;
182
- };
183
-
184
- const addSubModelToModel = async (
185
- topicSubModelId: string,
186
- topicModelId: string
187
- ) => {
188
- log(
189
- `addSubModelToModel - topicSubModelId:${topicSubModelId}, topicModelId: ${topicModelId} `
190
- );
191
- let topicModel = await getEntryByID(topicModelId, "topicModel");
192
- const data: CreateEntryProps = {
193
- fields: topicModel?.fields || {},
194
- };
195
-
196
- data.fields = await addToRelationFields(
197
- topicModel,
198
- "subModels",
199
- topicSubModelId,
200
- true
201
- );
202
-
203
- topicModel = await updateEntry(topicModel, data, topicModel.isPublished());
204
- };
205
-
206
- /**
207
- * Import subModel
208
- *
209
- * @param {number} offset Default 0
210
- * @param {number} limit Range 0-50. Default 50
211
- * @returns {object}
212
- */
213
- export const importSubModels = async (
214
- offset: number = 0,
215
- limit: number = 50
216
- ): Promise<PaginationResults> => {
217
- const timeStart = new Date();
218
- log(`importSubModels - offset: ${offset}, limit: ${limit}`, "INFO");
219
- const subModels = await getOtherCatalogData<CollectionSubModels>(
220
- "submodels",
221
- offset,
222
- limit
223
- );
224
-
225
- const total = subModels?.pagedCollection?.length || 0;
226
-
227
- if (subModels?.pagedCollection?.length) {
228
- log(`Founded ${total} subModels`);
229
- let count = offset;
230
- let current: number = 0;
231
- for (const subModel of subModels.pagedCollection) {
232
- log(`${++count} of ${subModels.totalCount}`);
233
-
234
- await importSubModel(subModel);
235
-
236
- if (serverUtils) {
237
- serverUtils.log(subModel.code);
238
- const progress = Math.floor(
239
- (++current / subModels.pagedCollection.length) * 100
240
- );
241
- serverUtils.updateProgress(progress);
242
- }
243
-
244
- // Max 7 calls per seconds
245
- if (count % 2 === 0 && count < subModels.totalCount) {
246
- await sleep(1000);
247
- }
248
- }
249
- }
250
-
251
- const nextOffset = Number(offset) + Number(limit);
252
- const timeEnd = new Date();
253
- const seconds = secondBetweenTwoDate(timeStart, timeEnd);
254
- log(`Request time: ${seconds} seconds`);
255
-
256
- return {
257
- offset: nextOffset,
258
- limit: Number(limit),
259
- completed: nextOffset >= subModels.totalCount,
260
- total: subModels.totalCount,
261
- };
262
- };
@@ -1,61 +0,0 @@
1
- import { config, checkConfig } from "./config";
2
- import axios, { AxiosRequestConfig } from "@atoms-studio/axios";
3
- import https from "https";
4
-
5
- export let baseRequestConfig: AxiosRequestConfig | null = null;
6
-
7
- /**
8
- * @see https://github.com/axios/axios#request-config
9
- */
10
- export const initBaseRequest = (): void => {
11
- checkConfig();
12
-
13
- baseRequestConfig = {
14
- baseURL: config.baseURL,
15
- timeout: config.timeout,
16
- params: {},
17
- headers: {
18
- Accept: "application/json",
19
- "Content-Type": "application/json;charset=utf-8",
20
- },
21
- };
22
-
23
- // Ignore specific SSL errors
24
- if (!config.sslverify) {
25
- const agent = new https.Agent({
26
- rejectUnauthorized: false,
27
- });
28
- baseRequestConfig.httpsAgent = agent;
29
- }
30
-
31
- // Auth
32
- if (config.username && config.password) {
33
- baseRequestConfig.auth = {
34
- username: config.username,
35
- password: config.password,
36
- };
37
- }
38
- };
39
-
40
- export const resetBaseRequest = (): void => {
41
- baseRequestConfig = null;
42
- };
43
-
44
- export const getRequest = (
45
- url: string,
46
- opts: Record<string, any> & Partial<AxiosRequestConfig> = {}
47
- ): Promise<any> => {
48
- if (!baseRequestConfig) {
49
- initBaseRequest();
50
- }
51
-
52
- const defaultOpts = { ...baseRequestConfig };
53
-
54
- Object.entries(defaultOpts).forEach(([key, value]) => {
55
- if (!opts[key]) {
56
- opts[key] = value;
57
- }
58
- });
59
-
60
- return axios.get(url, opts);
61
- };
@@ -1,41 +0,0 @@
1
- export interface AllProductsEntry {
2
- code: string;
3
- name: string;
4
- webNaming: string;
5
- productGroup: ProductGroup;
6
- productStatus: ProductStatus;
7
- lastModified: LastModified;
8
- catalogs?: CatalogsEntity[] | null;
9
- }
10
- export interface ProductGroup {
11
- code: string;
12
- name: string;
13
- priority: number;
14
- }
15
- export interface ProductStatus {
16
- code: string;
17
- value_en: string;
18
- value_it: string;
19
- value_es: string;
20
- value_de: string;
21
- value_fr: string;
22
- value_sv: string;
23
- value_no: string;
24
- value_da: string;
25
- value_ru: string;
26
- othersData: OthersData;
27
- }
28
- export interface OthersData {}
29
- export interface LastModified {
30
- year: number;
31
- month: number;
32
- dayOfMonth: number;
33
- hourOfDay: number;
34
- minute: number;
35
- second: number;
36
- }
37
- export interface CatalogsEntity {
38
- catalogCode?: string | null;
39
- categoryCode?: string | null;
40
- subFamilyCode?: string | null;
41
- }
@@ -1,24 +0,0 @@
1
- type AuditCatalog = {
2
- where: string;
3
- catalogCode?: string;
4
- categoryCode?: string;
5
- subfamilyCode?: string;
6
- models?: string;
7
- subModels?: string;
8
- codes?: string;
9
- };
10
- export interface Audit {
11
- what: string;
12
- when: When;
13
- product: string;
14
- upgradeProduct?: string;
15
- catalogs: AuditCatalog[];
16
- }
17
- export interface When {
18
- year: number;
19
- month: number;
20
- dayOfMonth: number;
21
- hourOfDay: number;
22
- minute: number;
23
- second: number;
24
- }
@@ -1,51 +0,0 @@
1
- export interface CatalogDetails {
2
- data: Data;
3
- categories?: CategoriesEntity[] | null;
4
- }
5
-
6
- export interface Data {
7
- code: string;
8
- value_en: string;
9
- value_it: string;
10
- value_es: string;
11
- value_de: string;
12
- value_fr: string;
13
- value_sv: string;
14
- value_no: string;
15
- value_da: string;
16
- value_ru: string;
17
- othersData: OthersData;
18
- }
19
-
20
- export interface OthersData {}
21
-
22
- export interface CategoriesEntity {
23
- data: Data;
24
- subfamilies?: (SubfamiliesEntity | null)[] | null;
25
- }
26
-
27
- export interface SubfamiliesEntity {
28
- data: FamilyData;
29
- childfamilies?: (ChildfamiliesEntity | null)[] | null;
30
- designers?: null[] | null;
31
- parentFamily?: FamilyData | null;
32
- }
33
-
34
- export interface FamilyData {
35
- code: string;
36
- value_en: string;
37
- value_en_US?: string | null;
38
- value_it: string;
39
- value_es: string;
40
- value_de: string;
41
- value_fr: string;
42
- value_sv: string;
43
- value_no: string;
44
- value_da: string;
45
- value_ru: string;
46
- othersData: OthersData;
47
- }
48
-
49
- export interface ChildfamiliesEntity {
50
- data: Data;
51
- }
@@ -1,42 +0,0 @@
1
- export interface CollectionModels {
2
- totalCount: number;
3
- pageSize: number;
4
- pageOffset: number;
5
- pagedCollection?: PagedCollectionEntity[] | null;
6
- }
7
- export interface PagedCollectionEntity {
8
- designers: Data[];
9
- relatedProducts?: string[] | null;
10
- data: Data;
11
- priority?: number | null;
12
- subFamilyCode: string;
13
- productLineCode: string;
14
- code: string;
15
- othersData: OthersData;
16
- description1_en?: string;
17
- description1_en_us?: string;
18
- description1_it?: string;
19
- description1_es?: string;
20
- description1_de?: string;
21
- description1_fr?: string;
22
- description1_sv?: string;
23
- description1_no?: string;
24
- description1_da?: string;
25
- description1_ru?: string;
26
- destinations?: string[];
27
- }
28
- export interface Data {
29
- code: string;
30
- value_en: string;
31
- value_en_US: string;
32
- value_it: string;
33
- value_es: string;
34
- value_de: string;
35
- value_fr: string;
36
- value_sv: string;
37
- value_no: string;
38
- value_da: string;
39
- value_ru: string;
40
- othersData: OthersData;
41
- }
42
- export interface OthersData {}
@@ -1,45 +0,0 @@
1
- export interface CollectionSubFamilies {
2
- totalCount: number;
3
- pageSize: number;
4
- pageOffset: number;
5
- pagedCollection?: PagedCollectionEntity[] | null;
6
- }
7
- export interface PagedCollectionEntity {
8
- data: GenericData;
9
- priority?: number;
10
- catalogCode: string;
11
- categoryCode: string;
12
- parentFamily: ParentFamily;
13
- designers?: GenericData[] | null;
14
- relatedProducts?: string[] | null;
15
- description1_en?: string;
16
- description1_en_us?: string;
17
- description1_it?: string;
18
- description1_es?: string;
19
- description1_de?: string;
20
- description1_fr?: string;
21
- description1_sv?: string;
22
- description1_no?: string;
23
- description1_da?: string;
24
- description1_ru?: string;
25
- destinations?: string[];
26
- }
27
- export interface GenericData {
28
- code: string;
29
- value_en: string;
30
- value_en_US?: string;
31
- value_it: string;
32
- value_es: string;
33
- value_de: string;
34
- value_fr: string;
35
- value_sv: string;
36
- value_no: string;
37
- value_da: string;
38
- value_ru: string;
39
- othersData: OthersData;
40
- }
41
- export interface OthersData {}
42
- export interface ParentFamily {
43
- data: GenericData;
44
- designers?: GenericData[] | null;
45
- }
@@ -1,36 +0,0 @@
1
- export interface CollectionSubModels {
2
- totalCount: number;
3
- pageSize: number;
4
- pageOffset: number;
5
- pagedCollection?: PagedCollectionEntity[] | null;
6
- }
7
- export interface PagedCollectionEntity {
8
- relatedProducts?: string[] | null;
9
- data: Data;
10
- priority: number;
11
- subFamilyCode: string;
12
- productLineCode: string;
13
- parentModel: ParentModel;
14
- code: string;
15
- othersData: OthersData;
16
- destinations?: string[];
17
- }
18
- export interface Data {
19
- code: string;
20
- value_en: string;
21
- value_en_US: string;
22
- value_it: string;
23
- value_es: string;
24
- value_de: string;
25
- value_fr: string;
26
- value_sv: string;
27
- value_no: string;
28
- value_da: string;
29
- value_ru: string;
30
- othersData: OthersData;
31
- }
32
- export interface OthersData {}
33
- export interface ParentModel {
34
- code: string;
35
- othersData: OthersData;
36
- }
@@ -1,34 +0,0 @@
1
- export interface DProductSubLine {
2
- code: string;
3
- image?: null;
4
- imageAlternative?: null;
5
- value_en: string;
6
- value_en_US: string;
7
- value_it: string;
8
- value_es: string;
9
- value_de: string;
10
- value_fr: string;
11
- value_sv: string;
12
- value_no: string;
13
- value_da: string;
14
- value_ru: string;
15
- othersData: OthersData;
16
- }
17
- export interface OthersData {
18
- productLine: ProductLine;
19
- }
20
- export interface ProductLine {
21
- code: string;
22
- image?: null;
23
- imageAlternative?: null;
24
- value_en: string;
25
- value_it: string;
26
- value_es: string;
27
- value_de: string;
28
- value_fr: string;
29
- value_sv: string;
30
- value_no: string;
31
- value_da: string;
32
- value_ru: string;
33
- value_en_US?: null;
34
- }
@@ -1,31 +0,0 @@
1
- export interface FamilyDetails {
2
- data: Data;
3
- priority?: number;
4
- description1_en?: string;
5
- description1_en_us?: string;
6
- description1_it?: string;
7
- description1_es?: string;
8
- description1_de?: string;
9
- description1_fr?: string;
10
- description1_sv?: string;
11
- description1_no?: string;
12
- description1_da?: string;
13
- description1_ru?: string;
14
- designers?: Data[] | null;
15
- destinations?: string[];
16
- }
17
- export interface Data {
18
- code: string;
19
- value_en: string;
20
- value_en_US: string;
21
- value_it: string;
22
- value_es: string;
23
- value_de: string;
24
- value_fr: string;
25
- value_sv: string;
26
- value_no: string;
27
- value_da: string;
28
- value_ru: string;
29
- othersData: OthersData;
30
- }
31
- export interface OthersData {}