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('🚗 Найден автомобиль:', {