Merge Main into feature/dockerize #35

Merged
Neshura merged 6 commits from main into feature/dockerize 2022-12-09 21:25:17 +00:00
Showing only changes of commit b0619167d6 - Show all commits

View file

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