@bytebrand/export-cars 1.7.1 → 1.9.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 (146) hide show
  1. package/dist/app.module.js +7 -5
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/configs/alleskralle.config.js +3 -1
  4. package/dist/configs/alleskralle.config.js.map +1 -1
  5. package/dist/configs/as24.config.js.map +1 -1
  6. package/dist/configs/autoboerse.config.js +1 -1
  7. package/dist/configs/autouncle.config.js +1 -1
  8. package/dist/configs/config.d.ts +3 -1
  9. package/dist/configs/config.js +6 -4
  10. package/dist/configs/config.js.map +1 -1
  11. package/dist/configs/criteo.config.js +2 -1
  12. package/dist/configs/criteo.config.js.map +1 -1
  13. package/dist/configs/dasparking.config.js +1 -1
  14. package/dist/configs/facebook-shop.config.d.ts +5 -0
  15. package/dist/configs/facebook-shop.config.js +17 -0
  16. package/dist/configs/facebook-shop.config.js.map +1 -0
  17. package/dist/configs/index.d.ts +1 -0
  18. package/dist/configs/index.js +1 -0
  19. package/dist/configs/index.js.map +1 -1
  20. package/dist/configs/kleinanzeigefocus.config.js +2 -2
  21. package/dist/configs/kleinanzeigefocus.config.js.map +1 -1
  22. package/dist/configs/meinstadt.config.js +0 -1
  23. package/dist/configs/meinstadt.config.js.map +1 -1
  24. package/dist/configs/ooyyo.config.js +1 -0
  25. package/dist/configs/ooyyo.config.js.map +1 -1
  26. package/dist/constants/modix/index.d.ts +1 -0
  27. package/dist/constants/modix/index.js +1 -0
  28. package/dist/constants/modix/index.js.map +1 -1
  29. package/dist/enums/export-type.enum.d.ts +2 -1
  30. package/dist/enums/export-type.enum.js +1 -0
  31. package/dist/enums/export-type.enum.js.map +1 -1
  32. package/dist/enums/file-types.enum.js +0 -1
  33. package/dist/enums/file-types.enum.js.map +1 -1
  34. package/dist/enums/image-type.enum.d.ts +4 -0
  35. package/dist/enums/image-type.enum.js +9 -0
  36. package/dist/enums/image-type.enum.js.map +1 -0
  37. package/dist/enums/index.d.ts +2 -0
  38. package/dist/enums/index.js +2 -0
  39. package/dist/enums/index.js.map +1 -1
  40. package/dist/export.schema.d.ts +6 -2
  41. package/dist/export.schema.js +4 -0
  42. package/dist/export.schema.js.map +1 -1
  43. package/dist/exporters/auto24.exporter.js +1 -1
  44. package/dist/exporters/auto24.exporter.js.map +1 -1
  45. package/dist/exporters/facebook-shop.exporter.d.ts +12 -0
  46. package/dist/exporters/facebook-shop.exporter.js +63 -0
  47. package/dist/exporters/facebook-shop.exporter.js.map +1 -0
  48. package/dist/exporters/fb.exporter.js +1 -3
  49. package/dist/exporters/fb.exporter.js.map +1 -1
  50. package/dist/exporters/index.d.ts +1 -0
  51. package/dist/exporters/index.js +1 -0
  52. package/dist/exporters/index.js.map +1 -1
  53. package/dist/exporters/modix.exporter.js.map +1 -1
  54. package/dist/exporters/ooyyo.exporter.js +1 -1
  55. package/dist/exporters/ooyyo.exporter.js.map +1 -1
  56. package/dist/formats/facebook-shop.builder.d.ts +10 -0
  57. package/dist/formats/facebook-shop.builder.js +62 -0
  58. package/dist/formats/facebook-shop.builder.js.map +1 -0
  59. package/dist/formats/index.d.ts +1 -0
  60. package/dist/formats/index.js +1 -0
  61. package/dist/formats/index.js.map +1 -1
  62. package/dist/interfaces/export-item.interface.d.ts +26 -0
  63. package/dist/interfaces/params.interface.d.ts +1 -7
  64. package/dist/services/{marketing-images.service.d.ts → images.service.d.ts} +9 -5
  65. package/dist/services/images.service.js +151 -0
  66. package/dist/services/images.service.js.map +1 -0
  67. package/dist/services/index.d.ts +1 -1
  68. package/dist/services/index.js +1 -1
  69. package/dist/services/index.js.map +1 -1
  70. package/dist/transformers/auto24.transfomer.d.ts +4 -6
  71. package/dist/transformers/auto24.transfomer.js +10 -27
  72. package/dist/transformers/auto24.transfomer.js.map +1 -1
  73. package/dist/transformers/autouncle.transformer.d.ts +5 -5
  74. package/dist/transformers/autouncle.transformer.js +10 -34
  75. package/dist/transformers/autouncle.transformer.js.map +1 -1
  76. package/dist/transformers/facebook-shop.transformer.d.ts +18 -0
  77. package/dist/transformers/facebook-shop.transformer.js +96 -0
  78. package/dist/transformers/facebook-shop.transformer.js.map +1 -0
  79. package/dist/transformers/fb.transformer.d.ts +2 -3
  80. package/dist/transformers/fb.transformer.js +8 -26
  81. package/dist/transformers/fb.transformer.js.map +1 -1
  82. package/dist/transformers/google.transformer.d.ts +5 -5
  83. package/dist/transformers/google.transformer.js +10 -26
  84. package/dist/transformers/google.transformer.js.map +1 -1
  85. package/dist/transformers/index.d.ts +1 -0
  86. package/dist/transformers/index.js +1 -0
  87. package/dist/transformers/index.js.map +1 -1
  88. package/dist/transformers/meinstadt.transformer.d.ts +1 -1
  89. package/dist/transformers/meinstadt.transformer.js +3 -4
  90. package/dist/transformers/meinstadt.transformer.js.map +1 -1
  91. package/dist/transformers/modix.transformer.d.ts +1 -1
  92. package/dist/transformers/modix.transformer.js +3 -4
  93. package/dist/transformers/modix.transformer.js.map +1 -1
  94. package/dist/transformers/ooyyo.transformer.d.ts +4 -5
  95. package/dist/transformers/ooyyo.transformer.js +7 -17
  96. package/dist/transformers/ooyyo.transformer.js.map +1 -1
  97. package/dist/transformers/rubrikk.transformer.d.ts +4 -4
  98. package/dist/transformers/rubrikk.transformer.js +5 -13
  99. package/dist/transformers/rubrikk.transformer.js.map +1 -1
  100. package/dist/tsconfig.build.tsbuildinfo +1 -1
  101. package/package.json +2 -2
  102. package/src/app.module.ts +6 -12
  103. package/src/configs/alleskralle.config.ts +3 -1
  104. package/src/configs/as24.config.ts +1 -1
  105. package/src/configs/auto24.config.ts +1 -1
  106. package/src/configs/autoboerse.config.ts +2 -2
  107. package/src/configs/autouncle.config.ts +1 -1
  108. package/src/configs/config.ts +3 -2
  109. package/src/configs/criteo.config.ts +3 -2
  110. package/src/configs/dasparking.config.ts +1 -1
  111. package/src/configs/{kleinanzeigefocus.config.ts → facebook-shop.config.ts} +3 -3
  112. package/src/configs/index.ts +1 -0
  113. package/src/configs/kleinanzeigeFocus.config.ts +14 -0
  114. package/src/configs/meinstadt.config.ts +1 -1
  115. package/src/configs/ooyyo.config.ts +2 -1
  116. package/src/constants/modix/index.ts +1 -0
  117. package/src/enums/export-type.enum.ts +7 -6
  118. package/src/enums/file-types.enum.ts +1 -1
  119. package/src/enums/image-type.enum.ts +4 -0
  120. package/src/enums/index.ts +2 -0
  121. package/src/export.schema.ts +8 -3
  122. package/src/exporters/auto24.exporter.ts +2 -4
  123. package/src/exporters/facebook-shop.exporter.ts +51 -0
  124. package/src/exporters/fb.exporter.ts +6 -6
  125. package/src/exporters/index.ts +1 -0
  126. package/src/exporters/modix.exporter.ts +6 -5
  127. package/src/exporters/ooyyo.exporter.ts +3 -4
  128. package/src/formats/facebook-shop.builder.ts +69 -0
  129. package/src/formats/index.ts +1 -0
  130. package/src/interfaces/export-item.interface.ts +26 -0
  131. package/src/interfaces/params.interface.ts +1 -7
  132. package/src/services/images.service.ts +161 -0
  133. package/src/services/index.ts +1 -2
  134. package/src/transformers/auto24.transfomer.ts +8 -31
  135. package/src/transformers/autouncle.transformer.ts +9 -35
  136. package/src/transformers/facebook-shop.transformer.ts +94 -0
  137. package/src/transformers/fb.transformer.ts +16 -44
  138. package/src/transformers/google.transformer.ts +10 -28
  139. package/src/transformers/index.ts +1 -0
  140. package/src/transformers/meinstadt.transformer.ts +2 -3
  141. package/src/transformers/modix.transformer.ts +19 -10
  142. package/src/transformers/ooyyo.transformer.ts +4 -18
  143. package/src/transformers/rubrikk.transformer.ts +5 -16
  144. package/dist/services/marketing-images.service.js +0 -58
  145. package/dist/services/marketing-images.service.js.map +0 -1
  146. package/src/services/marketing-images.service.ts +0 -70
