@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.
- package/dist/app.module.js +7 -5
- package/dist/app.module.js.map +1 -1
- package/dist/configs/alleskralle.config.js +3 -1
- package/dist/configs/alleskralle.config.js.map +1 -1
- package/dist/configs/as24.config.js.map +1 -1
- package/dist/configs/autoboerse.config.js +1 -1
- package/dist/configs/autouncle.config.js +1 -1
- package/dist/configs/config.d.ts +3 -1
- package/dist/configs/config.js +6 -4
- package/dist/configs/config.js.map +1 -1
- package/dist/configs/criteo.config.js +2 -1
- package/dist/configs/criteo.config.js.map +1 -1
- package/dist/configs/dasparking.config.js +1 -1
- package/dist/configs/facebook-shop.config.d.ts +5 -0
- package/dist/configs/facebook-shop.config.js +17 -0
- package/dist/configs/facebook-shop.config.js.map +1 -0
- package/dist/configs/index.d.ts +1 -0
- package/dist/configs/index.js +1 -0
- package/dist/configs/index.js.map +1 -1
- package/dist/configs/kleinanzeigefocus.config.js +2 -2
- package/dist/configs/kleinanzeigefocus.config.js.map +1 -1
- package/dist/configs/meinstadt.config.js +0 -1
- package/dist/configs/meinstadt.config.js.map +1 -1
- package/dist/configs/ooyyo.config.js +1 -0
- package/dist/configs/ooyyo.config.js.map +1 -1
- package/dist/constants/modix/index.d.ts +1 -0
- package/dist/constants/modix/index.js +1 -0
- package/dist/constants/modix/index.js.map +1 -1
- package/dist/enums/export-type.enum.d.ts +2 -1
- package/dist/enums/export-type.enum.js +1 -0
- package/dist/enums/export-type.enum.js.map +1 -1
- package/dist/enums/file-types.enum.js +0 -1
- package/dist/enums/file-types.enum.js.map +1 -1
- package/dist/enums/image-type.enum.d.ts +4 -0
- package/dist/enums/image-type.enum.js +9 -0
- package/dist/enums/image-type.enum.js.map +1 -0
- package/dist/enums/index.d.ts +2 -0
- package/dist/enums/index.js +2 -0
- package/dist/enums/index.js.map +1 -1
- package/dist/export.schema.d.ts +6 -2
- package/dist/export.schema.js +4 -0
- package/dist/export.schema.js.map +1 -1
- package/dist/exporters/auto24.exporter.js +1 -1
- package/dist/exporters/auto24.exporter.js.map +1 -1
- package/dist/exporters/facebook-shop.exporter.d.ts +12 -0
- package/dist/exporters/facebook-shop.exporter.js +63 -0
- package/dist/exporters/facebook-shop.exporter.js.map +1 -0
- package/dist/exporters/fb.exporter.js +1 -3
- package/dist/exporters/fb.exporter.js.map +1 -1
- package/dist/exporters/index.d.ts +1 -0
- package/dist/exporters/index.js +1 -0
- package/dist/exporters/index.js.map +1 -1
- package/dist/exporters/modix.exporter.js.map +1 -1
- package/dist/exporters/ooyyo.exporter.js +1 -1
- package/dist/exporters/ooyyo.exporter.js.map +1 -1
- package/dist/formats/facebook-shop.builder.d.ts +10 -0
- package/dist/formats/facebook-shop.builder.js +62 -0
- package/dist/formats/facebook-shop.builder.js.map +1 -0
- package/dist/formats/index.d.ts +1 -0
- package/dist/formats/index.js +1 -0
- package/dist/formats/index.js.map +1 -1
- package/dist/interfaces/export-item.interface.d.ts +26 -0
- package/dist/interfaces/params.interface.d.ts +1 -7
- package/dist/services/{marketing-images.service.d.ts → images.service.d.ts} +9 -5
- package/dist/services/images.service.js +151 -0
- package/dist/services/images.service.js.map +1 -0
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/transformers/auto24.transfomer.d.ts +4 -6
- package/dist/transformers/auto24.transfomer.js +10 -27
- package/dist/transformers/auto24.transfomer.js.map +1 -1
- package/dist/transformers/autouncle.transformer.d.ts +5 -5
- package/dist/transformers/autouncle.transformer.js +10 -34
- package/dist/transformers/autouncle.transformer.js.map +1 -1
- package/dist/transformers/facebook-shop.transformer.d.ts +18 -0
- package/dist/transformers/facebook-shop.transformer.js +96 -0
- package/dist/transformers/facebook-shop.transformer.js.map +1 -0
- package/dist/transformers/fb.transformer.d.ts +2 -3
- package/dist/transformers/fb.transformer.js +8 -26
- package/dist/transformers/fb.transformer.js.map +1 -1
- package/dist/transformers/google.transformer.d.ts +5 -5
- package/dist/transformers/google.transformer.js +10 -26
- package/dist/transformers/google.transformer.js.map +1 -1
- package/dist/transformers/index.d.ts +1 -0
- package/dist/transformers/index.js +1 -0
- package/dist/transformers/index.js.map +1 -1
- package/dist/transformers/meinstadt.transformer.d.ts +1 -1
- package/dist/transformers/meinstadt.transformer.js +3 -4
- package/dist/transformers/meinstadt.transformer.js.map +1 -1
- package/dist/transformers/modix.transformer.d.ts +1 -1
- package/dist/transformers/modix.transformer.js +3 -4
- package/dist/transformers/modix.transformer.js.map +1 -1
- package/dist/transformers/ooyyo.transformer.d.ts +4 -5
- package/dist/transformers/ooyyo.transformer.js +7 -17
- package/dist/transformers/ooyyo.transformer.js.map +1 -1
- package/dist/transformers/rubrikk.transformer.d.ts +4 -4
- package/dist/transformers/rubrikk.transformer.js +5 -13
- package/dist/transformers/rubrikk.transformer.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/app.module.ts +6 -12
- package/src/configs/alleskralle.config.ts +3 -1
- package/src/configs/as24.config.ts +1 -1
- package/src/configs/auto24.config.ts +1 -1
- package/src/configs/autoboerse.config.ts +2 -2
- package/src/configs/autouncle.config.ts +1 -1
- package/src/configs/config.ts +3 -2
- package/src/configs/criteo.config.ts +3 -2
- package/src/configs/dasparking.config.ts +1 -1
- package/src/configs/{kleinanzeigefocus.config.ts → facebook-shop.config.ts} +3 -3
- package/src/configs/index.ts +1 -0
- package/src/configs/kleinanzeigeFocus.config.ts +14 -0
- package/src/configs/meinstadt.config.ts +1 -1
- package/src/configs/ooyyo.config.ts +2 -1
- package/src/constants/modix/index.ts +1 -0
- package/src/enums/export-type.enum.ts +7 -6
- package/src/enums/file-types.enum.ts +1 -1
- package/src/enums/image-type.enum.ts +4 -0
- package/src/enums/index.ts +2 -0
- package/src/export.schema.ts +8 -3
- package/src/exporters/auto24.exporter.ts +2 -4
- package/src/exporters/facebook-shop.exporter.ts +51 -0
- package/src/exporters/fb.exporter.ts +6 -6
- package/src/exporters/index.ts +1 -0
- package/src/exporters/modix.exporter.ts +6 -5
- package/src/exporters/ooyyo.exporter.ts +3 -4
- package/src/formats/facebook-shop.builder.ts +69 -0
- package/src/formats/index.ts +1 -0
- package/src/interfaces/export-item.interface.ts +26 -0
- package/src/interfaces/params.interface.ts +1 -7
- package/src/services/images.service.ts +161 -0
- package/src/services/index.ts +1 -2
- package/src/transformers/auto24.transfomer.ts +8 -31
- package/src/transformers/autouncle.transformer.ts +9 -35
- package/src/transformers/facebook-shop.transformer.ts +94 -0
- package/src/transformers/fb.transformer.ts +16 -44
- package/src/transformers/google.transformer.ts +10 -28
- package/src/transformers/index.ts +1 -0
- package/src/transformers/meinstadt.transformer.ts +2 -3
- package/src/transformers/modix.transformer.ts +19 -10
- package/src/transformers/ooyyo.transformer.ts +4 -18
- package/src/transformers/rubrikk.transformer.ts +5 -16
- package/dist/services/marketing-images.service.js +0 -58
- package/dist/services/marketing-images.service.js.map +0 -1
- 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;
|
|
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"}
|
package/dist/formats/index.d.ts
CHANGED
package/dist/formats/index.js
CHANGED
|
@@ -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
|
|
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 {
|
|
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
|
|
7
|
+
export declare class ImagesService {
|
|
5
8
|
private readonly configService;
|
|
6
9
|
private readonly userService;
|
|
7
10
|
constructor(configService: ConfigService, userService: UserService);
|
|
8
|
-
|
|
9
|
-
|
|
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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"}
|
package/dist/services/index.d.ts
CHANGED
package/dist/services/index.js
CHANGED
|
@@ -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("./
|
|
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,
|
|
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
|
|
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
|
|
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:
|
|
49
|
+
image: transformedImages[0],
|
|
46
50
|
registration: this.getRegistrationField((0, lodash_1.get)(car, 'mainData.firstRegistration')),
|
|
47
|
-
images:
|
|
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", [
|
|
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":";;;;;;;;;;;;AAAA,0DAAqD;AACrD,oEAAkD;AAClD,
|
|
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
|
|
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:
|
|
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
|
|
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(
|
|
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(
|
|
199
|
-
|
|
200
|
-
{ url
|
|
201
|
-
|
|
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", [
|
|
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
|