-- SQL запрос для проверки полиса в n8n
-- Возвращает все поля из таблицы + поле found (1 если найден и валиден, 0 если нет)
-- Используется для разделения потоков в n8n (IF node) и получения данных полиса

-- Параметры:
-- :voucher или {{ $json.policy_number }} - номер полиса (уже нормализованный, кириллица -> латиница)

SELECT 
    *,
    CASE 
        WHEN (
            -- Проверка тарифов basic
            tariff_code_basic IN ('STB0048', 'STB1099', 'STB1100', 'STB2099', 'AVS21500', 'AVS22500')
            OR
            -- Проверка тарифов other
            tariff_code_other IN (
                'SPV0001', 'SPV0002', 'SPV0003', 'SPV0004', 'SPV0005',
                'STV0090',
                'SPV1001', 'SPV1002', 'SPV1003', 'SPV1004', 'SPV1005',
                'SPV2001', 'SPV2002', 'SPV2004', 'SPV2005',
                'OPV1001', 'OPV1002', 'OPV1003', 'OPV1004', 'OPV1005',
                'OPV2001', 'OPV2002', 'OPV2004', 'OPV2005'
            )
        ) THEN 1
        ELSE 0
    END AS found
FROM lexrpiority 
WHERE voucher = :voucher
LIMIT 1;
