48 lines
1.1 KiB
JavaScript
48 lines
1.1 KiB
JavaScript
import { Router } from 'express'
|
|
import { sqlite } from '../libs/database/init.js'
|
|
|
|
const playerApi = Router()
|
|
|
|
|
|
playerApi.get(
|
|
'/get/:player',
|
|
async (req, res) => {
|
|
let player = req.params.player
|
|
|
|
/* Misc */
|
|
const firstFinish = sqlite.prepare(`SELECT * FROM race WHERE player = ? ORDER BY date ASC LIMIT 1`).get(player)
|
|
|
|
/* Points */
|
|
let points = {}
|
|
const pointsData = sqlite.prepare(`SELECT type, rank, points FROM points WHERE player = ?`)
|
|
|
|
for (const pointsType of pointsData.iterate(player)) {
|
|
points[pointsType.type] = pointsType
|
|
}
|
|
|
|
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!"
|
|
})
|
|
}
|
|
/* TODO: Use the searcher function */
|
|
}
|
|
)
|
|
|
|
export default playerApi
|