Version 0.7.2 - Ajout des utilisateurs

This commit is contained in:
CICD - Pipeline 2023-08-31 22:52:56 +02:00
parent 51820268cd
commit c9018feeeb
6 changed files with 236 additions and 13 deletions

View File

@ -5,7 +5,7 @@
"access_token": "jY17lCWaOpTdPQCnz50kfNm7ABpsGz",
"expires_in": 604800,
"refresh_token": "3TronknZ7j5kVSDBjI3OechmCYF8ck",
"scope": "guilds.members.read guilds identify"
"scope": "identify guilds guilds.members.read"
},
"avatar": null,
"communication_disabled_until": null,
@ -34,7 +34,7 @@
"deaf": false,
"bio": "",
"banner": null,
"token": "80009f8e-6caf-4db5-8454-c50471ac3b55",
"token": "0c121c2f-a9cd-444b-952f-1eb23e463cc0",
"admin": true
}
]

View File

@ -1,7 +1,7 @@
{
"name": "subsonics-web",
"author": "Raphix",
"version": "0.7.1",
"version": "0.7.2",
"nodemonConfig": {
"ext": "js, html",
"ignore": [

View File

@ -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) {

View File

@ -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

View File

@ -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");

View File

@ -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%;
}