@bytebrand/export-cars 0.0.3 → 1.0.8
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/.editorconfig +8 -0
- package/.eslintignore +1 -0
- package/.eslintrc.js +24 -0
- package/.prettierrc.js +7 -0
- package/README.md +67 -0
- package/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +47 -0
- package/dist/app.module.js.map +1 -0
- package/dist/config/as24.config.d.ts +5 -0
- package/dist/config/as24.config.js +13 -0
- package/dist/config/as24.config.js.map +1 -0
- package/dist/config/auto24.config.d.ts +6 -0
- package/dist/config/auto24.config.js +31 -0
- package/dist/config/auto24.config.js.map +1 -0
- package/dist/config/autoboerse.config.d.ts +5 -0
- package/dist/config/autoboerse.config.js +15 -0
- package/dist/config/autoboerse.config.js.map +1 -0
- package/dist/config/autouncle.config.d.ts +5 -0
- package/dist/config/autouncle.config.js +14 -0
- package/dist/config/autouncle.config.js.map +1 -0
- package/dist/config/by-owner.config.d.ts +5 -0
- package/dist/config/by-owner.config.js +14 -0
- package/dist/config/by-owner.config.js.map +1 -0
- package/dist/config/config.d.ts +57 -0
- package/dist/config/config.js +78 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/eauto.config.d.ts +5 -0
- package/dist/config/eauto.config.js +15 -0
- package/dist/config/eauto.config.js.map +1 -0
- package/dist/config/fb.config.d.ts +5 -0
- package/dist/config/fb.config.js +14 -0
- package/dist/config/fb.config.js.map +1 -0
- package/dist/config/google.config.d.ts +5 -0
- package/dist/config/google.config.js +13 -0
- package/dist/config/google.config.js.map +1 -0
- package/dist/config/marktde.config.d.ts +5 -0
- package/dist/config/marktde.config.js +14 -0
- package/dist/config/marktde.config.js.map +1 -0
- package/dist/config/meinstadt.config.d.ts +5 -0
- package/dist/config/meinstadt.config.js +14 -0
- package/dist/config/meinstadt.config.js.map +1 -0
- package/dist/config/ooyyo.config.d.ts +5 -0
- package/dist/config/ooyyo.config.js +14 -0
- package/dist/config/ooyyo.config.js.map +1 -0
- package/dist/config/yescar.config.d.ts +5 -0
- package/dist/config/yescar.config.js +14 -0
- package/dist/config/yescar.config.js.map +1 -0
- package/dist/constants/autouncle.contants.d.ts +4 -0
- package/dist/constants/autouncle.contants.js +8 -0
- package/dist/constants/autouncle.contants.js.map +1 -0
- package/dist/constants/fb.constants.d.ts +7 -0
- package/dist/constants/fb.constants.js +11 -0
- package/dist/constants/fb.constants.js.map +1 -0
- package/dist/constants/rule-input.contants.d.ts +3 -0
- package/dist/constants/rule-input.contants.js +7 -0
- package/dist/constants/rule-input.contants.js.map +1 -0
- package/dist/enums/environment.enum.d.ts +5 -0
- package/dist/enums/environment.enum.js +10 -0
- package/dist/enums/environment.enum.js.map +1 -0
- package/dist/enums/export-type.enum.d.ts +14 -0
- package/dist/enums/export-type.enum.js +19 -0
- package/dist/enums/export-type.enum.js.map +1 -0
- package/dist/export.command.d.ts +11 -0
- package/dist/export.command.js +47 -0
- package/dist/export.command.js.map +1 -0
- package/dist/export.schema.d.ts +65 -0
- package/dist/export.schema.js +70 -0
- package/dist/export.schema.js.map +1 -0
- package/dist/exporters/as24.exporter.d.ts +13 -0
- package/dist/exporters/as24.exporter.js +68 -0
- package/dist/exporters/as24.exporter.js.map +1 -0
- package/dist/exporters/auto24.exporter.d.ts +13 -0
- package/dist/exporters/auto24.exporter.js +81 -0
- package/dist/exporters/auto24.exporter.js.map +1 -0
- package/dist/exporters/autouncle.exporter.d.ts +15 -0
- package/dist/exporters/autouncle.exporter.js +79 -0
- package/dist/exporters/autouncle.exporter.js.map +1 -0
- package/dist/exporters/by-owner.exporter.d.ts +11 -0
- package/dist/exporters/by-owner.exporter.js +58 -0
- package/dist/exporters/by-owner.exporter.js.map +1 -0
- package/dist/exporters/fb.exporter.d.ts +15 -0
- package/dist/exporters/fb.exporter.js +67 -0
- package/dist/exporters/fb.exporter.js.map +1 -0
- package/dist/exporters/google.exporter.d.ts +15 -0
- package/dist/exporters/google.exporter.js +67 -0
- package/dist/exporters/google.exporter.js.map +1 -0
- package/dist/exporters/meinstadt.exporter.d.ts +15 -0
- package/dist/exporters/meinstadt.exporter.js +84 -0
- package/dist/exporters/meinstadt.exporter.js.map +1 -0
- package/dist/exporters/mobile.exporter.d.ts +18 -0
- package/dist/exporters/mobile.exporter.js +111 -0
- package/dist/exporters/mobile.exporter.js.map +1 -0
- package/dist/exporters/ooyyo.exporter.d.ts +13 -0
- package/dist/exporters/ooyyo.exporter.js +65 -0
- package/dist/exporters/ooyyo.exporter.js.map +1 -0
- package/dist/formats/auto24-xml.builder.d.ts +7 -0
- package/dist/formats/auto24-xml.builder.js +47 -0
- package/dist/formats/auto24-xml.builder.js.map +1 -0
- package/dist/formats/autouncle-json.builder.d.ts +7 -0
- package/dist/formats/autouncle-json.builder.js +21 -0
- package/dist/formats/autouncle-json.builder.js.map +1 -0
- package/dist/formats/fb-xml.builder.d.ts +11 -0
- package/dist/formats/fb-xml.builder.js +63 -0
- package/dist/formats/fb-xml.builder.js.map +1 -0
- package/dist/formats/google-xml.builder.d.ts +8 -0
- package/dist/formats/google-xml.builder.js +32 -0
- package/dist/formats/google-xml.builder.js.map +1 -0
- package/dist/formats/meinstadt-json.builder.d.ts +7 -0
- package/dist/formats/meinstadt-json.builder.js +22 -0
- package/dist/formats/meinstadt-json.builder.js.map +1 -0
- package/dist/formats/ooyyo-xml.builder.d.ts +7 -0
- package/dist/formats/ooyyo-xml.builder.js +47 -0
- package/dist/formats/ooyyo-xml.builder.js.map +1 -0
- package/dist/input.questions.d.ts +3 -0
- package/dist/input.questions.js +32 -0
- package/dist/input.questions.js.map +1 -0
- package/dist/interfaces/description.interface.d.ts +22 -0
- package/dist/interfaces/description.interface.js +3 -0
- package/dist/interfaces/description.interface.js.map +1 -0
- package/dist/interfaces/export-item.interface.d.ts +147 -0
- package/dist/interfaces/export-item.interface.js +3 -0
- package/dist/interfaces/export-item.interface.js.map +1 -0
- package/dist/interfaces/exporter.interface.d.ts +3 -0
- package/dist/interfaces/exporter.interface.js +3 -0
- package/dist/interfaces/exporter.interface.js.map +1 -0
- package/dist/interfaces/input.interface.d.ts +5 -0
- package/dist/interfaces/input.interface.js +3 -0
- package/dist/interfaces/input.interface.js.map +1 -0
- package/dist/interfaces/mapping-rules.interface.d.ts +10 -0
- package/dist/interfaces/mapping-rules.interface.js +3 -0
- package/dist/interfaces/mapping-rules.interface.js.map +1 -0
- package/dist/interfaces/params.interface.d.ts +18 -0
- package/dist/interfaces/params.interface.js +3 -0
- package/dist/interfaces/params.interface.js.map +1 -0
- package/dist/interfaces/rule-parser.interface.d.ts +3 -0
- package/dist/interfaces/rule-parser.interface.js +3 -0
- package/dist/interfaces/rule-parser.interface.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +23 -0
- package/dist/main.js.map +1 -0
- package/dist/rules/abstract.rule.d.ts +13 -0
- package/dist/rules/abstract.rule.js +32 -0
- package/dist/rules/abstract.rule.js.map +1 -0
- package/dist/rules/date.rule.d.ts +7 -0
- package/dist/rules/date.rule.js +20 -0
- package/dist/rules/date.rule.js.map +1 -0
- package/dist/rules/number.rule.d.ts +7 -0
- package/dist/rules/number.rule.js +16 -0
- package/dist/rules/number.rule.js.map +1 -0
- package/dist/rules/string.rule.d.ts +5 -0
- package/dist/rules/string.rule.js +11 -0
- package/dist/rules/string.rule.js.map +1 -0
- package/dist/services/car.service.d.ts +24 -0
- package/dist/services/car.service.js +74 -0
- package/dist/services/car.service.js.map +1 -0
- package/dist/services/config.service.d.ts +6 -0
- package/dist/services/config.service.js +24 -0
- package/dist/services/config.service.js.map +1 -0
- package/dist/services/loader.service.d.ts +9 -0
- package/dist/services/loader.service.js +45 -0
- package/dist/services/loader.service.js.map +1 -0
- package/dist/services/mapping.service.d.ts +11 -0
- package/dist/services/mapping.service.js +73 -0
- package/dist/services/mapping.service.js.map +1 -0
- package/dist/services/marketing-images.service.d.ts +16 -0
- package/dist/services/marketing-images.service.js +58 -0
- package/dist/services/marketing-images.service.js.map +1 -0
- package/dist/services/request.service.d.ts +12 -0
- package/dist/services/request.service.js +48 -0
- package/dist/services/request.service.js.map +1 -0
- package/dist/services/rules.service.d.ts +15 -0
- package/dist/services/rules.service.js +68 -0
- package/dist/services/rules.service.js.map +1 -0
- package/dist/services/user.service.d.ts +11 -0
- package/dist/services/user.service.js +64 -0
- package/dist/services/user.service.js.map +1 -0
- package/dist/transformers/as24.transformer.d.ts +28 -0
- package/dist/transformers/as24.transformer.js +217 -0
- package/dist/transformers/as24.transformer.js.map +1 -0
- package/dist/transformers/auto24.transfomer.d.ts +16 -0
- package/dist/transformers/auto24.transfomer.js +155 -0
- package/dist/transformers/auto24.transfomer.js.map +1 -0
- package/dist/transformers/autouncle.transformer.d.ts +32 -0
- package/dist/transformers/autouncle.transformer.js +234 -0
- package/dist/transformers/autouncle.transformer.js.map +1 -0
- package/dist/transformers/by-owner.transformer.d.ts +12 -0
- package/dist/transformers/by-owner.transformer.js +274 -0
- package/dist/transformers/by-owner.transformer.js.map +1 -0
- package/dist/transformers/fb-description.transformer.d.ts +19 -0
- package/dist/transformers/fb-description.transformer.js +297 -0
- package/dist/transformers/fb-description.transformer.js.map +1 -0
- package/dist/transformers/fb-equipment.transformer.d.ts +8 -0
- package/dist/transformers/fb-equipment.transformer.js +149 -0
- package/dist/transformers/fb-equipment.transformer.js.map +1 -0
- package/dist/transformers/fb.transformer.d.ts +41 -0
- package/dist/transformers/fb.transformer.js +553 -0
- package/dist/transformers/fb.transformer.js.map +1 -0
- package/dist/transformers/google.transformer.d.ts +26 -0
- package/dist/transformers/google.transformer.js +164 -0
- package/dist/transformers/google.transformer.js.map +1 -0
- package/dist/transformers/meinstadt.transformer.d.ts +14 -0
- package/dist/transformers/meinstadt.transformer.js +95 -0
- package/dist/transformers/meinstadt.transformer.js.map +1 -0
- package/dist/transformers/mobile.transformer.d.ts +47 -0
- package/dist/transformers/mobile.transformer.js +471 -0
- package/dist/transformers/mobile.transformer.js.map +1 -0
- package/dist/transformers/ooyyo.transformer.d.ts +17 -0
- package/dist/transformers/ooyyo.transformer.js +127 -0
- package/dist/transformers/ooyyo.transformer.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/utils/converter.utils.d.ts +1 -0
- package/dist/utils/converter.utils.js +15 -0
- package/dist/utils/converter.utils.js.map +1 -0
- package/dist/utils/date-time.utils.d.ts +1 -0
- package/dist/utils/date-time.utils.js +21 -0
- package/dist/utils/date-time.utils.js.map +1 -0
- package/dist/utils/parser.utils.d.ts +2 -0
- package/dist/utils/parser.utils.js +9 -0
- package/dist/utils/parser.utils.js.map +1 -0
- package/dist/utils/validator.utils.d.ts +2 -0
- package/dist/utils/validator.utils.js +12 -0
- package/dist/utils/validator.utils.js.map +1 -0
- package/nest-cli.json +5 -0
- package/package.json +57 -31
- package/src/app.module.ts +34 -0
- package/src/config/as24.config.ts +10 -0
- package/src/config/auto24.config.ts +29 -0
- package/src/config/autoboerse.config.ts +12 -0
- package/src/config/autouncle.config.ts +11 -0
- package/src/config/by-owner.config.ts +11 -0
- package/src/config/config.ts +87 -0
- package/src/config/eauto.config.ts +12 -0
- package/src/config/fb.config.ts +11 -0
- package/src/config/google.config.ts +10 -0
- package/src/config/marktde.config.ts +11 -0
- package/src/config/meinstadt.config.ts +11 -0
- package/src/config/ooyyo.config.ts +11 -0
- package/src/config/yescar.config.ts +11 -0
- package/src/constants/autouncle.contants.ts +4 -0
- package/src/constants/fb.constants.ts +7 -0
- package/src/constants/rule-input.contants.ts +3 -0
- package/src/enums/environment.enum.ts +5 -0
- package/src/enums/export-type.enum.ts +14 -0
- package/src/export.command.ts +33 -0
- package/src/export.schema.ts +67 -0
- package/src/exporters/as24.exporter.ts +70 -0
- package/src/exporters/auto24.exporter.ts +68 -0
- package/src/exporters/autouncle.exporter.ts +62 -0
- package/src/exporters/by-owner.exporter.ts +45 -0
- package/src/exporters/fb.exporter.ts +49 -0
- package/src/exporters/google.exporter.ts +48 -0
- package/src/exporters/meinstadt.exporter.ts +70 -0
- package/src/exporters/mobile.exporter.ts +113 -0
- package/src/exporters/ooyyo.exporter.ts +50 -0
- package/src/formats/auto24-xml.builder.ts +48 -0
- package/src/formats/autouncle-json.builder.ts +20 -0
- package/src/formats/fb-xml.builder.ts +71 -0
- package/src/formats/google-xml.builder.ts +35 -0
- package/src/formats/meinstadt-json.builder.ts +19 -0
- package/src/formats/ooyyo-xml.builder.ts +48 -0
- package/src/input.questions.ts +12 -0
- package/src/interfaces/description.interface.ts +24 -0
- package/src/interfaces/export-item.interface.ts +147 -0
- package/src/interfaces/exporter.interface.ts +3 -0
- package/src/interfaces/input.interface.ts +6 -0
- package/src/interfaces/mapping-rules.interface.ts +11 -0
- package/src/interfaces/params.interface.ts +19 -0
- package/src/interfaces/rule-parser.interface.ts +3 -0
- package/src/main.ts +28 -0
- package/src/rules/abstract.rule.ts +37 -0
- package/src/rules/date.rule.ts +18 -0
- package/src/rules/number.rule.ts +15 -0
- package/src/rules/string.rule.ts +8 -0
- package/src/services/car.service.ts +57 -0
- package/src/services/config.service.ts +15 -0
- package/src/services/loader.service.ts +30 -0
- package/src/services/mapping.service.ts +80 -0
- package/src/services/marketing-images.service.ts +67 -0
- package/src/services/request.service.ts +44 -0
- package/src/services/rules.service.ts +61 -0
- package/src/services/user.service.ts +52 -0
- package/src/transformers/as24.transformer.ts +225 -0
- package/src/transformers/auto24.transfomer.ts +155 -0
- package/src/transformers/autouncle.transformer.ts +264 -0
- package/src/transformers/by-owner.transformer.ts +364 -0
- package/src/transformers/fb-description.transformer.ts +316 -0
- package/src/transformers/fb-equipment.transformer.ts +161 -0
- package/src/transformers/fb.transformer.ts +640 -0
- package/src/transformers/google.transformer.ts +166 -0
- package/src/transformers/meinstadt.transformer.ts +80 -0
- package/src/transformers/mobile.transformer.ts +495 -0
- package/src/transformers/ooyyo.transformer.ts +123 -0
- package/src/utils/converter.utils.ts +11 -0
- package/src/utils/date-time.utils.ts +20 -0
- package/src/utils/parser.utils.ts +6 -0
- package/src/utils/validator.utils.ts +7 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +28 -34
- package/.prettierrc +0 -14
- package/dist/config/ConfigBuilder.d.ts +0 -4
- package/dist/config/ConfigBuilder.js +0 -69
- package/dist/config/ConfigBuilder.js.map +0 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.js +0 -7
- package/dist/config/index.js.map +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -46
- package/dist/index.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -0
- package/dist/interfaces/index.js +0 -1
- package/dist/interfaces/index.js.map +0 -1
- package/dist/modules/acrhiver/TarArchiver.d.ts +0 -6
- package/dist/modules/acrhiver/TarArchiver.js +0 -52
- package/dist/modules/acrhiver/TarArchiver.js.map +0 -1
- package/dist/modules/acrhiver/index.d.ts +0 -2
- package/dist/modules/acrhiver/index.js +0 -7
- package/dist/modules/acrhiver/index.js.map +0 -1
- package/dist/modules/car-exporter/index.d.ts +0 -2
- package/dist/modules/car-exporter/index.js +0 -10
- package/dist/modules/car-exporter/index.js.map +0 -1
- package/dist/modules/car-loader/index.d.ts +0 -2
- package/dist/modules/car-loader/index.js +0 -12
- package/dist/modules/car-loader/index.js.map +0 -1
- package/index.js +0 -2
- package/readme.md +0 -11
- package/src/config/ConfigBuilder.ts +0 -69
- package/src/config/index.ts +0 -1
- package/src/index.ts +0 -44
- package/tslint.json +0 -51
- package/types/basic-ftp.d.ts +0 -72
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autouncle.exporter.js","sourceRoot":"","sources":["../../src/exporters/autouncle.exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ConfigService } from '../services/config.service';
|
|
2
|
+
import { Exporter } from '../interfaces/exporter.interface';
|
|
3
|
+
import { LoaderService } from '../services/loader.service';
|
|
4
|
+
import { ModuleRef } from '@nestjs/core';
|
|
5
|
+
export declare class ByOwnerExporter implements Exporter {
|
|
6
|
+
private configService;
|
|
7
|
+
private loaderService;
|
|
8
|
+
private moduleRef;
|
|
9
|
+
constructor(configService: ConfigService, loaderService: LoaderService, moduleRef: ModuleRef);
|
|
10
|
+
export(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
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.ByOwnerExporter = void 0;
|
|
13
|
+
const config_service_1 = require("../services/config.service");
|
|
14
|
+
const loader_service_1 = require("../services/loader.service");
|
|
15
|
+
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const core_1 = require("@nestjs/core");
|
|
18
|
+
const by_owner_transformer_1 = require("../transformers/by-owner.transformer");
|
|
19
|
+
const fs_1 = require("fs");
|
|
20
|
+
const lodash_1 = require("lodash");
|
|
21
|
+
const createCsvWriter = require('csv-write-stream');
|
|
22
|
+
let ByOwnerExporter = class ByOwnerExporter {
|
|
23
|
+
configService;
|
|
24
|
+
loaderService;
|
|
25
|
+
moduleRef;
|
|
26
|
+
constructor(configService, loaderService, moduleRef) {
|
|
27
|
+
this.configService = configService;
|
|
28
|
+
this.loaderService = loaderService;
|
|
29
|
+
this.moduleRef = moduleRef;
|
|
30
|
+
}
|
|
31
|
+
async export() {
|
|
32
|
+
await cronicle_helper_1.CronicleUtils.unlinkIfExists(this.configService.config.fileName);
|
|
33
|
+
const byOwnerTransformer = await this.moduleRef.create(by_owner_transformer_1.ByOwnerTransformer);
|
|
34
|
+
const csvWriter = createCsvWriter();
|
|
35
|
+
csvWriter.pipe((0, fs_1.createWriteStream)(this.configService.config.fileName));
|
|
36
|
+
let index = 0;
|
|
37
|
+
await this.loaderService.process(async (chunk) => {
|
|
38
|
+
chunk.data
|
|
39
|
+
.map(({ car }) => car)
|
|
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));
|
|
46
|
+
chunk.data = null;
|
|
47
|
+
});
|
|
48
|
+
csvWriter.end();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
ByOwnerExporter = __decorate([
|
|
52
|
+
(0, common_1.Injectable)(),
|
|
53
|
+
__metadata("design:paramtypes", [config_service_1.ConfigService,
|
|
54
|
+
loader_service_1.LoaderService,
|
|
55
|
+
core_1.ModuleRef])
|
|
56
|
+
], ByOwnerExporter);
|
|
57
|
+
exports.ByOwnerExporter = ByOwnerExporter;
|
|
58
|
+
//# sourceMappingURL=by-owner.exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"by-owner.exporter.js","sourceRoot":"","sources":["../../src/exporters/by-owner.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA2D;AAG3D,+DAA2D;AAC3D,gEAA2D;AAC3D,2CAA4C;AAC5C,uCAAyC;AACzC,+EAA0E;AAC1E,2BAAuC;AAEvC,mCAA6B;AAC7B,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAG7C,IAAM,eAAe,GAArB,MAAM,eAAe;IAEhB;IACA;IACA;IAHV,YACU,aAA4B,EAC5B,aAA4B,EAC5B,SAAoB;QAFpB,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,+BAAa,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvE,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,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YACjE,KAAK,CAAC,IAAI;iBACP,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;iBACrB,MAAM,CAAC,CAAC,GAAoB,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,IAAA,YAAG,EAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBAC7C,OAAO,OAAO,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;YACvD,CAAC,CAAC;iBACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAExC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AA9BY,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAGc,8BAAa;QACb,8BAAa;QACjB,gBAAS;GAJnB,eAAe,CA8B3B;AA9BY,0CAAe"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CarService } from '../services/car.service';
|
|
2
|
+
import { ConfigService } from '../services/config.service';
|
|
3
|
+
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
+
import { LoaderService } from '../services/loader.service';
|
|
5
|
+
import { ModuleRef } from '@nestjs/core';
|
|
6
|
+
import { RulesService } from '../services/rules.service';
|
|
7
|
+
export declare class FbExporter implements Exporter {
|
|
8
|
+
private carService;
|
|
9
|
+
private configService;
|
|
10
|
+
private rulesService;
|
|
11
|
+
private loaderService;
|
|
12
|
+
private moduleRef;
|
|
13
|
+
constructor(carService: CarService, configService: ConfigService, rulesService: RulesService, loaderService: LoaderService, moduleRef: ModuleRef);
|
|
14
|
+
export(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
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.FbExporter = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const car_service_1 = require("../services/car.service");
|
|
15
|
+
const config_service_1 = require("../services/config.service");
|
|
16
|
+
const loader_service_1 = require("../services/loader.service");
|
|
17
|
+
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
18
|
+
const lodash_1 = require("lodash");
|
|
19
|
+
const fb_xml_builder_1 = require("../formats/fb-xml.builder");
|
|
20
|
+
const core_1 = require("@nestjs/core");
|
|
21
|
+
const fb_transformer_1 = require("../transformers/fb.transformer");
|
|
22
|
+
const rules_service_1 = require("../services/rules.service");
|
|
23
|
+
let FbExporter = class FbExporter {
|
|
24
|
+
carService;
|
|
25
|
+
configService;
|
|
26
|
+
rulesService;
|
|
27
|
+
loaderService;
|
|
28
|
+
moduleRef;
|
|
29
|
+
constructor(carService, configService, rulesService, loaderService, moduleRef) {
|
|
30
|
+
this.carService = carService;
|
|
31
|
+
this.configService = configService;
|
|
32
|
+
this.rulesService = rulesService;
|
|
33
|
+
this.loaderService = loaderService;
|
|
34
|
+
this.moduleRef = moduleRef;
|
|
35
|
+
}
|
|
36
|
+
async export() {
|
|
37
|
+
const exists = await cronicle_helper_1.CronicleUtils.exists(this.configService.config.fileName);
|
|
38
|
+
exists && (await cronicle_helper_1.CronicleUtils.unlink(this.configService.config.fileName));
|
|
39
|
+
const fbTransformer = await this.moduleRef.create(fb_transformer_1.FbTransformer);
|
|
40
|
+
const fbXmlBuilder = new fb_xml_builder_1.FbXmlBuilder(this.configService.config.fileName);
|
|
41
|
+
await fbXmlBuilder.buildStart(this.configService.config.url);
|
|
42
|
+
await this.loaderService.process(async (chunk) => {
|
|
43
|
+
const chunkData = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
44
|
+
chunk.data = null;
|
|
45
|
+
for (const data of chunkData) {
|
|
46
|
+
const ownerId = (0, lodash_1.get)(data.car, 'metaData.ownerId', null);
|
|
47
|
+
const owner = await this.carService.getOwner(ownerId);
|
|
48
|
+
if (owner) {
|
|
49
|
+
const car = await fbTransformer.transform({ owner, ...data });
|
|
50
|
+
await fbXmlBuilder.addItem(car);
|
|
51
|
+
this.carService.counter.countCar(data.images);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
await fbXmlBuilder.buildEnd();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
FbExporter = __decorate([
|
|
59
|
+
(0, common_1.Injectable)(),
|
|
60
|
+
__metadata("design:paramtypes", [car_service_1.CarService,
|
|
61
|
+
config_service_1.ConfigService,
|
|
62
|
+
rules_service_1.RulesService,
|
|
63
|
+
loader_service_1.LoaderService,
|
|
64
|
+
core_1.ModuleRef])
|
|
65
|
+
], FbExporter);
|
|
66
|
+
exports.FbExporter = FbExporter;
|
|
67
|
+
//# sourceMappingURL=fb.exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fb.exporter.js","sourceRoot":"","sources":["../../src/exporters/fb.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAqD;AACrD,+DAA2D;AAG3D,+DAA2D;AAC3D,gEAA2D;AAC3D,mCAA6B;AAC7B,8DAAyD;AACzD,uCAAyC;AACzC,mEAA+D;AAC/D,6DAAyD;AAIlD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEX;IACA;IACA;IACA;IACA;IALV,YACU,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;IAC3B,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,+BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,MAAM,+BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,8BAAa,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,6BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1E,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;AAjCY,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAGW,wBAAU;QACP,8BAAa;QACd,4BAAY;QACX,8BAAa;QACjB,gBAAS;GANnB,UAAU,CAiCtB;AAjCY,gCAAU"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CarService } from '../services/car.service';
|
|
2
|
+
import { ConfigService } from '../services/config.service';
|
|
3
|
+
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
+
import { LoaderService } from '../services/loader.service';
|
|
5
|
+
import { ModuleRef } from '@nestjs/core';
|
|
6
|
+
import { RulesService } from '../services/rules.service';
|
|
7
|
+
export declare class GoogleExporter implements Exporter {
|
|
8
|
+
private carService;
|
|
9
|
+
private configService;
|
|
10
|
+
private rulesService;
|
|
11
|
+
private loaderService;
|
|
12
|
+
private moduleRef;
|
|
13
|
+
constructor(carService: CarService, configService: ConfigService, rulesService: RulesService, loaderService: LoaderService, moduleRef: ModuleRef);
|
|
14
|
+
export(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
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.GoogleExporter = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const car_service_1 = require("../services/car.service");
|
|
15
|
+
const config_service_1 = require("../services/config.service");
|
|
16
|
+
const loader_service_1 = require("../services/loader.service");
|
|
17
|
+
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
18
|
+
const lodash_1 = require("lodash");
|
|
19
|
+
const google_xml_builder_1 = require("../formats/google-xml.builder");
|
|
20
|
+
const google_transformer_1 = require("../transformers/google.transformer");
|
|
21
|
+
const core_1 = require("@nestjs/core");
|
|
22
|
+
const rules_service_1 = require("../services/rules.service");
|
|
23
|
+
let GoogleExporter = class GoogleExporter {
|
|
24
|
+
carService;
|
|
25
|
+
configService;
|
|
26
|
+
rulesService;
|
|
27
|
+
loaderService;
|
|
28
|
+
moduleRef;
|
|
29
|
+
constructor(carService, configService, rulesService, loaderService, moduleRef) {
|
|
30
|
+
this.carService = carService;
|
|
31
|
+
this.configService = configService;
|
|
32
|
+
this.rulesService = rulesService;
|
|
33
|
+
this.loaderService = loaderService;
|
|
34
|
+
this.moduleRef = moduleRef;
|
|
35
|
+
}
|
|
36
|
+
async export() {
|
|
37
|
+
const exists = await cronicle_helper_1.CronicleUtils.exists(this.configService.config.fileName);
|
|
38
|
+
exists && (await cronicle_helper_1.CronicleUtils.unlink(this.configService.config.fileName));
|
|
39
|
+
const googleTransformer = await this.moduleRef.create(google_transformer_1.GoogleTransformer);
|
|
40
|
+
const googleXmlBuilder = new google_xml_builder_1.GoogleXmlBuilder(this.configService.config.fileName);
|
|
41
|
+
await googleXmlBuilder.buildStart(this.configService.config.url);
|
|
42
|
+
await this.loaderService.process(async (chunk) => {
|
|
43
|
+
const chunkData = chunk.data.filter(car => this.carService.filterCar(car, this.rulesService.rules));
|
|
44
|
+
chunk.data = null;
|
|
45
|
+
for (const data of chunkData) {
|
|
46
|
+
const ownerId = (0, lodash_1.get)(data.car, 'metaData.ownerId', null);
|
|
47
|
+
const owner = await this.carService.getOwner(ownerId);
|
|
48
|
+
if (owner) {
|
|
49
|
+
const car = await googleTransformer.transform({ ...data });
|
|
50
|
+
await googleXmlBuilder.addItem(car);
|
|
51
|
+
this.carService.counter.countCar(data.images);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
await googleXmlBuilder.buildEnd();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
GoogleExporter = __decorate([
|
|
59
|
+
(0, common_1.Injectable)(),
|
|
60
|
+
__metadata("design:paramtypes", [car_service_1.CarService,
|
|
61
|
+
config_service_1.ConfigService,
|
|
62
|
+
rules_service_1.RulesService,
|
|
63
|
+
loader_service_1.LoaderService,
|
|
64
|
+
core_1.ModuleRef])
|
|
65
|
+
], GoogleExporter);
|
|
66
|
+
exports.GoogleExporter = GoogleExporter;
|
|
67
|
+
//# sourceMappingURL=google.exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google.exporter.js","sourceRoot":"","sources":["../../src/exporters/google.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAqD;AACrD,+DAA2D;AAG3D,+DAA2D;AAC3D,gEAA2D;AAC3D,mCAA6B;AAC7B,sEAAiE;AACjE,2EAAuE;AACvE,uCAAyC;AACzC,6DAAyD;AAGlD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEf;IACA;IACA;IACA;IACA;IALV,YACU,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;IAC3B,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,+BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,MAAM,+BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3E,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,sCAAiB,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClF,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,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,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;oBAC3D,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC/C;aACF;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAjCY,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGW,wBAAU;QACP,8BAAa;QACd,4BAAY;QACX,8BAAa;QACjB,gBAAS;GANnB,cAAc,CAiC1B;AAjCY,wCAAc"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CarService } from '../services/car.service';
|
|
2
|
+
import { ConfigService } from '../services/config.service';
|
|
3
|
+
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
+
import { LoaderService } from '../services/loader.service';
|
|
5
|
+
import { ModuleRef } from '@nestjs/core';
|
|
6
|
+
import { RulesService } from '../services/rules.service';
|
|
7
|
+
export declare class MeinstadtExporter implements Exporter {
|
|
8
|
+
private carService;
|
|
9
|
+
private configService;
|
|
10
|
+
private rulesService;
|
|
11
|
+
private loaderService;
|
|
12
|
+
private moduleRef;
|
|
13
|
+
constructor(carService: CarService, configService: ConfigService, rulesService: RulesService, loaderService: LoaderService, moduleRef: ModuleRef);
|
|
14
|
+
export(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
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.MeinstadtExporter = void 0;
|
|
13
|
+
const car_service_1 = require("../services/car.service");
|
|
14
|
+
const config_service_1 = require("../services/config.service");
|
|
15
|
+
const loader_service_1 = require("../services/loader.service");
|
|
16
|
+
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
17
|
+
const zipper_1 = require("@bytebrand/zipper");
|
|
18
|
+
const common_1 = require("@nestjs/common");
|
|
19
|
+
const core_1 = require("@nestjs/core");
|
|
20
|
+
const meinstadt_json_builder_1 = require("../formats/meinstadt-json.builder");
|
|
21
|
+
const lodash_1 = require("lodash");
|
|
22
|
+
const meinstadt_transformer_1 = require("../transformers/meinstadt.transformer");
|
|
23
|
+
const rules_service_1 = require("../services/rules.service");
|
|
24
|
+
let MeinstadtExporter = class MeinstadtExporter {
|
|
25
|
+
carService;
|
|
26
|
+
configService;
|
|
27
|
+
rulesService;
|
|
28
|
+
loaderService;
|
|
29
|
+
moduleRef;
|
|
30
|
+
constructor(carService, configService, rulesService, loaderService, moduleRef) {
|
|
31
|
+
this.carService = carService;
|
|
32
|
+
this.configService = configService;
|
|
33
|
+
this.rulesService = rulesService;
|
|
34
|
+
this.loaderService = loaderService;
|
|
35
|
+
this.moduleRef = moduleRef;
|
|
36
|
+
}
|
|
37
|
+
async export() {
|
|
38
|
+
for (const file of this.configService.config.outputFiles) {
|
|
39
|
+
const exists = await cronicle_helper_1.CronicleUtils.exists(file);
|
|
40
|
+
exists && (await cronicle_helper_1.CronicleUtils.unlink(file));
|
|
41
|
+
}
|
|
42
|
+
const [fileCarJson, fileGZ] = this.configService.config.outputFiles;
|
|
43
|
+
const meinstadtJsonBuilder = new meinstadt_json_builder_1.MeinstadtJsonBuilder(fileCarJson);
|
|
44
|
+
meinstadtJsonBuilder.buildStart();
|
|
45
|
+
const meinstadtTransformer = await this.moduleRef.create(meinstadt_transformer_1.MeinstadtTransformer);
|
|
46
|
+
let firstCar = true;
|
|
47
|
+
await this.loaderService.process(async (chunk) => {
|
|
48
|
+
let chunkData;
|
|
49
|
+
if (this.configService.config.isNewCar) {
|
|
50
|
+
chunkData = chunk.data.filter(e => this.carService.filterCar(e, this.rulesService.rules) && this.carService.isCarNew(e));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
chunkData = chunk.data.filter(e => this.carService.filterCar(e, this.rulesService.rules));
|
|
54
|
+
}
|
|
55
|
+
chunk.data = null;
|
|
56
|
+
for (const data of chunkData) {
|
|
57
|
+
const ownerId = (0, lodash_1.get)(data.car, 'metaData.ownerId', null);
|
|
58
|
+
if (!(0, lodash_1.isNil)(ownerId)) {
|
|
59
|
+
const owner = await this.carService.getOwner(ownerId);
|
|
60
|
+
if (owner) {
|
|
61
|
+
const car = await meinstadtTransformer.transform({ owner, ...data });
|
|
62
|
+
await meinstadtJsonBuilder.addItem(car, firstCar);
|
|
63
|
+
this.carService.counter.countCar(data.images);
|
|
64
|
+
}
|
|
65
|
+
if (firstCar) {
|
|
66
|
+
firstCar = false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
meinstadtJsonBuilder.buildEnd();
|
|
72
|
+
await zipper_1.Zipper.zip({ dest: fileGZ, fileList: [fileCarJson] });
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
MeinstadtExporter = __decorate([
|
|
76
|
+
(0, common_1.Injectable)(),
|
|
77
|
+
__metadata("design:paramtypes", [car_service_1.CarService,
|
|
78
|
+
config_service_1.ConfigService,
|
|
79
|
+
rules_service_1.RulesService,
|
|
80
|
+
loader_service_1.LoaderService,
|
|
81
|
+
core_1.ModuleRef])
|
|
82
|
+
], MeinstadtExporter);
|
|
83
|
+
exports.MeinstadtExporter = MeinstadtExporter;
|
|
84
|
+
//# sourceMappingURL=meinstadt.exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meinstadt.exporter.js","sourceRoot":"","sources":["../../src/exporters/meinstadt.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAqD;AACrD,+DAA2D;AAG3D,+DAA2D;AAC3D,gEAA2D;AAC3D,8CAA2C;AAC3C,2CAA4C;AAC5C,uCAAyC;AACzC,8EAAyE;AACzE,mCAAoC;AACpC,iFAA6E;AAC7E,6DAAyD;AAIlD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAElB;IACA;IACA;IACA;IACA;IALV,YACU,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;IAC3B,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,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QAEpE,MAAM,oBAAoB,GAAG,IAAI,6CAAoB,CAAC,WAAW,CAAC,CAAC;QACnE,oBAAoB,CAAC,UAAU,EAAE,CAAC;QAElC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,4CAAoB,CAAC,CAAC;QAE/E,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YACjE,IAAI,SAAS,CAAC;YACd,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC1F,CAAC;aACH;iBAAM;gBACL,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;aAC3F;YACD,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,IAAI,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,EAAE;oBACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACtD,IAAI,KAAK,EAAE;wBACT,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;wBACrE,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAwB,EAAE,QAAQ,CAAC,CAAC;wBACvE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC/C;oBACD,IAAI,QAAQ,EAAE;wBACZ,QAAQ,GAAG,KAAK,CAAC;qBAClB;iBACF;aACF;QACH,CAAC,CAAC,CAAC;QAEH,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QAEhC,MAAM,eAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AArDY,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGW,wBAAU;QACP,8BAAa;QACd,4BAAY;QACX,8BAAa;QACjB,gBAAS;GANnB,iBAAiB,CAqD7B;AArDY,8CAAiB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CarService } from '../services/car.service';
|
|
2
|
+
import { ConfigService } from '../services/config.service';
|
|
3
|
+
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
+
import { LoaderService } from '../services/loader.service';
|
|
5
|
+
import { ModuleRef } from '@nestjs/core';
|
|
6
|
+
import { HttpService } from '@nestjs/axios';
|
|
7
|
+
import { RulesService } from '../services/rules.service';
|
|
8
|
+
export declare class MobileExporter implements Exporter {
|
|
9
|
+
private carService;
|
|
10
|
+
private configService;
|
|
11
|
+
private rulesService;
|
|
12
|
+
private loaderService;
|
|
13
|
+
private moduleRef;
|
|
14
|
+
private httpService;
|
|
15
|
+
constructor(carService: CarService, configService: ConfigService, rulesService: RulesService, loaderService: LoaderService, moduleRef: ModuleRef, httpService: HttpService);
|
|
16
|
+
export(): Promise<void>;
|
|
17
|
+
private downloadImages;
|
|
18
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
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.MobileExporter = void 0;
|
|
13
|
+
const car_service_1 = require("../services/car.service");
|
|
14
|
+
const config_service_1 = require("../services/config.service");
|
|
15
|
+
const promises_1 = require("fs/promises");
|
|
16
|
+
const mobile_transformer_1 = require("../transformers/mobile.transformer");
|
|
17
|
+
const converter_utils_1 = require("../utils/converter.utils");
|
|
18
|
+
const loader_service_1 = require("../services/loader.service");
|
|
19
|
+
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
20
|
+
const zipper_1 = require("@bytebrand/zipper");
|
|
21
|
+
const path_1 = require("path");
|
|
22
|
+
const common_1 = require("@nestjs/common");
|
|
23
|
+
const core_1 = require("@nestjs/core");
|
|
24
|
+
const axios_1 = require("@nestjs/axios");
|
|
25
|
+
const rxjs_1 = require("rxjs");
|
|
26
|
+
const fs_1 = require("fs");
|
|
27
|
+
const lodash_1 = require("lodash");
|
|
28
|
+
const rules_service_1 = require("../services/rules.service");
|
|
29
|
+
let MobileExporter = class MobileExporter {
|
|
30
|
+
carService;
|
|
31
|
+
configService;
|
|
32
|
+
rulesService;
|
|
33
|
+
loaderService;
|
|
34
|
+
moduleRef;
|
|
35
|
+
httpService;
|
|
36
|
+
constructor(carService, configService, rulesService, loaderService, moduleRef, httpService) {
|
|
37
|
+
this.carService = carService;
|
|
38
|
+
this.configService = configService;
|
|
39
|
+
this.rulesService = rulesService;
|
|
40
|
+
this.loaderService = loaderService;
|
|
41
|
+
this.moduleRef = moduleRef;
|
|
42
|
+
this.httpService = httpService;
|
|
43
|
+
}
|
|
44
|
+
async export() {
|
|
45
|
+
await cronicle_helper_1.CronicleUtils.ensureDir(this.configService.config.pathesConfig.localConvertedDirectory);
|
|
46
|
+
await cronicle_helper_1.CronicleUtils.emptyDir(this.configService.config.pathesConfig.localConvertedDirectory);
|
|
47
|
+
if (this.configService.config.downloadImages) {
|
|
48
|
+
await cronicle_helper_1.CronicleUtils.ensureDir((0, path_1.join)(this.configService.config.pathesConfig.localConvertedDirectory, 'images'));
|
|
49
|
+
}
|
|
50
|
+
const mobileTransformer = await this.moduleRef.create(mobile_transformer_1.MobileTransformer);
|
|
51
|
+
await this.loaderService.process(async (chunk) => {
|
|
52
|
+
if (this.configService.config.isNewCar) {
|
|
53
|
+
chunk.data = chunk.data.filter(e => this.carService.filterCar(e, this.rulesService.rules) && this.carService.isCarNew(e));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
chunk.data = chunk.data.filter(e => this.carService.filterCar(e, this.rulesService.rules));
|
|
57
|
+
}
|
|
58
|
+
if (chunk && chunk.data) {
|
|
59
|
+
for (let i = 0; i < chunk.data.length; i += 1) {
|
|
60
|
+
const data = chunk.data[i];
|
|
61
|
+
const { car, images } = data;
|
|
62
|
+
const transformedData = await mobileTransformer.transform(car, images);
|
|
63
|
+
if (this.configService.config.downloadImages) {
|
|
64
|
+
await this.downloadImages((0, lodash_1.get)(transformedData, '1'), (0, lodash_1.get)(transformedData, '26', '').split(';'));
|
|
65
|
+
}
|
|
66
|
+
const transformedDataCSV = `${(0, converter_utils_1.convertToCSV)(transformedData)}\n`;
|
|
67
|
+
await (0, promises_1.writeFile)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${this.configService.config.fileName}.csv`, Buffer.from(transformedDataCSV), { flag: 'a' });
|
|
68
|
+
this.carService.counter.countCar(data.images);
|
|
69
|
+
}
|
|
70
|
+
chunk.data = null;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const fileZIP = (0, path_1.normalize)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${this.configService.config.fileName}.zip`);
|
|
74
|
+
const fileCSV = (0, path_1.normalize)(`${this.configService.config.pathesConfig.localConvertedDirectory}/${this.configService.config.fileName}.csv`);
|
|
75
|
+
const fileList = [fileCSV];
|
|
76
|
+
if (this.configService.config.downloadImages) {
|
|
77
|
+
const fileImages = (0, path_1.normalize)((0, path_1.join)(this.configService.config.pathesConfig.localConvertedDirectory, 'images'));
|
|
78
|
+
fileList.push(fileImages);
|
|
79
|
+
}
|
|
80
|
+
if (await cronicle_helper_1.CronicleUtils.exists(fileCSV)) {
|
|
81
|
+
await zipper_1.Zipper.zip({ fileList, dest: fileZIP });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
downloadImages(vehicleId, imageUrls) {
|
|
85
|
+
return Promise.allSettled(imageUrls.map((imageUrl, index) => {
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
(0, rxjs_1.lastValueFrom)(this.httpService.get(imageUrl, {
|
|
88
|
+
responseType: 'stream',
|
|
89
|
+
}))
|
|
90
|
+
.then(response => {
|
|
91
|
+
const writer = (0, fs_1.createWriteStream)((0, path_1.join)(this.configService.config.pathesConfig.localConvertedDirectory, 'images', `${vehicleId}_${index + 1}${(0, path_1.extname)(imageUrl) || '.jpg'}`));
|
|
92
|
+
response.data.pipe(writer);
|
|
93
|
+
writer.on('finish', resolve);
|
|
94
|
+
writer.on('error', reject);
|
|
95
|
+
})
|
|
96
|
+
.catch(reject);
|
|
97
|
+
});
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
MobileExporter = __decorate([
|
|
102
|
+
(0, common_1.Injectable)(),
|
|
103
|
+
__metadata("design:paramtypes", [car_service_1.CarService,
|
|
104
|
+
config_service_1.ConfigService,
|
|
105
|
+
rules_service_1.RulesService,
|
|
106
|
+
loader_service_1.LoaderService,
|
|
107
|
+
core_1.ModuleRef,
|
|
108
|
+
axios_1.HttpService])
|
|
109
|
+
], MobileExporter);
|
|
110
|
+
exports.MobileExporter = MobileExporter;
|
|
111
|
+
//# sourceMappingURL=mobile.exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile.exporter.js","sourceRoot":"","sources":["../../src/exporters/mobile.exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CarService } from '../services/car.service';
|
|
2
|
+
import { ConfigService } from '../services/config.service';
|
|
3
|
+
import { Exporter } from '../interfaces/exporter.interface';
|
|
4
|
+
import { LoaderService } from '../services/loader.service';
|
|
5
|
+
import { ModuleRef } from '@nestjs/core';
|
|
6
|
+
export declare class OoyyoExporter implements Exporter {
|
|
7
|
+
private carService;
|
|
8
|
+
private configService;
|
|
9
|
+
private loaderService;
|
|
10
|
+
private moduleRef;
|
|
11
|
+
constructor(carService: CarService, configService: ConfigService, loaderService: LoaderService, moduleRef: ModuleRef);
|
|
12
|
+
export(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
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.OoyyoExporter = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const car_service_1 = require("../services/car.service");
|
|
15
|
+
const config_service_1 = require("../services/config.service");
|
|
16
|
+
const loader_service_1 = require("../services/loader.service");
|
|
17
|
+
const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
|
|
18
|
+
const core_1 = require("@nestjs/core");
|
|
19
|
+
const zipper_1 = require("@bytebrand/zipper");
|
|
20
|
+
const ooyyo_xml_builder_1 = require("../formats/ooyyo-xml.builder");
|
|
21
|
+
const ooyyo_transformer_1 = require("../transformers/ooyyo.transformer");
|
|
22
|
+
let OoyyoExporter = class OoyyoExporter {
|
|
23
|
+
carService;
|
|
24
|
+
configService;
|
|
25
|
+
loaderService;
|
|
26
|
+
moduleRef;
|
|
27
|
+
constructor(carService, configService, loaderService, moduleRef) {
|
|
28
|
+
this.carService = carService;
|
|
29
|
+
this.configService = configService;
|
|
30
|
+
this.loaderService = loaderService;
|
|
31
|
+
this.moduleRef = moduleRef;
|
|
32
|
+
}
|
|
33
|
+
async export() {
|
|
34
|
+
for (const file of this.configService.config.outputFiles) {
|
|
35
|
+
const exists = await cronicle_helper_1.CronicleUtils.exists(file);
|
|
36
|
+
exists && (await cronicle_helper_1.CronicleUtils.unlink(file));
|
|
37
|
+
}
|
|
38
|
+
const [fileCarXml, fileGZ] = this.configService.config.outputFiles;
|
|
39
|
+
const ooyyoXmlBuilder = new ooyyo_xml_builder_1.OoyyoXmlBuilder(fileCarXml);
|
|
40
|
+
const ooyyoTransformer = await this.moduleRef.create(ooyyo_transformer_1.OoyyoTransformer);
|
|
41
|
+
await ooyyoXmlBuilder.buildStart();
|
|
42
|
+
await this.loaderService.process(async (chunk) => {
|
|
43
|
+
if (chunk && chunk.data) {
|
|
44
|
+
for (let i = 0; i < chunk.data.length; i += 1) {
|
|
45
|
+
const data = chunk.data[i];
|
|
46
|
+
const { car, images } = data;
|
|
47
|
+
await ooyyoXmlBuilder.addItem(ooyyoTransformer.transform(car, images));
|
|
48
|
+
this.carService.counter.countCar(images);
|
|
49
|
+
}
|
|
50
|
+
chunk.data = null;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
await ooyyoXmlBuilder.buildEnd();
|
|
54
|
+
await zipper_1.Zipper.tar({ dest: fileGZ, fileList: [fileCarXml] });
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
OoyyoExporter = __decorate([
|
|
58
|
+
(0, common_1.Injectable)(),
|
|
59
|
+
__metadata("design:paramtypes", [car_service_1.CarService,
|
|
60
|
+
config_service_1.ConfigService,
|
|
61
|
+
loader_service_1.LoaderService,
|
|
62
|
+
core_1.ModuleRef])
|
|
63
|
+
], OoyyoExporter);
|
|
64
|
+
exports.OoyyoExporter = OoyyoExporter;
|
|
65
|
+
//# sourceMappingURL=ooyyo.exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ooyyo.exporter.js","sourceRoot":"","sources":["../../src/exporters/ooyyo.exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAqD;AACrD,+DAA2D;AAG3D,+DAA2D;AAC3D,gEAA2D;AAC3D,uCAAyC;AACzC,8CAA2C;AAC3C,oEAA+D;AAC/D,yEAAqE;AAG9D,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEd;IACA;IACA;IACA;IAJV,YACU,UAAsB,EACtB,aAA4B,EAC5B,aAA4B,EAC5B,SAAoB;QAHpB,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;IAC3B,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,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,mCAAe,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAgB,CAAC,CAAC;QAEvE,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAuB,EAAE,EAAE;YACjE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;oBAC7B,MAAM,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;oBACvE,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,eAAe,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,eAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AApCY,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGW,wBAAU;QACP,8BAAa;QACb,8BAAa;QACjB,gBAAS;GALnB,aAAa,CAoCzB;AApCY,sCAAa"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { XMLBuilderBase } from '@bytebrand/cronicle-helper';
|
|
2
|
+
import { Auto24XmlItem } from '../interfaces/export-item.interface';
|
|
3
|
+
export declare class Auto24XmlBuilder extends XMLBuilderBase {
|
|
4
|
+
buildStart(totalResults?: number): Promise<void>;
|
|
5
|
+
addItem(car: Auto24XmlItem): Promise<void>;
|
|
6
|
+
buildEnd(): Promise<void>;
|
|
7
|
+
}
|