Version 0.7.2 - Ajout des utilisateurs
This commit is contained in:
		| @@ -5,7 +5,7 @@ | |||||||
|       "access_token": "jY17lCWaOpTdPQCnz50kfNm7ABpsGz", |       "access_token": "jY17lCWaOpTdPQCnz50kfNm7ABpsGz", | ||||||
|       "expires_in": 604800, |       "expires_in": 604800, | ||||||
|       "refresh_token": "3TronknZ7j5kVSDBjI3OechmCYF8ck", |       "refresh_token": "3TronknZ7j5kVSDBjI3OechmCYF8ck", | ||||||
|       "scope": "guilds.members.read guilds identify" |       "scope": "identify guilds guilds.members.read" | ||||||
|     }, |     }, | ||||||
|     "avatar": null, |     "avatar": null, | ||||||
|     "communication_disabled_until": null, |     "communication_disabled_until": null, | ||||||
| @@ -34,7 +34,7 @@ | |||||||
|     "deaf": false, |     "deaf": false, | ||||||
|     "bio": "", |     "bio": "", | ||||||
|     "banner": null, |     "banner": null, | ||||||
|     "token": "80009f8e-6caf-4db5-8454-c50471ac3b55", |     "token": "0c121c2f-a9cd-444b-952f-1eb23e463cc0", | ||||||
|     "admin": true |     "admin": true | ||||||
|   } |   } | ||||||
| ] | ] | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| { | { | ||||||
|   "name": "subsonics-web", |   "name": "subsonics-web", | ||||||
|   "author": "Raphix", |   "author": "Raphix", | ||||||
|   "version": "0.7.1", |   "version": "0.7.2", | ||||||
|   "nodemonConfig": { |   "nodemonConfig": { | ||||||
|     "ext": "js, html", |     "ext": "js, html", | ||||||
|     "ignore": [ |     "ignore": [ | ||||||
|   | |||||||
| @@ -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) { | module.exports.getUser = function (token) { | ||||||
|     return users.get(token) |     return users.get(token) | ||||||
| } | } | ||||||
| @@ -156,7 +164,29 @@ module.exports.addUser = function (user) { | |||||||
|      |      | ||||||
|  |  | ||||||
|     const userDB = JSON.parse(fs.readFileSync(__glob.USERS)) |     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)) |     fs.writeFileSync(__glob.USERS, JSON.stringify(userDB, null, 2)) | ||||||
|  |  | ||||||
|     updateUsers() |     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) { | 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 |         // 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) => { |         socket.on("SEND/SEEK", (data) => { | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -606,8 +686,6 @@ function IOConnection(io) { | |||||||
|                   |                   | ||||||
|                 if(auth.checkUser(token)) { |                 if(auth.checkUser(token)) { | ||||||
|  |  | ||||||
|      |  | ||||||
|  |  | ||||||
|                     var user = auth.getUser(token) |                     var user = auth.getUser(token) | ||||||
|                     var userId = user.user.id |                     var userId = user.user.id | ||||||
|  |  | ||||||
|   | |||||||
| @@ -30,10 +30,71 @@ settingsBtn.addEventListener("click", () => { | |||||||
|  |  | ||||||
|     settings_users.addEventListener("click", () => { |     settings_users.addEventListener("click", () => { | ||||||
|         loadUsers() |         loadUsers() | ||||||
|  |          | ||||||
|     }) |     }) | ||||||
|  |  | ||||||
|     settings_logs.style.color = "white" |     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() { |     function loadLogs() { | ||||||
|         settings_content.innerHTML = ` |         settings_content.innerHTML = ` | ||||||
|             <select id="logs_selection"> |             <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"); |     const buttons = document.querySelectorAll(".sside_line"); | ||||||
|   | |||||||
| @@ -1038,7 +1038,7 @@ p { | |||||||
|  |  | ||||||
| .logs_content { | .logs_content { | ||||||
|  |  | ||||||
|   margin-top: 50px; |   margin-top: 2%; | ||||||
|   color: white; |   color: white; | ||||||
|   font-size: 12px; |   font-size: 12px; | ||||||
|   font-family: 'Courier New', Courier, monospace; |   font-family: 'Courier New', Courier, monospace; | ||||||
| @@ -1050,3 +1050,24 @@ p { | |||||||
|  |  | ||||||
|   width: 100%; |   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