refactor: шаг 1 — MOCK_USERS и backUrl вынесены в src/config.js

This commit is contained in:
2026-05-30 13:35:16 +03:00
parent 695ed231e6
commit 631641bbf0
2 changed files with 76 additions and 20 deletions
+2 -20
View File
@@ -9,6 +9,8 @@ const { checkConnection } = require('./src/db');
const { initAuth, requireAdmin } = require('./src/auth');
const { aggregateCIDRs } = require('./src/validators');
const q = require('./src/queries');
// config.js: MOCK_USERS (мок-пользователи для dev) и backUrl (хелпер редиректа)
const { MOCK_USERS, backUrl } = require('./src/config');
const app = express();
const PORT = process.env.PORT || 3000;
@@ -45,26 +47,6 @@ app.use(express.static(path.join(__dirname, 'public')));
app.use(express.urlencoded({ extended: true, limit: '32kb' }));
app.use(cookieParser());
// ── Мок-пользователи для dev/staging ──────────────────────────────────────────
// В продакшене удаляются — вход через Keycloak, clientId берётся из токена.
const MOCK_USERS = [
{ id: 'admin', label: 'Администратор (WZ01112)', role: 'admin', clientId: 'WZ01112', companyId: 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee', companyName: 'Nubes Admin', email: 'admin@nubes.ru' },
{ id: 'test', label: 'Тест (WZ01325)', role: 'user', clientId: 'WZ01325', companyId: '3e64aac6-dcfc-4082-88dc-da19c86555a5', companyName: 'Тест', email: 'tazet@narod.ru' },
{ id: 'client2', label: 'Компания 2 (WZ02001)', role: 'user', clientId: 'WZ02001', companyId: '11111111-2222-3333-4444-555555555555', companyName: 'Вторая Компания', email: 'user2@example.com' },
];
// ── Вспомогательная функция редиректа ─────────────────────────────────────────
// Строит URL для возврата на главную страницу с учётом контекста:
// admin возвращается к выбранной компании (/?company=X),
// обычный пользователь — просто на /.
function backUrl(isAdmin, companyId, extra = {}) {
const qs = new URLSearchParams();
if (isAdmin && companyId) qs.set('company', companyId);
for (const [k, v] of Object.entries(extra)) qs.set(k, String(v));
const str = qs.toString();
return str ? '/?' + str : '/';
}
async function start() {
const auth = await initAuth();