diff --git a/bin/metrics.js b/bin/metrics.js index a461b3b..a492baf 100644 --- a/bin/metrics.js +++ b/bin/metrics.js @@ -28,13 +28,17 @@ module.exports.getMetrics = function() { var processed = 0 + if(metrics.length == 0) { + resolve(metricsToReturn) + } + await metrics.forEach(async (metric) => { // Try to connect to the metric server with the key in query params named "privatekey" // If the connection is successful, we add the metric to the list of metrics to return const url = `http://${metric.address}:${metric.port}/metrics?privatekey=${metric.key}` - const res = await fetch(url, { + const fet = await fetch(url, { method: "GET", headers: { "Accept": "application/json", @@ -46,21 +50,33 @@ module.exports.getMetrics = function() { if(res) { metric.data = res metricsToReturn.push(metric) + processed++ } else { metric.data = "ERROR" metricsToReturn.push(metric) } + + if(processed == metrics.length) { + resolve(metricsToReturn) + } + + }).catch((err) => { + metric.data = "ERROR" + metricsToReturn.push(metric) + processed++ + if(processed == metrics.length) { + resolve(metricsToReturn) + } }) - processed++ + - if(processed == metrics.length) { - resolve(metricsToReturn) - } - - }) + + + + }) diff --git a/bin/users.js b/bin/users.js index 0861aeb..f45874d 100644 --- a/bin/users.js +++ b/bin/users.js @@ -328,6 +328,9 @@ module.exports.User = class { setPicture(file) { this.#sync() var pictureDir = __glob.USERS_IMAGES + path.sep + uuid.v4().toString() + ".png" + if(!fs.existsSync(__glob.USERS_IMAGES)) { + fs.mkdirSync(__glob.USERS_IMAGES) + } fs.writeFileSync(pictureDir, file) this.picture = pictureDir.replace(__glob.USERS_IMAGES + path.sep, "/users/") @@ -430,7 +433,7 @@ module.exports.editUser = function(settings) { ulog.step.init("edit_user", "Modification d'un utilisateur dans la base de donnée : " + settings.username) const user = this.fetchUsers().get(settings.username) if(user) { - console.log(settings) + if(settings.newusername && settings.newusername != settings.username) { if(this.getUser(settings.newusername)) { ulog.error("L'utilisateur existe déjà : " + settings.username) @@ -466,7 +469,7 @@ module.exports.editUser = function(settings) { } module.exports.editMySelf = function (settings, user) { - if(user.username == settings.actualUsername) { + if(user.username == settings.username) { if(settings.username == '') { ulog.error("Le nom d'utilisateur est manquant") return "USERNAME_MISSING" diff --git a/package.json b/package.json index 4abaaa8..faeac2d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "neutral", - "version": "1.0.0", + "version": "1.0.1", "description": "Panel d'administration de Raphix", "main": "index.js", "scripts": { diff --git a/public/javascripts/basics.js b/public/javascripts/basics.js index 08ed476..37784f5 100644 --- a/public/javascripts/basics.js +++ b/public/javascripts/basics.js @@ -1221,10 +1221,16 @@ class Metric { const contentDiv = getID(`${this.properties.id}_content`) - for(const data of this.data) { - contentDiv.innerHTML += `
${data.description}
${data.name}
Valeur : ${data.value}
Impossible de charger les données de la métrique
` + + } else { + for(const data of this.data) { + contentDiv.innerHTML += `${data.description}
${data.name}
Valeur : ${data.value}
Aucune WebMetrik n'a été ajoutée
+