@bytebrand/export-cars 1.26.45 → 1.26.47

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.
@@ -22,7 +22,7 @@ exports.AMOUNT_QUALIFIER_APR = 'APR';
22
22
  exports.TERM_QUALIFIER_MONTHS = 'months';
23
23
  exports.OFFER_DISCLAIMER = 'Für Ihre Finanzierungswünsche stellen wir eine Bonitätsanfrage. Bonität ' +
24
24
  'vorausgesetzt, ist dies ein repräsentatives Berechnungsbeispiel gem. der Angaben, welches 2/3 aller Kunden, ' +
25
- 'im Sinne des § 17a Abs. 4 PAngV, erhalten. Dieses freibleibende Angebot der Santander Consumer Bank AG, ' +
25
+ 'im Sinne des § 17a Abs. 4 PAngV, erhalten. Dieses freibleibende Angebot der Openbank Deutschland AG, ' +
26
26
  'Santander-Platz 1, 41061 Mönchengladbach wird vermittelt durch die auto.de GmbH, Max-Planck-Str. 19, 06796 ' +
27
27
  'Sandersdorf-Brehna, die als ungebundener Vermittler nicht beratend tätig ist. Irrtümer vorbehalten. Preise ' +
28
28
  'ggf. inkl. MwSt.';
