@commercetools-frontend-extensions/operations 0.0.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.
Files changed (158) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +169 -0
  3. package/babel.config.js +6 -0
  4. package/dist/commercetools-frontend-extensions-operations.cjs.d.ts +2 -0
  5. package/dist/commercetools-frontend-extensions-operations.cjs.dev.js +2469 -0
  6. package/dist/commercetools-frontend-extensions-operations.cjs.js +7 -0
  7. package/dist/commercetools-frontend-extensions-operations.cjs.prod.js +2461 -0
  8. package/dist/commercetools-frontend-extensions-operations.esm.js +2316 -0
  9. package/dist/declarations/src/@api/export-operations.d.ts +5 -0
  10. package/dist/declarations/src/@api/fetcher.d.ts +17 -0
  11. package/dist/declarations/src/@api/file-upload.d.ts +3 -0
  12. package/dist/declarations/src/@api/import-containers.d.ts +35 -0
  13. package/dist/declarations/src/@api/import-operations.d.ts +6 -0
  14. package/dist/declarations/src/@api/index.d.ts +8 -0
  15. package/dist/declarations/src/@api/process-file.d.ts +3 -0
  16. package/dist/declarations/src/@api/test-fixtures.d.ts +272 -0
  17. package/dist/declarations/src/@api/urls.d.ts +44 -0
  18. package/dist/declarations/src/@components/file-drop-area/active-drag-drop-area.d.ts +10 -0
  19. package/dist/declarations/src/@components/file-drop-area/disabled-drop-area.d.ts +5 -0
  20. package/dist/declarations/src/@components/file-drop-area/drop-area-wrapper.d.ts +11 -0
  21. package/dist/declarations/src/@components/file-drop-area/enabled-drop-area.d.ts +7 -0
  22. package/dist/declarations/src/@components/file-drop-area/file-drop-area.d.ts +14 -0
  23. package/dist/declarations/src/@components/file-drop-area/file-dropped-area.d.ts +6 -0
  24. package/dist/declarations/src/@components/file-drop-area/index.d.ts +7 -0
  25. package/dist/declarations/src/@components/file-drop-area/styles.d.ts +9 -0
  26. package/dist/declarations/src/@components/icons/file-icon.d.ts +2 -0
  27. package/dist/declarations/src/@components/icons/index.d.ts +2 -0
  28. package/dist/declarations/src/@components/icons/lock-icon.d.ts +2 -0
  29. package/dist/declarations/src/@components/index.d.ts +6 -0
  30. package/dist/declarations/src/@components/info-box/index.d.ts +1 -0
  31. package/dist/declarations/src/@components/info-box/info-box.d.ts +7 -0
  32. package/dist/declarations/src/@components/upload-separator/index.d.ts +1 -0
  33. package/dist/declarations/src/@components/upload-separator/upload-separator.d.ts +12 -0
  34. package/dist/declarations/src/@components/upload-settings/index.d.ts +1 -0
  35. package/dist/declarations/src/@components/upload-settings/upload-settings.d.ts +11 -0
  36. package/dist/declarations/src/@components/uploading-modal/index.d.ts +1 -0
  37. package/dist/declarations/src/@components/uploading-modal/uploading-modal.d.ts +12 -0
  38. package/dist/declarations/src/@constants/delimiters.d.ts +8 -0
  39. package/dist/declarations/src/@constants/import-tags.d.ts +7 -0
  40. package/dist/declarations/src/@constants/index.d.ts +4 -0
  41. package/dist/declarations/src/@constants/resource-links.d.ts +10 -0
  42. package/dist/declarations/src/@constants/upload-limits.d.ts +10 -0
  43. package/dist/declarations/src/@errors/http-error.d.ts +6 -0
  44. package/dist/declarations/src/@errors/index.d.ts +8 -0
  45. package/dist/declarations/src/@errors/invalid-response-error.d.ts +3 -0
  46. package/dist/declarations/src/@errors/no-resources-to-export-error.d.ts +3 -0
  47. package/dist/declarations/src/@errors/project-key-not-available-error.d.ts +3 -0
  48. package/dist/declarations/src/@errors/query-predicate-error.d.ts +4 -0
  49. package/dist/declarations/src/@errors/unexpected-column-error.d.ts +3 -0
  50. package/dist/declarations/src/@errors/unexpected-operation-state-error.d.ts +4 -0
  51. package/dist/declarations/src/@errors/unexpected-resource-type-error.d.ts +3 -0
  52. package/dist/declarations/src/@hooks/index.d.ts +5 -0
  53. package/dist/declarations/src/@hooks/use-fetch-export-operations.d.ts +15 -0
  54. package/dist/declarations/src/@hooks/use-fetch-import-container-details.d.ts +15 -0
  55. package/dist/declarations/src/@hooks/use-fetch-import-operations.d.ts +16 -0
  56. package/dist/declarations/src/@hooks/use-fetch-import-summaries.d.ts +20 -0
  57. package/dist/declarations/src/@hooks/use-import-container-upload.d.ts +18 -0
  58. package/dist/declarations/src/@types/api.d.ts +13 -0
  59. package/dist/declarations/src/@types/basic-error-data-type.d.ts +5 -0
  60. package/dist/declarations/src/@types/export-operation.d.ts +95 -0
  61. package/dist/declarations/src/@types/file-upload.d.ts +63 -0
  62. package/dist/declarations/src/@types/import-container.d.ts +53 -0
  63. package/dist/declarations/src/@types/import-operation.d.ts +13 -0
  64. package/dist/declarations/src/@types/import-states.d.ts +9 -0
  65. package/dist/declarations/src/@types/import-summary.d.ts +15 -0
  66. package/dist/declarations/src/@types/index.d.ts +9 -0
  67. package/dist/declarations/src/@types/shared.d.ts +7 -0
  68. package/dist/declarations/src/@utils/error-mapping.d.ts +19 -0
  69. package/dist/declarations/src/@utils/file-upload.d.ts +46 -0
  70. package/dist/declarations/src/@utils/form.d.ts +1 -0
  71. package/dist/declarations/src/@utils/format.d.ts +5 -0
  72. package/dist/declarations/src/@utils/import-container.d.ts +8 -0
  73. package/dist/declarations/src/@utils/index.d.ts +6 -0
  74. package/dist/declarations/src/@utils/url.d.ts +6 -0
  75. package/dist/declarations/src/index.d.ts +26 -0
  76. package/index.js +1 -0
  77. package/jest.test.config.js +11 -0
  78. package/package.json +63 -0
  79. package/src/@api/export-operations.ts +26 -0
  80. package/src/@api/fetcher.spec.ts +51 -0
  81. package/src/@api/fetcher.ts +127 -0
  82. package/src/@api/file-upload.spec.ts +83 -0
  83. package/src/@api/file-upload.ts +46 -0
  84. package/src/@api/import-containers.ts +256 -0
  85. package/src/@api/import-operations.ts +33 -0
  86. package/src/@api/index.ts +8 -0
  87. package/src/@api/process-file.spec.ts +74 -0
  88. package/src/@api/process-file.ts +53 -0
  89. package/src/@api/test-fixtures.ts +772 -0
  90. package/src/@api/urls.ts +118 -0
  91. package/src/@components/file-drop-area/active-drag-drop-area.tsx +33 -0
  92. package/src/@components/file-drop-area/disabled-drop-area.tsx +17 -0
  93. package/src/@components/file-drop-area/drop-area-wrapper.tsx +38 -0
  94. package/src/@components/file-drop-area/enabled-drop-area.tsx +27 -0
  95. package/src/@components/file-drop-area/file-drop-area.tsx +74 -0
  96. package/src/@components/file-drop-area/file-dropped-area.tsx +29 -0
  97. package/src/@components/file-drop-area/index.ts +7 -0
  98. package/src/@components/file-drop-area/styles.ts +67 -0
  99. package/src/@components/icons/file-icon.tsx +30 -0
  100. package/src/@components/icons/index.ts +2 -0
  101. package/src/@components/icons/lock-icon.tsx +34 -0
  102. package/src/@components/index.ts +6 -0
  103. package/src/@components/info-box/index.ts +1 -0
  104. package/src/@components/info-box/info-box.tsx +23 -0
  105. package/src/@components/upload-separator/index.ts +1 -0
  106. package/src/@components/upload-separator/upload-separator.tsx +61 -0
  107. package/src/@components/upload-settings/index.ts +1 -0
  108. package/src/@components/upload-settings/upload-settings.tsx +36 -0
  109. package/src/@components/uploading-modal/index.ts +1 -0
  110. package/src/@components/uploading-modal/uploading-modal.tsx +64 -0
  111. package/src/@constants/delimiters.ts +14 -0
  112. package/src/@constants/import-tags.ts +9 -0
  113. package/src/@constants/index.ts +4 -0
  114. package/src/@constants/resource-links.ts +61 -0
  115. package/src/@constants/upload-limits.ts +11 -0
  116. package/src/@errors/http-error.ts +17 -0
  117. package/src/@errors/index.ts +8 -0
  118. package/src/@errors/invalid-response-error.ts +6 -0
  119. package/src/@errors/no-resources-to-export-error.ts +6 -0
  120. package/src/@errors/project-key-not-available-error.ts +6 -0
  121. package/src/@errors/query-predicate-error.ts +10 -0
  122. package/src/@errors/unexpected-column-error.ts +6 -0
  123. package/src/@errors/unexpected-operation-state-error.ts +8 -0
  124. package/src/@errors/unexpected-resource-type-error.ts +6 -0
  125. package/src/@hooks/index.ts +5 -0
  126. package/src/@hooks/messages.ts +11 -0
  127. package/src/@hooks/use-fetch-export-operations.ts +34 -0
  128. package/src/@hooks/use-fetch-import-container-details.ts +31 -0
  129. package/src/@hooks/use-fetch-import-operations.ts +42 -0
  130. package/src/@hooks/use-fetch-import-summaries.ts +47 -0
  131. package/src/@hooks/use-fetch.spec.ts +76 -0
  132. package/src/@hooks/use-fetch.ts +80 -0
  133. package/src/@hooks/use-import-container-upload.spec.ts +294 -0
  134. package/src/@hooks/use-import-container-upload.ts +126 -0
  135. package/src/@types/api.ts +14 -0
  136. package/src/@types/basic-error-data-type.ts +5 -0
  137. package/src/@types/export-operation.ts +144 -0
  138. package/src/@types/file-upload.ts +81 -0
  139. package/src/@types/import-container.ts +104 -0
  140. package/src/@types/import-operation.ts +31 -0
  141. package/src/@types/import-states.ts +9 -0
  142. package/src/@types/import-summary.ts +22 -0
  143. package/src/@types/index.ts +9 -0
  144. package/src/@types/shared.ts +52 -0
  145. package/src/@utils/error-mapping.spec.ts +126 -0
  146. package/src/@utils/error-mapping.ts +39 -0
  147. package/src/@utils/file-upload.spec.ts +151 -0
  148. package/src/@utils/file-upload.ts +150 -0
  149. package/src/@utils/form.ts +20 -0
  150. package/src/@utils/format.spec.ts +62 -0
  151. package/src/@utils/format.ts +53 -0
  152. package/src/@utils/import-container.spec.ts +26 -0
  153. package/src/@utils/import-container.ts +34 -0
  154. package/src/@utils/index.ts +6 -0
  155. package/src/@utils/url.spec.ts +75 -0
  156. package/src/@utils/url.ts +18 -0
  157. package/src/index.ts +27 -0
  158. package/tsconfig.json +9 -0
