66 lines
1.4 KiB
JavaScript
66 lines
1.4 KiB
JavaScript
import { Router } from 'express'
|
|
import { sqlite } from '../libs/database/init.js'
|
|
import searcher from '../libs/database/searcher.js'
|
|
|
|
const playerApi = Router()
|
|
|
|
|
|
playerApi.get(
|
|
'/get/:player',
|
|
async (req, res) => {
|
|
searcher(
|
|
'points',
|
|
'player',
|
|
req.params.player,
|
|
undefined,
|
|
false,
|
|
"get",
|
|
0
|
|
).then(
|
|
player => res.json({
|
|
success: true,
|
|
response: player
|
|
})
|
|
).catch(
|
|
error => res.json({
|
|
success: false,
|
|
response: error
|
|
})
|
|
)
|
|
}
|
|
)
|
|
|
|
playerApi.get(
|
|
'/search',
|
|
async (req, res) => {
|
|
if (!req.query.q) {
|
|
return res.json({
|
|
success: false,
|
|
response: "No query ('?q=query') provided!"
|
|
})
|
|
}
|
|
|
|
searcher(
|
|
'points',
|
|
'player',
|
|
`%${req.query.q}%`,
|
|
req.query.sort ?? undefined,
|
|
req.query.order === "asc",
|
|
"all",
|
|
req.query.page
|
|
).then(
|
|
player => res.json({
|
|
success: true,
|
|
response: player
|
|
})
|
|
).catch(
|
|
error => res.json({
|
|
success: false,
|
|
response: error
|
|
})
|
|
)
|
|
}
|
|
)
|
|
|
|
export default playerApi
|