@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.
Files changed (330) hide show
  1. package/.editorconfig +8 -0
  2. package/.eslintignore +1 -0
  3. package/.eslintrc.js +24 -0
  4. package/.prettierrc.js +7 -0
  5. package/README.md +67 -0
  6. package/dist/app.module.d.ts +2 -0
  7. package/dist/app.module.js +47 -0
  8. package/dist/app.module.js.map +1 -0
  9. package/dist/config/as24.config.d.ts +5 -0
  10. package/dist/config/as24.config.js +13 -0
  11. package/dist/config/as24.config.js.map +1 -0
  12. package/dist/config/auto24.config.d.ts +6 -0
  13. package/dist/config/auto24.config.js +31 -0
  14. package/dist/config/auto24.config.js.map +1 -0
  15. package/dist/config/autoboerse.config.d.ts +5 -0
  16. package/dist/config/autoboerse.config.js +15 -0
  17. package/dist/config/autoboerse.config.js.map +1 -0
  18. package/dist/config/autouncle.config.d.ts +5 -0
  19. package/dist/config/autouncle.config.js +14 -0
  20. package/dist/config/autouncle.config.js.map +1 -0
  21. package/dist/config/by-owner.config.d.ts +5 -0
  22. package/dist/config/by-owner.config.js +14 -0
  23. package/dist/config/by-owner.config.js.map +1 -0
  24. package/dist/config/config.d.ts +57 -0
  25. package/dist/config/config.js +78 -0
  26. package/dist/config/config.js.map +1 -0
  27. package/dist/config/eauto.config.d.ts +5 -0
  28. package/dist/config/eauto.config.js +15 -0
  29. package/dist/config/eauto.config.js.map +1 -0
  30. package/dist/config/fb.config.d.ts +5 -0
  31. package/dist/config/fb.config.js +14 -0
  32. package/dist/config/fb.config.js.map +1 -0
  33. package/dist/config/google.config.d.ts +5 -0
  34. package/dist/config/google.config.js +13 -0
  35. package/dist/config/google.config.js.map +1 -0
  36. package/dist/config/marktde.config.d.ts +5 -0
  37. package/dist/config/marktde.config.js +14 -0
  38. package/dist/config/marktde.config.js.map +1 -0
  39. package/dist/config/meinstadt.config.d.ts +5 -0
  40. package/dist/config/meinstadt.config.js +14 -0
  41. package/dist/config/meinstadt.config.js.map +1 -0
  42. package/dist/config/ooyyo.config.d.ts +5 -0
  43. package/dist/config/ooyyo.config.js +14 -0
  44. package/dist/config/ooyyo.config.js.map +1 -0
  45. package/dist/config/yescar.config.d.ts +5 -0
  46. package/dist/config/yescar.config.js +14 -0
  47. package/dist/config/yescar.config.js.map +1 -0
  48. package/dist/constants/autouncle.contants.d.ts +4 -0
  49. package/dist/constants/autouncle.contants.js +8 -0
  50. package/dist/constants/autouncle.contants.js.map +1 -0
  51. package/dist/constants/fb.constants.d.ts +7 -0
  52. package/dist/constants/fb.constants.js +11 -0
  53. package/dist/constants/fb.constants.js.map +1 -0
  54. package/dist/constants/rule-input.contants.d.ts +3 -0
  55. package/dist/constants/rule-input.contants.js +7 -0
  56. package/dist/constants/rule-input.contants.js.map +1 -0
  57. package/dist/enums/environment.enum.d.ts +5 -0
  58. package/dist/enums/environment.enum.js +10 -0
  59. package/dist/enums/environment.enum.js.map +1 -0
  60. package/dist/enums/export-type.enum.d.ts +14 -0
  61. package/dist/enums/export-type.enum.js +19 -0
  62. package/dist/enums/export-type.enum.js.map +1 -0
  63. package/dist/export.command.d.ts +11 -0
  64. package/dist/export.command.js +47 -0
  65. package/dist/export.command.js.map +1 -0
  66. package/dist/export.schema.d.ts +65 -0
  67. package/dist/export.schema.js +70 -0
  68. package/dist/export.schema.js.map +1 -0
  69. package/dist/exporters/as24.exporter.d.ts +13 -0
  70. package/dist/exporters/as24.exporter.js +68 -0
  71. package/dist/exporters/as24.exporter.js.map +1 -0
  72. package/dist/exporters/auto24.exporter.d.ts +13 -0
  73. package/dist/exporters/auto24.exporter.js +81 -0
  74. package/dist/exporters/auto24.exporter.js.map +1 -0
  75. package/dist/exporters/autouncle.exporter.d.ts +15 -0
  76. package/dist/exporters/autouncle.exporter.js +79 -0
  77. package/dist/exporters/autouncle.exporter.js.map +1 -0
  78. package/dist/exporters/by-owner.exporter.d.ts +11 -0
  79. package/dist/exporters/by-owner.exporter.js +58 -0
  80. package/dist/exporters/by-owner.exporter.js.map +1 -0
  81. package/dist/exporters/fb.exporter.d.ts +15 -0
  82. package/dist/exporters/fb.exporter.js +67 -0
  83. package/dist/exporters/fb.exporter.js.map +1 -0
  84. package/dist/exporters/google.exporter.d.ts +15 -0
  85. package/dist/exporters/google.exporter.js +67 -0
  86. package/dist/exporters/google.exporter.js.map +1 -0
  87. package/dist/exporters/meinstadt.exporter.d.ts +15 -0
  88. package/dist/exporters/meinstadt.exporter.js +84 -0
  89. package/dist/exporters/meinstadt.exporter.js.map +1 -0
  90. package/dist/exporters/mobile.exporter.d.ts +18 -0
  91. package/dist/exporters/mobile.exporter.js +111 -0
  92. package/dist/exporters/mobile.exporter.js.map +1 -0
  93. package/dist/exporters/ooyyo.exporter.d.ts +13 -0
  94. package/dist/exporters/ooyyo.exporter.js +65 -0
  95. package/dist/exporters/ooyyo.exporter.js.map +1 -0
  96. package/dist/formats/auto24-xml.builder.d.ts +7 -0
  97. package/dist/formats/auto24-xml.builder.js +47 -0
  98. package/dist/formats/auto24-xml.builder.js.map +1 -0
  99. package/dist/formats/autouncle-json.builder.d.ts +7 -0
  100. package/dist/formats/autouncle-json.builder.js +21 -0
  101. package/dist/formats/autouncle-json.builder.js.map +1 -0
  102. package/dist/formats/fb-xml.builder.d.ts +11 -0
  103. package/dist/formats/fb-xml.builder.js +63 -0
  104. package/dist/formats/fb-xml.builder.js.map +1 -0
  105. package/dist/formats/google-xml.builder.d.ts +8 -0
  106. package/dist/formats/google-xml.builder.js +32 -0
  107. package/dist/formats/google-xml.builder.js.map +1 -0
  108. package/dist/formats/meinstadt-json.builder.d.ts +7 -0
  109. package/dist/formats/meinstadt-json.builder.js +22 -0
  110. package/dist/formats/meinstadt-json.builder.js.map +1 -0
  111. package/dist/formats/ooyyo-xml.builder.d.ts +7 -0
  112. package/dist/formats/ooyyo-xml.builder.js +47 -0
  113. package/dist/formats/ooyyo-xml.builder.js.map +1 -0
  114. package/dist/input.questions.d.ts +3 -0
  115. package/dist/input.questions.js +32 -0
  116. package/dist/input.questions.js.map +1 -0
  117. package/dist/interfaces/description.interface.d.ts +22 -0
  118. package/dist/interfaces/description.interface.js +3 -0
  119. package/dist/interfaces/description.interface.js.map +1 -0
  120. package/dist/interfaces/export-item.interface.d.ts +147 -0
  121. package/dist/interfaces/export-item.interface.js +3 -0
  122. package/dist/interfaces/export-item.interface.js.map +1 -0
  123. package/dist/interfaces/exporter.interface.d.ts +3 -0
  124. package/dist/interfaces/exporter.interface.js +3 -0
  125. package/dist/interfaces/exporter.interface.js.map +1 -0
  126. package/dist/interfaces/input.interface.d.ts +5 -0
  127. package/dist/interfaces/input.interface.js +3 -0
  128. package/dist/interfaces/input.interface.js.map +1 -0
  129. package/dist/interfaces/mapping-rules.interface.d.ts +10 -0
  130. package/dist/interfaces/mapping-rules.interface.js +3 -0
  131. package/dist/interfaces/mapping-rules.interface.js.map +1 -0
  132. package/dist/interfaces/params.interface.d.ts +18 -0
  133. package/dist/interfaces/params.interface.js +3 -0
  134. package/dist/interfaces/params.interface.js.map +1 -0
  135. package/dist/interfaces/rule-parser.interface.d.ts +3 -0
  136. package/dist/interfaces/rule-parser.interface.js +3 -0
  137. package/dist/interfaces/rule-parser.interface.js.map +1 -0
  138. package/dist/main.d.ts +1 -0
  139. package/dist/main.js +23 -0
  140. package/dist/main.js.map +1 -0
  141. package/dist/rules/abstract.rule.d.ts +13 -0
  142. package/dist/rules/abstract.rule.js +32 -0
  143. package/dist/rules/abstract.rule.js.map +1 -0
  144. package/dist/rules/date.rule.d.ts +7 -0
  145. package/dist/rules/date.rule.js +20 -0
  146. package/dist/rules/date.rule.js.map +1 -0
  147. package/dist/rules/number.rule.d.ts +7 -0
  148. package/dist/rules/number.rule.js +16 -0
  149. package/dist/rules/number.rule.js.map +1 -0
  150. package/dist/rules/string.rule.d.ts +5 -0
  151. package/dist/rules/string.rule.js +11 -0
  152. package/dist/rules/string.rule.js.map +1 -0
  153. package/dist/services/car.service.d.ts +24 -0
  154. package/dist/services/car.service.js +74 -0
  155. package/dist/services/car.service.js.map +1 -0
  156. package/dist/services/config.service.d.ts +6 -0
  157. package/dist/services/config.service.js +24 -0
  158. package/dist/services/config.service.js.map +1 -0
  159. package/dist/services/loader.service.d.ts +9 -0
  160. package/dist/services/loader.service.js +45 -0
  161. package/dist/services/loader.service.js.map +1 -0
  162. package/dist/services/mapping.service.d.ts +11 -0
  163. package/dist/services/mapping.service.js +73 -0
  164. package/dist/services/mapping.service.js.map +1 -0
  165. package/dist/services/marketing-images.service.d.ts +16 -0
  166. package/dist/services/marketing-images.service.js +58 -0
  167. package/dist/services/marketing-images.service.js.map +1 -0
  168. package/dist/services/request.service.d.ts +12 -0
  169. package/dist/services/request.service.js +48 -0
  170. package/dist/services/request.service.js.map +1 -0
  171. package/dist/services/rules.service.d.ts +15 -0
  172. package/dist/services/rules.service.js +68 -0
  173. package/dist/services/rules.service.js.map +1 -0
  174. package/dist/services/user.service.d.ts +11 -0
  175. package/dist/services/user.service.js +64 -0
  176. package/dist/services/user.service.js.map +1 -0
  177. package/dist/transformers/as24.transformer.d.ts +28 -0
  178. package/dist/transformers/as24.transformer.js +217 -0
  179. package/dist/transformers/as24.transformer.js.map +1 -0
  180. package/dist/transformers/auto24.transfomer.d.ts +16 -0
  181. package/dist/transformers/auto24.transfomer.js +155 -0
  182. package/dist/transformers/auto24.transfomer.js.map +1 -0
  183. package/dist/transformers/autouncle.transformer.d.ts +32 -0
  184. package/dist/transformers/autouncle.transformer.js +234 -0
  185. package/dist/transformers/autouncle.transformer.js.map +1 -0
  186. package/dist/transformers/by-owner.transformer.d.ts +12 -0
  187. package/dist/transformers/by-owner.transformer.js +274 -0
  188. package/dist/transformers/by-owner.transformer.js.map +1 -0
  189. package/dist/transformers/fb-description.transformer.d.ts +19 -0
  190. package/dist/transformers/fb-description.transformer.js +297 -0
  191. package/dist/transformers/fb-description.transformer.js.map +1 -0
  192. package/dist/transformers/fb-equipment.transformer.d.ts +8 -0
  193. package/dist/transformers/fb-equipment.transformer.js +149 -0
  194. package/dist/transformers/fb-equipment.transformer.js.map +1 -0
  195. package/dist/transformers/fb.transformer.d.ts +41 -0
  196. package/dist/transformers/fb.transformer.js +553 -0
  197. package/dist/transformers/fb.transformer.js.map +1 -0
  198. package/dist/transformers/google.transformer.d.ts +26 -0
  199. package/dist/transformers/google.transformer.js +164 -0
  200. package/dist/transformers/google.transformer.js.map +1 -0
  201. package/dist/transformers/meinstadt.transformer.d.ts +14 -0
  202. package/dist/transformers/meinstadt.transformer.js +95 -0
  203. package/dist/transformers/meinstadt.transformer.js.map +1 -0
  204. package/dist/transformers/mobile.transformer.d.ts +47 -0
  205. package/dist/transformers/mobile.transformer.js +471 -0
  206. package/dist/transformers/mobile.transformer.js.map +1 -0
  207. package/dist/transformers/ooyyo.transformer.d.ts +17 -0
  208. package/dist/transformers/ooyyo.transformer.js +127 -0
  209. package/dist/transformers/ooyyo.transformer.js.map +1 -0
  210. package/dist/tsconfig.build.tsbuildinfo +1 -0
  211. package/dist/utils/converter.utils.d.ts +1 -0
  212. package/dist/utils/converter.utils.js +15 -0
  213. package/dist/utils/converter.utils.js.map +1 -0
  214. package/dist/utils/date-time.utils.d.ts +1 -0
  215. package/dist/utils/date-time.utils.js +21 -0
  216. package/dist/utils/date-time.utils.js.map +1 -0
  217. package/dist/utils/parser.utils.d.ts +2 -0
  218. package/dist/utils/parser.utils.js +9 -0
  219. package/dist/utils/parser.utils.js.map +1 -0
  220. package/dist/utils/validator.utils.d.ts +2 -0
  221. package/dist/utils/validator.utils.js +12 -0
  222. package/dist/utils/validator.utils.js.map +1 -0
  223. package/nest-cli.json +5 -0
  224. package/package.json +57 -31
  225. package/src/app.module.ts +34 -0
  226. package/src/config/as24.config.ts +10 -0
  227. package/src/config/auto24.config.ts +29 -0
  228. package/src/config/autoboerse.config.ts +12 -0
  229. package/src/config/autouncle.config.ts +11 -0
  230. package/src/config/by-owner.config.ts +11 -0
  231. package/src/config/config.ts +87 -0
  232. package/src/config/eauto.config.ts +12 -0
  233. package/src/config/fb.config.ts +11 -0
  234. package/src/config/google.config.ts +10 -0
  235. package/src/config/marktde.config.ts +11 -0
  236. package/src/config/meinstadt.config.ts +11 -0
  237. package/src/config/ooyyo.config.ts +11 -0
  238. package/src/config/yescar.config.ts +11 -0
  239. package/src/constants/autouncle.contants.ts +4 -0
  240. package/src/constants/fb.constants.ts +7 -0
  241. package/src/constants/rule-input.contants.ts +3 -0
  242. package/src/enums/environment.enum.ts +5 -0
  243. package/src/enums/export-type.enum.ts +14 -0
  244. package/src/export.command.ts +33 -0
  245. package/src/export.schema.ts +67 -0
  246. package/src/exporters/as24.exporter.ts +70 -0
  247. package/src/exporters/auto24.exporter.ts +68 -0
  248. package/src/exporters/autouncle.exporter.ts +62 -0
  249. package/src/exporters/by-owner.exporter.ts +45 -0
  250. package/src/exporters/fb.exporter.ts +49 -0
  251. package/src/exporters/google.exporter.ts +48 -0
  252. package/src/exporters/meinstadt.exporter.ts +70 -0
  253. package/src/exporters/mobile.exporter.ts +113 -0
  254. package/src/exporters/ooyyo.exporter.ts +50 -0
  255. package/src/formats/auto24-xml.builder.ts +48 -0
  256. package/src/formats/autouncle-json.builder.ts +20 -0
  257. package/src/formats/fb-xml.builder.ts +71 -0
  258. package/src/formats/google-xml.builder.ts +35 -0
  259. package/src/formats/meinstadt-json.builder.ts +19 -0
  260. package/src/formats/ooyyo-xml.builder.ts +48 -0
  261. package/src/input.questions.ts +12 -0
  262. package/src/interfaces/description.interface.ts +24 -0
  263. package/src/interfaces/export-item.interface.ts +147 -0
  264. package/src/interfaces/exporter.interface.ts +3 -0
  265. package/src/interfaces/input.interface.ts +6 -0
  266. package/src/interfaces/mapping-rules.interface.ts +11 -0
  267. package/src/interfaces/params.interface.ts +19 -0
  268. package/src/interfaces/rule-parser.interface.ts +3 -0
  269. package/src/main.ts +28 -0
  270. package/src/rules/abstract.rule.ts +37 -0
  271. package/src/rules/date.rule.ts +18 -0
  272. package/src/rules/number.rule.ts +15 -0
  273. package/src/rules/string.rule.ts +8 -0
  274. package/src/services/car.service.ts +57 -0
  275. package/src/services/config.service.ts +15 -0
  276. package/src/services/loader.service.ts +30 -0
  277. package/src/services/mapping.service.ts +80 -0
  278. package/src/services/marketing-images.service.ts +67 -0
  279. package/src/services/request.service.ts +44 -0
  280. package/src/services/rules.service.ts +61 -0
  281. package/src/services/user.service.ts +52 -0
  282. package/src/transformers/as24.transformer.ts +225 -0
  283. package/src/transformers/auto24.transfomer.ts +155 -0
  284. package/src/transformers/autouncle.transformer.ts +264 -0
  285. package/src/transformers/by-owner.transformer.ts +364 -0
  286. package/src/transformers/fb-description.transformer.ts +316 -0
  287. package/src/transformers/fb-equipment.transformer.ts +161 -0
  288. package/src/transformers/fb.transformer.ts +640 -0
  289. package/src/transformers/google.transformer.ts +166 -0
  290. package/src/transformers/meinstadt.transformer.ts +80 -0
  291. package/src/transformers/mobile.transformer.ts +495 -0
  292. package/src/transformers/ooyyo.transformer.ts +123 -0
  293. package/src/utils/converter.utils.ts +11 -0
  294. package/src/utils/date-time.utils.ts +20 -0
  295. package/src/utils/parser.utils.ts +6 -0
  296. package/src/utils/validator.utils.ts +7 -0
  297. package/tsconfig.build.json +4 -0
  298. package/tsconfig.json +28 -34
  299. package/.prettierrc +0 -14
  300. package/dist/config/ConfigBuilder.d.ts +0 -4
  301. package/dist/config/ConfigBuilder.js +0 -69
  302. package/dist/config/ConfigBuilder.js.map +0 -1
  303. package/dist/config/index.d.ts +0 -1
  304. package/dist/config/index.js +0 -7
  305. package/dist/config/index.js.map +0 -1
  306. package/dist/index.d.ts +0 -1
  307. package/dist/index.js +0 -46
  308. package/dist/index.js.map +0 -1
  309. package/dist/interfaces/index.d.ts +0 -0
  310. package/dist/interfaces/index.js +0 -1
  311. package/dist/interfaces/index.js.map +0 -1
  312. package/dist/modules/acrhiver/TarArchiver.d.ts +0 -6
  313. package/dist/modules/acrhiver/TarArchiver.js +0 -52
  314. package/dist/modules/acrhiver/TarArchiver.js.map +0 -1
  315. package/dist/modules/acrhiver/index.d.ts +0 -2
  316. package/dist/modules/acrhiver/index.js +0 -7
  317. package/dist/modules/acrhiver/index.js.map +0 -1
  318. package/dist/modules/car-exporter/index.d.ts +0 -2
  319. package/dist/modules/car-exporter/index.js +0 -10
  320. package/dist/modules/car-exporter/index.js.map +0 -1
  321. package/dist/modules/car-loader/index.d.ts +0 -2
  322. package/dist/modules/car-loader/index.js +0 -12
  323. package/dist/modules/car-loader/index.js.map +0 -1
  324. package/index.js +0 -2
  325. package/readme.md +0 -11
  326. package/src/config/ConfigBuilder.ts +0 -69
  327. package/src/config/index.ts +0 -1
  328. package/src/index.ts +0 -44
  329. package/tslint.json +0 -51
  330. package/types/basic-ftp.d.ts +0 -72
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FbDescription = void 0;
4
+ const lodash_1 = require("lodash");
5
+ class FbDescription {
6
+ car;
7
+ translator;
8
+ equipment;
9
+ constructor(car, translator, equipment) {
10
+ this.car = car;
11
+ this.translator = translator;
12
+ this.equipment = equipment;
13
+ }
14
+ static create(car, translator, equipment) {
15
+ return new FbDescription(car, translator, equipment);
16
+ }
17
+ getDescriptionArray() {
18
+ const engineTransmission = this.getEngineAndTransmissionBlock();
19
+ const dimensions = this.getDimensionsBlock();
20
+ const colorMaterial = this.getColorAndMaterialBlock();
21
+ const equipment = this.getEquipmentBlock();
22
+ return [engineTransmission, dimensions, colorMaterial, equipment];
23
+ }
24
+ getEngineAndTransmissionBlock() {
25
+ const blockInfo = {
26
+ title: 'accordion.tableEngine',
27
+ values: [
28
+ {
29
+ title: 'title.fuel',
30
+ value: {
31
+ key: (0, lodash_1.get)(this.car, 'consumption.fuel'),
32
+ },
33
+ },
34
+ {
35
+ title: 'title.cylinders',
36
+ value: {
37
+ key: (0, lodash_1.get)(this.car, 'engineData.cylinders'),
38
+ },
39
+ },
40
+ {
41
+ title: 'accordion.captionCapacity',
42
+ value: {
43
+ key: 'title.cubicCapacity',
44
+ data: { cubicCapacity: (0, lodash_1.get)(this.car, 'engineData.cubicCapacity') },
45
+ },
46
+ },
47
+ {
48
+ title: 'accordion.captionPower',
49
+ value: {
50
+ key: 'value.powerAlternateView',
51
+ data: {
52
+ powerKW: (0, lodash_1.get)(this.car, 'engineData.powerKW'),
53
+ powerPS: (0, lodash_1.get)(this.car, 'engineData.powerPS'),
54
+ },
55
+ },
56
+ },
57
+ {
58
+ title: 'title.torque',
59
+ value: {
60
+ key: 'value.torque',
61
+ data: {
62
+ torque: (0, lodash_1.get)(this.car, 'engineData.torque'),
63
+ },
64
+ },
65
+ },
66
+ {
67
+ title: 'title.acceleration',
68
+ value: {
69
+ key: 'value.acceleration',
70
+ data: {
71
+ seconds: (0, lodash_1.get)(this.car, 'engineData.acceleration100'),
72
+ },
73
+ },
74
+ },
75
+ {
76
+ title: 'title.topSpeed',
77
+ value: {
78
+ key: 'value.topSpeed',
79
+ data: {
80
+ mileage: (0, lodash_1.get)(this.car, 'engineData.highSpeed'),
81
+ },
82
+ },
83
+ },
84
+ {
85
+ title: 'title.transmission',
86
+ value: {
87
+ key: (0, lodash_1.get)(this.car, 'driveSuspension.gearbox'),
88
+ },
89
+ },
90
+ {
91
+ title: 'title.driveType',
92
+ value: {
93
+ key: (0, lodash_1.get)(this.car, 'driveSuspension.driveType'),
94
+ },
95
+ },
96
+ {
97
+ title: 'title.fuelCapacity',
98
+ value: {
99
+ key: 'value.capacity',
100
+ data: {
101
+ capacity: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.fuelCapacity'),
102
+ },
103
+ },
104
+ },
105
+ {
106
+ title: 'hsn',
107
+ value: {
108
+ key: (0, lodash_1.get)(this.car, 'metaData.hsn'),
109
+ },
110
+ },
111
+ {
112
+ title: 'tsn',
113
+ value: {
114
+ key: (0, lodash_1.get)(this.car, 'metaData.tsn'),
115
+ },
116
+ },
117
+ ],
118
+ };
119
+ return this.buildBlock(blockInfo);
120
+ }
121
+ getDimensionsBlock() {
122
+ const blockInfo = {
123
+ title: 'accordion.tableDimensions',
124
+ values: [
125
+ {
126
+ title: 'title.category',
127
+ value: {
128
+ key: (0, lodash_1.get)(this.car, 'mainData.category'),
129
+ },
130
+ },
131
+ {
132
+ title: 'title.length',
133
+ value: {
134
+ key: 'value.size',
135
+ data: {
136
+ size: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.length'),
137
+ },
138
+ },
139
+ },
140
+ {
141
+ title: 'title.width',
142
+ value: {
143
+ key: 'value.size',
144
+ data: {
145
+ size: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.width'),
146
+ },
147
+ },
148
+ },
149
+ {
150
+ title: 'title.height',
151
+ value: {
152
+ key: 'value.size',
153
+ data: {
154
+ size: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.height'),
155
+ },
156
+ },
157
+ },
158
+ {
159
+ title: 'title.base',
160
+ value: {
161
+ key: (0, lodash_1.get)(this.car, 'driveSuspension.wheelBase'),
162
+ },
163
+ },
164
+ {
165
+ title: 'title.loadingVolume',
166
+ value: {
167
+ key: 'value.size',
168
+ data: {
169
+ size: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.capacityLoad'),
170
+ },
171
+ },
172
+ },
173
+ {
174
+ title: 'title.bootCapacity',
175
+ value: {
176
+ key: 'value.capacity',
177
+ data: { capacity: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.cargoCapacity') },
178
+ },
179
+ },
180
+ {
181
+ title: 'title.doors',
182
+ value: {
183
+ key: (0, lodash_1.get)(this.car, 'mainData.doors'),
184
+ },
185
+ },
186
+ {
187
+ title: 'title.seats',
188
+ value: {
189
+ key: (0, lodash_1.get)(this.car, 'mainData.seats'),
190
+ },
191
+ },
192
+ {
193
+ title: 'title.tare',
194
+ value: {
195
+ key: 'value.weight',
196
+ data: {
197
+ weight: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.emptyWeight'),
198
+ },
199
+ },
200
+ },
201
+ {
202
+ title: 'title.maximumWeight',
203
+ value: {
204
+ key: 'value.weight',
205
+ data: {
206
+ weight: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.maxWeight'),
207
+ },
208
+ },
209
+ },
210
+ {
211
+ title: 'title.trailerWeightBraked',
212
+ value: {
213
+ key: 'value.weight',
214
+ data: {
215
+ weight: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.trailerWeightBraked'),
216
+ },
217
+ },
218
+ },
219
+ {
220
+ title: 'title.trailerWeightUnbraked',
221
+ value: {
222
+ key: 'value.weight',
223
+ data: {
224
+ weight: (0, lodash_1.get)(this.car, 'sizeVolumeWeight.trailerWeightUnbraked'),
225
+ },
226
+ },
227
+ },
228
+ ],
229
+ };
230
+ return this.buildBlock(blockInfo);
231
+ }
232
+ getColorAndMaterialBlock() {
233
+ const blockInfo = {
234
+ title: 'accordion.tableMaterial',
235
+ values: [
236
+ {
237
+ title: 'title.manufacturerColorName',
238
+ value: {
239
+ key: (0, lodash_1.get)(this.car, 'exterior.manufacturerColorName'),
240
+ },
241
+ },
242
+ {
243
+ title: 'title.colour',
244
+ value: {
245
+ key: (0, lodash_1.get)(this.car, 'exterior.exteriorColor'),
246
+ },
247
+ },
248
+ {
249
+ title: 'title.appointmentsColor',
250
+ value: {
251
+ key: (0, lodash_1.get)(this.car, 'interior.interiorColor'),
252
+ },
253
+ },
254
+ {
255
+ title: 'title.interiorType',
256
+ value: {
257
+ key: (0, lodash_1.get)(this.car, 'interior.interiorType'),
258
+ },
259
+ },
260
+ ],
261
+ };
262
+ return this.buildBlock(blockInfo);
263
+ }
264
+ getEquipmentBlock() {
265
+ const blockInfo = {
266
+ title: 'accordion.tableEqipment',
267
+ values: this.equipment.collect(this.car),
268
+ };
269
+ return this.buildBlock(blockInfo);
270
+ }
271
+ buildBlock(blockInfo) {
272
+ return {
273
+ title: this.translator.translateVal(blockInfo.title),
274
+ values: this.buildValues(blockInfo.values),
275
+ };
276
+ }
277
+ buildValues(values) {
278
+ return values
279
+ .filter(({ value }) => {
280
+ const valArr = Array.isArray(value) ? value : [value];
281
+ return valArr.some(({ key, data }) => !Object.values(data || {}).some(value => (0, lodash_1.isNil)(value) || value === '') || !key);
282
+ })
283
+ .map(({ title, value }) => {
284
+ const valArr = Array.isArray(value) ? value : [value];
285
+ const translated = valArr.map(this.translateValue.bind(this));
286
+ return {
287
+ title: this.translator.translateVal(title),
288
+ value: translated,
289
+ };
290
+ });
291
+ }
292
+ translateValue({ key, data }) {
293
+ return this.translator.translateValAndReplaceValue(key, data || {});
294
+ }
295
+ }
296
+ exports.FbDescription = FbDescription;
297
+ //# sourceMappingURL=fb-description.transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fb-description.transformer.js","sourceRoot":"","sources":["../../src/transformers/fb-description.transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DataSchemes } from '@bytebrand/car-schema';
2
+ import { DescriptionValueInfo } from '../interfaces/description.interface';
3
+ export declare class FbEquipment {
4
+ collect(car: DataSchemes.Car): DescriptionValueInfo[];
5
+ private objectToValues;
6
+ private arrayToValues;
7
+ private toValue;
8
+ }
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FbEquipment = void 0;
4
+ const lodash_1 = require("lodash");
5
+ class FbEquipment {
6
+ collect(car) {
7
+ const doors = (0, lodash_1.get)(car, 'doors', {});
8
+ const wheel = (0, lodash_1.get)(car, 'wheel', {});
9
+ const extras = (0, lodash_1.get)(car, 'extras', {});
10
+ const window = (0, lodash_1.get)(car, 'window', {});
11
+ const mirrors = (0, lodash_1.get)(car, 'mirrors', {});
12
+ const multimedia = (0, lodash_1.get)(car, 'multimedia', {});
13
+ const climatisation = (0, lodash_1.get)(car, 'climatisation', {});
14
+ const airbag = (0, lodash_1.get)(car, 'airbags.airbag', []);
15
+ const auxiliaryHeating = (0, lodash_1.get)(car, 'heatingCooling.auxiliaryHeating', []);
16
+ const heatingCoolingClimatisation = (0, lodash_1.get)(car, 'heatingCooling.climatisation', null);
17
+ const lightSensor = (0, lodash_1.get)(car, 'lights.lightSensor', false);
18
+ const lights = (0, lodash_1.get)(car, 'lights', {});
19
+ delete lights.lightSensor;
20
+ const seats = (0, lodash_1.get)(car, 'seats', {});
21
+ const backSeats = (0, lodash_1.get)(car, 'seats.backSeats', []);
22
+ const coDriverSeats = (0, lodash_1.get)(car, 'seats.coDriverSeats', []);
23
+ const driverSeats = (0, lodash_1.get)(car, 'seats.driverSeats', []);
24
+ const electricHeated = (0, lodash_1.get)(car, 'seats.electricHeated', null);
25
+ const electricHeatedRearSeats = (0, lodash_1.get)(car, 'seats.electricHeatedRearSeats', null);
26
+ delete seats.backSeats;
27
+ delete seats.coDriverSeats;
28
+ delete seats.driverSeats;
29
+ const x4AllWeatherTires = (0, lodash_1.get)(car, 'wheels.x4AllWeatherTires', null);
30
+ const x4SummerTires = (0, lodash_1.get)(car, 'wheels.x4SummerTires', null);
31
+ const x4WinterTires = (0, lodash_1.get)(car, 'wheels.x4WinterTires', null);
32
+ const assistants = (0, lodash_1.get)(car, 'assistants', {});
33
+ const parkingAssistants = (0, lodash_1.get)(car, 'assistants.parkingAssistants', null);
34
+ const powerAssistedSteering = (0, lodash_1.get)(car, 'assistants.powerAssistedSteering', null);
35
+ delete assistants.parkingAssistants;
36
+ delete assistants.powerAssistedSteering;
37
+ const sportChassis = (0, lodash_1.get)(car, 'driveSuspension.sportChassis', null);
38
+ const adaptiveChassis = (0, lodash_1.get)(car, 'driveSuspension.adaptiveChassis', null);
39
+ const airSuspension = (0, lodash_1.get)(car, 'driveSuspension.airSuspension', null);
40
+ const roughRoadSuspension = (0, lodash_1.get)(car, 'driveSuspension.roughRoadSuspension', null);
41
+ const selfLockingDifferential = (0, lodash_1.get)(car, 'driveSuspension.selfLockingDifferential', null);
42
+ const airSuspensionAdaptive = (0, lodash_1.get)(car, 'driveSuspension.airSuspensionAdaptive', null);
43
+ const driveType = (0, lodash_1.get)(car, 'driveSuspension.driveType', null);
44
+ const heatingDriverSeats = driverSeats.indexOf('selector_driverSeats_electricHeated') !== -1;
45
+ const heatingCoDriverSeats = coDriverSeats.indexOf('selector_coDriverSeats_electricHeated') !== -1;
46
+ const heatingBackSeats = backSeats.indexOf('selector_backSeats_electricHeated') !== -1;
47
+ return [
48
+ {
49
+ title: 'accordion.captionAssistanceSystems',
50
+ value: [...this.objectToValues(assistants, 'assistants'), ...this.objectToValues({ lightSensor }, 'lights')],
51
+ },
52
+ {
53
+ title: 'accordion.captionAirbags',
54
+ value: this.arrayToValues(airbag),
55
+ },
56
+ {
57
+ title: 'accordion.captionParkingAid',
58
+ value: this.arrayToValues(parkingAssistants),
59
+ },
60
+ {
61
+ title: 'accordion.captionAirConditioning',
62
+ value: this.objectToValues({
63
+ [heatingCoolingClimatisation]: heatingCoolingClimatisation,
64
+ ...climatisation,
65
+ }),
66
+ },
67
+ {
68
+ title: 'accordion.captionHeater',
69
+ value: this.objectToValues({
70
+ heatingCooling_auxiliaryHeating: auxiliaryHeating,
71
+ seats_driverSeats: heatingDriverSeats,
72
+ seats_coDriverSeats: heatingCoDriverSeats,
73
+ seats_backSeats: heatingBackSeats,
74
+ seats_electricHeated: electricHeated,
75
+ seats_electricHeatedRearSeats: electricHeatedRearSeats,
76
+ }),
77
+ },
78
+ {
79
+ title: 'accordion.captionMultimedia',
80
+ value: this.objectToValues(multimedia, 'multimedia'),
81
+ },
82
+ {
83
+ title: 'accordion.captionSeats',
84
+ value: [
85
+ ...this.arrayToValues(backSeats),
86
+ ...this.arrayToValues(coDriverSeats),
87
+ ...this.arrayToValues(driverSeats),
88
+ ...this.objectToValues(seats, 'seats'),
89
+ ],
90
+ },
91
+ {
92
+ title: 'accordion.captionSteeringWheel',
93
+ value: [
94
+ ...this.objectToValues(wheel, 'wheel'),
95
+ ...this.objectToValues({ powerAssistedSteering }, 'assistants'),
96
+ ],
97
+ },
98
+ {
99
+ title: 'accordion.captionLight',
100
+ value: this.objectToValues(lights, 'lights'),
101
+ },
102
+ {
103
+ title: 'accordion.captionDoors',
104
+ value: this.objectToValues(doors, 'doors'),
105
+ },
106
+ {
107
+ title: 'accordion.captionSlices',
108
+ value: this.objectToValues(window, 'window'),
109
+ },
110
+ {
111
+ title: 'accordion.captionMirror',
112
+ value: this.objectToValues(mirrors, 'mirrors'),
113
+ },
114
+ {
115
+ title: 'accordion.captionWheelsLandingGear',
116
+ value: [
117
+ ...this.objectToValues({
118
+ sportChassis,
119
+ adaptiveChassis,
120
+ airSuspension,
121
+ roughRoadSuspension,
122
+ selfLockingDifferential,
123
+ airSuspensionAdaptive,
124
+ }, 'driveSuspension'),
125
+ ...this.objectToValues({ x4AllWeatherTires, x4SummerTires, x4WinterTires }, 'bikes'),
126
+ ...this.objectToValues({ [driveType]: driveType }),
127
+ ],
128
+ },
129
+ {
130
+ title: 'accordion.captionExtras',
131
+ value: this.objectToValues(extras, 'extras'),
132
+ },
133
+ ].filter(({ value }) => value.length > 0);
134
+ }
135
+ objectToValues(obj, keyPrefix) {
136
+ return Object.entries(obj)
137
+ .map(([key, value]) => [`${keyPrefix ? keyPrefix + '_' : ''}${key}`, value])
138
+ .filter(([, value]) => !!value)
139
+ .map(([translation]) => this.toValue(translation));
140
+ }
141
+ arrayToValues(ara) {
142
+ return ara.map(this.toValue);
143
+ }
144
+ toValue(translation) {
145
+ return { key: translation };
146
+ }
147
+ }
148
+ exports.FbEquipment = FbEquipment;
149
+ //# sourceMappingURL=fb-equipment.transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fb-equipment.transformer.js","sourceRoot":"","sources":["../../src/transformers/fb-equipment.transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { DataSchemes } from '@bytebrand/car-schema';
2
+ import { MarketingImagesService } from '../services/marketing-images.service';
3
+ import { ConfigService } from '../services/config.service';
4
+ import { ImboImageResponseInterface } from '@bytebrand/chunkable';
5
+ export declare class FbTransformer {
6
+ private readonly configService;
7
+ private readonly marketingImages;
8
+ private translator;
9
+ private postalCodesService;
10
+ constructor(configService: ConfigService, marketingImages: MarketingImagesService);
11
+ transform({ car, images, owner, }: {
12
+ car: DataSchemes.Car;
13
+ images: ImboImageResponseInterface[];
14
+ owner: unknown;
15
+ }): Promise<unknown>;
16
+ private getYear;
17
+ private getDealerItems;
18
+ private getTitle;
19
+ private getTrim;
20
+ private getDescription;
21
+ private mapDrivetrain;
22
+ private getVin;
23
+ private mapBodyStyle;
24
+ private mapFuel;
25
+ private mapTransmission;
26
+ private getPrice;
27
+ private getAddress;
28
+ private isEmptyLocation;
29
+ private isEmptyAddress;
30
+ private getCoords;
31
+ private getLocationByInfo;
32
+ private getExteriorColor;
33
+ private getInteriorColor;
34
+ private mapState;
35
+ private getEnergyEfficiencyClass;
36
+ private getMileage;
37
+ private getImagesField;
38
+ private getHighlights;
39
+ private getBooleanValue;
40
+ private getStringValue;
41
+ }