Merge Main into feature/dockerize #35
1 changed files with 0 additions and 55 deletions
|
@ -1,55 +0,0 @@
|
|||
import fsPromises from 'fs/promises'
|
||||
import path from 'path'
|
||||
import type { NextApiRequest, NextApiResponse } from 'next'
|
||||
|
||||
export default async function userHandler(req: NextApiRequest, res: NextApiResponse) {
|
||||
const {
|
||||
body: { ip, status, key },
|
||||
method,
|
||||
} = req
|
||||
|
||||
const filePath = path.join(process.cwd(), '/data/zomboid.json')
|
||||
const jsonBuffer = await fsPromises.readFile(filePath)
|
||||
const jsonData = JSON.parse(jsonBuffer.toString())
|
||||
|
||||
switch (method) {
|
||||
case 'GET':
|
||||
res.status(200).json(jsonData)
|
||||
break
|
||||
case 'PUT':
|
||||
if (key == "#inFamous3") {
|
||||
if (ip != jsonData.currentIP) {
|
||||
jsonData.historicIP.unshift(jsonData.currentIP)
|
||||
if (Object.keys(jsonData.historicIP).length > 10) {
|
||||
jsonData.historicIP.pop()
|
||||
}
|
||||
jsonData.currentIP = ip
|
||||
}
|
||||
jsonData.status = status
|
||||
|
||||
modifyServerStatus(ip, status)
|
||||
|
||||
|
||||
await fsPromises.writeFile(filePath, JSON.stringify(jsonData, null, 2))
|
||||
|
||||
res.status(200).json(jsonData)
|
||||
}
|
||||
else {
|
||||
res.status(401).json("wrong key")
|
||||
}
|
||||
break
|
||||
default:
|
||||
res.setHeader('Allow', ['GET', 'PUT'])
|
||||
res.status(405).end(`Method ${method} Not Allowed`)
|
||||
}
|
||||
}
|
||||
|
||||
async function modifyServerStatus(ip: String, status: String) {
|
||||
const filePath = path.join(process.cwd(), '/confs/pages.json')
|
||||
const jsonBuffer = await fsPromises.readFile(filePath)
|
||||
const data = JSON.parse(jsonBuffer.toString())
|
||||
data.servers.zomboid.ip = ip
|
||||
data.servers.zomboid.status = status
|
||||
await fsPromises.writeFile(filePath, JSON.stringify(data, null, 2))
|
||||
return data
|
||||
}
|
Loading…
Reference in a new issue