refactor: шаг 8 — server.js упрощён до 131 строки (только init + роутеры)
This commit is contained in:
@@ -1,18 +1,34 @@
|
||||
/**
|
||||
* server.js — точка входа приложения.
|
||||
*
|
||||
* Отвечает только за:
|
||||
* 1. Инициализацию Express и глобальных middleware (helmet, static, body-parser)
|
||||
* 2. Инициализацию auth (initAuth) и CSRF (initCsrf)
|
||||
* 3. Подключение роутеров из src/routes/ с передачей зависимостей
|
||||
* 4. Старт HTTP-сервера
|
||||
*
|
||||
* Бизнес-логика — в src/routes/*.js
|
||||
* DB-запросы — в src/queries.js
|
||||
* Auth/JWT — в src/auth.js
|
||||
* Валидация — в src/validators.js
|
||||
* Конфиг/хелперы — в src/config.js
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const express = require('express');
|
||||
const cookieParser = require('cookie-parser');
|
||||
const path = require('path');
|
||||
const helmet = require('helmet');
|
||||
// rateLimit.js: mutationLimiter (POST-роуты) и exportLimiter (GET /export)
|
||||
const { mutationLimiter, exportLimiter } = require('./src/middleware/rateLimit');
|
||||
// csrf.js: фабрика для инициализации CSRF-защиты (double-submit cookie pattern)
|
||||
const { initCsrf } = require('./src/middleware/csrf');
|
||||
require('dotenv').config();
|
||||
const { checkConnection } = require('./src/db');
|
||||
|
||||
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 { aggregateCIDRs } = require('./src/validators');
|
||||
const q = require('./src/queries');
|
||||
const { MOCK_USERS, backUrl } = require('./src/config');
|
||||
const { mutationLimiter, exportLimiter } = require('./src/middleware/rateLimit');
|
||||
const { initCsrf } = require('./src/middleware/csrf');
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
|
||||
Reference in New Issue
Block a user