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