Version 0.9.0 - Ajout du Home Menu V2
This commit is contained in:
@ -18,6 +18,7 @@ const __glob = {
|
||||
NODES: root + path.sep + "data" + path.sep + "nodes.json",
|
||||
README: root + path.sep + "README.md",
|
||||
PLAYLIST: root + path.sep + "data" + path.sep + "playlist.json",
|
||||
RADIO: root + path.sep + "data" + path.sep + "radios.json",
|
||||
LOGS: root + path.sep + "src" + path.sep + "modules" + path.sep + "logs"
|
||||
};
|
||||
|
||||
|
@ -168,6 +168,13 @@ module.exports.getUsersList = function () {
|
||||
|
||||
}
|
||||
|
||||
module.exports.getSimpleUser = function (token) {
|
||||
|
||||
var user = users.get(token)
|
||||
|
||||
return ({"username": user.user.username, "global_name":user.user.global_name, "avatar": user.user.avatar, "id": user.user.id})
|
||||
}
|
||||
|
||||
|
||||
module.exports.getUser = function (token) {
|
||||
return users.get(token)
|
||||
|
64
src/modules/sub-radio.js
Normal file
64
src/modules/sub-radio.js
Normal file
@ -0,0 +1,64 @@
|
||||
const { __glob } = require("../modules/global-variables");
|
||||
const { LogType } = require("./sub-log");
|
||||
var { List } = require("./sub-list")
|
||||
const discord = require("./discord-bot")
|
||||
const subplayer = require("./sub-player")
|
||||
const fs = require("fs");
|
||||
const { type } = require("os");
|
||||
var radios = []
|
||||
const plog = new LogType("Radio-Manager")
|
||||
|
||||
check()
|
||||
|
||||
|
||||
module.exports.get = function () {
|
||||
|
||||
check()
|
||||
return radios
|
||||
|
||||
}
|
||||
|
||||
module.exports.add = function (data) {
|
||||
|
||||
var radios_data = JSON.parse(fs.readFileSync(__glob.RADIO))
|
||||
|
||||
radios_data.push(data)
|
||||
fs.writeFileSync(__glob.RADIO, JSON.stringify(radios_data, null, 2))
|
||||
|
||||
return radios
|
||||
|
||||
}
|
||||
|
||||
module.exports.remove = function(data) {
|
||||
|
||||
var radios_data = JSON.parse(fs.readFileSync(__glob.RADIO))
|
||||
|
||||
var radIndex = -1
|
||||
|
||||
for(var radio of radios_data) {
|
||||
|
||||
if(data.uri == radio.uri) {
|
||||
|
||||
radIndex = radios_data.indexOf(radio)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
radios_data.splice(radIndex, 1)
|
||||
|
||||
fs.writeFileSync(__glob.RADIO, JSON.stringify(radios_data, null, 2))
|
||||
}
|
||||
|
||||
|
||||
function check() {
|
||||
|
||||
if(fs.existsSync(__glob.RADIO)) {
|
||||
|
||||
radios = JSON.parse(fs.readFileSync(__glob.RADIO))
|
||||
} else {
|
||||
|
||||
fs.writeFileSync(__glob.RADIO, JSON.stringify(radios, null, 2))
|
||||
}
|
||||
}
|
@ -6,6 +6,7 @@ const auth = require("./sub-auth");
|
||||
const cook = require("cookie")
|
||||
const wlog = new LogType("Web")
|
||||
const subplayer = require('./sub-player');
|
||||
const subradio = require("./sub-radio.js")
|
||||
const { List } = require("./sub-list")
|
||||
const subplaylist = require("./sub-playlist")
|
||||
const nodesfinder = require("./nodes-finder")
|
||||
@ -141,6 +142,9 @@ function IOConnection(io) {
|
||||
|
||||
const alog = log.getInstance("Authentification")
|
||||
|
||||
const usersOnline = new Array()
|
||||
|
||||
|
||||
process.on("UPDATE_NODES", () => {
|
||||
|
||||
if(io) {
|
||||
@ -152,6 +156,16 @@ function IOConnection(io) {
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
process.on("UPDATE_RADIO", () => {
|
||||
|
||||
if(io) {
|
||||
|
||||
const radioList = subradio.get()
|
||||
io.sockets.emit("ALWAYS/ALL_RADIO", radioList)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
process.on("MUSIC_UPDATE_STATE", () => {
|
||||
@ -163,15 +177,38 @@ function IOConnection(io) {
|
||||
})
|
||||
|
||||
io.on("connection", (socket) => {
|
||||
|
||||
var ucookies = socket.handshake.headers.cookie
|
||||
ucookies = cook.parse(ucookies)
|
||||
|
||||
if(ucookies.token) {
|
||||
|
||||
var utoken = ucookies.token
|
||||
const online_users_data = auth.getSimpleUser(utoken)
|
||||
usersOnline.push(online_users_data)
|
||||
}
|
||||
|
||||
io.sockets.emit("ALWAYS/ALL_CONNECTED_USER", usersOnline)
|
||||
|
||||
wlog.log("[SOCKET] - Nouvelle session : " + socket.id)
|
||||
|
||||
|
||||
|
||||
socket.on("disconnect", () => {
|
||||
|
||||
wlog.log("[SOCKET] - Fin de session : " + socket.id)
|
||||
if(ucookies.token) {
|
||||
|
||||
var utoken = ucookies.token
|
||||
const online_users_data = auth.getSimpleUser(utoken)
|
||||
usersOnline.splice(usersOnline.indexOf(online_users_data), 1)
|
||||
}
|
||||
|
||||
io.sockets.emit("ALWAYS/ALL_CONNECTED_USER", usersOnline)
|
||||
|
||||
})
|
||||
|
||||
|
||||
// SPECIAL
|
||||
|
||||
socket.on("GET/DISCORD_LOGIN_LINK", () => {
|
||||
@ -394,6 +431,20 @@ function IOConnection(io) {
|
||||
|
||||
})
|
||||
|
||||
GetRequest(io, socket, "ALL_CONNECTED_USER", () => {
|
||||
|
||||
|
||||
io.sockets.emit("ALWAYS/ALL_CONNECTED_USER", usersOnline)
|
||||
|
||||
})
|
||||
|
||||
GetRequest(io, socket, "ALL_RADIO", () => {
|
||||
|
||||
const radioList = subradio.get()
|
||||
io.sockets.emit("ALWAYS/ALL_RADIO", radioList)
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
@ -421,7 +472,61 @@ function IOConnection(io) {
|
||||
}
|
||||
|
||||
} else {
|
||||
io.emit("ANSWER/SEND/USERS/ADD", {"error":"TOKEN_NOT_FINDED"})
|
||||
io.emit("ANSWER/SEND/NODES/ADD", {"error":"TOKEN_NOT_FINDED"})
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
socket.on("SEND/RADIO/ADD", async (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) {
|
||||
|
||||
const music_data = await (await subplayer.search(data)).results.tracks[0]
|
||||
|
||||
var radioContains = null
|
||||
|
||||
for(var title of subradio.get()) {
|
||||
|
||||
if(title.uri == music_data.uri) {
|
||||
|
||||
radioContains = true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!radioContains) {
|
||||
|
||||
subradio.add(music_data)
|
||||
console.log("[Radio] - ADD : " + data)
|
||||
|
||||
} else {
|
||||
|
||||
subradio.remove(music_data)
|
||||
console.log("[Radio] - REMOVE : " + data)
|
||||
|
||||
}
|
||||
|
||||
|
||||
socket.emit("ANSWER/SEND/RADIO/ADD", "OK")
|
||||
process.emit("UPDATE_RADIO")
|
||||
}
|
||||
|
||||
} else {
|
||||
io.emit("ANSWER/SEND/RADIO/ADD", {"error":"TOKEN_NOT_FINDED"})
|
||||
|
||||
}
|
||||
|
||||
@ -716,7 +821,7 @@ function IOConnection(io) {
|
||||
|
||||
|
||||
const results = await subplayer.search(data)
|
||||
|
||||
|
||||
|
||||
io.emit("ANSWER/SEND/SEARCH", results)
|
||||
|
||||
|
Reference in New Issue
Block a user