From 4ee005cea91b41883ac4e41e1016af3724e8e529 Mon Sep 17 00:00:00 2001 From: Bivekich Date: Wed, 2 Jul 2025 17:52:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B5=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=B5=20attributes=20=D0=B2=20=D0=B8=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D1=80=D1=84=D0=B5=D0=B9=D1=81=20LaximoVehicleSearchResult=20?= =?UTF-8?q?=D0=B8=20=D1=82=D0=B8=D0=BF=20GraphQL=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D1=8B=20=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85.=20=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=BC=D0=B0=D0=BF=D0=BF=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=20=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=B9=20=D0=BA=20?= =?UTF-8?q?=D1=87=D0=B5=D0=BB=D0=BE=D0=B2=D0=B5=D0=BA=D0=BE-=D1=87=D0=B8?= =?UTF-8?q?=D1=82=D0=B0=D0=B5=D0=BC=D1=8B=D0=BC=20=D0=BD=D0=B0=D0=B7=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=20=D0=B2=20=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D1=81=D1=81=D0=B5=20LaximoService,=20=D1=87=D1=82=D0=BE=20?= =?UTF-8?q?=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B0=D0=B5=D1=82=20=D1=87=D0=B8?= =?UTF-8?q?=D1=82=D0=B0=D0=B5=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D0=B8=20?= =?UTF-8?q?=D1=83=D0=B4=D0=BE=D0=B1=D1=81=D1=82=D0=B2=D0=BE=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20=D0=B0=D1=82=D1=80=D0=B8?= =?UTF-8?q?=D0=B1=D1=83=D1=82=D0=B0=D0=BC=D0=B8=20=D0=B0=D0=B2=D1=82=D0=BE?= =?UTF-8?q?=D0=BC=D0=BE=D0=B1=D0=B8=D0=BB=D0=B5=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/graphql/typeDefs.ts | 1 + src/lib/laximo-service.ts | 40 +++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/src/lib/graphql/typeDefs.ts b/src/lib/graphql/typeDefs.ts index 8b169cd..891053d 100644 --- a/src/lib/graphql/typeDefs.ts +++ b/src/lib/graphql/typeDefs.ts @@ -1368,6 +1368,7 @@ export const typeDefs = gql` options: String description: String grade: String + attributes: [LaximoVehicleAttribute!]! } type LaximoVehicleInfo { diff --git a/src/lib/laximo-service.ts b/src/lib/laximo-service.ts index 5234c00..34efc8c 100644 --- a/src/lib/laximo-service.ts +++ b/src/lib/laximo-service.ts @@ -105,6 +105,7 @@ export interface LaximoVehicleSearchResult { options?: string description?: string grade?: string + attributes: LaximoVehicleAttribute[] } export interface LaximoVehicleInfo { @@ -1737,6 +1738,45 @@ class LaximoService { prodPeriod: attributeMap.get('prodPeriod') || undefined, carpet_color: attributeMap.get('carpet_color') || undefined, seat_combination_code: attributeMap.get('seat_combination_code') || undefined, + attributes: Array.from(attributeMap.entries()).map(([key, value]) => { + // Маппинг ключей к человеко-читаемым названиям + const keyNameMap: Record = { + 'model': 'Модель', + 'MVS': 'Код в каталоге', + 'MVSDesc': 'Описание', + 'specialVersion': 'Версия', + 'engine': 'Двигатель', + 'variant': 'Исполнение', + 'transmission': 'КПП', + 'bodytype': 'Тип кузова', + 'year': 'Год', + 'manufactured': 'Год выпуска', + 'date': 'Дата', + 'market': 'Рынок', + 'grade': 'Класс', + 'framecolor': 'Цвет кузова', + 'trimcolor': 'Цвет салона', + 'engine_info': 'Информация о двигателе', + 'engineno': 'Номер двигателя', + 'options': 'Опции', + 'description': 'Описание', + 'notes': 'Примечания', + 'creationregion': 'Регион производства', + 'destinationregion': 'Регион назначения', + 'datefrom': 'Дата с', + 'dateto': 'Дата по', + 'modelyearfrom': 'Модельный год с', + 'modelyearto': 'Модельный год по', + 'prodRange': 'Диапазон производства', + 'prodPeriod': 'Период производства' + }; + + return { + key, + name: keyNameMap[key] || key, + value + }; + }) } console.log('🚗 Найден автомобиль:', {