69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 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;
 |