Version 0.2.0 - PREVERSION - Ajout de certaines fonctionnalités
All checks were successful
Neutral/pipeline/head This commit looks good

This commit is contained in:
Raphix
2023-11-02 18:16:15 +01:00
parent a3e0f25968
commit 9c1074de80
17 changed files with 888 additions and 18 deletions

View File

@ -1,10 +1,18 @@
// Get Document ID
function getID(string) {
/**
* Récupère depuis le document l'identifiant de l'élément
* @param {string} id Identifiant de l'élément `id='identifiant'`
* @returns
*/
function getID(id) {
return document.getElementById(string)
return document.getElementById(id)
}
/**
* Permet de faire une pop-up automatique
*/
class InfoPop {
constructor(name) {
this.name = name
@ -33,4 +41,5 @@ class InfoPop {
this.element.innerHTML = "<i class='fa fa-info-circle'></i> " + text
}
}
}

View File

@ -0,0 +1,86 @@
const infoUsername = getID("infoUsername")
const infoUserimage = getID("infoUserimage")
const infoDisplayname = getID("infoDisplayname")
const views = getID("views")
// User Request
const REQ_user = get("USERINFO")
REQ_user.then((ANS_user) => {
infoUserimage.src = ANS_user.picture
infoUsername.innerHTML = ANS_user.username
infoDisplayname.innerHTML = ANS_user.display_name
const permissions = ANS_user.permission
const AvailableViews = new Array()
permissions.forEach((permValue) => {
if(permValue == "FILES_EXPLORER") {
AvailableViews.push(`<div class="view">
<span class="view-image"><i class="fa-solid fa-folder"></i></span>
<p class="view-text">Gestionnaire de fichiers</p>
</div>`)
}
if(permValue == "SERVICES") {
AvailableViews.push(`<div class="view">
<span class="view-image"><i class="fa-solid fa-layer-group"></i></span>
<p class="view-text">Gestion des services</p>
</div>`)
}
if(permValue == "SERVERS") {
AvailableViews.push(`<div class="view">
<span class="view-image"><i class="fa fa-server"></i></span>
<p class="view-text">Gestion des serveurs</p>
</div>`)
}
if(permValue == "PIPELINES") {
AvailableViews.push(` <div class="view">
<span class="view-image"><i class="fa-brands fa-jenkins"></i></span>
<p class="view-text">Gestion des pipelines</p>
</div>`)
}
if(permValue == "METRICS") {
AvailableViews.push(` <div class="view">
<span class="view-image"><i class="fa-solid fa-square-poll-vertical"></i></span>
<p class="view-text">Web Metrics</p>
</div>`)
}
if(permValue == "USERS") {
AvailableViews.push(` <div class="view">
<span class="view-image"><i class="fa fa-users"></i></span>
<p class="view-text">Gestion des utilisateurs</p>
</div>`)
}
if(permValue == "LINKS") {
AvailableViews.push(` <div class="view">
<span class="view-image"><i class="fa-solid fa-link"></i></span>
<p class="view-text">Générateur de lien</p>
</div>`)
}
if(permValue == "SETTINGS") {
AvailableViews.push(` <div class="view">
<span class="view-image"><i class="fa fa-gear"></i></span>
<p class="view-text">Paramètres</p>
</div>`)
}
})
if(AvailableViews.join("") == "") {
AvailableViews.push("<p class='yellow'><i class='fa-solid fa-warning'></i> Aucune permission ne semble vous êtes accordée<br>Demandez à Raphix afin de résoudre ce problème</p>")
views.classList.remove("views-box")
} else {
views.classList.add("views-box")
}
views.innerHTML = AvailableViews.join("")
})

42
public/javascripts/io.js Normal file
View File

@ -0,0 +1,42 @@
// Socket IO - Communication
var socketLink = null
fetch('/internal/socketlink', {
method: "GET"
}).then(link => {socketLink = link})
const socket = io(socketLink);
socket.on("connect", () => {
console.log("Connecté au serveur par le Socket avec l'ID : " + socket.id)
});
socket.on("disconnect", () => {
window.location.href = "/"
})
function get(request) {
return new Promise((resolve, reject) => {
socket.emit("GET/" + request)
console.log("Envoi de la requête GET : " + request)
socket.once("ANSWER/GET/" + request, (answer) => {
console.log("Réponse pour la requête : " + request)
resolve(answer)
})
})
}
function getSocket() {
return socket
}