66 lines
2.5 KiB
JavaScript
66 lines
2.5 KiB
JavaScript
|
|
// ============================================================================
|
|||
|
|
// n8n Code Node: Подготовка данных запроса рейса
|
|||
|
|
// ============================================================================
|
|||
|
|
// Используйте эту ноду ПЕРЕД "причесываем данные"
|
|||
|
|
// Она безопасно получает данные из ноды "запрос рейса" и передаёт их дальше
|
|||
|
|
// ============================================================================
|
|||
|
|
|
|||
|
|
// Получаем данные из ноды "запрос рейса"
|
|||
|
|
let requestData = {
|
|||
|
|
flight_number: null,
|
|||
|
|
departure_date_local: null,
|
|||
|
|
arrival_date_local: null
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
const requestNode = $('запрос рейса');
|
|||
|
|
if (requestNode && requestNode.first()) {
|
|||
|
|
const requestJson = requestNode.first().json;
|
|||
|
|
if (requestJson) {
|
|||
|
|
requestData = {
|
|||
|
|
flight_number: requestJson.flight_number || requestJson.ident || requestJson.flight || null,
|
|||
|
|
departure_date_local: requestJson.departure_date_local || null,
|
|||
|
|
arrival_date_local: requestJson.arrival_date_local || null
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
} catch (e) {
|
|||
|
|
console.log('⚠️ Не удалось получить данные из ноды "запрос рейса":', e.message);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Получаем данные из входных элементов (fallback)
|
|||
|
|
const inputItems = $input.all();
|
|||
|
|
inputItems.forEach(item => {
|
|||
|
|
if (item.json) {
|
|||
|
|
if (!requestData.flight_number && item.json.flight_number) {
|
|||
|
|
requestData.flight_number = item.json.flight_number;
|
|||
|
|
}
|
|||
|
|
if (!requestData.departure_date_local && item.json.departure_date_local) {
|
|||
|
|
requestData.departure_date_local = item.json.departure_date_local;
|
|||
|
|
}
|
|||
|
|
if (!requestData.arrival_date_local && item.json.arrival_date_local) {
|
|||
|
|
requestData.arrival_date_local = item.json.arrival_date_local;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// Передаём данные дальше вместе с входными данными
|
|||
|
|
const outputItems = inputItems.map(item => ({
|
|||
|
|
...item,
|
|||
|
|
json: {
|
|||
|
|
...item.json,
|
|||
|
|
// Добавляем данные запроса
|
|||
|
|
request_flight_number: requestData.flight_number,
|
|||
|
|
request_departure_date: requestData.departure_date_local,
|
|||
|
|
request_arrival_date: requestData.arrival_date_local
|
|||
|
|
}
|
|||
|
|
}));
|
|||
|
|
|
|||
|
|
return outputItems.length > 0 ? outputItems : [{
|
|||
|
|
json: {
|
|||
|
|
request_flight_number: requestData.flight_number,
|
|||
|
|
request_departure_date: requestData.departure_date_local,
|
|||
|
|
request_arrival_date: requestData.arrival_date_local
|
|||
|
|
}
|
|||
|
|
}];
|