Version 0.7.2 - Ajout des utilisateurs
This commit is contained in:
		@@ -141,6 +141,14 @@ module.exports.removeSession = function (session) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module.exports.getUsers = function () {
 | 
			
		||||
 | 
			
		||||
    const userDB = JSON.parse(fs.readFileSync(__glob.USERS))
 | 
			
		||||
    return userDB
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module.exports.getUser = function (token) {
 | 
			
		||||
    return users.get(token)
 | 
			
		||||
}
 | 
			
		||||
@@ -156,7 +164,29 @@ module.exports.addUser = function (user) {
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    const userDB = JSON.parse(fs.readFileSync(__glob.USERS))
 | 
			
		||||
    userDB.push(user)
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    var selectedUser = null
 | 
			
		||||
 | 
			
		||||
    for(var userI of userDB) {
 | 
			
		||||
 | 
			
		||||
        if(user.user.id == userI.user.id) {
 | 
			
		||||
 | 
			
		||||
            selectedUser = userDB.indexOf(userI)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
   
 | 
			
		||||
 | 
			
		||||
    if(selectedUser != null) {
 | 
			
		||||
 | 
			
		||||
        userDB[selectedUser].token = user.token
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
        userDB.push(user)        
 | 
			
		||||
    }
 | 
			
		||||
    fs.writeFileSync(__glob.USERS, JSON.stringify(userDB, null, 2))
 | 
			
		||||
 | 
			
		||||
    updateUsers()
 | 
			
		||||
@@ -164,6 +194,45 @@ module.exports.addUser = function (user) {
 | 
			
		||||
 | 
			
		||||
}  
 | 
			
		||||
 | 
			
		||||
module.exports.setAdmin = function (user) {
 | 
			
		||||
 | 
			
		||||
    if(!fs.existsSync(__glob.USERS)){
 | 
			
		||||
 | 
			
		||||
        fs.writeFileSync(__glob.USERS, '[]')
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const userDB = JSON.parse(fs.readFileSync(__glob.USERS))
 | 
			
		||||
 | 
			
		||||
    var selectedUser = null
 | 
			
		||||
 | 
			
		||||
    for(var userI of userDB) {
 | 
			
		||||
 | 
			
		||||
        if(user.user.id == userI.user.id) {
 | 
			
		||||
 | 
			
		||||
            selectedUser = userDB.indexOf(userI)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(!userDB[selectedUser].admin) {
 | 
			
		||||
 | 
			
		||||
        userDB[selectedUser].admin = true
 | 
			
		||||
        console.log("[Personnal Quote] - New Admin")
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
        userDB[selectedUser].admin = false
 | 
			
		||||
        console.log("[Personnal Quote] - Remove Admin")
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    fs.writeFileSync(__glob.USERS, JSON.stringify(userDB, null, 2))
 | 
			
		||||
 | 
			
		||||
    updateUsers()
 | 
			
		||||
    alog.log("Ajout de " + user.user.username + " en tant qu'administrateur avec le token : " + user.token)
 | 
			
		||||
 | 
			
		||||
}  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module.exports.removeUser = function (token) {
 | 
			
		||||
 
 | 
			
		||||
@@ -240,6 +240,26 @@ function IOConnection(io) {
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        GetRequest(io, socket, "USERS", () => {  
 | 
			
		||||
            var cookies = socket.handshake.headers.cookie
 | 
			
		||||
            cookies = cook.parse(cookies)
 | 
			
		||||
            var token = cookies.token
 | 
			
		||||
 | 
			
		||||
            const user = auth.getUser(token)
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
            if(user.admin == true) {
 | 
			
		||||
                
 | 
			
		||||
                const users_data = auth.getUsers()
 | 
			
		||||
 | 
			
		||||
                socket.emit("ANSWER/GET/USERS", users_data)
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
          
 | 
			
		||||
      
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -318,6 +338,66 @@ function IOConnection(io) {
 | 
			
		||||
 | 
			
		||||
        // SEND REQUEST
 | 
			
		||||
 | 
			
		||||
        socket.on("SEND/USERS/ADMIN", (data) => {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var cookies = socket.handshake.headers.cookie
 | 
			
		||||
 | 
			
		||||
            if(cookies) {
 | 
			
		||||
 | 
			
		||||
                cookies = cook.parse(cookies)
 | 
			
		||||
                var token = cookies.token
 | 
			
		||||
 | 
			
		||||
                const user = auth.getUser(token)
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
                if(user.admin == true) {
 | 
			
		||||
                 
 | 
			
		||||
                    auth.setAdmin(data)
 | 
			
		||||
 | 
			
		||||
                    socket.emit("ANSWER/GET/USERS/ADMIN", "OK")
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            } else {
 | 
			
		||||
                io.emit("ANSWER/SEND/USERS/ADMIN", {"error":"TOKEN_NOT_FINDED"})
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
         
 | 
			
		||||
           
 | 
			
		||||
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        socket.on("SEND/USERS/DELETE", (data) => {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var cookies = socket.handshake.headers.cookie
 | 
			
		||||
 | 
			
		||||
            if(cookies) {
 | 
			
		||||
 | 
			
		||||
                cookies = cook.parse(cookies)
 | 
			
		||||
                var token = cookies.token
 | 
			
		||||
 | 
			
		||||
                const user = auth.getUser(token)
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
                if(user.admin == true) {
 | 
			
		||||
                    
 | 
			
		||||
                    auth.removeUser(data.token)
 | 
			
		||||
 | 
			
		||||
                    socket.emit("ANSWER/GET/USERS/ADMIN", "OK")
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            } else {
 | 
			
		||||
                io.emit("ANSWER/SEND/USERS/ADMIN", {"error":"TOKEN_NOT_FINDED"})
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
         
 | 
			
		||||
           
 | 
			
		||||
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        socket.on("SEND/SEEK", (data) => {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -606,8 +686,6 @@ function IOConnection(io) {
 | 
			
		||||
                 
 | 
			
		||||
                if(auth.checkUser(token)) {
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
                    var user = auth.getUser(token)
 | 
			
		||||
                    var userId = user.user.id
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -30,10 +30,71 @@ settingsBtn.addEventListener("click", () => {
 | 
			
		||||
 | 
			
		||||
    settings_users.addEventListener("click", () => {
 | 
			
		||||
        loadUsers()
 | 
			
		||||
        
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    settings_logs.style.color = "white"
 | 
			
		||||
 | 
			
		||||
    function loadUsers() {
 | 
			
		||||
       
 | 
			
		||||
        socket.emit("GET/USERS")
 | 
			
		||||
        socket.on("ANSWER/GET/USERS",(data) => {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var userToPush = new Array()
 | 
			
		||||
            for(var user of data) {
 | 
			
		||||
 | 
			
		||||
                var admin_bar = ''
 | 
			
		||||
 | 
			
		||||
                if(user.beta == true) {
 | 
			
		||||
 | 
			
		||||
                    admin_bar = "<div><p>BETA</p></div>"
 | 
			
		||||
                }
 | 
			
		||||
                
 | 
			
		||||
                userToPush.push("<div class='set_user'><div class='set_user_info'><img src='https://cdn.discordapp.com/avatars/" + user.user.id + "/" + user.user.avatar + "'><div style='display: flex; flex-direction: column; justify-content: center;'><p class='INDEX_gbname'>" + user.user.global_name + "</p><p class='INDEX_usrname'>" + user.user.username + "</p></div>" + admin_bar + "</div><div style='font-size: 25px;'><button id='" + data.indexOf(user) +  "_admin' style='margin: 0 !important;' class='list_upSong'><i class='fa fa-star'></i></button><button id='" + data.indexOf(user) +  "_delete' class='list_delete'><i class='fa fa-trash'></i></button></div></div>")
 | 
			
		||||
                
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            settings_content.innerHTML = userToPush.join("")
 | 
			
		||||
 | 
			
		||||
            for(var user of data) {
 | 
			
		||||
 | 
			
		||||
                
 | 
			
		||||
                const adminBtn = document.getElementById(data.indexOf(user) + "_admin")
 | 
			
		||||
                const deleteBtn = document.getElementById(data.indexOf(user) + "_delete") 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                if(data[data.indexOf(user)].admin == true) {
 | 
			
		||||
 | 
			
		||||
                    adminBtn.style.color = "#19a7d2"
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                adminBtn.addEventListener("click", () => {
 | 
			
		||||
 | 
			
		||||
                    send("USERS/ADMIN", data[data.indexOf(user)])
 | 
			
		||||
 | 
			
		||||
                    socket.emit("GET/USERS")
 | 
			
		||||
                })
 | 
			
		||||
                
 | 
			
		||||
                deleteBtn.addEventListener("click", () => {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    send("USERS/DELETE", data[data.indexOf(user)])
 | 
			
		||||
 | 
			
		||||
                    socket.emit("GET/USERS")
 | 
			
		||||
                })
 | 
			
		||||
             }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function loadLogs() {
 | 
			
		||||
        settings_content.innerHTML = `
 | 
			
		||||
            <select id="logs_selection">
 | 
			
		||||
@@ -139,12 +200,6 @@ settingsBtn.addEventListener("click", () => {
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function loadUsers() {
 | 
			
		||||
        settings_content.innerHTML = `
 | 
			
		||||
            <p>Users</p>
 | 
			
		||||
        `
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    const buttons = document.querySelectorAll(".sside_line");
 | 
			
		||||
 
 | 
			
		||||
@@ -1038,7 +1038,7 @@ p {
 | 
			
		||||
 | 
			
		||||
.logs_content {
 | 
			
		||||
 | 
			
		||||
  margin-top: 50px;
 | 
			
		||||
  margin-top: 2%;
 | 
			
		||||
  color: white;
 | 
			
		||||
  font-size: 12px;
 | 
			
		||||
  font-family: 'Courier New', Courier, monospace;
 | 
			
		||||
@@ -1049,4 +1049,25 @@ p {
 | 
			
		||||
.log_line {
 | 
			
		||||
 | 
			
		||||
  width: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* SETTINGS USER */
 | 
			
		||||
 | 
			
		||||
.set_user {
 | 
			
		||||
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: space-between;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.set_user_info {
 | 
			
		||||
 | 
			
		||||
  display: flex;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.set_user_info img {
 | 
			
		||||
 | 
			
		||||
    width: 30%;
 | 
			
		||||
    margin-right: 5%;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user