ваше сообщение коммита

This commit is contained in:
2025-08-29 19:19:26 +03:00
parent 4e4cb611a1
commit c007c0b296
10 changed files with 756 additions and 39 deletions

View File

@@ -66,6 +66,37 @@ router.post('/is-module-active', async (req, res) => {
}
});
// Получить информацию о задеплоенных модулях для DLE
router.get('/deployed/:dleAddress', async (req, res) => {
try {
const { dleAddress } = req.params;
if (!dleAddress) {
return res.status(400).json({
success: false,
error: 'Адрес DLE обязателен'
});
}
console.log(`[DLE Modules] Получение информации о модулях для DLE: ${dleAddress}`);
// Получаем информацию о модулях из файлов деплоя
const modulesInfo = await getDeployedModulesInfo(dleAddress);
res.json({
success: true,
data: modulesInfo
});
} catch (error) {
console.error('[DLE Modules] Ошибка при получении информации о модулях:', error);
res.status(500).json({
success: false,
error: 'Ошибка при получении информации о модулях: ' + error.message
});
}
});
// Получить адрес модуля
router.post('/get-module-address', async (req, res) => {
try {
@@ -300,4 +331,45 @@ router.post('/create-remove-module-proposal', async (req, res) => {
}
});
// Функция для получения информации о задеплоенных модулях
async function getDeployedModulesInfo(dleAddress) {
const fs = require('fs');
const path = require('path');
try {
// Ищем файл модулей для конкретного DLE
const deployDir = path.join(__dirname, '../temp');
if (!fs.existsSync(deployDir)) {
return { modules: [], verification: {} };
}
// Ищем файл по адресу DLE
const modulesFileName = `modules-${dleAddress.toLowerCase()}.json`;
const modulesFilePath = path.join(deployDir, modulesFileName);
if (!fs.existsSync(modulesFilePath)) {
console.log(`[DLE Modules] Файл модулей не найден: ${modulesFileName}`);
return { modules: [], verification: {} };
}
try {
const data = JSON.parse(fs.readFileSync(modulesFilePath, 'utf8'));
console.log(`[DLE Modules] Загружена информация о модулях для DLE: ${dleAddress}`);
return {
modules: data.modules || [],
verification: data.verification || {},
deployTimestamp: data.deployTimestamp
};
} catch (error) {
console.error(`Ошибка при чтении файла ${modulesFileName}:`, error);
return { modules: [], verification: {} };
}
} catch (error) {
console.error('Ошибка при получении информации о модулях:', error);
return { modules: [], verification: {} };
}
}
module.exports = router;