KazV2/dockers/quotas/html/express_webapp/routes/serviceg.js
2024-06-03 18:43:35 +02:00

69 lines
2.1 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var express = require('express');
var router = express.Router();
const {Sequelize} = require("sequelize");
//___________________________________________________________________________________
// Ce petit script permet de connaitre la taille des services de kaz
// -Nextcloud
// -Postfix
// -Agora
//!
// le script cherche dans la base mariaDB les differents données qui correspond à chaque
// services
//
// Auteur : Nathaniel Guiquerro Lauryne Gaultier
// Retourne : Une page serviceg.jade qui permet de afficher les tailles globales des
// services kaz
// Exemple : Taille Postfix : 50 Mio
// Taille Nextcloud : 50 Mio
// Taille Agora : 10 Mio
//___________________________________________________________________________________
function formatBytes(bytes, decimals = 2) {
if (bytes === 0) return '0 Bytes';
const k = 1024;
const dm = decimals < 0 ? 0 : decimals;
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
}
router.get('/', function(req, res, next) {
console.log("Demande de tailles aux scriptes de services");
//__________________________________________________
//
// Services Global de kaz
// concu de : Postfix, Nextcloud, Agora
//
//__________________________________________________
// XXX Felix
// const sequelize = new Sequelize("quotas","root","tartelette",{
// host: "quotasDB",
// dialect:"mariadb"
// });
(async ()=>{
try{
await sequelize.authenticate();
//connecté
const query = "SELECT * FROM Global Order by date desc";
sequelize.query(query).then(([results, metadata]) => {
var R = {"Agora: ":formatBytes(results[0].agora),
"Postfix: ":formatBytes(results[0].postfix),
"NextCloud: ":formatBytes(results[0].nextcloud),
"Total: ":formatBytes(results[0].total)};
console.log(R);
res.render('serviceg',{data:R});
})
} catch (error){
//pas connecté
console.log(error);
}
})();
});
module.exports = router;