45 lines
1.9 KiB
JavaScript
45 lines
1.9 KiB
JavaScript
|
|
// ============================================================================
|
||
|
|
// Code Node для n8n: Проверка подтверждения данных контакта
|
||
|
|
// ============================================================================
|
||
|
|
// Назначение: Проверить, подтверждены ли данные контакта пользователя
|
||
|
|
// и нужно ли блокировать редактирование
|
||
|
|
//
|
||
|
|
// Использование: После получения unified_id, перед загрузкой данных формы
|
||
|
|
// ============================================================================
|
||
|
|
|
||
|
|
// Получаем unified_id из предыдущих шагов
|
||
|
|
const unified_id = $('user_get').first().json.unified_id ||
|
||
|
|
$('Edit Fields').first().json.unified_id ||
|
||
|
|
$json.unified_id;
|
||
|
|
|
||
|
|
if (!unified_id) {
|
||
|
|
throw new Error('unified_id не найден');
|
||
|
|
}
|
||
|
|
|
||
|
|
// Выполняем SQL запрос для проверки статуса
|
||
|
|
// (это должно быть в PostgreSQL ноде, но для примера показываю логику)
|
||
|
|
|
||
|
|
// SQL запрос:
|
||
|
|
// SELECT * FROM clpr_get_contact_data_status($1);
|
||
|
|
// Параметр: unified_id
|
||
|
|
|
||
|
|
// Ожидаемый результат:
|
||
|
|
// {
|
||
|
|
// is_confirmed: true/false,
|
||
|
|
// confirmed_at: "2025-12-02T14:30:00Z" или null,
|
||
|
|
// can_edit: true/false
|
||
|
|
// }
|
||
|
|
|
||
|
|
// Для Code Node (если нужно обработать результат):
|
||
|
|
const status = $('PostgreSQL Check Status').first().json; // Предполагаем, что есть такая нода
|
||
|
|
|
||
|
|
return {
|
||
|
|
unified_id: unified_id,
|
||
|
|
is_confirmed: status.is_confirmed || false,
|
||
|
|
confirmed_at: status.confirmed_at || null,
|
||
|
|
can_edit: status.can_edit !== false, // По умолчанию можно редактировать
|
||
|
|
// Флаг для фронтенда
|
||
|
|
lock_editing: status.is_confirmed || false
|
||
|
|
};
|
||
|
|
|