37 lines
911 B
JavaScript
37 lines
911 B
JavaScript
|
|
const express = require('express');
|
||
|
|
const router = express.Router();
|
||
|
|
const { checkConnection, getBucketStats } = require('../utils/minio');
|
||
|
|
const { authenticate, requireModerator } = require('../middleware/auth');
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Проверить подключение к MinIO (только для модераторов)
|
||
|
|
*/
|
||
|
|
router.get('/status', authenticate, requireModerator, async (req, res) => {
|
||
|
|
try {
|
||
|
|
const isConnected = await checkConnection();
|
||
|
|
|
||
|
|
if (!isConnected) {
|
||
|
|
return res.status(503).json({
|
||
|
|
connected: false,
|
||
|
|
message: 'MinIO недоступен'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
const stats = await getBucketStats();
|
||
|
|
|
||
|
|
res.json({
|
||
|
|
connected: true,
|
||
|
|
stats,
|
||
|
|
message: 'MinIO работает корректно'
|
||
|
|
});
|
||
|
|
} catch (error) {
|
||
|
|
res.status(500).json({
|
||
|
|
connected: false,
|
||
|
|
error: error.message
|
||
|
|
});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
module.exports = router;
|
||
|
|
|