@@ -0,0 +1,772 @@
1
+ import {
2
+ type ProcessFileResponse,
3
+ type ExportOperation,
4
+ ImportStates,
5
+ type ImportSummary,
6
+ FileUploadResponse,
7
+ } from '../@types'
8
+ import { TAG_KEY_SOURCE_FILE_UPLOAD } from '../@constants'
9
+
10
+ export const automatedImportContainerKey = 'automated-container-key'
11
+ export const fileUploadImportContainerKey =
12
+ 'eyJ0aW1lc3RhbXAiOiAxNzA1MDc0MzIxODY4LCAiZmlsZU5hbWUiOiAiZmlsZS11cGxvYWQtY29udGFpbmVyLWtleS5jc3YifQ'
13
+
14
+ export const manualImports = [
15
+ {
16
+ key: 'eyJ0aW1lc3RhbXAiOjE2MjE0MTM0NzU4MzcsImZpbGVOYW1lIjoiX3ZhbGlkLXByb2R1Y3QuY3N2IiwiaW1wb3J0VHlwZSI6Im1hbnVhbCJ9',
17
+ version: 0,
18
+ resourceType: 'product',
19
+ createdAt: '2021-05-19T08:37:56.021Z',
20
+ lastModifiedAt: '2021-05-19T08:37:56.021Z',
21
+ tags: [TAG_KEY_SOURCE_FILE_UPLOAD],
22
+ },
23
+ {
24
+ key: 'eyJ0aW1lc3RhbXAiOjE2MjE0MTM3Mjc0ODksImZpbGVOYW1lIjoiX3ZhbGlkLWNhdGVnb3J5LmNzdiIsImltcG9ydFR5cGUiOiJtYW51YWwifQ',
25
+ version: 0,
26
+ resourceType: 'category',
27
+ createdAt: '2021-05-19T08:42:07.720Z',
28
+ lastModifiedAt: '2021-05-19T08:42:07.720Z',
29
+ tags: [TAG_KEY_SOURCE_FILE_UPLOAD],
30
+ },
31
+ ]
32
+ export const automatedImports = [
33
+ {
34
+ key: 'product-import-container',
35
+ version: 0,
36
+ resourceType: 'product',
37
+ createdAt: '2021-04-06T06:41:33.622Z',
38
+ lastModifiedAt: '2021-04-06T06:41:33.622Z',
39
+ tags: [],
40
+ },
41
+ {
42
+ key: 'product-import-container-1',
43
+ version: 0,
44
+ resourceType: 'product',
45
+ createdAt: '2021-05-26T14:46:12.673Z',
46
+ lastModifiedAt: '2021-05-26T14:46:12.673Z',
47
+ tags: [],
48
+ },
49
+ ]
50
+
51
+ export const importContainers = {
52
+ count: 4,
53
+ total: 100,
54
+ results: manualImports.concat(automatedImports),
55
+ }
56
+
57
+ export const importsSummaries = {
58
+ eyJ0aW1lc3RhbXAiOjE2MjE0MTM0NzU4MzcsImZpbGVOYW1lIjoiX3ZhbGlkLXByb2R1Y3QuY3N2IiwiaW1wb3J0VHlwZSI6Im1hbnVhbCJ9:
59
+ {
60
+ states: {
61
+ validationFailed: 0,
62
+ unresolved: 3,
63
+ waitForMasterVariant: 0,
64
+ imported: 0,
65
+ rejected: 0,
66
+ },
67
+ total: 3,
68
+ },
69
+ eyJ0aW1lc3RhbXAiOjE2MjE0MTM3Mjc0ODksImZpbGVOYW1lIjoiX3ZhbGlkLWNhdGVnb3J5LmNzdiIsImltcG9ydFR5cGUiOiJtYW51YWwifQ:
70
+ {
71
+ states: {
72
+ validationFailed: 0,
73
+ unresolved: 0,
74
+ waitForMasterVariant: 0,
75
+ imported: 0,
76
+ rejected: 0,
77
+ },
78
+ total: 0,
79
+ },
80
+ 'product-import-container': {
81
+ states: {
82
+ validationFailed: 0,
83
+ unresolved: 0,
84
+ waitForMasterVariant: 0,
85
+ imported: 0,
86
+ rejected: 0,
87
+ },
88
+ total: 0,
89
+ },
90
+ 'product-import-container-1': {
91
+ states: {
92
+ validationFailed: 0,
93
+ unresolved: 0,
94
+ waitForMasterVariant: 0,
95
+ imported: 0,
96
+ rejected: 0,
97
+ },
98
+ total: 0,
99
+ },
100
+ }
101
+
102
+ export const importStatesMap: Record<ImportStates, Array<ImportSummary>> = {
103
+ [ImportStates.Processing]: [
104
+ {
105
+ states: {
106
+ unresolved: 0,
107
+ imported: 0,
108
+ rejected: 0,
109
+ validationFailed: 0,
110
+ waitForMasterVariant: 0,
111
+ processing: 10,
112
+ canceled: 0,
113
+ deleted: 0,
114
+ },
115
+ total: 10,
116
+ },
117
+ ],
118
+ [ImportStates.WaitForUnresolvedReferences]: [
119
+ {
120
+ states: {
121
+ unresolved: 0,
122
+ imported: 0,
123
+ rejected: 0,
124
+ validationFailed: 0,
125
+ waitForMasterVariant: 10,
126
+ processing: 0,
127
+ canceled: 0,
128
+ deleted: 0,
129
+ },
130
+ total: 10,
131
+ },
132
+ {
133
+ states: {
134
+ unresolved: 10,
135
+ imported: 0,
136
+ rejected: 0,
137
+ validationFailed: 0,
138
+ waitForMasterVariant: 0,
139
+ processing: 0,
140
+ canceled: 0,
141
+ deleted: 0,
142
+ },
143
+ total: 10,
144
+ },
145
+ {
146
+ states: {
147
+ unresolved: 10,
148
+ imported: 10,
149
+ rejected: 10,
150
+ validationFailed: 10,
151
+ waitForMasterVariant: 0,
152
+ processing: 0,
153
+ canceled: 0,
154
+ deleted: 0,
155
+ },
156
+ total: 40,
157
+ },
158
+ ],
159
+ [ImportStates.Failed]: [
160
+ {
161
+ states: {
162
+ unresolved: 0,
163
+ imported: 0,
164
+ rejected: 4,
165
+ validationFailed: 4,
166
+ waitForMasterVariant: 0,
167
+ processing: 0,
168
+ canceled: 0,
169
+ deleted: 0,
170
+ },
171
+ total: 8,
172
+ },
173
+ {
174
+ states: {
175
+ unresolved: 0,
176
+ imported: 0,
177
+ rejected: 10,
178
+ validationFailed: 0,
179
+ waitForMasterVariant: 0,
180
+ processing: 0,
181
+ canceled: 0,
182
+ deleted: 0,
183
+ },
184
+ total: 10,
185
+ },
186
+ {
187
+ states: {
188
+ unresolved: 0,
189
+ imported: 0,
190
+ rejected: 0,
191
+ validationFailed: 10,
192
+ waitForMasterVariant: 0,
193
+ processing: 0,
194
+ canceled: 0,
195
+ deleted: 0,
196
+ },
197
+ total: 10,
198
+ },
199
+ ],
200
+ [ImportStates.PartiallyCompleted]: [
201
+ {
202
+ states: {
203
+ unresolved: 0,
204
+ imported: 2,
205
+ rejected: 1,
206
+ validationFailed: 0,
207
+ waitForMasterVariant: 0,
208
+ processing: 0,
209
+ canceled: 0,
210
+ deleted: 0,
211
+ },
212
+ total: 3,
213
+ },
214
+ {
215
+ states: {
216
+ unresolved: 0,
217
+ imported: 10,
218
+ rejected: 10,
219
+ validationFailed: 10,
220
+ waitForMasterVariant: 0,
221
+ processing: 0,
222
+ canceled: 0,
223
+ deleted: 0,
224
+ },
225
+ total: 30,
226
+ },
227
+ ],
228
+ [ImportStates.SuccessfullyCompleted]: [
229
+ {
230
+ states: {
231
+ unresolved: 0,
232
+ imported: 20,
233
+ rejected: 0,
234
+ validationFailed: 0,
235
+ waitForMasterVariant: 0,
236
+ processing: 0,
237
+ canceled: 0,
238
+ deleted: 0,
239
+ },
240
+ total: 20,
241
+ },
242
+ {
243
+ states: {
244
+ unresolved: 0,
245
+ imported: 10,
246
+ rejected: 0,
247
+ validationFailed: 0,
248
+ waitForMasterVariant: 0,
249
+ processing: 0,
250
+ canceled: 0,
251
+ deleted: 0,
252
+ },
253
+ total: 10,
254
+ },
255
+ ],
256
+ [ImportStates.NoRunningImports]: [
257
+ {
258
+ states: {
259
+ unresolved: 0,
260
+ imported: 0,
261
+ rejected: 0,
262
+ validationFailed: 0,
263
+ waitForMasterVariant: 0,
264
+ processing: 0,
265
+ canceled: 0,
266
+ deleted: 0,
267
+ },
268
+ total: 0,
269
+ },
270
+ ],
271
+ [ImportStates.Canceled]: [
272
+ {
273
+ states: {
274
+ unresolved: 0,
275
+ imported: 0,
276
+ rejected: 0,
277
+ validationFailed: 0,
278
+ waitForMasterVariant: 0,
279
+ processing: 0,
280
+ canceled: 10,
281
+ deleted: 0,
282
+ },
283
+ total: 10,
284
+ },
285
+ ],
286
+ }
287
+ export const validFileUploadResponse: FileUploadResponse = {
288
+ results: [],
289
+ invalid: 0,
290
+ valid: 2,
291
+ fileName: 'categories.csv',
292
+ itemsCount: 2,
293
+ rowsCount: 2,
294
+ columnsCount: 11,
295
+ columns: [
296
+ 'id',
297
+ 'lastModifiedAt',
298
+ 'key',
299
+ 'name.en',
300
+ 'name.de',
301
+ 'slug.en',
302
+ 'slug.de',
303
+ 'orderHint',
304
+ 'externalId',
305
+ 'description.en',
306
+ 'description.de',
307
+ ],
308
+ ignoredColumns: ['id', 'lastModifiedAt'],
309
+ }
310
+
311
+ export const invalidFileUploadResponse: FileUploadResponse = {
312
+ invalid: 2,
313
+ valid: 0,
314
+ fileName: 'categories.csv',
315
+ itemsCount: 2,
316
+ rowsCount: 2,
317
+ columnsCount: 11,
318
+ columns: [
319
+ 'key',
320
+ 'externalId2',
321
+ 'orderHint',
322
+ 'name.de2',
323
+ 'description.de2',
324
+ 'slug.RU',
325
+ 'name.enn',
326
+ 'description.en',
327
+ 'slug.RU',
328
+ 'test1',
329
+ 'test2',
330
+ ],
331
+ ignoredColumns: [],
332
+ results: [
333
+ {
334
+ row: 1,
335
+ errors: [
336
+ {
337
+ code: 'InvalidField',
338
+ message: '"externalId2" is not allowed',
339
+ field: 'externalId2',
340
+ },
341
+ {
342
+ code: 'InvalidField',
343
+ message: '"name.de2" is not allowed',
344
+ field: 'name.de2',
345
+ },
346
+ {
347
+ code: 'InvalidField',
348
+ message: '"name.enn" is not allowed',
349
+ field: 'name.enn',
350
+ },
351
+ {
352
+ code: 'InvalidField',
353
+ message: '"slug.RU" is not allowed',
354
+ field: 'slug.RU',
355
+ },
356
+ {
357
+ code: 'InvalidField',
358
+ message: '"test1" is not allowed',
359
+ field: 'test1',
360
+ },
361
+ {
362
+ code: 'InvalidField',
363
+ message: '"test2" is not allowed',
364
+ field: 'test2',
365
+ },
366
+ ],
367
+ },
368
+ ],
369
+ }
370
+
371
+ export const allAutomatedImportOperations = [
372
+ {
373
+ version: 1,
374
+ importContainerKey: automatedImportContainerKey,
375
+ resourceKey: 'sample-3',
376
+ id: 'fcbdb268-6bf0-4161-82ae-5bcd2c0ca1c3',
377
+ state: 'ValidationFailed',
378
+ errors: [
379
+ {
380
+ code: 'InvalidOperation',
381
+ message:
382
+ "The attributes contain definitions with duplicate names: '[product-ref-attribute]'.",
383
+ },
384
+ ],
385
+ createdAt: '2021-08-03T10:13:52.867Z',
386
+ lastModifiedAt: '2021-08-03T10:13:53.031Z',
387
+ expiresAt: '2021-08-05T10:13:52.867Z',
388
+ },
389
+ {
390
+ version: 1,
391
+ importContainerKey: automatedImportContainerKey,
392
+ resourceKey: 'sample-2',
393
+ id: 'c350f282-af46-44bd-b7fb-7767fe060b5d',
394
+ state: 'imported',
395
+ resourceVersion: 1,
396
+ errors: [],
397
+ createdAt: '2021-08-03T10:13:10.544Z',
398
+ lastModifiedAt: '2021-08-03T10:13:11.056Z',
399
+ expiresAt: '2021-08-05T10:13:10.544Z',
400
+ },
401
+ {
402
+ version: 1,
403
+ importContainerKey: automatedImportContainerKey,
404
+ resourceKey: 'sample',
405
+ id: '50e01254-842a-4a94-9dc5-bd5d907a96f3',
406
+ state: 'imported',
407
+ resourceVersion: 1,
408
+ errors: [],
409
+ createdAt: '2021-08-03T10:12:16.293Z',
410
+ lastModifiedAt: '2021-08-03T10:12:16.352Z',
411
+ expiresAt: '2021-08-05T10:12:16.293Z',
412
+ },
413
+ {
414
+ version: 1,
415
+ importContainerKey: automatedImportContainerKey,
416
+ resourceKey: 'sample',
417
+ id: '5679b11b-e6b2-44e3-bb32-feec7ee4295f',
418
+ state: 'imported',
419
+ resourceVersion: 1,
420
+ errors: [],
421
+ createdAt: '2021-08-03T10:12:13.955Z',
422
+ lastModifiedAt: '2021-08-03T10:12:14.019Z',
423
+ expiresAt: '2021-08-05T10:12:13.955Z',
424
+ },
425
+ {
426
+ version: 1,
427
+ importContainerKey: automatedImportContainerKey,
428
+ resourceKey: 'sample',
429
+ id: '8ed41629-9e00-4779-abd7-ca054102690e',
430
+ state: 'imported',
431
+ resourceVersion: 1,
432
+ errors: [],
433
+ createdAt: '2021-08-03T10:12:07.214Z',
434
+ lastModifiedAt: '2021-08-03T10:12:07.364Z',
435
+ expiresAt: '2021-08-05T10:12:07.214Z',
436
+ },
437
+ {
438
+ version: 3,
439
+ importContainerKey: automatedImportContainerKey,
440
+ resourceKey: 'product-draft-key',
441
+ id: '3f4d0fb6-95c0-444b-8e25-dbe1d6f25a54',
442
+ state: 'imported',
443
+ resourceVersion: 1,
444
+ errors: [],
445
+ createdAt: '2021-08-02T12:25:17.465Z',
446
+ lastModifiedAt: '2021-08-02T12:25:34.673Z',
447
+ expiresAt: '2021-08-04T12:25:17.465Z',
448
+ },
449
+ {
450
+ version: 3,
451
+ importContainerKey: automatedImportContainerKey,
452
+ resourceKey: 'product-draft-key',
453
+ id: 'b3e4e438-3afd-46ed-929c-761286b839b4',
454
+ state: 'imported',
455
+ resourceVersion: 1,
456
+ errors: [],
457
+ createdAt: '2021-08-02T12:25:20.019Z',
458
+ lastModifiedAt: '2021-08-02T12:25:34.657Z',
459
+ expiresAt: '2021-08-04T12:25:20.019Z',
460
+ },
461
+ {
462
+ version: 3,
463
+ importContainerKey: automatedImportContainerKey,
464
+ resourceKey: 'product-draft-key',
465
+ id: '8991ee30-2ad0-4e95-b784-e26e7672b49d',
466
+ state: 'imported',
467
+ resourceVersion: 1,
468
+ errors: [],
469
+ createdAt: '2021-08-02T12:25:20.454Z',
470
+ lastModifiedAt: '2021-08-02T12:25:34.629Z',
471
+ expiresAt: '2021-08-04T12:25:20.454Z',
472
+ },
473
+ {
474
+ version: 3,
475
+ importContainerKey: automatedImportContainerKey,
476
+ resourceKey: 'product-draft-key',
477
+ id: 'd0a97b14-2927-414e-ae66-d20a27048418',
478
+ state: 'imported',
479
+ resourceVersion: 1,
480
+ errors: [],
481
+ createdAt: '2021-08-02T12:25:21.108Z',
482
+ lastModifiedAt: '2021-08-02T12:25:34.570Z',
483
+ expiresAt: '2021-08-04T12:25:21.108Z',
484
+ },
485
+ {
486
+ version: 1,
487
+ importContainerKey: automatedImportContainerKey,
488
+ resourceKey: 'sample',
489
+ id: '702fbe9e-81c2-4daf-abd9-4c3f10ed9431',
490
+ state: 'imported',
491
+ resourceVersion: 1,
492
+ errors: [],
493
+ createdAt: '2021-08-02T12:25:27.585Z',
494
+ lastModifiedAt: '2021-08-02T12:25:32.802Z',
495
+ expiresAt: '2021-08-04T12:25:27.585Z',
496
+ },
497
+ ]
498
+
499
+ export const successfulFileUploadImportOperations = [
500
+ {
501
+ version: 1,
502
+ importContainerKey: fileUploadImportContainerKey,
503
+ resourceKey: 'sample-2',
504
+ id: 'c350f282-af46-44bd-b7fb-7767fe060b5d',
505
+ state: 'imported',
506
+ resourceVersion: 1,
507
+ errors: [],
508
+ createdAt: '2021-08-03T10:13:10.544Z',
509
+ lastModifiedAt: '2021-08-03T10:13:11.056Z',
510
+ expiresAt: '2021-08-05T10:13:10.544Z',
511
+ tags: ['rowStartNumber:1'],
512
+ },
513
+ ]
514
+
515
+ export const allFileUploadImportOperations = [
516
+ {
517
+ version: 1,
518
+ importContainerKey: fileUploadImportContainerKey,
519
+ resourceKey: 'sample-3',
520
+ id: 'fcbdb268-6bf0-4161-82ae-5bcd2c0ca1c3',
521
+ state: 'ValidationFailed',
522
+ errors: [
523
+ {
524
+ code: 'InvalidOperation',
525
+ message:
526
+ "The attributes contain definitions with duplicate names: '[product-ref-attribute]'.",
527
+ },
528
+ ],
529
+ createdAt: '2021-08-03T10:13:52.867Z',
530
+ lastModifiedAt: '2021-08-03T10:13:53.031Z',
531
+ expiresAt: '2021-08-05T10:13:52.867Z',
532
+ tags: ['rowStartNumber:1'],
533
+ },
534
+ {
535
+ version: 1,
536
+ importContainerKey: fileUploadImportContainerKey,
537
+ resourceKey: 'sample-2',
538
+ id: 'c350f282-af46-44bd-b7fb-7767fe060b5d',
539
+ state: 'imported',
540
+ resourceVersion: 1,
541
+ errors: [],
542
+ createdAt: '2021-08-03T10:13:10.544Z',
543
+ lastModifiedAt: '2021-08-03T10:13:11.056Z',
544
+ expiresAt: '2021-08-05T10:13:10.544Z',
545
+ tags: ['rowStartNumber:2'],
546
+ },
547
+ {
548
+ version: 1,
549
+ importContainerKey: fileUploadImportContainerKey,
550
+ resourceKey: 'sample',
551
+ id: '50e01254-842a-4a94-9dc5-bd5d907a96f3',
552
+ state: 'imported',
553
+ resourceVersion: 1,
554
+ errors: [],
555
+ createdAt: '2021-08-03T10:12:16.293Z',
556
+ lastModifiedAt: '2021-08-03T10:12:16.352Z',
557
+ expiresAt: '2021-08-05T10:12:16.293Z',
558
+ tags: ['rowStartNumber:3'],
559
+ },
560
+ {
561
+ version: 1,
562
+ importContainerKey: fileUploadImportContainerKey,
563
+ resourceKey: 'sample',
564
+ id: '5679b11b-e6b2-44e3-bb32-feec7ee4295f',
565
+ state: 'imported',
566
+ resourceVersion: 1,
567
+ errors: [],
568
+ createdAt: '2021-08-03T10:12:13.955Z',
569
+ lastModifiedAt: '2021-08-03T10:12:14.019Z',
570
+ expiresAt: '2021-08-05T10:12:13.955Z',
571
+ tags: ['rowStartNumber:4'],
572
+ },
573
+ {
574
+ version: 1,
575
+ importContainerKey: fileUploadImportContainerKey,
576
+ resourceKey: 'sample',
577
+ id: '8ed41629-9e00-4779-abd7-ca054102690e',
578
+ state: 'imported',
579
+ resourceVersion: 1,
580
+ errors: [],
581
+ createdAt: '2021-08-03T10:12:07.214Z',
582
+ lastModifiedAt: '2021-08-03T10:12:07.364Z',
583
+ expiresAt: '2021-08-05T10:12:07.214Z',
584
+ tags: ['rowStartNumber:5'],
585
+ },
586
+ {
587
+ version: 3,
588
+ importContainerKey: fileUploadImportContainerKey,
589
+ resourceKey: 'product-draft-key',
590
+ id: '3f4d0fb6-95c0-444b-8e25-dbe1d6f25a54',
591
+ state: 'imported',
592
+ resourceVersion: 1,
593
+ errors: [],
594
+ createdAt: '2021-08-02T12:25:17.465Z',
595
+ lastModifiedAt: '2021-08-02T12:25:34.673Z',
596
+ expiresAt: '2021-08-04T12:25:17.465Z',
597
+ tags: ['rowStartNumber:6'],
598
+ },
599
+ {
600
+ version: 3,
601
+ importContainerKey: fileUploadImportContainerKey,
602
+ resourceKey: 'product-draft-key',
603
+ id: 'b3e4e438-3afd-46ed-929c-761286b839b4',
604
+ state: 'imported',
605
+ resourceVersion: 1,
606
+ errors: [],
607
+ createdAt: '2021-08-02T12:25:20.019Z',
608
+ lastModifiedAt: '2021-08-02T12:25:34.657Z',
609
+ expiresAt: '2021-08-04T12:25:20.019Z',
610
+ tags: ['rowStartNumber:7'],
611
+ },
612
+ {
613
+ version: 3,
614
+ importContainerKey: fileUploadImportContainerKey,
615
+ resourceKey: 'product-draft-key',
616
+ id: '8991ee30-2ad0-4e95-b784-e26e7672b49d',
617
+ state: 'imported',
618
+ resourceVersion: 1,
619
+ errors: [],
620
+ createdAt: '2021-08-02T12:25:20.454Z',
621
+ lastModifiedAt: '2021-08-02T12:25:34.629Z',
622
+ expiresAt: '2021-08-04T12:25:20.454Z',
623
+ tags: ['rowStartNumber:8'],
624
+ },
625
+ {
626
+ version: 3,
627
+ importContainerKey: fileUploadImportContainerKey,
628
+ resourceKey: 'product-draft-key',
629
+ id: 'd0a97b14-2927-414e-ae66-d20a27048418',
630
+ state: 'imported',
631
+ resourceVersion: 1,
632
+ errors: [],
633
+ createdAt: '2021-08-02T12:25:21.108Z',
634
+ lastModifiedAt: '2021-08-02T12:25:34.570Z',
635
+ expiresAt: '2021-08-04T12:25:21.108Z',
636
+ tags: ['rowStartNumber:9'],
637
+ },
638
+ {
639
+ version: 1,
640
+ importContainerKey: fileUploadImportContainerKey,
641
+ resourceKey: 'sample',
642
+ id: '702fbe9e-81c2-4daf-abd9-4c3f10ed9431',
643
+ state: 'imported',
644
+ resourceVersion: 1,
645
+ errors: [],
646
+ createdAt: '2021-08-02T12:25:27.585Z',
647
+ lastModifiedAt: '2021-08-02T12:25:32.802Z',
648
+ expiresAt: '2021-08-04T12:25:27.585Z',
649
+ tags: ['rowStartNumber:10'],
650
+ },
651
+ ]
652
+
653
+ export const allFileUploadImportOperationsResponse = {
654
+ limit: 20,
655
+ offset: 0,
656
+ count: 10,
657
+ total: 10,
658
+ results: allFileUploadImportOperations,
659
+ }
660
+
661
+ export const allAutomatedImportOperationsResponse = {
662
+ limit: 20,
663
+ offset: 0,
664
+ count: 10,
665
+ total: 10,
666
+ results: allAutomatedImportOperations,
667
+ }
668
+
669
+ export const successfulAutomatedImportOperations = [
670
+ {
671
+ version: 1,
672
+ importContainerKey: automatedImportContainerKey,
673
+ resourceKey: 'sample-2',
674
+ id: 'c350f282-af46-44bd-b7fb-7767fe060b5d',
675
+ state: 'imported',
676
+ resourceVersion: 1,
677
+ errors: [],
678
+ createdAt: '2021-08-03T10:13:10.544Z',
679
+ lastModifiedAt: '2021-08-03T10:13:11.056Z',
680
+ expiresAt: '2021-08-05T10:13:10.544Z',
681
+ },
682
+ ]
683
+
684
+ export const successfulAutomatedImportOperationsResponse = {
685
+ limit: 1,
686
+ offset: 0,
687
+ count: 1,
688
+ total: 1,
689
+ results: successfulAutomatedImportOperations,
690
+ }
691
+
692
+ export const successfulFileUploadImportOperationsResponse = {
693
+ limit: 1,
694
+ offset: 0,
695
+ count: 1,
696
+ total: 1,
697
+ results: successfulFileUploadImportOperations,
698
+ }
699
+
700
+ export const fileUploadMissingKeysResponse = {
701
+ code: 'MissingCsvFieldIdentifier',
702
+ message: 'Importing a new field without an identifier is not allowed',
703
+ rowValue: {
704
+ uri: 'http://example.com/asset-source-without-key',
705
+ key: undefined,
706
+ },
707
+ metadata: {
708
+ row: 1,
709
+ },
710
+ }
711
+
712
+ export const validProcessFileResponse: ProcessFileResponse = {
713
+ message: 'acknowledged',
714
+ }
715
+
716
+ export const exportOperationsCompleted: ExportOperation[] = [
717
+ {
718
+ id: '10df6fe9252eeb1d54485795',
719
+ fileName: 'test-12345.json',
720
+ fileFormat: 'json',
721
+ resourceType: 'category',
722
+ createdAt: '2023-04-01T12:00:00.000Z',
723
+ state: 'completed',
724
+ query: 'query ExportCategories { categories { id } }',
725
+ completedPercentage: 100,
726
+ resourceCount: 100,
727
+ fields: ['id'],
728
+ locales: ['en'],
729
+ },
730
+ {
731
+ id: '10df6fe9252eeb1d54485796',
732
+ fileName: 'test-123456.csv',
733
+ fileFormat: 'csv',
734
+ resourceType: 'category',
735
+ createdAt: '2023-04-02T12:00:00.000Z',
736
+ state: 'completed',
737
+ query: 'query ExportCategories { categories { id } }',
738
+ completedPercentage: 100,
739
+ resourceCount: 100,
740
+ fields: ['id'],
741
+ locales: ['en'],
742
+ },
743
+ ]
744
+
745
+ export const exportOperationsProcessing: ExportOperation[] = [
746
+ {
747
+ id: '10df6fe9252eeb1d54485797',
748
+ fileName: 'test-1234567.json',
749
+ fileFormat: 'json',
750
+ resourceType: 'category',
751
+ createdAt: '2023-04-01T12:00:00.000Z',
752
+ state: 'processing',
753
+ query: 'query ExportCategories { categories { id } }',
754
+ completedPercentage: 50,
755
+ resourceCount: 100,
756
+ fields: ['id'],
757
+ locales: ['en'],
758
+ },
759
+ {
760
+ id: '10df6fe9252eeb1d54485798',
761
+ fileName: 'test-12345678.csv',
762
+ fileFormat: 'csv',
763
+ resourceType: 'category',
764
+ createdAt: '2023-04-02T12:00:00.000Z',
765
+ state: 'processing',
766
+ query: 'query ExportCategories { categories { id } }',
767
+ completedPercentage: 33,
768
+ resourceCount: 100,
769
+ fields: ['id'],
770
+ locales: ['en'],
771
+ },
772
+ ]