@bytebrand/export-cars 1.3.2 → 1.4.1
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/config/alleskralle.config.js +2 -3
- package/dist/config/alleskralle.config.js.map +1 -1
- package/dist/config/as24.config.js +0 -1
- package/dist/config/as24.config.js.map +1 -1
- package/dist/config/auto24.config.js +2 -3
- package/dist/config/auto24.config.js.map +1 -1
- package/dist/config/autouncle.config.js +0 -1
- package/dist/config/autouncle.config.js.map +1 -1
- package/dist/config/by-owner.config.js +0 -1
- package/dist/config/by-owner.config.js.map +1 -1
- package/dist/config/config.d.ts +5 -6
- package/dist/config/config.js +5 -9
- package/dist/config/config.js.map +1 -1
- package/dist/config/criteo.config.d.ts +5 -0
- package/dist/config/criteo.config.js +14 -0
- package/dist/config/criteo.config.js.map +1 -0
- package/dist/config/dasparking.config.js +2 -3
- package/dist/config/dasparking.config.js.map +1 -1
- package/dist/config/eauto.config.js +0 -1
- package/dist/config/eauto.config.js.map +1 -1
- package/dist/config/kleinanzeigeFocus.config.js +2 -1
- package/dist/config/kleinanzeigeFocus.config.js.map +1 -1
- package/dist/config/meinstadt.config.js +5 -1
- package/dist/config/meinstadt.config.js.map +1 -1
- package/dist/config/ooyyo.config.js +5 -1
- package/dist/config/ooyyo.config.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.d.ts +8 -0
- package/dist/enums/file-types.enum.js +13 -0
- package/dist/enums/file-types.enum.js.map +1 -0
- package/dist/enums/index.d.ts +2 -0
- package/dist/enums/index.js +19 -0
- package/dist/enums/index.js.map +1 -0
- package/dist/export.schema.d.ts +5 -0
- package/dist/export.schema.js +22 -17
- package/dist/export.schema.js.map +1 -1
- package/dist/exporters/as24.exporter.d.ts +5 -4
- package/dist/exporters/as24.exporter.js +22 -22
- package/dist/exporters/as24.exporter.js.map +1 -1
- package/dist/exporters/auto24.exporter.d.ts +3 -4
- package/dist/exporters/auto24.exporter.js +13 -14
- package/dist/exporters/auto24.exporter.js.map +1 -1
- package/dist/exporters/autouncle.exporter.d.ts +4 -5
- package/dist/exporters/autouncle.exporter.js +16 -13
- package/dist/exporters/autouncle.exporter.js.map +1 -1
- package/dist/exporters/by-owner.exporter.d.ts +5 -3
- package/dist/exporters/by-owner.exporter.js +20 -17
- package/dist/exporters/by-owner.exporter.js.map +1 -1
- package/dist/exporters/fb.exporter.d.ts +3 -5
- package/dist/exporters/fb.exporter.js +15 -13
- package/dist/exporters/fb.exporter.js.map +1 -1
- package/dist/exporters/google.exporter.d.ts +3 -5
- package/dist/exporters/google.exporter.js +19 -21
- package/dist/exporters/google.exporter.js.map +1 -1
- package/dist/exporters/meinstadt.exporter.d.ts +1 -4
- package/dist/exporters/meinstadt.exporter.js +5 -8
- package/dist/exporters/meinstadt.exporter.js.map +1 -1
- package/dist/exporters/mobile.exporter.d.ts +1 -4
- package/dist/exporters/mobile.exporter.js +11 -12
- package/dist/exporters/mobile.exporter.js.map +1 -1
- package/dist/exporters/modix.exporter.d.ts +1 -3
- package/dist/exporters/modix.exporter.js +4 -6
- package/dist/exporters/modix.exporter.js.map +1 -1
- package/dist/exporters/ooyyo.exporter.d.ts +3 -4
- package/dist/exporters/ooyyo.exporter.js +11 -9
- package/dist/exporters/ooyyo.exporter.js.map +1 -1
- package/dist/exporters/rubrikk.exporter.d.ts +4 -5
- package/dist/exporters/rubrikk.exporter.js +13 -11
- package/dist/exporters/rubrikk.exporter.js.map +1 -1
- package/dist/formats/google-xml.builder.js +1 -1
- package/dist/services/index.d.ts +5 -0
- package/dist/services/index.js +22 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/mapping.service.js +2 -2
- package/dist/services/mapping.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -0
- package/dist/services/user.service.js +3 -0
- package/dist/services/user.service.js.map +1 -1
- package/dist/transformers/as24.transformer.d.ts +3 -1
- package/dist/transformers/as24.transformer.js +6 -3
- package/dist/transformers/as24.transformer.js.map +1 -1
- package/dist/transformers/mobile.transformer.js +2 -3
- package/dist/transformers/mobile.transformer.js.map +1 -1
- package/dist/transformers/rubrikk.transformer.d.ts +1 -1
- package/dist/transformers/rubrikk.transformer.js +4 -4
- package/dist/transformers/rubrikk.transformer.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/config/alleskralle.config.ts +2 -3
- package/src/config/as24.config.ts +0 -1
- package/src/config/auto24.config.ts +2 -3
- package/src/config/autouncle.config.ts +0 -1
- package/src/config/by-owner.config.ts +0 -1
- package/src/config/config.ts +6 -10
- package/src/config/criteo.config.ts +11 -0
- package/src/config/dasparking.config.ts +2 -3
- package/src/config/eauto.config.ts +0 -1
- package/src/config/kleinanzeigeFocus.config.ts +2 -1
- package/src/config/meinstadt.config.ts +5 -1
- package/src/config/ooyyo.config.ts +5 -1
- package/src/enums/export-type.enum.ts +1 -0
- package/src/enums/file-types.enum.ts +8 -0
- package/src/enums/index.ts +2 -0
- package/src/export.schema.ts +6 -1
- package/src/exporters/as24.exporter.ts +23 -24
- package/src/exporters/auto24.exporter.ts +8 -10
- package/src/exporters/autouncle.exporter.ts +9 -7
- package/src/exporters/by-owner.exporter.ts +12 -15
- package/src/exporters/fb.exporter.ts +8 -7
- package/src/exporters/google.exporter.ts +12 -15
- package/src/exporters/meinstadt.exporter.ts +2 -5
- package/src/exporters/mobile.exporter.ts +8 -8
- package/src/exporters/modix.exporter.ts +1 -3
- package/src/exporters/ooyyo.exporter.ts +5 -4
- package/src/exporters/rubrikk.exporter.ts +12 -8
- package/src/formats/google-xml.builder.ts +1 -1
- package/src/services/index.ts +5 -0
- package/src/services/mapping.service.ts +2 -2
- package/src/services/user.service.ts +5 -0
- package/src/transformers/as24.transformer.ts +4 -2
- package/src/transformers/mobile.transformer.ts +2 -3
- package/src/transformers/rubrikk.transformer.ts +3 -4
- package/dist/utils/parser.utils.d.ts +0 -3
- package/dist/utils/parser.utils.js +0 -20
- package/dist/utils/parser.utils.js.map +0 -1
- package/src/utils/parser.utils.ts +0 -17
|
@@ -10,51 +10,49 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.As24Exporter = void 0;
|
|
13
|
-
const
|
|
14
|
-
const loader_service_1 = require("../services/loader.service");
|
|
13
|
+
const services_1 = require("../services");
|
|
15
14
|
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
16
15
|
const common_1 = require("@nestjs/common");
|
|
17
16
|
const core_1 = require("@nestjs/core");
|
|
18
17
|
const as24_transformer_1 = require("../transformers/as24.transformer");
|
|
19
|
-
const user_service_1 = require("../services/user.service");
|
|
20
18
|
const lodash_1 = require("lodash");
|
|
21
19
|
const converter_utils_1 = require("../utils/converter.utils");
|
|
22
20
|
const promises_1 = require("fs/promises");
|
|
23
21
|
const path_1 = require("path");
|
|
24
22
|
const zipper_1 = require("@bytebrand/zipper");
|
|
23
|
+
const enums_1 = require("../enums");
|
|
24
|
+
const services_2 = require("../services");
|
|
25
25
|
let As24Exporter = class As24Exporter {
|
|
26
26
|
configService;
|
|
27
27
|
loaderService;
|
|
28
28
|
userService;
|
|
29
29
|
moduleRef;
|
|
30
|
-
|
|
30
|
+
carService;
|
|
31
|
+
rulesService;
|
|
32
|
+
constructor(configService, loaderService, userService, moduleRef, carService, rulesService) {
|
|
31
33
|
this.configService = configService;
|
|
32
34
|
this.loaderService = loaderService;
|
|
33
35
|
this.userService = userService;
|
|
34
36
|
this.moduleRef = moduleRef;
|
|
37
|
+
this.carService = carService;
|
|
38
|
+
this.rulesService = rulesService;
|
|
35
39
|
}
|
|
36
40
|
async export() {
|
|
37
41
|
await cronicle_helper_1.CronicleUtils.ensureDir(this.configService.config.pathesConfig.localConvertedDirectory);
|
|
38
42
|
await cronicle_helper_1.CronicleUtils.emptyDir(this.configService.config.pathesConfig.localConvertedDirectory);
|
|
39
43
|
const as24Transformer = await this.moduleRef.create(as24_transformer_1.As24Transformer);
|
|
40
44
|
const descriptionSchemas = {};
|
|
41
|
-
for (const dealerId of this.configService.config.dealersList) {
|
|
42
|
-
descriptionSchemas[dealerId] = await this.userService.getDefaultSummaryByDealerId(dealerId);
|
|
43
|
-
}
|
|
44
45
|
const processedDealers = [];
|
|
45
46
|
await this.loaderService.process(async (chunk) => {
|
|
46
|
-
|
|
47
|
+
const chunkData = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
48
|
+
if (chunk && chunkData) {
|
|
47
49
|
for (let i = 0; i < chunk.data.length; i += 1) {
|
|
48
50
|
const data = chunk.data[i];
|
|
49
51
|
const ownerId = (0, lodash_1.get)(data.car, 'metaData.ownerId', null);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const transformedDataCSV = `${(0, converter_utils_1.convertToCSV)(transformedData)}\n`;
|
|
55
|
-
await (0, promises_1.writeFile)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${ownerId}.csv`, Buffer.from(transformedDataCSV), { flag: 'a' });
|
|
56
|
-
(0, lodash_1.union)([ownerId], processedDealers);
|
|
57
|
-
}
|
|
52
|
+
const transformedData = await as24Transformer.transform(data.car, descriptionSchemas);
|
|
53
|
+
const transformedDataCSV = `${(0, converter_utils_1.convertToCSV)(transformedData)}\n`;
|
|
54
|
+
await (0, promises_1.writeFile)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${ownerId}.${enums_1.FileTypes.csv}`, Buffer.from(transformedDataCSV), { flag: 'a' });
|
|
55
|
+
(0, lodash_1.union)([ownerId], processedDealers);
|
|
58
56
|
}
|
|
59
57
|
chunk.data = null;
|
|
60
58
|
}
|
|
@@ -62,8 +60,8 @@ let As24Exporter = class As24Exporter {
|
|
|
62
60
|
for (const dealer of processedDealers) {
|
|
63
61
|
const now = new Date();
|
|
64
62
|
const d = `${now.getFullYear()}${now.getMonth() + 1}${now.getDate()}`;
|
|
65
|
-
const fileCSV = (0, path_1.normalize)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${dealer}.csv`);
|
|
66
|
-
const fileZIP = (0, path_1.normalize)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${d}_${dealer}.zip`);
|
|
63
|
+
const fileCSV = (0, path_1.normalize)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${dealer}.${enums_1.FileTypes.csv}`);
|
|
64
|
+
const fileZIP = (0, path_1.normalize)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${d}_${dealer}.${enums_1.FileTypes.zip}`);
|
|
67
65
|
if (await cronicle_helper_1.CronicleUtils.exists(fileCSV)) {
|
|
68
66
|
await zipper_1.Zipper.zip({ fileList: [fileCSV], dest: fileZIP });
|
|
69
67
|
}
|
|
@@ -72,10 +70,12 @@ let As24Exporter = class As24Exporter {
|
|
|
72
70
|
};
|
|
73
71
|
As24Exporter = __decorate([
|
|
74
72
|
(0, common_1.Injectable)(),
|
|
75
|
-
__metadata("design:paramtypes", [
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
core_1.ModuleRef
|
|
73
|
+
__metadata("design:paramtypes", [services_1.ConfigService,
|
|
74
|
+
services_1.LoaderService,
|
|
75
|
+
services_1.UserService,
|
|
76
|
+
core_1.ModuleRef,
|
|
77
|
+
services_2.CarService,
|
|
78
|
+
services_2.RulesService])
|
|
79
79
|
], As24Exporter);
|
|
80
80
|
exports.As24Exporter = As24Exporter;
|
|
81
81
|
//# sourceMappingURL=as24.exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"as24.exporter.js","sourceRoot":"","sources":["../../src/exporters/as24.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"as24.exporter.js","sourceRoot":"","sources":["../../src/exporters/as24.exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { CarService } from '../services
|
|
2
|
-
import { ConfigService } from '../services/config.service';
|
|
1
|
+
import { CarService, RulesService, ConfigService, LoaderService } from '../services';
|
|
3
2
|
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
-
import { LoaderService } from '../services/loader.service';
|
|
5
3
|
import { ModuleRef } from '@nestjs/core';
|
|
6
4
|
export declare class Auto24Exporter implements Exporter {
|
|
7
5
|
private carService;
|
|
8
6
|
private configService;
|
|
9
7
|
private loaderService;
|
|
10
8
|
private moduleRef;
|
|
11
|
-
|
|
9
|
+
private rulesService;
|
|
10
|
+
constructor(carService: CarService, configService: ConfigService, loaderService: LoaderService, moduleRef: ModuleRef, rulesService: RulesService);
|
|
12
11
|
export(): Promise<void>;
|
|
13
12
|
}
|
|
@@ -11,9 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Auto24Exporter = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const
|
|
15
|
-
const config_service_1 = require("../services/config.service");
|
|
16
|
-
const loader_service_1 = require("../services/loader.service");
|
|
14
|
+
const services_1 = require("../services");
|
|
17
15
|
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
18
16
|
const lodash_1 = require("lodash");
|
|
19
17
|
const core_1 = require("@nestjs/core");
|
|
@@ -25,11 +23,13 @@ let Auto24Exporter = class Auto24Exporter {
|
|
|
25
23
|
configService;
|
|
26
24
|
loaderService;
|
|
27
25
|
moduleRef;
|
|
28
|
-
|
|
26
|
+
rulesService;
|
|
27
|
+
constructor(carService, configService, loaderService, moduleRef, rulesService) {
|
|
29
28
|
this.carService = carService;
|
|
30
29
|
this.configService = configService;
|
|
31
30
|
this.loaderService = loaderService;
|
|
32
31
|
this.moduleRef = moduleRef;
|
|
32
|
+
this.rulesService = rulesService;
|
|
33
33
|
}
|
|
34
34
|
async export() {
|
|
35
35
|
for (const file of this.configService.config.outputFiles) {
|
|
@@ -40,18 +40,16 @@ let Auto24Exporter = class Auto24Exporter {
|
|
|
40
40
|
const xmlBuilder = new auto24_xml_builder_1.Auto24XmlBuilder(fileXml);
|
|
41
41
|
const auto24Transformer = await this.moduleRef.create(auto24_transfomer_1.Auto24Transformer);
|
|
42
42
|
await this.loaderService.process(async (chunk) => {
|
|
43
|
-
|
|
43
|
+
const chunkData = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
44
|
+
if (chunk && chunkData) {
|
|
44
45
|
if ((0, lodash_1.toNumber)(chunk.id) === 0) {
|
|
45
46
|
await xmlBuilder.buildStart(chunk.total);
|
|
46
47
|
}
|
|
47
48
|
for (let i = 0; i < chunk.data.length; i += 1) {
|
|
48
49
|
const data = chunk.data[i];
|
|
49
50
|
const { car, images } = data;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
await xmlBuilder.addItem(auto24Transformer.transform(car, images), this.configService.config.location);
|
|
53
|
-
this.carService.counter.countCar(images);
|
|
54
|
-
}
|
|
51
|
+
await xmlBuilder.addItem(auto24Transformer.transform(car, images), this.configService.config.location);
|
|
52
|
+
this.carService.counter.countCar(images);
|
|
55
53
|
}
|
|
56
54
|
chunk.data = null;
|
|
57
55
|
}
|
|
@@ -65,10 +63,11 @@ let Auto24Exporter = class Auto24Exporter {
|
|
|
65
63
|
};
|
|
66
64
|
Auto24Exporter = __decorate([
|
|
67
65
|
(0, common_1.Injectable)(),
|
|
68
|
-
__metadata("design:paramtypes", [
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
core_1.ModuleRef
|
|
66
|
+
__metadata("design:paramtypes", [services_1.CarService,
|
|
67
|
+
services_1.ConfigService,
|
|
68
|
+
services_1.LoaderService,
|
|
69
|
+
core_1.ModuleRef,
|
|
70
|
+
services_1.RulesService])
|
|
72
71
|
], Auto24Exporter);
|
|
73
72
|
exports.Auto24Exporter = Auto24Exporter;
|
|
74
73
|
//# sourceMappingURL=auto24.exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto24.exporter.js","sourceRoot":"","sources":["../../src/exporters/auto24.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"auto24.exporter.js","sourceRoot":"","sources":["../../src/exporters/auto24.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0CAAqF;AAGrF,gEAA2D;AAC3D,mCAAkC;AAClC,uCAAyC;AACzC,sEAAiE;AACjE,yEAAsE;AACtE,8CAA2C;AAGpC,IAAM,cAAc,GAApB,MAAM,cAAc;IAEf;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,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,+BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,MAAM,+BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9C;QAED,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QAEhE,MAAM,UAAU,GAAG,IAAI,qCAAgB,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAiB,CAAC,CAAC;QAEzE,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,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;oBAC5B,MAAM,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC1C;gBAED,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,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACvG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC1C;gBACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAEtD,IAAI,MAAM,EAAE;YACV,MAAM,eAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACzD;IACH,CAAC;CACF,CAAA;AA9CY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGW,qBAAU;QACP,wBAAa;QACb,wBAAa;QACjB,gBAAS;QACN,uBAAY;GANzB,cAAc,CA8C1B;AA9CY,wCAAc"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { CarService } from '../services
|
|
2
|
-
import { ConfigService } from '../services/config.service';
|
|
1
|
+
import { CarService, RulesService, ConfigService, LoaderService } from '../services';
|
|
3
2
|
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
-
import { LoaderService } from '../services/loader.service';
|
|
5
3
|
import { ModuleRef } from '@nestjs/core';
|
|
6
|
-
import {
|
|
4
|
+
import { UserService } from '../services';
|
|
7
5
|
export declare class AutouncleExporter implements Exporter {
|
|
8
6
|
private carService;
|
|
9
7
|
private configService;
|
|
10
8
|
private loaderService;
|
|
11
9
|
private rulesService;
|
|
12
10
|
private moduleRef;
|
|
13
|
-
|
|
11
|
+
private readonly userService;
|
|
12
|
+
constructor(carService: CarService, configService: ConfigService, loaderService: LoaderService, rulesService: RulesService, moduleRef: ModuleRef, userService: UserService);
|
|
14
13
|
export(): Promise<void>;
|
|
15
14
|
}
|
|
@@ -11,32 +11,34 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AutouncleExporter = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const
|
|
15
|
-
const config_service_1 = require("../services/config.service");
|
|
16
|
-
const loader_service_1 = require("../services/loader.service");
|
|
14
|
+
const services_1 = require("../services");
|
|
17
15
|
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
18
16
|
const core_1 = require("@nestjs/core");
|
|
19
17
|
const autouncle_json_builder_1 = require("../formats/autouncle-json.builder");
|
|
20
18
|
const autouncle_transformer_1 = require("../transformers/autouncle.transformer");
|
|
21
19
|
const lodash_1 = require("lodash");
|
|
22
|
-
const
|
|
20
|
+
const enums_1 = require("../enums");
|
|
21
|
+
const services_2 = require("../services");
|
|
23
22
|
let AutouncleExporter = class AutouncleExporter {
|
|
24
23
|
carService;
|
|
25
24
|
configService;
|
|
26
25
|
loaderService;
|
|
27
26
|
rulesService;
|
|
28
27
|
moduleRef;
|
|
29
|
-
|
|
28
|
+
userService;
|
|
29
|
+
constructor(carService, configService, loaderService, rulesService, moduleRef, userService) {
|
|
30
30
|
this.carService = carService;
|
|
31
31
|
this.configService = configService;
|
|
32
32
|
this.loaderService = loaderService;
|
|
33
33
|
this.rulesService = rulesService;
|
|
34
34
|
this.moduleRef = moduleRef;
|
|
35
|
+
this.userService = userService;
|
|
35
36
|
}
|
|
36
37
|
async export() {
|
|
37
|
-
const
|
|
38
|
-
exists
|
|
39
|
-
|
|
38
|
+
const fileName = this.userService.getFileName(enums_1.ExportType.AUTOUNCLE, enums_1.FileTypes.json);
|
|
39
|
+
const exists = await cronicle_helper_1.CronicleUtils.exists(fileName);
|
|
40
|
+
exists && (await cronicle_helper_1.CronicleUtils.unlink(fileName));
|
|
41
|
+
const autouncleJsonBuilder = new autouncle_json_builder_1.AutouncleJsonBuilder(fileName);
|
|
40
42
|
const autouncleTransformer = await this.moduleRef.create(autouncle_transformer_1.AutouncleTransformer);
|
|
41
43
|
await autouncleJsonBuilder.buildStart();
|
|
42
44
|
let firstCar = true;
|
|
@@ -69,11 +71,12 @@ let AutouncleExporter = class AutouncleExporter {
|
|
|
69
71
|
};
|
|
70
72
|
AutouncleExporter = __decorate([
|
|
71
73
|
(0, common_1.Injectable)(),
|
|
72
|
-
__metadata("design:paramtypes", [
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
core_1.ModuleRef
|
|
74
|
+
__metadata("design:paramtypes", [services_1.CarService,
|
|
75
|
+
services_1.ConfigService,
|
|
76
|
+
services_1.LoaderService,
|
|
77
|
+
services_1.RulesService,
|
|
78
|
+
core_1.ModuleRef,
|
|
79
|
+
services_2.UserService])
|
|
77
80
|
], AutouncleExporter);
|
|
78
81
|
exports.AutouncleExporter = AutouncleExporter;
|
|
79
82
|
//# sourceMappingURL=autouncle.exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autouncle.exporter.js","sourceRoot":"","sources":["../../src/exporters/autouncle.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"autouncle.exporter.js","sourceRoot":"","sources":["../../src/exporters/autouncle.exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ConfigService } from '../services
|
|
1
|
+
import { ConfigService, LoaderService, CarService, RulesService, UserService } from '../services';
|
|
2
2
|
import { Exporter } from '../interfaces/exporter.interface';
|
|
3
|
-
import { LoaderService } from '../services/loader.service';
|
|
4
3
|
import { ModuleRef } from '@nestjs/core';
|
|
5
4
|
export declare class ByOwnerExporter implements Exporter {
|
|
6
5
|
private configService;
|
|
7
6
|
private loaderService;
|
|
8
7
|
private moduleRef;
|
|
9
|
-
|
|
8
|
+
private userService;
|
|
9
|
+
private carService;
|
|
10
|
+
private rulesService;
|
|
11
|
+
constructor(configService: ConfigService, loaderService: LoaderService, moduleRef: ModuleRef, userService: UserService, carService: CarService, rulesService: RulesService);
|
|
10
12
|
export(): Promise<void>;
|
|
11
13
|
}
|
|
@@ -10,39 +10,39 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ByOwnerExporter = void 0;
|
|
13
|
-
const
|
|
14
|
-
const loader_service_1 = require("../services/loader.service");
|
|
13
|
+
const services_1 = require("../services");
|
|
15
14
|
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
16
15
|
const common_1 = require("@nestjs/common");
|
|
17
16
|
const core_1 = require("@nestjs/core");
|
|
18
17
|
const by_owner_transformer_1 = require("../transformers/by-owner.transformer");
|
|
19
18
|
const fs_1 = require("fs");
|
|
20
|
-
const
|
|
19
|
+
const enums_1 = require("../enums");
|
|
21
20
|
const createCsvWriter = require('csv-write-stream');
|
|
22
21
|
let ByOwnerExporter = class ByOwnerExporter {
|
|
23
22
|
configService;
|
|
24
23
|
loaderService;
|
|
25
24
|
moduleRef;
|
|
26
|
-
|
|
25
|
+
userService;
|
|
26
|
+
carService;
|
|
27
|
+
rulesService;
|
|
28
|
+
constructor(configService, loaderService, moduleRef, userService, carService, rulesService) {
|
|
27
29
|
this.configService = configService;
|
|
28
30
|
this.loaderService = loaderService;
|
|
29
31
|
this.moduleRef = moduleRef;
|
|
32
|
+
this.userService = userService;
|
|
33
|
+
this.carService = carService;
|
|
34
|
+
this.rulesService = rulesService;
|
|
30
35
|
}
|
|
31
36
|
async export() {
|
|
32
|
-
|
|
37
|
+
const fileName = this.userService.getFileName(enums_1.ExportType.BY_OWNER, enums_1.FileTypes.csv);
|
|
38
|
+
await cronicle_helper_1.CronicleUtils.unlinkIfExists(fileName);
|
|
33
39
|
const byOwnerTransformer = await this.moduleRef.create(by_owner_transformer_1.ByOwnerTransformer);
|
|
34
40
|
const csvWriter = createCsvWriter();
|
|
35
|
-
csvWriter.pipe((0, fs_1.createWriteStream)(
|
|
41
|
+
csvWriter.pipe((0, fs_1.createWriteStream)(fileName));
|
|
36
42
|
let index = 0;
|
|
37
43
|
await this.loaderService.process(async (chunk) => {
|
|
38
|
-
chunk.data
|
|
39
|
-
|
|
40
|
-
.filter((car) => {
|
|
41
|
-
const ownerId = (0, lodash_1.get)(car, 'metaData.ownerId');
|
|
42
|
-
return ownerId === this.configService.config.ownerId;
|
|
43
|
-
})
|
|
44
|
-
.map(car => byOwnerTransformer.transform(car, (index += 1)))
|
|
45
|
-
.forEach(car => csvWriter.write(car));
|
|
44
|
+
const chunkData = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
45
|
+
chunkData.map(({ car }) => byOwnerTransformer.transform(car, (index += 1))).forEach(car => csvWriter.write(car));
|
|
46
46
|
chunk.data = null;
|
|
47
47
|
});
|
|
48
48
|
csvWriter.end();
|
|
@@ -50,9 +50,12 @@ let ByOwnerExporter = class ByOwnerExporter {
|
|
|
50
50
|
};
|
|
51
51
|
ByOwnerExporter = __decorate([
|
|
52
52
|
(0, common_1.Injectable)(),
|
|
53
|
-
__metadata("design:paramtypes", [
|
|
54
|
-
|
|
55
|
-
core_1.ModuleRef
|
|
53
|
+
__metadata("design:paramtypes", [services_1.ConfigService,
|
|
54
|
+
services_1.LoaderService,
|
|
55
|
+
core_1.ModuleRef,
|
|
56
|
+
services_1.UserService,
|
|
57
|
+
services_1.CarService,
|
|
58
|
+
services_1.RulesService])
|
|
56
59
|
], ByOwnerExporter);
|
|
57
60
|
exports.ByOwnerExporter = ByOwnerExporter;
|
|
58
61
|
//# sourceMappingURL=by-owner.exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"by-owner.exporter.js","sourceRoot":"","sources":["../../src/exporters/by-owner.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"by-owner.exporter.js","sourceRoot":"","sources":["../../src/exporters/by-owner.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAkG;AAGlG,gEAA2D;AAC3D,2CAA4C;AAC5C,uCAAyC;AACzC,+EAA0E;AAC1E,2BAAuC;AACvC,oCAAiD;AAEjD,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAG7C,IAAM,eAAe,GAArB,MAAM,eAAe;IAEhB;IACA;IACA;IACA;IACA;IACA;IANV,YACU,aAA4B,EAC5B,aAA4B,EAC5B,SAAoB,EACpB,WAAwB,EACxB,UAAsB,EACtB,YAA0B;QAL1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,kBAAU,CAAC,QAAQ,EAAE,iBAAS,CAAC,GAAG,CAAC,CAAC;QAElF,MAAM,+BAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE7C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yCAAkB,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,IAAA,sBAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC;QAE5C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,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;YACpG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACjH,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AA5BY,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAGc,wBAAa;QACb,wBAAa;QACjB,gBAAS;QACP,sBAAW;QACZ,qBAAU;QACR,uBAAY;GAPzB,eAAe,CA4B3B;AA5BY,0CAAe"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import { CarService } from '../services
|
|
2
|
-
import { ConfigService } from '../services/config.service';
|
|
1
|
+
import { CarService, RulesService, LoaderService, ConfigService, UserService } from '../services';
|
|
3
2
|
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
-
import { LoaderService } from '../services/loader.service';
|
|
5
3
|
import { ModuleRef } from '@nestjs/core';
|
|
6
|
-
import { RulesService } from '../services/rules.service';
|
|
7
4
|
export declare class FbExporter implements Exporter {
|
|
8
5
|
private carService;
|
|
9
6
|
private configService;
|
|
10
7
|
private rulesService;
|
|
11
8
|
private loaderService;
|
|
12
9
|
private moduleRef;
|
|
13
|
-
|
|
10
|
+
private userService;
|
|
11
|
+
constructor(carService: CarService, configService: ConfigService, rulesService: RulesService, loaderService: LoaderService, moduleRef: ModuleRef, userService: UserService);
|
|
14
12
|
export(): Promise<void>;
|
|
15
13
|
}
|
|
@@ -11,33 +11,34 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.FbExporter = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const
|
|
15
|
-
const config_service_1 = require("../services/config.service");
|
|
16
|
-
const loader_service_1 = require("../services/loader.service");
|
|
14
|
+
const services_1 = require("../services");
|
|
17
15
|
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
18
16
|
const lodash_1 = require("lodash");
|
|
19
17
|
const fb_xml_builder_1 = require("../formats/fb-xml.builder");
|
|
20
18
|
const core_1 = require("@nestjs/core");
|
|
21
19
|
const fb_transformer_1 = require("../transformers/fb.transformer");
|
|
22
|
-
const
|
|
20
|
+
const enums_1 = require("../enums");
|
|
23
21
|
let FbExporter = class FbExporter {
|
|
24
22
|
carService;
|
|
25
23
|
configService;
|
|
26
24
|
rulesService;
|
|
27
25
|
loaderService;
|
|
28
26
|
moduleRef;
|
|
29
|
-
|
|
27
|
+
userService;
|
|
28
|
+
constructor(carService, configService, rulesService, loaderService, moduleRef, userService) {
|
|
30
29
|
this.carService = carService;
|
|
31
30
|
this.configService = configService;
|
|
32
31
|
this.rulesService = rulesService;
|
|
33
32
|
this.loaderService = loaderService;
|
|
34
33
|
this.moduleRef = moduleRef;
|
|
34
|
+
this.userService = userService;
|
|
35
35
|
}
|
|
36
36
|
async export() {
|
|
37
|
-
const
|
|
38
|
-
exists
|
|
37
|
+
const fileName = this.userService.getFileName(enums_1.ExportType.FB, enums_1.FileTypes.xml);
|
|
38
|
+
const exists = await cronicle_helper_1.CronicleUtils.exists(fileName);
|
|
39
|
+
exists && (await cronicle_helper_1.CronicleUtils.unlink(fileName));
|
|
39
40
|
const fbTransformer = await this.moduleRef.create(fb_transformer_1.FbTransformer);
|
|
40
|
-
const fbXmlBuilder = new fb_xml_builder_1.FbXmlBuilder(
|
|
41
|
+
const fbXmlBuilder = new fb_xml_builder_1.FbXmlBuilder(fileName);
|
|
41
42
|
await fbXmlBuilder.buildStart(this.configService.config.url);
|
|
42
43
|
await this.loaderService.process(async (chunk) => {
|
|
43
44
|
const chunkData = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
@@ -57,11 +58,12 @@ let FbExporter = class FbExporter {
|
|
|
57
58
|
};
|
|
58
59
|
FbExporter = __decorate([
|
|
59
60
|
(0, common_1.Injectable)(),
|
|
60
|
-
__metadata("design:paramtypes", [
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
core_1.ModuleRef
|
|
61
|
+
__metadata("design:paramtypes", [services_1.CarService,
|
|
62
|
+
services_1.ConfigService,
|
|
63
|
+
services_1.RulesService,
|
|
64
|
+
services_1.LoaderService,
|
|
65
|
+
core_1.ModuleRef,
|
|
66
|
+
services_1.UserService])
|
|
65
67
|
], FbExporter);
|
|
66
68
|
exports.FbExporter = FbExporter;
|
|
67
69
|
//# sourceMappingURL=fb.exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fb.exporter.js","sourceRoot":"","sources":["../../src/exporters/fb.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"fb.exporter.js","sourceRoot":"","sources":["../../src/exporters/fb.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0CAAkG;AAGlG,gEAA2D;AAC3D,mCAA6B;AAC7B,8DAAyD;AACzD,uCAAyC;AACzC,mEAA+D;AAC/D,oCAAiD;AAI1C,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEX;IACA;IACA;IACA;IACA;IACA;IANV,YACU,UAAsB,EACtB,aAA4B,EAC5B,YAA0B,EAC1B,aAA4B,EAC5B,SAAoB,EACpB,WAAwB;QALxB,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;IAC/B,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,kBAAU,CAAC,EAAE,EAAE,iBAAS,CAAC,GAAG,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,MAAM,+BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,MAAM,+BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,8BAAa,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,6BAAY,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7D,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;YACpG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;gBAC5B,MAAM,OAAO,GAAG,IAAA,YAAG,EAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBACxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAI,KAAK,EAAE;oBACT,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;oBAC9D,MAAM,YAAY,CAAC,OAAO,CAAC,GAAgB,CAAC,CAAC;oBAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC/C;aACF;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;CACF,CAAA;AApCY,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAGW,qBAAU;QACP,wBAAa;QACd,uBAAY;QACX,wBAAa;QACjB,gBAAS;QACP,sBAAW;GAPvB,UAAU,CAoCtB;AApCY,gCAAU"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import { CarService } from '../services
|
|
2
|
-
import { ConfigService } from '../services/config.service';
|
|
1
|
+
import { CarService, ConfigService, LoaderService, RulesService, UserService } from '../services';
|
|
3
2
|
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
-
import { LoaderService } from '../services/loader.service';
|
|
5
3
|
import { ModuleRef } from '@nestjs/core';
|
|
6
|
-
import { RulesService } from '../services/rules.service';
|
|
7
4
|
export declare class GoogleExporter implements Exporter {
|
|
8
5
|
private carService;
|
|
9
6
|
private configService;
|
|
10
7
|
private rulesService;
|
|
11
8
|
private loaderService;
|
|
12
9
|
private moduleRef;
|
|
13
|
-
|
|
10
|
+
private userService;
|
|
11
|
+
constructor(carService: CarService, configService: ConfigService, rulesService: RulesService, loaderService: LoaderService, moduleRef: ModuleRef, userService: UserService);
|
|
14
12
|
export(): Promise<void>;
|
|
15
13
|
}
|
|
@@ -11,45 +11,42 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.GoogleExporter = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const
|
|
15
|
-
const config_service_1 = require("../services/config.service");
|
|
16
|
-
const loader_service_1 = require("../services/loader.service");
|
|
14
|
+
const services_1 = require("../services");
|
|
17
15
|
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
18
|
-
const lodash_1 = require("lodash");
|
|
19
16
|
const google_xml_builder_1 = require("../formats/google-xml.builder");
|
|
20
17
|
const google_transformer_1 = require("../transformers/google.transformer");
|
|
21
18
|
const core_1 = require("@nestjs/core");
|
|
22
|
-
const
|
|
19
|
+
const enums_1 = require("../enums");
|
|
23
20
|
let GoogleExporter = class GoogleExporter {
|
|
24
21
|
carService;
|
|
25
22
|
configService;
|
|
26
23
|
rulesService;
|
|
27
24
|
loaderService;
|
|
28
25
|
moduleRef;
|
|
29
|
-
|
|
26
|
+
userService;
|
|
27
|
+
constructor(carService, configService, rulesService, loaderService, moduleRef, userService) {
|
|
30
28
|
this.carService = carService;
|
|
31
29
|
this.configService = configService;
|
|
32
30
|
this.rulesService = rulesService;
|
|
33
31
|
this.loaderService = loaderService;
|
|
34
32
|
this.moduleRef = moduleRef;
|
|
33
|
+
this.userService = userService;
|
|
35
34
|
}
|
|
36
35
|
async export() {
|
|
37
|
-
const
|
|
38
|
-
|
|
36
|
+
const exportType = this.configService.config.isCriteo ? enums_1.ExportType.CRITEO : enums_1.ExportType.GOOGLE;
|
|
37
|
+
const fileName = this.userService.getFileName(exportType, enums_1.FileTypes.xml);
|
|
38
|
+
const exists = await cronicle_helper_1.CronicleUtils.exists(fileName);
|
|
39
|
+
exists && (await cronicle_helper_1.CronicleUtils.unlink(fileName));
|
|
39
40
|
const googleTransformer = await this.moduleRef.create(google_transformer_1.GoogleTransformer);
|
|
40
|
-
const googleXmlBuilder = new google_xml_builder_1.GoogleXmlBuilder(
|
|
41
|
+
const googleXmlBuilder = new google_xml_builder_1.GoogleXmlBuilder(fileName);
|
|
41
42
|
await googleXmlBuilder.buildStart(this.configService.config.url);
|
|
42
43
|
await this.loaderService.process(async (chunk) => {
|
|
43
44
|
const chunkData = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
44
45
|
chunk.data = null;
|
|
45
46
|
for (const data of chunkData) {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const car = await googleTransformer.transform({ ...data });
|
|
50
|
-
await googleXmlBuilder.addItem(car);
|
|
51
|
-
this.carService.counter.countCar(data.images);
|
|
52
|
-
}
|
|
47
|
+
const car = await googleTransformer.transform({ ...data });
|
|
48
|
+
await googleXmlBuilder.addItem(car);
|
|
49
|
+
this.carService.counter.countCar(data.images);
|
|
53
50
|
}
|
|
54
51
|
});
|
|
55
52
|
await googleXmlBuilder.buildEnd();
|
|
@@ -57,11 +54,12 @@ let GoogleExporter = class GoogleExporter {
|
|
|
57
54
|
};
|
|
58
55
|
GoogleExporter = __decorate([
|
|
59
56
|
(0, common_1.Injectable)(),
|
|
60
|
-
__metadata("design:paramtypes", [
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
core_1.ModuleRef
|
|
57
|
+
__metadata("design:paramtypes", [services_1.CarService,
|
|
58
|
+
services_1.ConfigService,
|
|
59
|
+
services_1.RulesService,
|
|
60
|
+
services_1.LoaderService,
|
|
61
|
+
core_1.ModuleRef,
|
|
62
|
+
services_1.UserService])
|
|
65
63
|
], GoogleExporter);
|
|
66
64
|
exports.GoogleExporter = GoogleExporter;
|
|
67
65
|
//# sourceMappingURL=google.exporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.exporter.js","sourceRoot":"","sources":["../../src/exporters/google.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"google.exporter.js","sourceRoot":"","sources":["../../src/exporters/google.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0CAAkG;AAGlG,gEAA2D;AAC3D,sEAAiE;AACjE,2EAAuE;AACvE,uCAAyC;AACzC,oCAAiD;AAG1C,IAAM,cAAc,GAApB,MAAM,cAAc;IAEf;IACA;IACA;IACA;IACA;IACA;IANV,YACU,UAAsB,EACtB,aAA4B,EAC5B,YAA0B,EAC1B,aAA4B,EAC5B,SAAoB,EACpB,WAAwB;QALxB,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;IAC/B,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAU,CAAC,MAAM,CAAC;QAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,EAAE,iBAAS,CAAC,GAAG,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,MAAM,+BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,MAAM,+BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEjD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sCAAiB,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,IAAI,qCAAgB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjE,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;YACpG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;gBAC5B,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC3D,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAjCY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGW,qBAAU;QACP,wBAAa;QACd,uBAAY;QACX,wBAAa;QACjB,gBAAS;QACP,sBAAW;GAPvB,cAAc,CAiC1B;AAjCY,wCAAc"}
|