DI2 внедрение, таск 1: серверная интеграция Data-Insight2 (server/finance-di2)
- Копия DI2-сервера в server/finance-di2/ с правками: schema/db-client/cache/table-config/override-tables/google-auth/audit-agent/routes - db-client — обёртка над существующим пулом server/finance/db-client (второй пул не создаётся, добавлен экспорт isConnectionError) - ai-config.ts — чистое IO конфигов из ai-agent.ts без Telegram-поллинга; роуты /api/ai/toggle и /api/ai/status удалены, без compression/startAuditScheduler/autoStartIfEnabled - Обёртка registerDi2Routes с auth-gate (authenticateToken + finance.manage), регистрация строго перед registerFinanceRoutes - Статика /di2 из dist/public-di2 перед веткой vite/static (dev и prod) - Фикс предсуществующего бага DI2: buildGlobalExclusionConditions без cats в /api/profitability
This commit is contained in:
24
server/finance-di2/db-client.ts
Normal file
24
server/finance-di2/db-client.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
// Обёртка над существующим пулом финансовой БД iistwin (server/finance/db-client.ts).
|
||||
// DI2-код импортирует эти имена из "./db-client" — второй пул не создаётся.
|
||||
|
||||
import type { DbConnectionConfig } from "./schema";
|
||||
import {
|
||||
query,
|
||||
testConnection,
|
||||
getConfig as financeGetConfig,
|
||||
setConfig,
|
||||
isConnectionError,
|
||||
getPoolClient,
|
||||
} from "../finance/db-client";
|
||||
|
||||
export { query, testConnection, setConfig, isConnectionError, getPoolClient };
|
||||
|
||||
// В DI2 getConfig() всегда возвращал конфиг (не null) и включал password.
|
||||
// iistwin-версия отдаёт конфиг без пароля и может вернуть null — приводим к DI2-совместимой форме.
|
||||
export function getConfig(): DbConnectionConfig {
|
||||
const cfg = financeGetConfig();
|
||||
if (!cfg) {
|
||||
return { host: "", port: 5432, database: "", user: "", password: "" };
|
||||
}
|
||||
return { ...cfg, password: "" } as DbConnectionConfig;
|
||||
}
|
||||
Reference in New Issue
Block a user