63 lines
1.4 KiB
JavaScript
63 lines
1.4 KiB
JavaScript
import { response, Router } from 'express'
|
|
import initLog from '../../libs/utills/log.js'
|
|
import Player from '../../schemas/Player.js'
|
|
|
|
const log = initLog("Player API")
|
|
|
|
const playerApi = Router()
|
|
|
|
playerApi.get('/countAll', async (req, res) => {
|
|
const playerAmount = await Player.count({})
|
|
|
|
res.json({
|
|
success: true,
|
|
response: playerAmount
|
|
})
|
|
})
|
|
|
|
playerApi.get('/getAll', async (req, res) => {
|
|
const players = await Player.find({}).select('name')
|
|
|
|
res.json({
|
|
success: true,
|
|
response: players
|
|
})
|
|
})
|
|
|
|
playerApi.get('/get/:player', async (req, res) => {
|
|
const player = await Player.findOne({ name: req.params.player })
|
|
|
|
if (!player)
|
|
return res.json({
|
|
success: false,
|
|
response: "No player found!"
|
|
})
|
|
|
|
res.json({
|
|
success: true,
|
|
response: player
|
|
})
|
|
})
|
|
|
|
playerApi.get('/search', async (req, res) => {
|
|
if (!req.query.name)
|
|
return res.json({
|
|
success: false,
|
|
response: "No parameter 'name' provided!"
|
|
})
|
|
|
|
const name = req.query.name
|
|
const order = req.query.sortBy === "asc" || req.query.sortBy === "asc" ? req.query.sortBy : "asc"
|
|
|
|
const players = await Player.find({ name: { $regex: name, $options: 'i' }})
|
|
|
|
if (!players)
|
|
return res.json({
|
|
success: false,
|
|
response: "No players found!"
|
|
})
|
|
|
|
res.json(players)
|
|
})
|
|
|
|
export default playerApi |