@haus-tech/product-import-export-plugin 3.2.0 → 3.3.1-next.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 (46) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.mdx +31 -11
  3. package/package.json +2 -1
  4. package/src/api/product-export.controller.d.ts +6 -7
  5. package/src/api/product-export.controller.js +39 -78
  6. package/src/api/product-export.controller.js.map +1 -1
  7. package/src/constants.d.ts +1 -0
  8. package/src/constants.js +2 -1
  9. package/src/constants.js.map +1 -1
  10. package/src/dashboard/import.tsx +1 -1
  11. package/src/index.d.ts +4 -0
  12. package/src/index.js +3 -0
  13. package/src/index.js.map +1 -1
  14. package/src/product-import-export.plugin.js +23 -0
  15. package/src/product-import-export.plugin.js.map +1 -1
  16. package/src/providers/import-providers/import-parser.d.ts +5 -0
  17. package/src/providers/import-providers/import-parser.js +72 -35
  18. package/src/providers/import-providers/import-parser.js.map +1 -1
  19. package/src/providers/import-providers/product-importer.d.ts +10 -1
  20. package/src/providers/import-providers/product-importer.js +145 -35
  21. package/src/providers/import-providers/product-importer.js.map +1 -1
  22. package/src/services/export-storage/export-storage-strategy.d.ts +31 -0
  23. package/src/services/export-storage/export-storage-strategy.js +3 -0
  24. package/src/services/export-storage/export-storage-strategy.js.map +1 -0
  25. package/src/services/export-storage/local-export-storage-strategy.d.ts +20 -0
  26. package/src/services/export-storage/local-export-storage-strategy.js +106 -0
  27. package/src/services/export-storage/local-export-storage-strategy.js.map +1 -0
  28. package/src/services/export-storage/s3-export-storage-strategy.d.ts +15 -0
  29. package/src/services/export-storage/s3-export-storage-strategy.js +130 -0
  30. package/src/services/export-storage/s3-export-storage-strategy.js.map +1 -0
  31. package/src/services/export-storage.util.d.ts +18 -0
  32. package/src/services/export-storage.util.js +81 -0
  33. package/src/services/export-storage.util.js.map +1 -0
  34. package/src/services/extended-fast-importer.service.d.ts +3 -2
  35. package/src/services/extended-fast-importer.service.js +9 -2
  36. package/src/services/extended-fast-importer.service.js.map +1 -1
  37. package/src/services/product-export.service.d.ts +19 -2
  38. package/src/services/product-export.service.js +99 -38
  39. package/src/services/product-export.service.js.map +1 -1
  40. package/src/services/product-import.service.d.ts +2 -1
  41. package/src/services/product-import.service.js +3 -2
  42. package/src/services/product-import.service.js.map +1 -1
  43. package/src/types.d.ts +13 -0
  44. package/src/ui/components/export-dialog.component.ts +2 -2
  45. package/src/ui/components/product-import.component.ts +5 -5
  46. package/src/ui/product-export.service.ts +4 -3
@@ -253,11 +253,11 @@ export class ProductImportComponent implements OnInit {
253
253
  return
254
254
  }
255
255
 
256
- const nameColumn = `name:${validationLanguage}` || 'name'
256
+ const nameColumn = validationLanguage ? `name:${validationLanguage}` : 'name'
257
257
 
258
258
  // Get optionGroups and optionValues columns for the main language
259
- const optionGroupsColumn = `optionGroups:${validationLanguage}` || 'optionGroups'
260
- const optionValuesColumn = `optionValues:${validationLanguage}` || 'optionValues'
259
+ const optionGroupsColumn = validationLanguage ? `optionGroups:${validationLanguage}` : 'optionGroups'
260
+ const optionValuesColumn = validationLanguage ? `optionValues:${validationLanguage}` : 'optionValues'
261
261
 
262
262
  const optionGroupsIndex = header.indexOf(optionGroupsColumn)
263
263
  const optionValuesIndex = header.indexOf(optionValuesColumn)
@@ -509,8 +509,8 @@ export class ProductImportComponent implements OnInit {
509
509
  header: string[],
510
510
  languageCodes: (string | undefined)[],
511
511
  ): { errorRows: number[]; errorColumns: string[] } {
512
- let errorRows: number[] = []
513
- let errorColumns: string[] = []
512
+ const errorRows: number[] = []
513
+ const errorColumns: string[] = []
514
514
 
515
515
  if (size(languageCodes) < 2) {
516
516
  console.log('Only one language found in the file.')
@@ -68,16 +68,17 @@ export class ProductExportService {
68
68
  )
69
69
  if (!res.ok) {
70
70
  const json = await res.json()
71
- throw Error(json?.message)
71
+ throw new Error(json?.message || 'Failed to export products')
72
72
  }
73
73
  const header = res.headers.get('Content-Disposition')
74
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
74
75
  const parts = header!.split(';')
75
76
  const filename = parts[1].split('=')[1]
76
77
  const blob = await res.blob()
77
78
  await this.downloadBlob(blob, filename)
78
- } catch (err: any) {
79
+ } catch (err: unknown) {
79
80
  console.error(err)
80
- this.notificationService.error(err.message)
81
+ this.notificationService.error((err as Error)?.message || 'Failed to export products')
81
82
  }
82
83
  }
83
84