@bytebrand/export-cars 1.21.34 → 1.21.35
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/export.schema.d.ts +2 -2
- package/dist/export.schema.js +1 -1
- package/dist/export.schema.js.map +1 -1
- package/dist/exporters/criteo.exporter.d.ts +12 -0
- package/dist/exporters/criteo.exporter.js +61 -0
- package/dist/exporters/criteo.exporter.js.map +1 -0
- 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/formats/google-xml.builder.d.ts +2 -2
- package/dist/formats/google-xml.builder.js.map +1 -1
- package/dist/interfaces/export-item.interface.d.ts +21 -0
- package/dist/transformers/criteo.transformer.d.ts +27 -0
- package/dist/transformers/criteo.transformer.js +161 -0
- package/dist/transformers/criteo.transformer.js.map +1 -0
- package/dist/transformers/google.transformer.js +4 -3
- package/dist/transformers/google.transformer.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/export.schema.ts +2 -1
- package/src/exporters/criteo.exporter.ts +46 -0
- package/src/exporters/index.ts +1 -0
- package/src/formats/google-xml.builder.ts +2 -2
- package/src/interfaces/export-item.interface.ts +19 -0
- package/src/transformers/criteo.transformer.ts +169 -0
- package/src/transformers/google.transformer.ts +4 -5
package/dist/export.schema.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AlleskralleConfig, As24Config, Auto24Config, AutouncleConfig, DasparkingConfig, EautoConfig, FbConfig, GoogleConfig, MarktdeConfig, MeinstadtConfig, OoyyoConfig, YescarConfig, KleinanzeigeFocusConfig, AutoboerseConfig, ByOwnerConfig, FacebookShopConfig, CriteoConfig, TrovitConfig, MitulaConfig, AwinConfig, EviumConfig, SantanderConfig } from './configs';
|
|
2
|
-
import { As24Exporter, Auto24Exporter, AutouncleExporter, ByOwnerExporter, FbExporter, GoogleExporter, MeinstadtExporter, MobileExporter, OoyyoExporter, ModixExporter, RubrikkExporter, FacebookShopExporter, TrovitExporter, AwinExporter, SantanderExporter } from './exporters';
|
|
2
|
+
import { As24Exporter, Auto24Exporter, AutouncleExporter, ByOwnerExporter, FbExporter, GoogleExporter, MeinstadtExporter, MobileExporter, OoyyoExporter, ModixExporter, RubrikkExporter, FacebookShopExporter, TrovitExporter, AwinExporter, SantanderExporter, CriteoExporter } from './exporters';
|
|
3
3
|
export declare const exportSchema: {
|
|
4
4
|
eauto: {
|
|
5
5
|
config: typeof EautoConfig;
|
|
@@ -63,7 +63,7 @@ export declare const exportSchema: {
|
|
|
63
63
|
};
|
|
64
64
|
criteo: {
|
|
65
65
|
config: typeof CriteoConfig;
|
|
66
|
-
exporter: typeof
|
|
66
|
+
exporter: typeof CriteoExporter;
|
|
67
67
|
};
|
|
68
68
|
facebookshop: {
|
|
69
69
|
config: typeof FacebookShopConfig;
|
package/dist/export.schema.js
CHANGED
|
@@ -67,7 +67,7 @@ exports.exportSchema = {
|
|
|
67
67
|
},
|
|
68
68
|
[enums_1.ExportType.CRITEO]: {
|
|
69
69
|
config: configs_1.CriteoConfig,
|
|
70
|
-
exporter: exporters_1.
|
|
70
|
+
exporter: exporters_1.CriteoExporter,
|
|
71
71
|
},
|
|
72
72
|
[enums_1.ExportType.FACEBOOK_SHOP]: {
|
|
73
73
|
config: configs_1.FacebookShopConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.schema.js","sourceRoot":"","sources":["../src/export.schema.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAErC,uCAuBmB;AACnB,
|
|
1
|
+
{"version":3,"file":"export.schema.js","sourceRoot":"","sources":["../src/export.schema.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAErC,uCAuBmB;AACnB,2CAiBqB;AAER,QAAA,YAAY,GAAG;IAC1B,CAAC,kBAAU,CAAC,KAAK,CAAC,EAAE;QAClB,MAAM,EAAE,qBAAW;QACnB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE;QACnB,MAAM,EAAE,sBAAY;QACpB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,OAAO,CAAC,EAAE;QACpB,MAAM,EAAE,uBAAa;QACrB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE;QACnB,MAAM,EAAE,sBAAY;QACpB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,EAAE,CAAC,EAAE;QACf,MAAM,EAAE,kBAAQ;QAChB,QAAQ,EAAE,sBAAU;KACrB;IACD,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE;QACnB,MAAM,EAAE,sBAAY;QACpB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,KAAK,CAAC,EAAE;QAClB,MAAM,EAAE,qBAAW;QACnB,QAAQ,EAAE,yBAAa;KACxB;IACD,CAAC,kBAAU,CAAC,SAAS,CAAC,EAAE;QACtB,MAAM,EAAE,yBAAe;QACvB,QAAQ,EAAE,6BAAiB;KAC5B;IACD,CAAC,kBAAU,CAAC,QAAQ,CAAC,EAAE;QACrB,MAAM,EAAE,uBAAa;QACrB,QAAQ,EAAE,2BAAe;KAC1B;IACD,CAAC,kBAAU,CAAC,SAAS,CAAC,EAAE;QACtB,MAAM,EAAE,yBAAe;QACvB,QAAQ,EAAE,6BAAiB;KAC5B;IACD,CAAC,kBAAU,CAAC,IAAI,CAAC,EAAE;QACjB,MAAM,EAAE,oBAAU;QAClB,QAAQ,EAAE,wBAAY;KACvB;IACD,CAAC,kBAAU,CAAC,WAAW,CAAC,EAAE;QACxB,MAAM,EAAE,2BAAiB;QACzB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE;QACvB,MAAM,EAAE,0BAAgB;QACxB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,kBAAkB,CAAC,EAAE;QAC/B,MAAM,EAAE,iCAAuB;QAC/B,QAAQ,EAAE,2BAAe;KAC1B;IACD,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE;QACvB,MAAM,EAAE,0BAAgB;QACxB,QAAQ,EAAE,yBAAa;KACxB;IACD,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE;QACnB,MAAM,EAAE,sBAAY;QACpB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,aAAa,CAAC,EAAE;QAC1B,MAAM,EAAE,4BAAkB;QAC1B,QAAQ,EAAE,gCAAoB;KAC/B;IACD,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE;QACnB,MAAM,EAAE,sBAAY;QACpB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE;QACnB,MAAM,EAAE,sBAAY;QACpB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,IAAI,CAAC,EAAE;QACjB,MAAM,EAAE,oBAAU;QAClB,QAAQ,EAAE,wBAAY;KACvB;IACD,CAAC,kBAAU,CAAC,KAAK,CAAC,EAAE;QAClB,MAAM,EAAE,qBAAW;QACnB,QAAQ,EAAE,0BAAc;KACzB;IACD,CAAC,kBAAU,CAAC,SAAS,CAAC,EAAE;QACtB,MAAM,EAAE,yBAAe;QACvB,QAAQ,EAAE,6BAAiB;KAC5B;CACF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ModuleRef } from '@nestjs/core';
|
|
2
|
+
import { CarService, ConfigService, LoaderService, RulesService } from '../services';
|
|
3
|
+
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
+
export declare class CriteoExporter implements Exporter {
|
|
5
|
+
private carService;
|
|
6
|
+
private configService;
|
|
7
|
+
private rulesService;
|
|
8
|
+
private loaderService;
|
|
9
|
+
private moduleRef;
|
|
10
|
+
constructor(carService: CarService, configService: ConfigService, rulesService: RulesService, loaderService: LoaderService, moduleRef: ModuleRef);
|
|
11
|
+
export(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
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.CriteoExporter = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@nestjs/core");
|
|
15
|
+
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
16
|
+
const services_1 = require("../services");
|
|
17
|
+
const google_xml_builder_1 = require("../formats/google-xml.builder");
|
|
18
|
+
const criteo_transformer_1 = require("../transformers/criteo.transformer");
|
|
19
|
+
let CriteoExporter = class CriteoExporter {
|
|
20
|
+
carService;
|
|
21
|
+
configService;
|
|
22
|
+
rulesService;
|
|
23
|
+
loaderService;
|
|
24
|
+
moduleRef;
|
|
25
|
+
constructor(carService, configService, rulesService, loaderService, moduleRef) {
|
|
26
|
+
this.carService = carService;
|
|
27
|
+
this.configService = configService;
|
|
28
|
+
this.rulesService = rulesService;
|
|
29
|
+
this.loaderService = loaderService;
|
|
30
|
+
this.moduleRef = moduleRef;
|
|
31
|
+
}
|
|
32
|
+
async export() {
|
|
33
|
+
const [fileName] = this.configService.config.outputFiles;
|
|
34
|
+
await cronicle_helper_1.CronicleUtils.ensureDir(this.configService.config.pathesConfig.localConvertedDirectory);
|
|
35
|
+
await cronicle_helper_1.CronicleUtils.emptyDir(this.configService.config.pathesConfig.localConvertedDirectory);
|
|
36
|
+
const googleXmlBuilder = new google_xml_builder_1.GoogleXmlBuilder(fileName);
|
|
37
|
+
await googleXmlBuilder.buildStart(this.configService.config.domain);
|
|
38
|
+
const criteoTransformer = await this.moduleRef.create(criteo_transformer_1.CriteoTransformer);
|
|
39
|
+
await this.loaderService.process(async (chunk) => {
|
|
40
|
+
chunk.data = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
41
|
+
for (const data of chunk.data) {
|
|
42
|
+
const car = await criteoTransformer.transform(data);
|
|
43
|
+
if (car)
|
|
44
|
+
await googleXmlBuilder.addItem(car);
|
|
45
|
+
this.carService.counter.countCar(data.images);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
await googleXmlBuilder.buildEnd();
|
|
49
|
+
console.log(this.carService.counter.getCountedCars());
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.CriteoExporter = CriteoExporter;
|
|
53
|
+
exports.CriteoExporter = CriteoExporter = __decorate([
|
|
54
|
+
(0, common_1.Injectable)(),
|
|
55
|
+
__metadata("design:paramtypes", [services_1.CarService,
|
|
56
|
+
services_1.ConfigService,
|
|
57
|
+
services_1.RulesService,
|
|
58
|
+
services_1.LoaderService,
|
|
59
|
+
core_1.ModuleRef])
|
|
60
|
+
], CriteoExporter);
|
|
61
|
+
//# sourceMappingURL=criteo.exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criteo.exporter.js","sourceRoot":"","sources":["../../src/exporters/criteo.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,uCAAyC;AAEzC,gEAA2D;AAG3D,0CAAqF;AACrF,sEAAiE;AAEjE,2EAAwE;AAGjE,IAAM,cAAc,GAApB,MAAM,cAAc;IAEjB;IACA;IACA;IACA;IACA;IALT,YACS,UAAsB,EACtB,aAA4B,EAC5B,YAA0B,EAC1B,aAA4B,EAC5B,SAAoB;QAJpB,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;IACzB,CAAC;IAEL,KAAK,CAAC,MAAM;QACX,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,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,gBAAgB,GAAG,IAAI,qCAAgB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sCAAiB,CAAC,CAAC;QAEzE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YAClE,KAAK,CAAC,IAAI,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;YAE/F,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;gBAC9B,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,GAAG;oBACN,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9C;QACF,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACvD,CAAC;CACD,CAAA;AAjCY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGS,qBAAU;QACP,wBAAa;QACd,uBAAY;QACX,wBAAa;QACjB,gBAAS;GANjB,cAAc,CAiC1B"}
|
|
@@ -2,6 +2,7 @@ export * from './as24.exporter';
|
|
|
2
2
|
export * from './auto24.exporter';
|
|
3
3
|
export * from './autouncle.exporter';
|
|
4
4
|
export * from './by-owner.exporter';
|
|
5
|
+
export * from './criteo.exporter';
|
|
5
6
|
export * from './fb.exporter';
|
|
6
7
|
export * from './google.exporter';
|
|
7
8
|
export * from './meinstadt.exporter';
|
package/dist/exporters/index.js
CHANGED
|
@@ -18,6 +18,7 @@ __exportStar(require("./as24.exporter"), exports);
|
|
|
18
18
|
__exportStar(require("./auto24.exporter"), exports);
|
|
19
19
|
__exportStar(require("./autouncle.exporter"), exports);
|
|
20
20
|
__exportStar(require("./by-owner.exporter"), exports);
|
|
21
|
+
__exportStar(require("./criteo.exporter"), exports);
|
|
21
22
|
__exportStar(require("./fb.exporter"), exports);
|
|
22
23
|
__exportStar(require("./google.exporter"), exports);
|
|
23
24
|
__exportStar(require("./meinstadt.exporter"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exporters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,oDAAkC;AAClC,uDAAqC;AACrC,sDAAoC;AACpC,gDAA8B;AAC9B,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,2DAAyC;AACzC,oDAAkC;AAClC,kDAAgC;AAChC,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exporters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,oDAAkC;AAClC,uDAAqC;AACrC,sDAAoC;AACpC,oDAAkC;AAClC,gDAA8B;AAC9B,oDAAkC;AAClC,uDAAqC;AACrC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,qDAAmC;AACnC,2DAAyC;AACzC,oDAAkC;AAClC,kDAAgC;AAChC,uDAAqC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { XMLBuilderBase } from '@bytebrand/cronicle-helper';
|
|
2
|
-
import { GoogleXmlItem, FbXmlItem } from '../interfaces';
|
|
2
|
+
import { GoogleXmlItem, FbXmlItem, CriteoXmlItem } from '../interfaces';
|
|
3
3
|
export declare class GoogleXmlBuilder extends XMLBuilderBase {
|
|
4
4
|
buildStart(url?: string): Promise<void>;
|
|
5
|
-
addItem(item: FbXmlItem | GoogleXmlItem): Promise<void>;
|
|
5
|
+
addItem(item: FbXmlItem | GoogleXmlItem | CriteoXmlItem): Promise<void>;
|
|
6
6
|
buildEnd(): Promise<void>;
|
|
7
7
|
private getInstallmentElement;
|
|
8
8
|
private escapeXML;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-xml.builder.js","sourceRoot":"","sources":["../../src/formats/google-xml.builder.ts"],"names":[],"mappings":";;;AAAA,gEAA4D;AAG5D,MAAa,gBAAiB,SAAQ,gCAAc;IAClD,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,MAAM,IAAI,CAAC,KAAK,CACd,8IAA8I,GAAG,SAAS,CAC3J,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA+
|
|
1
|
+
{"version":3,"file":"google-xml.builder.js","sourceRoot":"","sources":["../../src/formats/google-xml.builder.ts"],"names":[],"mappings":";;;AAAA,gEAA4D;AAG5D,MAAa,gBAAiB,SAAQ,gCAAc;IAClD,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,MAAM,IAAI,CAAC,KAAK,CACd,8IAA8I,GAAG,SAAS,CAC3J,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA+C;QAC3D,MAAM,OAAO,GAAW,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAU,EAAE;YAC3B,IAAI,GAAG,KAAK,aAAa,EAAE;gBACzB,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aAC9C;YAED,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACjG;iBAAM;gBACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1D;QACH,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,OAAO,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;IAEO,qBAAqB,CAAC,OAAe,EAAE,IAA2D;QACxG,OAAO,MAAM,OAAO;kBACN,IAAI,CAAC,aAAa;kBAClB,IAAI,CAAC,kBAAkB;UAC/B,OAAO,GAAG,CAAC;IACnB,CAAC;IAEO,SAAS,CAAC,GAA8B;QAC9C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACxD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACnC,CAAC;CACF;AA5CD,4CA4CC"}
|
|
@@ -132,6 +132,27 @@ export interface AutouncleJsonItem {
|
|
|
132
132
|
enviromental_sticker: string;
|
|
133
133
|
status: string;
|
|
134
134
|
}
|
|
135
|
+
export interface CriteoXmlItem {
|
|
136
|
+
id: string;
|
|
137
|
+
title: string;
|
|
138
|
+
description: string;
|
|
139
|
+
google_product_category: string;
|
|
140
|
+
product_type: string;
|
|
141
|
+
link: string;
|
|
142
|
+
image_link: string;
|
|
143
|
+
condition: string;
|
|
144
|
+
availability: string;
|
|
145
|
+
brand: any;
|
|
146
|
+
price: string;
|
|
147
|
+
sale_price: string;
|
|
148
|
+
energy_efficiency_class: string;
|
|
149
|
+
color: string;
|
|
150
|
+
installment: {
|
|
151
|
+
paybackPeriod: any;
|
|
152
|
+
monthlyInstallment: any;
|
|
153
|
+
};
|
|
154
|
+
custom_label_0: string;
|
|
155
|
+
}
|
|
135
156
|
export interface GoogleXmlItem {
|
|
136
157
|
id: string;
|
|
137
158
|
title: string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DataSchemes } from '@bytebrand/car-schema';
|
|
2
|
+
import { ConfigService, ImagesService, UserService } from '../services';
|
|
3
|
+
import { CriteoXmlItem } from '../interfaces';
|
|
4
|
+
export declare class CriteoTransformer {
|
|
5
|
+
private userService;
|
|
6
|
+
private configService;
|
|
7
|
+
private imageService;
|
|
8
|
+
private translator;
|
|
9
|
+
constructor(userService: UserService, configService: ConfigService, imageService: ImagesService);
|
|
10
|
+
transform({ car, images }: {
|
|
11
|
+
car: DataSchemes.Car;
|
|
12
|
+
images: Array<any>;
|
|
13
|
+
}): Promise<CriteoXmlItem>;
|
|
14
|
+
private getTitle;
|
|
15
|
+
private getDescription;
|
|
16
|
+
private getCategory;
|
|
17
|
+
private getBreadcrumbs;
|
|
18
|
+
private getLink;
|
|
19
|
+
private getRetailPrice;
|
|
20
|
+
private getPrice;
|
|
21
|
+
private getColor;
|
|
22
|
+
private mapState;
|
|
23
|
+
private getAvailability;
|
|
24
|
+
private getEnergyClass;
|
|
25
|
+
private getInstallment;
|
|
26
|
+
private getBrand;
|
|
27
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
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.CriteoTransformer = void 0;
|
|
13
|
+
const lodash_1 = require("lodash");
|
|
14
|
+
const car_description_1 = require("@bytebrand/car-description");
|
|
15
|
+
const schema_tools_1 = require("@bytebrand/schema-tools");
|
|
16
|
+
const i18n_dictionaries_1 = require("@bytebrand/i18n-dictionaries");
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const services_1 = require("../services");
|
|
19
|
+
let CriteoTransformer = class CriteoTransformer {
|
|
20
|
+
userService;
|
|
21
|
+
configService;
|
|
22
|
+
imageService;
|
|
23
|
+
translator;
|
|
24
|
+
constructor(userService, configService, imageService) {
|
|
25
|
+
this.userService = userService;
|
|
26
|
+
this.configService = configService;
|
|
27
|
+
this.imageService = imageService;
|
|
28
|
+
const dict = { ...i18n_dictionaries_1.de, ...i18n_dictionaries_1.deVehicleProps, ...i18n_dictionaries_1.deVehicleDetailsPage };
|
|
29
|
+
this.translator = new schema_tools_1.TranslatorExtended(dict);
|
|
30
|
+
}
|
|
31
|
+
async transform({ car, images }) {
|
|
32
|
+
const carId = (0, lodash_1.toString)((0, lodash_1.get)(car, '_id', ''));
|
|
33
|
+
const transformedImages = await this.imageService.getImages(car, images, this.configService.config.imageType, false);
|
|
34
|
+
return {
|
|
35
|
+
id: carId,
|
|
36
|
+
title: this.getTitle(car),
|
|
37
|
+
description: await this.getDescription(car),
|
|
38
|
+
google_product_category: this.getBreadcrumbs(car),
|
|
39
|
+
product_type: this.getCategory(car),
|
|
40
|
+
link: this.getLink(car),
|
|
41
|
+
image_link: transformedImages[0],
|
|
42
|
+
condition: this.mapState(car),
|
|
43
|
+
availability: this.getAvailability(car),
|
|
44
|
+
brand: (0, lodash_1.get)(car, 'mainData.make', ''),
|
|
45
|
+
price: this.getRetailPrice(car),
|
|
46
|
+
sale_price: this.getPrice(car),
|
|
47
|
+
energy_efficiency_class: this.getEnergyClass(car),
|
|
48
|
+
color: this.getColor(car),
|
|
49
|
+
installment: this.getInstallment(car),
|
|
50
|
+
custom_label_0: `${this.getInstallment(car)} EUR mtl.`,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
getTitle(car) {
|
|
54
|
+
const model = (0, lodash_1.toString)((0, lodash_1.get)(car, 'mainData.model', ''));
|
|
55
|
+
return (0, lodash_1.trim)((0, lodash_1.escape)((0, lodash_1.join)([this.getBrand(car), model], ' ')));
|
|
56
|
+
}
|
|
57
|
+
async getDescription(car) {
|
|
58
|
+
if (this.configService.config.isCriteo) {
|
|
59
|
+
return '0€ Anzahlung möglich. 14 Tage Geld-zurück-Garantie. Lieferung bis vor die Haustür. 1 Jahr Garantie inklusive. Deutschlands großes Autoportal.';
|
|
60
|
+
}
|
|
61
|
+
const dealerId = (0, lodash_1.get)(car, 'metaData.ownerId');
|
|
62
|
+
const descriptionSchema = await this.userService.getDefaultSummaryByDealerId(dealerId);
|
|
63
|
+
const descriptionBuilder = car_description_1.CarDescriptionFactory.create(car_description_1.DescriptionTypeEnum.Mobile, car);
|
|
64
|
+
return descriptionBuilder.transform(descriptionSchema);
|
|
65
|
+
}
|
|
66
|
+
getCategory(car) {
|
|
67
|
+
return this.translator.translateVal((0, lodash_1.get)(car, 'mainData.category', ''));
|
|
68
|
+
}
|
|
69
|
+
getBreadcrumbs(car) {
|
|
70
|
+
const make = (0, lodash_1.get)(car, 'mainData.make', '');
|
|
71
|
+
const model = (0, lodash_1.get)(car, 'mainData.model', '');
|
|
72
|
+
return `${make} ${model}`;
|
|
73
|
+
}
|
|
74
|
+
getLink(car) {
|
|
75
|
+
const autodeId = (0, lodash_1.get)(car, '_id', '');
|
|
76
|
+
if (this.configService.config.isCriteo) {
|
|
77
|
+
return `https://www.${this.configService.config.domain}/search/vehicle/${autodeId}?source=criteo&medium=cpc&campaign=retargeting`;
|
|
78
|
+
}
|
|
79
|
+
return `https://www.${this.configService.config.domain}/search/vehicle/${autodeId}`;
|
|
80
|
+
}
|
|
81
|
+
getRetailPrice(car) {
|
|
82
|
+
const retailPrice = (0, lodash_1.get)(car, 'recommendedRetailPrice', '');
|
|
83
|
+
if (retailPrice) {
|
|
84
|
+
return `${(0, lodash_1.round)(retailPrice, 2)} EUR`;
|
|
85
|
+
}
|
|
86
|
+
return this.getPrice(car);
|
|
87
|
+
}
|
|
88
|
+
getPrice(car) {
|
|
89
|
+
const price = (0, lodash_1.get)(car, 'price.currentSalesPrice', 0);
|
|
90
|
+
return `${(0, lodash_1.round)(price, 2)} EUR`;
|
|
91
|
+
}
|
|
92
|
+
getColor(car) {
|
|
93
|
+
let colorSelection = (0, lodash_1.get)(car, 'exterior.exteriorColor', 'other');
|
|
94
|
+
if (!colorSelection || colorSelection === 'selector_unknown') {
|
|
95
|
+
colorSelection = 'other';
|
|
96
|
+
}
|
|
97
|
+
return this.translator.translateVal(colorSelection);
|
|
98
|
+
}
|
|
99
|
+
mapState(car) {
|
|
100
|
+
const available = {
|
|
101
|
+
selector_condition_new: 'Neu',
|
|
102
|
+
selector_condition_used: 'Gebraucht',
|
|
103
|
+
selector_unknown: 'Gebraucht',
|
|
104
|
+
};
|
|
105
|
+
const condition = (0, lodash_1.get)(car, 'mainData.condition', 'selector_unknown');
|
|
106
|
+
return (0, lodash_1.get)(available, condition);
|
|
107
|
+
}
|
|
108
|
+
getAvailability(car) {
|
|
109
|
+
const available = {
|
|
110
|
+
selector_availabilityMode_fromDate: 'Ab einem bestimmten Datum',
|
|
111
|
+
selector_availabilityMode_unknown: 'Ab einem bestimmten Datum',
|
|
112
|
+
selector_availabilityMode_always: 'Sofort',
|
|
113
|
+
};
|
|
114
|
+
const availability = (0, lodash_1.get)(car, 'offer.availabilityMode', 'selector_availabilityMode_unknown');
|
|
115
|
+
return (0, lodash_1.get)(available, availability);
|
|
116
|
+
}
|
|
117
|
+
getEnergyClass(car) {
|
|
118
|
+
const available = {
|
|
119
|
+
selector_energyEfficiencyClass_a: 'A',
|
|
120
|
+
selector_energyEfficiencyClass_ap: 'A+',
|
|
121
|
+
selector_energyEfficiencyClass_app: 'A++',
|
|
122
|
+
selector_energyEfficiencyClass_appp: 'A+++',
|
|
123
|
+
selector_energyEfficiencyClass_b: 'B',
|
|
124
|
+
selector_energyEfficiencyClass_c: 'C',
|
|
125
|
+
selector_energyEfficiencyClass_d: 'D',
|
|
126
|
+
selector_energyEfficiencyClass_e: 'E',
|
|
127
|
+
selector_energyEfficiencyClass_f: 'F',
|
|
128
|
+
selector_energyEfficiencyClass_g: 'G',
|
|
129
|
+
selector_unknown: 'default',
|
|
130
|
+
};
|
|
131
|
+
const energyClass = (0, lodash_1.get)(car, 'environmentEmissions.energyEfficiencyClass', 'selector_unknown');
|
|
132
|
+
return (0, lodash_1.get)(available, energyClass);
|
|
133
|
+
}
|
|
134
|
+
getInstallment(car) {
|
|
135
|
+
const monthlyInstallment = (0, lodash_1.round)((0, lodash_1.get)(car, 'rate.monthlyInstallment', null));
|
|
136
|
+
const paybackPeriod = (0, lodash_1.round)((0, lodash_1.get)(car, 'rate.paybackPeriod', null));
|
|
137
|
+
return {
|
|
138
|
+
paybackPeriod,
|
|
139
|
+
monthlyInstallment,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
getBrand(car) {
|
|
143
|
+
const make = (0, lodash_1.get)(car, 'mainData.make', '');
|
|
144
|
+
switch (make) {
|
|
145
|
+
case 'Mercedes-Benz':
|
|
146
|
+
return 'Mercedes';
|
|
147
|
+
case 'Volkswagen':
|
|
148
|
+
return 'VW';
|
|
149
|
+
default:
|
|
150
|
+
return make;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
exports.CriteoTransformer = CriteoTransformer;
|
|
155
|
+
exports.CriteoTransformer = CriteoTransformer = __decorate([
|
|
156
|
+
(0, common_1.Injectable)(),
|
|
157
|
+
__metadata("design:paramtypes", [services_1.UserService,
|
|
158
|
+
services_1.ConfigService,
|
|
159
|
+
services_1.ImagesService])
|
|
160
|
+
], CriteoTransformer);
|
|
161
|
+
//# sourceMappingURL=criteo.transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criteo.transformer.js","sourceRoot":"","sources":["../../src/transformers/criteo.transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,8 @@ let GoogleTransformer = class GoogleTransformer {
|
|
|
33
33
|
this.translator = new schema_tools_1.TranslatorExtended(dict);
|
|
34
34
|
}
|
|
35
35
|
async transform({ car, images }) {
|
|
36
|
-
if (!this.
|
|
37
|
-
|
|
38
|
-
return null;
|
|
36
|
+
if (!this.checkCarValidity(car, images))
|
|
37
|
+
return null;
|
|
39
38
|
const carId = (0, lodash_1.toString)((0, lodash_1.get)(car, '_id', ''));
|
|
40
39
|
const transformedImages = await this.imageService.getImages(car, images, this.configService.config.imageType, false);
|
|
41
40
|
return {
|
|
@@ -70,6 +69,8 @@ let GoogleTransformer = class GoogleTransformer {
|
|
|
70
69
|
};
|
|
71
70
|
}
|
|
72
71
|
checkCarValidity(car, images) {
|
|
72
|
+
if (images.length === 0)
|
|
73
|
+
return false;
|
|
73
74
|
if (!this.mapBodyStyle(car))
|
|
74
75
|
return false;
|
|
75
76
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.transformer.js","sourceRoot":"","sources":["../../src/transformers/google.transformer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA2F;AAC3F,gEAAwF;AAExF,0DAA6D;AAC7D,oEAAwF;AAExF,2CAA4C;AAC5C,0CAA4F;AAI5F,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAG3B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAIlB;IACA;IACA;IACS;IANX,UAAU,CAAqB;IAEvC,YACU,WAAwB,EACxB,aAA4B,EAC5B,YAA2B,EAClB,gBAAoC;QAH7C,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAe;QAClB,qBAAgB,GAAhB,gBAAgB,CAAoB;QAErD,MAAM,IAAI,GAAG,EAAE,GAAG,sBAAE,EAAE,GAAG,kCAAc,EAAE,GAAG,wCAAoB,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,iCAAkB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAgD;QAC3E,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"google.transformer.js","sourceRoot":"","sources":["../../src/transformers/google.transformer.ts"],"names":[],"mappings":"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"}
|