Refactored player API.

This commit is contained in:
BurnyLlama 2021-10-11 19:51:55 +02:00
parent 5fbcc2cc68
commit 5ecb679fd9

View File

@ -6,31 +6,35 @@ const playerApi = Router()
playerApi.get( playerApi.get(
'/count', '/count',
async (req, res) => { (req, res) => {
const playerAmount = await Player.count({}) Player.count({}).then(
count => {
res.json({ res.json({
success: true, success: true,
response: playerAmount response: playerAmount
}) })
}
)
} }
) )
playerApi.get( playerApi.get(
'/get/:player', '/get/:player',
async (req, res) => { (req, res) => {
const player = await Player.findOne({ name: req.params.player }) Player.findOne({ name: req.params.player }).then(
player => {
if (!player) if (!player)
return res.json({ return res.json({
success: false, success: false,
response: "No player found!" response: "No player found!"
}) })
res.json({ res.json({
success: true, success: true,
response: player response: player
}) })
}
)
} }
) )
@ -47,23 +51,25 @@ playerApi.get(
const sort = req.query.sort ?? 'name' const sort = req.query.sort ?? 'name'
const order = req.query.order === "desc" ? -1 : 1 const order = req.query.order === "desc" ? -1 : 1
const page = req.query.page ?? 1 const page = req.query.page ?? 1
const pageCount = Math.ceil((await Player.find({ name: { $regex: name, $options: 'i' }}).count()) / 20) const pageCount = Math.ceil((await Player.find({ name: { $regex: name, $options: 'i' }}).count()) / 20)
const players = await Player.find({ name: { $regex: name, $options: 'i' }}).sort([[sort, order]]).limit(20).skip((page - 1) * 20)
if (!players[0]) Player.find({ name: { $regex: name, $options: 'i' }}).sort([[sort, order]]).limit(20).skip((page - 1) * 20).then(
return res.json({ players => {
success: false, if (!players[0])
response: "No players found!" return res.json({
}) success: false,
response: "No players found!"
res.json({ })
success: true,
response: { res.json({
pageCount, success: true,
players response: {
pageCount,
players
}
})
} }
}) )
} }
) )