feat: Оптимизация структуры server.js с модульным подходом, добавление новых маршрутов и улучшение обработки ошибок. Обновление валидаторов для MikroTik с использованием общих функций. Улучшение кода компонентов приложения для повышения читаемости и производительности.

This commit is contained in:
2025-10-03 01:49:51 +07:00
parent cdf692a2aa
commit 6231b645b6
17 changed files with 5149 additions and 2295 deletions
+2 -26
View File
@@ -142,32 +142,8 @@ function validateMikrotikConfig(config) {
};
}
/**
* Проверка корректности community value
* @param {string} community - Community value (например, 65000:100)
* @returns {boolean}
*/
function isValidCommunity(community) {
if (!community || typeof community !== 'string') return false;
// Формат: N:N где N - число от 0 до 65535
const match = community.match(/^(\d+):(\d+)$/);
if (!match) return false;
const first = Number(match[1]);
const second = Number(match[2]);
return first >= 0 && first <= 65535 && second >= 0 && second <= 65535;
}
/**
* Проверка корректности имени gateway
* @param {string} gateway - Gateway имя
* @returns {boolean}
*/
function isValidGateway(gateway) {
if (!gateway || typeof gateway !== 'string') return false;
// Допустимы: буквы, цифры, дефис, подчеркивание
// Длина: 1-64 символа
return /^[a-zA-Z0-9_-]{1,64}$/.test(gateway);
}
// Используем общие валидаторы из validators.js
const { isValidCommunity, isValidGateway } = require('./validators');
module.exports = {
validateMikrotikConfig,