Метод GET /v1/db-connections
Краткое описание
Возвращает список всех сохранённых конфигураций подключений к базам данных с поддержкой фильтрации и пагинации. Требуется аутентификация (если настроена).
Входные параметры
Параметры запроса (query):
page_size(int, опционально, default=100)Размер страницы (LIMIT)
Максимальное количество конфигураций в одном ответе
offset(int, опционально, default=0)Смещение для пагинации (OFFSET)
name(string, опционально)Фильтр по имени конфигурации (точное совпадение или LIKE)
host(string, опционально)Фильтр по адресу хоста
port(int, опционально)Фильтр по номеру порта
database(string, опционально)Фильтр по имени базы данных
dt_from(datetime, опционально)Вернуть только конфигурации с ecc_dt > dt_from
Формат: ISO 8601
dt_to(datetime, опционально)Вернуть только конфигурации с ecc_dt < dt_to
Формат: ISO 8601
Заголовки:
Authorization(опционально)Токен аутентификации (если требуется по настройкам приложения)
Алгоритм работы метода
ЭТАП 1: Валидация параметров
Проверяется корректность параметров фильтрации
Если параметры некорректны — возвращается
HTTP 400
ЭТАП 2: Формирование базовых SQL запросов
Создаются два
statement-а:count_statement:SELECT COUNT(*)для подсчёта общего количестваstatement:SELECT DBConnectionдля выборки конфигураций
ЭТАП 3: Применение фильтров
Каждый переданный фильтр применяется как к count_statement, так и к statement:
Если name указано:
Добавляется WHERE DBConnection.name LIKE '%name%' или == name
Если
hostуказано:Добавляется WHERE DBConnection.host == host
Если
portуказано:Добавляется WHERE DBConnection.port == port
Если database указано:
Добавляется WHERE DBConnection.database == database
Если
dt_fromуказана:Добавляется WHERE DBConnection.ecc_dt > dt_from
Если
dt_toуказана:Добавляется WHERE DBConnection.ecc_dt < dt_to
ЭТАП 4: Получение общего количества
Выполняется
count_statementПолучается
total_count— количество конфигураций, удовлетворяющих фильтрам
ЭТАП 5: Применение пагинации
К statement добавляется:
ORDER BY DBConnection.ecc_dt(сортировка по дате изменения)LIMIT page_sizeOFFSET offset
Выполняется запрос и получается список конфигураций
ЭТАП 6: Преобразование и возврат
Каждая конфигурация преобразуется в
DBConnectionReadSchemaПароль НИКОГДА не включается в ответ (только для безопасности)
Возвращается объект со списком конфигураций
Успешный ответ (200 OK)
Формат: JSON
Пример ответа:
{ "count": 12, "limit": 100, "offset": 0, "data": [ { "id": "db-conn-001", "name": "Production Database", "host": "prod-db.example.com", "port": 5432, "database": "production_db", "username": "app_user", "ssl_mode": "require", "created_at": "2025-11-01T10:30:00+03:00", "updated_at": "2025-11-14T15:20:10+03:00", "ecc_dt": "2025-11-14T15:20:10+03:00", "description": "Main production database" }, { "id": "db-conn-002", "name": "Development Database", "host": "dev-db.local", "port": 5432, "database": "development_db", "username": "dev_user", "ssl_mode": "disable", "created_at": "2025-11-05T09:15:00+03:00", "updated_at": "2025-11-12T14:45:30+03:00", "ecc_dt": "2025-11-12T14:45:30+03:00", "description": "Development environment database" } // ... другие конфигурации до page_size ] }