@@ -1 +1 @@
1
- {"version":3,"file":"ooyyo.exporter.js","sourceRoot":"","sources":["../../src/exporters/ooyyo.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0CAAqF;AAGrF,gEAA2D;AAC3D,uCAAyC;AACzC,8CAA2C;AAC3C,oEAA+D;AAC/D,yEAAqE;AAG9D,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEd;IACA;IACA;IACA;IACA;IALV,YACU,UAAsB,EACtB,aAA4B,EAC5B,aAA4B,EAC5B,SAAoB,EACpB,YAA0B;QAJ1B,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAc;IAChC,CAAC;IAEL,KAAK,CAAC,MAAM;QACV,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QAChE,MAAM,+BAAa,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAC9F,MAAM,+BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAE7F,MAAM,eAAe,GAAG,IAAI,mCAAe,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAgB,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YACjE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAEpG,IAAI,KAAK,IAAI,SAAS,EAAE;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;oBAC7B,MAAM,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;oBAEvE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC1C;aAEF;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAEtD,MAAM,eAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAvCY,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGW,qBAAU;QACP,wBAAa;QACb,wBAAa;QACjB,gBAAS;QACN,uBAAY;GANzB,aAAa,CAuCzB;AAvCY,sCAAa"}
1
+ {"version":3,"file":"ooyyo.exporter.js","sourceRoot":"","sources":["../../src/exporters/ooyyo.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0CAAqF;AAGrF,gEAA2D;AAC3D,uCAAyC;AACzC,8CAA2C;AAC3C,oEAA+D;AAC/D,yEAAqE;AAG9D,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEd;IACA;IACA;IACA;IACA;IALV,YACU,UAAsB,EACtB,aAA4B,EAC5B,aAA4B,EAC5B,SAAoB,EACpB,YAA0B;QAJ1B,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QAChE,MAAM,+BAAa,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAC9F,MAAM,+BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAE7F,MAAM,eAAe,GAAG,IAAI,mCAAe,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAgB,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YACjE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAEpG,IAAI,KAAK,IAAI,SAAS,EAAE;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;oBAC7B,MAAM,eAAe,CAAC,OAAO,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;oBAE7E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC1C;aACF;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAEtD,MAAM,eAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAtCY,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGW,qBAAU;QACP,wBAAa;QACb,wBAAa;QACjB,gBAAS;QACN,uBAAY;GANzB,aAAa,CAsCzB;AAtCY,sCAAa"}
@@ -0,0 +1,10 @@
1
+ import { XMLBuilderBase } from '@bytebrand/cronicle-helper';
2
+ import { FacebookShopItem, FacebookShopTag } from '../interfaces';
3
+ export declare class FacebookShopXmlBuilder extends XMLBuilderBase {
4
+ buildStart(): Promise<void>;
5
+ addItem(car: FacebookShopItem): Promise<void>;
6
+ buildTagElement(tag: string, params: FacebookShopTag): string;
7
+ private getDescriptionElement;
8
+ private buildDescriptionValues;
9
+ buildEnd(): Promise<void>;
10
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FacebookShopXmlBuilder = void 0;
4
+ const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
5
+ const validator_utils_1 = require("../utils/validator.utils");
6
+ class FacebookShopXmlBuilder extends cronicle_helper_1.XMLBuilderBase {
7
+ async buildStart() {
8
+ await this.write('<?xml version="1.0" encoding="utf-8"?>\n<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0" xmlns:atom="http://www.w3.org/2005/Atom">' +
9
+ '\n<channel>\n<title>Produkt für auto.de</title>\n<description>Produkt für auto.de</description> \n<link>https://www.auto.de/</link>\n' +
10
+ '<atom:link href="https://www.mydealsshop.foo/pages/test-feed" rel="self" type="application/rss+xml" />\n');
11
+ }
12
+ async addItem(car) {
13
+ let item = '\n<item>\n';
14
+ const tags = Object.keys(car);
15
+ for (const tag of tags) {
16
+ if (tag === 'description') {
17
+ item += this.getDescriptionElement(tag, car[tag].value);
18
+ }
19
+ else {
20
+ item += this.buildTagElement(tag, car[tag]);
21
+ }
22
+ }
23
+ item += '</item>';
24
+ await this.write(item);
25
+ }
26
+ buildTagElement(tag, params) {
27
+ if (params.isGoogle) {
28
+ return this.getElement(`g:${tag}`, params.value);
29
+ }
30
+ return this.getElement(tag, params.value);
31
+ }
32
+ getDescriptionElement(rootTag, descriptionBlocks) {
33
+ const description = descriptionBlocks
34
+ .map(({ title, values }) => {
35
+ if (values) {
36
+ return `${title}\n${this.buildDescriptionValues(values)} `;
37
+ }
38
+ return '';
39
+ })
40
+ .join('\n');
41
+ return `<${rootTag}>${description}</${rootTag}>`;
42
+ }
43
+ buildDescriptionValues(values) {
44
+ const validValues = [];
45
+ values.forEach(element => {
46
+ const filteredValues = element.value.filter(el => el);
47
+ if ((0, validator_utils_1.isNotEmptyArray)(filteredValues))
48
+ validValues.push(element);
49
+ });
50
+ return validValues
51
+ .map(({ title, value }) => {
52
+ return `${title}: ${value.join(', ')}`;
53
+ })
54
+ .join(';\n');
55
+ }
56
+ async buildEnd() {
57
+ await this.write('\n</channel>\n</rss>\n');
58
+ await this.end();
59
+ }
60
+ }
61
+ exports.FacebookShopXmlBuilder = FacebookShopXmlBuilder;
62
+ //# sourceMappingURL=facebook-shop.builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facebook-shop.builder.js","sourceRoot":"","sources":["../../src/formats/facebook-shop.builder.ts"],"names":[],"mappings":";;;AAAA,gEAA4D;AAG5D,8DAA2D;AAE3D,MAAa,sBAAuB,SAAQ,gCAAc;IACxD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,KAAK,CACd,8IAA8I;YAC5I,uIAAuI;YACvI,0GAA0G,CAC7G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAqB;QACjC,IAAI,IAAI,GAAG,YAAY,CAAC;QAExB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,KAAK,aAAa,EAAE;gBACzB,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;aACzD;iBAAM;gBACL,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7C;SACF;QACD,IAAI,IAAI,SAAS,CAAC;QAElB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,MAAuB;QAClD,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACO,qBAAqB,CAAC,OAAe,EAAE,iBAAgC;QAC7E,MAAM,WAAW,GAAW,iBAAiB;aAC1C,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAe,EAAE,EAAE;YACtC,IAAI,MAAM,EAAE;gBACV,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC;aAC5D;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,IAAI,OAAO,IAAI,WAAW,KAAK,OAAO,GAAG,CAAC;IACnD,CAAC;IAEO,sBAAsB,CAAC,MAA0B;QACvD,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvB,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,IAAA,iCAAe,EAAC,cAAc,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW;aACf,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoB,EAAE,EAAE;YAC1C,OAAO,GAAG,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;CACF;AA/DD,wDA+DC"}
@@ -1,2 +1,3 @@
1
1
  export * from './rubrikk-xml.builder';
2
2
  export * from './modix-xml.builder';
3
+ export * from './facebook-shop.builder';
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./rubrikk-xml.builder"), exports);
18
18
  __exportStar(require("./modix-xml.builder"), exports);
19
+ __exportStar(require("./facebook-shop.builder"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formats/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formats/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,sDAAoC;AACpC,0DAAwC"}
@@ -1,5 +1,6 @@
1
1
  import { DataSchemes } from '@bytebrand/car-schema';
2
2
  import { IModixWrapItem } from './autoborse.intreface';
3
+ import { Description } from './description.interface';
3
4
  export interface FbXmlItem {
4
5
  url: string;
5
6
  title: string;
@@ -271,3 +272,28 @@ export interface dealerItem {
271
272
  vatid: IModixWrapItem;
272
273
  };
273
274
  }
275
+ export interface FacebookShopItem {
276
+ id: FacebookShopTag;
277
+ title: FacebookShopTag;
278
+ description: {
279
+ value: Description[];
280
+ isGoogle: boolean;
281
+ };
282
+ availability: FacebookShopTag;
283
+ condition: FacebookShopTag;
284
+ price: FacebookShopTag;
285
+ link: FacebookShopTag;
286
+ image_link: FacebookShopTag;
287
+ additional_image_link: FacebookShopTag;
288
+ brand: FacebookShopTag;
289
+ quantity_to_sell_on_facebook: FacebookShopTag;
290
+ google_product_category: FacebookShopTag;
291
+ sale_price: FacebookShopTag;
292
+ status: FacebookShopTag;
293
+ color: FacebookShopTag;
294
+ product_type: FacebookShopTag;
295
+ }
296
+ export interface FacebookShopTag {
297
+ isGoogle: boolean;
298
+ value: any;
299
+ }
@@ -1,18 +1,12 @@
1
- import { Environment } from '../enums/environment.enum';
2
- import { ExportType } from '../enums/export-type.enum';
1
+ import { Environment, ExportType } from '../enums';
3
2
  export interface Params {
4
3
  environment: Environment;
5
- carDetailsUrl?: string;
6
4
  exportType?: ExportType;
7
5
  apikey?: string;
8
6
  String?: string;
9
7
  Number?: string;
10
8
  Date?: string;
11
9
  isNewCar?: boolean;
12
- isCriteo?: boolean;
13
- dealers?: string;
14
10
  cpc?: string;
15
11
  ownerId?: string;
16
- fileName?: string;
17
- googleSheetsApiKey?: string;
18
12
  }
@@ -1,13 +1,17 @@
1
- import { MarketingImageConfigsInterface } from '@bytebrand/autode-request';
1
+ import { DataSchemes } from '@bytebrand/car-schema';
2
+ import { ImboImageResponseInterface } from '@bytebrand/chunkable';
2
3
  import { ConfigService } from './config.service';
4
+ import { ImageType } from '../enums';
5
+ import { MarketingImageConfigsInterface } from '@bytebrand/autode-request';
3
6
  import { UserService } from './user.service';
4
- export declare class MarketingImagesService {
7
+ export declare class ImagesService {
5
8
  private readonly configService;
6
9
  private readonly userService;
7
10
  constructor(configService: ConfigService, userService: UserService);
8
- getImagesUrl(images: any, imageUrl: string, carId: string): Promise<{
9
- url: string;
10
- }[]>;
11
+ getImages(car: DataSchemes.Car, images: ImboImageResponseInterface[], imageType: ImageType): Promise<Array<string>>;
12
+ getDefaultImages(car: DataSchemes.Car, images: ImboImageResponseInterface[]): Array<string>;
13
+ generateImageLinks(images: ImboImageResponseInterface[], carId: string): string[];
14
+ getMarketingImages(images: any, carId: string): Promise<string[]>;
11
15
  getMarketingImageConfigs(): Promise<MarketingImageConfigsInterface>;
12
16
  private transformImagesArrayIntoObject;
13
17
  private transform;
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ImagesService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const lodash_1 = require("lodash");
15
+ const validator_utils_1 = require("../utils/validator.utils");
16
+ const config_service_1 = require("./config.service");
17
+ const enums_1 = require("../enums");
18
+ const user_service_1 = require("./user.service");
19
+ const fb_constants_1 = require("../constants/fb.constants");
20
+ let ImagesService = class ImagesService {
21
+ configService;
22
+ userService;
23
+ constructor(configService, userService) {
24
+ this.configService = configService;
25
+ this.userService = userService;
26
+ }
27
+ async getImages(car, images, imageType) {
28
+ if (imageType === enums_1.ImageType.default) {
29
+ return this.getDefaultImages(car, images);
30
+ }
31
+ else {
32
+ const carId = (0, lodash_1.toString)((0, lodash_1.get)(car, '_id', ''));
33
+ return await this.getMarketingImages(images, carId);
34
+ }
35
+ }
36
+ getDefaultImages(car, images) {
37
+ const defaultImages = [
38
+ 'https://images.auto.de/carimage/noimage/7pNvWELuWhZX/large-cached.jpeg',
39
+ 'https://images.auto.de/carimage/noimage/GvyXmrpaf1D6/large-cached.jpeg',
40
+ 'https://images.auto.de/carimage/noimage/gY1zF8PXzH2W/large-cached.jpeg',
41
+ 'https://images.auto.de/carimage/noimage/pFyfBsqBHEso/large-cached.jpeg',
42
+ ];
43
+ if (!(0, validator_utils_1.isNotEmptyArray)(images)) {
44
+ return defaultImages;
45
+ }
46
+ const firstImageId = (0, lodash_1.get)(car, 'metaData.mainImageId', null);
47
+ const secondImageId = (0, lodash_1.get)(car, 'metaData.secImageId', null);
48
+ const thirdImageId = (0, lodash_1.get)(car, 'metaData.thirdImageId', null);
49
+ if (firstImageId) {
50
+ images.forEach((image, index) => {
51
+ if (firstImageId === image.imageIdentifier) {
52
+ const tmp = images[index];
53
+ images[index] = images[0];
54
+ images[0] = tmp;
55
+ }
56
+ });
57
+ }
58
+ if (secondImageId) {
59
+ images.forEach((image, index) => {
60
+ if (secondImageId === image.imageIdentifier) {
61
+ const tmp = images[index];
62
+ images[index] = images[1];
63
+ images[1] = tmp;
64
+ }
65
+ });
66
+ }
67
+ if (thirdImageId) {
68
+ images.forEach((image, index) => {
69
+ if (thirdImageId === image.imageIdentifier) {
70
+ const tmp = images[index];
71
+ images[index] = images[2];
72
+ images[2] = tmp;
73
+ }
74
+ });
75
+ }
76
+ const carId = (0, lodash_1.toString)((0, lodash_1.get)(car, '_id', ''));
77
+ const transformedImages = this.generateImageLinks(images, carId);
78
+ if (transformedImages.length < 17) {
79
+ transformedImages.push(...defaultImages);
80
+ }
81
+ return transformedImages;
82
+ }
83
+ generateImageLinks(images, carId) {
84
+ return images.map((image) => {
85
+ return `${this.configService.config.baseImageUrl}/carimage/${carId}/${image.imageIdentifier}/large`;
86
+ });
87
+ }
88
+ async getMarketingImages(images, carId) {
89
+ const imageUrl = this.configService.config.imageUrl;
90
+ const transformedImages = this.transformImagesArrayIntoObject(images);
91
+ const configs = this.configService.config.isCriteo
92
+ ? await this.userService.getMarketingImageConfig(this.configService.config.criteoMarketingImagesConfigId)
93
+ : (await this.getMarketingImageConfigs());
94
+ const marketingImageConfigs = this.transform(configs);
95
+ const defImages = [
96
+ { url: 'https://images.auto.de/carimage/noimage/7pNvWELuWhZX/large-cached.jpeg' },
97
+ { url: 'https://images.auto.de/carimage/noimage/GvyXmrpaf1D6/large-cached.jpeg' },
98
+ { url: 'https://images.auto.de/carimage/noimage/gY1zF8PXzH2W/large-cached.jpeg' },
99
+ { url: 'https://images.auto.de/carimage/noimage/pFyfBsqBHEso/large-cached.jpeg' },
100
+ ];
101
+ const imageUrls = [];
102
+ for (let i = 0; i < marketingImageConfigs.length; i++) {
103
+ const marketingImage = marketingImageConfigs[i];
104
+ for (let i = 0; i < marketingImage.marketingImageCodes.length; i++) {
105
+ const imageCode = marketingImage.marketingImageCodes[i];
106
+ const imageId = transformedImages[imageCode];
107
+ if (imageId) {
108
+ imageUrls.push(this.getImagePathWithExtenstion(imageUrl, carId, imageId, configs));
109
+ break;
110
+ }
111
+ }
112
+ }
113
+ if (imageUrls.length < fb_constants_1.FB_MAX_IMAGE_COUNT_FOR_DEAFULT) {
114
+ imageUrls.push(...defImages);
115
+ }
116
+ return imageUrls;
117
+ }
118
+ async getMarketingImageConfigs() {
119
+ const configs = await this.userService.getMarketingImageConfigs();
120
+ const { id } = configs.find(config => config.channelCode.includes(this.configService.config.exportType));
121
+ return this.userService.getMarketingImageConfig(id);
122
+ }
123
+ transformImagesArrayIntoObject(images) {
124
+ const result = {};
125
+ images.forEach(image => {
126
+ const imageCode = image.imageCodePredicted.split('-')[0];
127
+ result[imageCode] = image.imageIdentifier;
128
+ });
129
+ return result;
130
+ }
131
+ transform(config) {
132
+ return config.marketingImages.map(marketingImage => {
133
+ return {
134
+ marketingImageCodes: marketingImage.imageCodes,
135
+ };
136
+ });
137
+ }
138
+ getChannelPath(imageUrl, carId) {
139
+ return `${imageUrl}/${[carId[0], carId[1], carId[2], carId].join('/')}`;
140
+ }
141
+ getImagePathWithExtenstion(imageUrl, carId, imageId, config) {
142
+ const { channelCode, imageExtension } = config;
143
+ return `${this.getChannelPath(imageUrl, carId)}/${channelCode.replace(/ /g, '-')}-${imageId}.${imageExtension}`;
144
+ }
145
+ };
146
+ ImagesService = __decorate([
147
+ (0, common_1.Injectable)(),
148
+ __metadata("design:paramtypes", [config_service_1.ConfigService, user_service_1.UserService])
149
+ ], ImagesService);
150
+ exports.ImagesService = ImagesService;
151
+ //# sourceMappingURL=images.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.service.js","sourceRoot":"","sources":["../../src/services/images.service.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,4 @@ export * from './loader.service';
5
5
  export * from './config.service';
6
6
  export * from './request.service';
7
7
  export * from './mapping.service';
8
- export * from './marketing-images.service';
8
+ export * from './images.service';
@@ -21,5 +21,5 @@ __exportStar(require("./loader.service"), exports);
21
21
  __exportStar(require("./config.service"), exports);
22
22
  __exportStar(require("./request.service"), exports);
23
23
  __exportStar(require("./mapping.service"), exports);
24
- __exportStar(require("./marketing-images.service"), exports);
24
+ __exportStar(require("./images.service"), exports);
25
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,mDAAiC"}
@@ -1,16 +1,14 @@
1
1
  import { DataSchemes } from '@bytebrand/car-schema';
2
2
  import { ImboImageResponseInterface } from '@bytebrand/chunkable';
3
3
  import { Auto24XmlItem } from '../interfaces';
4
- import { ConfigService } from '../services/config.service';
4
+ import { ConfigService, ImagesService } from '../services';
5
5
  export declare class Auto24Transformer {
6
6
  private configService;
7
+ private readonly imageService;
7
8
  private translator;
8
- constructor(configService: ConfigService);
9
- transform(car: DataSchemes.Car, imboImages: ImboImageResponseInterface[]): Auto24XmlItem;
9
+ constructor(configService: ConfigService, imageService: ImagesService);
10
+ transform(car: DataSchemes.Car, imboImages: ImboImageResponseInterface[]): Promise<Auto24XmlItem>;
10
11
  private translateSelector;
11
12
  private getRegistrationField;
12
13
  private getExtrasField;
13
- private getImagesField;
14
- private getImageField;
15
- private buildLargeImageUrl;
16
14
  }
@@ -15,17 +15,21 @@ const i18n_dictionaries_1 = require("@bytebrand/i18n-dictionaries");
15
15
  const lodash_1 = require("lodash");
16
16
  const moment = require("moment");
17
17
  const common_1 = require("@nestjs/common");
18
- const config_service_1 = require("../services/config.service");
18
+ const services_1 = require("../services");
19
19
  const validator_utils_1 = require("../utils/validator.utils");
20
+ const enums_1 = require("../enums");
20
21
  let Auto24Transformer = class Auto24Transformer {
21
22
  configService;
23
+ imageService;
22
24
  translator;
23
- constructor(configService) {
25
+ constructor(configService, imageService) {
24
26
  this.configService = configService;
27
+ this.imageService = imageService;
25
28
  this.translator = new schema_tools_1.Translator(i18n_dictionaries_1.de);
26
29
  }
27
- transform(car, imboImages) {
30
+ async transform(car, imboImages) {
28
31
  const carId = (0, lodash_1.toString)((0, lodash_1.get)(car, '_id', ''));
32
+ const transformedImages = await this.imageService.getImages(car, imboImages, enums_1.ImageType.default);
29
33
  let userlink = `https://www.${this.configService.config.domain}/search/vehicle/${carId}`;
30
34
  if (this.configService.config.campaign) {
31
35
  userlink += `?source=classifieds&medium=listing&campaign=${this.configService.config.campaign}`;
@@ -42,9 +46,9 @@ let Auto24Transformer = class Auto24Transformer {
42
46
  consumptionK: (0, lodash_1.toString)((0, lodash_1.get)(car, 'consumption.consumptionCombined', '')),
43
47
  co2: (0, lodash_1.toString)((0, lodash_1.get)(car, 'environmentEmissions.co2', '')),
44
48
  efficiencyclass: this.translateSelector((0, lodash_1.get)(car, 'environmentEmissions.energyEfficiencyClass', '')),
45
- image: this.getImageField(carId, (0, lodash_1.toString)((0, lodash_1.get)(car, 'metaData.mainImageId')), imboImages),
49
+ image: transformedImages[0],
46
50
  registration: this.getRegistrationField((0, lodash_1.get)(car, 'mainData.firstRegistration')),
47
- images: this.getImagesField(carId, imboImages),
51
+ images: transformedImages,
48
52
  price: (0, lodash_1.toString)((0, lodash_1.get)(car, 'price.currentSalesPrice', '')),
49
53
  power: (0, lodash_1.toString)((0, lodash_1.get)(car, 'engineData.powerKW', '')),
50
54
  zip: (0, lodash_1.toString)((0, lodash_1.get)(car, 'location.zipCode', '')),
@@ -128,31 +132,10 @@ let Auto24Transformer = class Auto24Transformer {
128
132
  })
129
133
  .join(', ');
130
134
  }
131
- getImagesField(carId, images) {
132
- if ((0, validator_utils_1.isNotEmptyArray)(images)) {
133
- return images.map((image) => {
134
- return this.buildLargeImageUrl(carId, image.imageIdentifier);
135
- });
136
- }
137
- return [];
138
- }
139
- getImageField(carId, mainImageId, images) {
140
- if ((0, lodash_1.isNil)(mainImageId) || (0, lodash_1.isEmpty)(mainImageId)) {
141
- if ((0, validator_utils_1.isNotEmptyArray)(images)) {
142
- const firstImageId = (0, lodash_1.first)(images);
143
- return this.buildLargeImageUrl(carId, firstImageId.imageIdentifier);
144
- }
145
- return '';
146
- }
147
- return this.buildLargeImageUrl(carId, mainImageId);
148
- }
149
- buildLargeImageUrl(carId, imageId) {
150
- return `${this.configService.config.imageUrl}/carimage/${carId}/${imageId}/large`;
151
- }
152
135
  };
153
136
  Auto24Transformer = __decorate([
154
137
  (0, common_1.Injectable)(),
155
- __metadata("design:paramtypes", [config_service_1.ConfigService])
138
+ __metadata("design:paramtypes", [services_1.ConfigService, services_1.ImagesService])
156
139
  ], Auto24Transformer);
157
140
  exports.Auto24Transformer = Auto24Transformer;
158
141
  //# sourceMappingURL=auto24.transfomer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto24.transfomer.js","sourceRoot":"","sources":["../../src/transformers/auto24.transfomer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto24.transfomer.js","sourceRoot":"","sources":["../../src/transformers/auto24.transfomer.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
1
  import { DataSchemes } from '@bytebrand/car-schema';
2
- import { ConfigService } from '../services/config.service';
2
+ import { ConfigService, ImagesService } from '../services';
3
3
  import { AutouncleJsonItem } from '../interfaces';
4
+ import { ImboImageResponseInterface } from '@bytebrand/chunkable';
4
5
  export declare class AutouncleTransformer {
5
6
  private configService;
7
+ private imageService;
6
8
  private translator;
7
9
  private postalCodesService;
8
- constructor(configService: ConfigService);
10
+ constructor(configService: ConfigService, imageService: ImagesService);
9
11
  transform({ car, images, owner, }: {
10
12
  car: DataSchemes.Car;
11
- images: unknown[];
13
+ images: ImboImageResponseInterface[];
12
14
  metadata?: unknown;
13
15
  owner: unknown;
14
16
  }): Promise<AutouncleJsonItem>;
@@ -27,6 +29,4 @@ export declare class AutouncleTransformer {
27
29
  private getMileage;
28
30
  private has4WD;
29
31
  private getImagesField;
30
- private buildLargeImageUrl;
31
- private setMainImageFirst;
32
32
  }
@@ -15,16 +15,17 @@ const i18n_dictionaries_1 = require("@bytebrand/i18n-dictionaries");
15
15
  const lodash_1 = require("lodash");
16
16
  const moment = require("moment");
17
17
  const car_basic_data_scope_1 = require("@bytebrand/car-basic-data-scope");
18
- const config_service_1 = require("../services/config.service");
18
+ const services_1 = require("../services");
19
19
  const common_1 = require("@nestjs/common");
20
20
  const autouncle_contants_1 = require("../constants/autouncle.contants");
21
- const validator_utils_1 = require("../utils/validator.utils");
22
21
  let AutouncleTransformer = class AutouncleTransformer {
23
22
  configService;
23
+ imageService;
24
24
  translator;
25
25
  postalCodesService;
26
- constructor(configService) {
26
+ constructor(configService, imageService) {
27
27
  this.configService = configService;
28
+ this.imageService = imageService;
28
29
  const dict = { ...i18n_dictionaries_1.de, ...i18n_dictionaries_1.deVehicleProps, ...i18n_dictionaries_1.deVehicleDetailsPage };
29
30
  this.translator = new schema_tools_1.TranslatorExtended(dict);
30
31
  this.postalCodesService = car_basic_data_scope_1.DePostalCodesService.getInstance();
@@ -58,7 +59,7 @@ let AutouncleTransformer = class AutouncleTransformer {
58
59
  seller_name: 'auto.de',
59
60
  seller_id: (0, lodash_1.toString)((0, lodash_1.get)(car, 'metaData.ownerId', '')),
60
61
  description: (0, lodash_1.toString)((0, lodash_1.get)(car, 'offer.offerDescription', '')),
61
- images: this.getImagesField(autodeId, (0, lodash_1.get)(car, 'metaData.mainImageId', null), images),
62
+ images: this.getImagesField(car, images),
62
63
  fuel_economy: (0, lodash_1.toString)((0, lodash_1.get)(car, 'consumption.consumptionCombined', '')),
63
64
  co2_emission: (0, lodash_1.toString)((0, lodash_1.get)(car, 'environmentEmissions.co2', '')),
64
65
  co2_effiency_class: (0, lodash_1.toString)((0, lodash_1.get)(car, 'environmentEmissions.energyEfficiencyClass', '')),
@@ -195,40 +196,15 @@ let AutouncleTransformer = class AutouncleTransformer {
195
196
  has4WD() {
196
197
  return '';
197
198
  }
198
- getImagesField(carId, mainImageId, images) {
199
- const defImages = [
200
- { url: 'https://images.auto.de/carimage/noimage/7pNvWELuWhZX/large-cached.jpeg' },
201
- { url: 'https://images.auto.de/carimage/noimage/GvyXmrpaf1D6/large-cached.jpeg' },
202
- { url: 'https://images.auto.de/carimage/noimage/gY1zF8PXzH2W/large-cached.jpeg' },
203
- { url: 'https://images.auto.de/carimage/noimage/pFyfBsqBHEso/large-cached.jpeg' },
204
- ];
205
- if ((0, validator_utils_1.isNotEmptyArray)(images)) {
206
- const imageList = images.sort(this.setMainImageFirst(mainImageId)).map((image) => {
207
- return { url: this.buildLargeImageUrl(carId, image.imageIdentifier) };
208
- });
209
- if (imageList.length < 17) {
210
- imageList.push(...defImages);
211
- }
212
- return imageList;
213
- }
214
- return defImages;
215
- }
216
- buildLargeImageUrl(carId, imageId) {
217
- return `${this.configService.config.imageUrl}/carimage/${carId}/${imageId}/large`;
218
- }
219
- setMainImageFirst(mainImageId) {
220
- return (current, next) => {
221
- if (current.imageIdentifier === mainImageId)
222
- return -1;
223
- if (next.imageIdentifier === mainImageId)
224
- return 1;
225
- return 0;
226
- };
199
+ getImagesField(car, images) {
200
+ return this.imageService.getDefaultImages(car, images).map(url => {
201
+ return { url };
202
+ });
227
203
  }
228
204
  };
229
205
  AutouncleTransformer = __decorate([
230
206
  (0, common_1.Injectable)(),
231
- __metadata("design:paramtypes", [config_service_1.ConfigService])
207
+ __metadata("design:paramtypes", [services_1.ConfigService, services_1.ImagesService])
232
208
  ], AutouncleTransformer);
233
209
  exports.AutouncleTransformer = AutouncleTransformer;
234
210
  //# sourceMappingURL=autouncle.transformer.js.map