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 sort = req.query.sort ?? 'name' const order = req.query.order === "desc" ? -1 : 1 const page = req.query.page ?? 1 const players = await Player.find({ name: { $regex: name, $options: 'i' }}).sort([[sort, order]]).limit(20).skip((page - 1) * 20) if (!players[0]) return res.json({ success: false, response: "No players found!" }) res.json(players) }) export default playerApi