48 lines
2.0 KiB
JavaScript
48 lines
2.0 KiB
JavaScript
|
|
// ========================================
|
|||
|
|
// Code Node: Формирование Response для фронта (безопасная версия с проверками)
|
|||
|
|
// (перед финальной Response нодой)
|
|||
|
|
// ========================================
|
|||
|
|
|
|||
|
|
// Получаем данные из предыдущих шагов
|
|||
|
|
const claimResult = $node["CreateWebContact"]?.json?.result || {};
|
|||
|
|
const sessionDataItem = $('Code in JavaScript1')?.first();
|
|||
|
|
const sessionData = sessionDataItem?.json?.redis_value
|
|||
|
|
? JSON.parse(sessionDataItem.json.redis_value)
|
|||
|
|
: {};
|
|||
|
|
const userData = $node["user_get"]?.json || {}; // ← Данные из PostgreSQL: Find or Create User
|
|||
|
|
|
|||
|
|
// Проверяем наличие unified_id (критически важно!)
|
|||
|
|
if (!userData.unified_id) {
|
|||
|
|
console.error('❌ ОШИБКА: unified_id не получен из ноды user_get!');
|
|||
|
|
// Можно либо выбросить ошибку, либо продолжить без unified_id (не рекомендуется)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Формируем ответ в формате, который ожидает фронт
|
|||
|
|
return {
|
|||
|
|
success: true,
|
|||
|
|
result: {
|
|||
|
|
claim_id: sessionData.claim_id || claimResult.claim_id,
|
|||
|
|
contact_id: sessionData.contact_id || claimResult.contact_id,
|
|||
|
|
project_id: sessionData.project_id,
|
|||
|
|
|
|||
|
|
// Unified ID из PostgreSQL (обязательно!)
|
|||
|
|
unified_id: userData.unified_id, // из ноды user_get (PostgreSQL: Find or Create User)
|
|||
|
|
|
|||
|
|
// Данные заявки
|
|||
|
|
ticket_id: claimResult.ticket_id,
|
|||
|
|
ticket_number: claimResult.ticket_number,
|
|||
|
|
title: claimResult.title,
|
|||
|
|
category: claimResult.category,
|
|||
|
|
status: claimResult.status,
|
|||
|
|
|
|||
|
|
// Метаданные
|
|||
|
|
event_type: sessionData.event_type,
|
|||
|
|
current_step: sessionData.current_step || 1,
|
|||
|
|
updated_at: sessionData.updated_at || new Date().toISOString(),
|
|||
|
|
|
|||
|
|
// Дополнительно
|
|||
|
|
is_new_contact: claimResult.is_new_contact || false
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|