48 lines
1.8 KiB
JavaScript
48 lines
1.8 KiB
JavaScript
const consoleEntries = []
|
|
|
|
RegisterNetEvent("madmin:server:startliveconsole")
|
|
on('madmin:server:startliveconsole', () => {
|
|
RegisterConsoleListener((channel, message) => {
|
|
if (message === "\n") return
|
|
if (consoleEntries.length >= 100) {
|
|
consoleEntries.splice(0, 1)
|
|
}
|
|
consoleEntries.push(`[${crypto.randomBytes(5).toString("hex")} ${channel}] ${message}`)
|
|
})
|
|
})
|
|
|
|
/**
|
|
* @param {string} key
|
|
* @returns {string}
|
|
*/
|
|
|
|
app.use("/getAllConsoleEntries.lvorex", express.json())
|
|
app.post("/getAllConsoleEntries.lvorex", async (req, res) => {
|
|
const postBody = req.body
|
|
const { keyFound, userKey } = await controlKey(req, postBody.key)
|
|
|
|
if (keyFound === false) return res.json({ code: 404, message: "Not authorized." })
|
|
const PermissionCheck = await checkPermission(userKey.rank, "LiveConsole", 0)
|
|
if (!PermissionCheck) return res.json({ code: 401, message: "Your rank is not enough." })
|
|
res.json({ code: 200, message: consoleEntries })
|
|
})
|
|
|
|
|
|
/**
|
|
* @param {string} key
|
|
* @param {string} sentConsoleEntries
|
|
* @returns {string}
|
|
*/
|
|
|
|
app.use("/getNewConsoleEntries.lvorex", express.json({ limit: '50mb' }))
|
|
app.post("/getNewConsoleEntries.lvorex", async (req, res) => {
|
|
const postBody = req.body
|
|
const { keyFound, userKey } = await controlKey(req, postBody.key)
|
|
|
|
if (keyFound === false) return res.json({ code: 404, message: "Not authorized." })
|
|
const PermissionCheck = await checkPermission(userKey.rank, "LiveConsole", 0)
|
|
if (!PermissionCheck) return res.json({ code: 401, message: "Your rank is not enough." })
|
|
const newEntries = consoleEntries.filter(x => !postBody.sentConsoleEntries.includes(x))
|
|
|
|
res.json({ code: 200, message: newEntries })
|
|
}) |