@@ -1 +1 @@
1
- {"version":3,"file":"fb.constants.js","sourceRoot":"","sources":["../../src/constants/fb.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,EAAE,CAAC;AACxB,QAAA,8BAA8B,GAAG,EAAE,CAAC;AACpC,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,YAAY,GAAG,oBAAoB,CAAC;AACpC,QAAA,aAAa,GAAG,oBAAoB,CAAC;AACrC,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAC5B,QAAA,2BAA2B,GAAG,UAAU,CAAC;AACzC,QAAA,iCAAiC,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAI/E,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAGnC,QAAA,uBAAuB,GAAG,WAAW,CAAC;AAInD,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,yBAAY,CAAA;AACd,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAEY,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAC7B,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAEjC,QAAA,gBAAgB,GAAG,0EAA0E;IACxG,8GAA8G;IAC9G,0GAA0G;IAC1G,6GAA6G;IAC7G,6GAA6G;IAC7G,kBAAkB,CAAC"}
1
+ {"version":3,"file":"fb.constants.js","sourceRoot":"","sources":["../../src/constants/fb.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,EAAE,CAAC;AACxB,QAAA,8BAA8B,GAAG,EAAE,CAAC;AACpC,QAAA,eAAe,GAAG,GAAG,CAAC;AACtB,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,YAAY,GAAG,oBAAoB,CAAC;AACpC,QAAA,aAAa,GAAG,oBAAoB,CAAC;AACrC,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAC5B,QAAA,2BAA2B,GAAG,UAAU,CAAC;AACzC,QAAA,iCAAiC,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAI/E,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAGnC,QAAA,uBAAuB,GAAG,WAAW,CAAC;AAInD,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,yBAAY,CAAA;AACd,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAEY,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAC7B,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAEjC,QAAA,gBAAgB,GAAG,0EAA0E;IACxG,8GAA8G;IAC9G,uGAAuG;IACvG,6GAA6G;IAC7G,6GAA6G;IAC7G,kBAAkB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { MappingRules } from '../interfaces/mapping-rules.interface';
2
2
  import { ConfigService } from './config.service';
3
3
  import { DealersMapping, MetaPushPriorityMapping } from '../interfaces/dealers-mapping.interface';
4
+ export declare const mappingSheetCsvUrl: (spreadsheetId: string, title: string) => string;
4
5
  export declare class MappingService {
5
6
  private configService;
6
7
  constructor(configService: ConfigService);
@@ -8,6 +9,7 @@ export declare class MappingService {
8
9
  private dealers;
9
10
  private metaPushPriorities;
10
11
  getRules(): Promise<MappingRules[]>;
12
+ rulesFromCsv(csv: string, title: string): MappingRules[];
11
13
  getDealersMapping(): Promise<DealersMapping[]>;
12
14
  getMetaPushPriorityMapping(): Promise<MetaPushPriorityMapping[]>;
13
15
  private rowsToRules;
@@ -9,12 +9,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MappingService = void 0;
12
+ exports.MappingService = exports.mappingSheetCsvUrl = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const axios_1 = require("axios");
15
+ const cronicle_helper_1 = require("@bytebrand/cronicle-helper");
15
16
  const google_spreadsheet_1 = require("google-spreadsheet");
16
17
  const config_service_1 = require("./config.service");
17
18
  const utils_1 = require("../utils");
19
+ const mappingSheetCsvUrl = (spreadsheetId, title) => `https://docs.google.com/spreadsheets/d/${spreadsheetId}/gviz/tq?tqx=out:csv&sheet=${encodeURIComponent(title)}`;
20
+ exports.mappingSheetCsvUrl = mappingSheetCsvUrl;
21
+ const REQUIRED_MAPPING_COLUMNS = ['importField', 'importFieldType', 'autodeField', 'autodeFieldType'];
18
22
  let MappingService = class MappingService {
19
23
  configService;
20
24
  constructor(configService) {
@@ -25,21 +29,37 @@ let MappingService = class MappingService {
25
29
  metaPushPriorities;
26
30
  async getRules() {
27
31
  if (!this.rules) {
28
- const spreadsheet = new google_spreadsheet_1.GoogleSpreadsheet(this.configService.config.mappingSpreadsheetId);
29
- spreadsheet.useApiKey(this.configService.config.apikey);
30
- await spreadsheet.loadInfo();
31
- const rows = await spreadsheet.sheetsByTitle[this.configService.config.mappingSpreadsheetTitle].getRows();
32
- const mappingRules = this.rowsToRules(rows);
33
- mappingRules.map((rule, _i, selfRules) => {
34
- this.removeEmptyKeys(rule);
35
- if (rule.importFieldType && rule.importFieldType.includes('selector')) {
36
- this.groupSelectors(rule, selfRules);
37
- }
38
- });
39
- this.rules = this.filterResultedRows(mappingRules);
32
+ const { mappingSpreadsheetId, mappingSpreadsheetTitle } = this.configService.config;
33
+ const url = (0, exports.mappingSheetCsvUrl)(mappingSpreadsheetId, mappingSpreadsheetTitle);
34
+ const { data } = await cronicle_helper_1.CronicleUtils.retry(() => axios_1.default.get(url, { responseType: 'text', timeout: 30000 }), 3, 5000, true);
35
+ this.rules = this.rulesFromCsv(data, mappingSpreadsheetTitle);
36
+ console.log(`mapping: ${this.rules.length} rules from the public CSV of tab ${mappingSpreadsheetTitle}`);
40
37
  }
41
38
  return this.rules;
42
39
  }
40
+ rulesFromCsv(csv, title) {
41
+ const rows = (0, utils_1.parseCsvToObjects)(typeof csv === 'string' ? csv : '');
42
+ const columns = rows.length ? Object.keys(rows[0]) : [];
43
+ const missing = REQUIRED_MAPPING_COLUMNS.filter(column => !columns.includes(column));
44
+ if (missing.length) {
45
+ throw new Error(`mapping sheet tab "${title}" not readable as CSV (missing columns ${missing.join(', ')}) — is the sheet still shared with everyone who has the link?`);
46
+ }
47
+ const mappingRules = rows.map((row) => {
48
+ delete row[''];
49
+ return row;
50
+ });
51
+ mappingRules.forEach((rule, _i, selfRules) => {
52
+ this.removeEmptyKeys(rule);
53
+ if (rule.importFieldType && rule.importFieldType.includes('selector')) {
54
+ this.groupSelectors(rule, selfRules);
55
+ }
56
+ });
57
+ const rules = this.filterResultedRows(mappingRules);
58
+ if (!rules.length) {
59
+ throw new Error(`mapping sheet tab "${title}" has no rule`);
60
+ }
61
+ return rules;
62
+ }
43
63
  async getDealersMapping() {
44
64
  if (!this.dealers) {
45
65
  const spreadsheet = new google_spreadsheet_1.GoogleSpreadsheet(this.configService.config.dealersSpreadsheetId);
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.service.js","sourceRoot":"","sources":["../../src/services/mapping.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.service.js","sourceRoot":"","sources":["../../src/services/mapping.service.ts"],"names":[],"mappings":"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"}