From a3aaeef5d1021617cbd4aebf7ad6918a70a5d946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Thu, 9 Jul 2026 00:00:30 +0400 Subject: [PATCH] =?UTF-8?q?/v2/db-status=20=E2=80=94=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20DNS=20=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA?= =?UTF-8?q?=20PG.=20=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=200.1.18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- v2/server.js | 16 ++++++++++++++++ v2/src/config/index.js | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f46c3c4..b269ab6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ipwhitelist", - "version": "0.1.17", + "version": "0.1.18", "description": "IP WhiteList microservice for cloud provider", "main": "server.js", "scripts": { diff --git a/v2/server.js b/v2/server.js index d024119..1198edb 100644 --- a/v2/server.js +++ b/v2/server.js @@ -65,6 +65,22 @@ function createV2Router({ generateCsrfToken, doubleCsrfProtection } = {}) { } }); + // ── GET /v2/db-status — проверка подключения к PG (для отладки) ───── + router.get('/db-status', async (req, res) => { + try { + const { pool } = require('./src/db'); + const dns = require('dns').promises; + const host = process.env.DB_HOST || 'localhost'; + const ips = await dns.resolve4(host).catch(() => ['dns-failed']); + const start = Date.now(); + await pool.query('SELECT 1 AS ok'); + const result = { ok: true, db_host: host, resolved_ips: ips, query_ms: Date.now() - start }; + return res.json(result); + } catch (e) { + return res.json({ ok: false, error: e.message, db_host: process.env.DB_HOST || 'unknown' }); + } + }); + // ── GET /v2/iam-gateway-test — сравнение API (только админ) ──────── router.get('/iam-gateway-test', resolveContext, async (req, res) => { if (!req.canAdmin) return res.status(403).send('Доступ запрещён'); diff --git a/v2/src/config/index.js b/v2/src/config/index.js index 931eb76..e7bfc5b 100644 --- a/v2/src/config/index.js +++ b/v2/src/config/index.js @@ -8,7 +8,7 @@ // ═══════════════════════════════════════════════════════════════════════════════ module.exports = { - version: '0.1.17', + version: '0.1.18', // ── Среда ───────────────────────────────────────────────────────────────── // APP_ENV=test → тестовый стенд (жёлтый баннер в UI, можно включать тестовый API)