ddstats-server/api/players.js

48 lines
1.1 KiB
JavaScript
Raw Normal View History

2021-10-30 20:26:37 +02:00
import { Router } from 'express'
2021-10-31 23:43:36 +01:00
import { sqlite } from '../libs/database/init.js'
2021-10-30 20:26:37 +02:00
const playerApi = Router()
playerApi.get(
'/get/:player',
async (req, res) => {
let player = req.params.player
/* Misc */
2021-11-01 21:52:48 +01:00
const firstFinish = sqlite.prepare(`SELECT * FROM race WHERE player = ? ORDER BY date ASC LIMIT 1`).get(player)
2021-10-30 20:26:37 +02:00
/* Points */
2021-10-31 20:46:43 +01:00
let points = {}
2021-11-01 22:49:52 +01:00
const pointsData = sqlite.prepare(`SELECT type, rank, points FROM points WHERE player = ?`)
2021-10-30 20:26:37 +02:00
2021-10-31 20:46:43 +01:00
for (const pointsType of pointsData.iterate(player)) {
points[pointsType.type] = pointsType
}
2021-10-30 20:26:37 +02:00
return res.json({
success: true,
response: {
firstFinish,
points,
}
})
}
)
playerApi.get(
'/search',
async (req, res) => {
/* Check if a query was provided */
if (!req.query.q) {
return res.json({
success: false,
response: "No query ('host/path?q=query') provided!"
})
}
2021-11-01 21:52:48 +01:00
/* TODO: Use the searcher function */
2021-10-30 20:26:37 +02:00
}
)
export default playerApi