Add loading match results by date
This commit is contained in:
@@ -43,6 +43,55 @@ app.get('/api/health', (_request, response) => {
|
||||
})
|
||||
})
|
||||
|
||||
app.get('/api/match-results/:time', async (request, response) => {
|
||||
if (!pool) {
|
||||
response.status(500).json({
|
||||
ok: false,
|
||||
message: `資料庫環境變數缺少:${missingEnv.join(', ')}`,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const time = String(request.params.time ?? '')
|
||||
|
||||
if (!/^\d{8}$/.test(time)) {
|
||||
response.status(400).json({
|
||||
ok: false,
|
||||
message: '日期格式不正確,請使用 YYYYMMDD。',
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
await ensureTable(pool, tableName)
|
||||
const [rows] = await pool.execute(
|
||||
`SELECT time, personnel, battlecombination FROM \`${tableName}\` WHERE time = ? LIMIT 1`,
|
||||
[Number(time)],
|
||||
)
|
||||
|
||||
const record = rows[0]
|
||||
|
||||
if (!record) {
|
||||
response.status(404).json({
|
||||
ok: false,
|
||||
message: '指定日期沒有資料。',
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
response.json({
|
||||
ok: true,
|
||||
data: record,
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('match-results load error:', error)
|
||||
response.status(500).json({
|
||||
ok: false,
|
||||
message: error instanceof Error ? error.message : '資料庫讀取失敗。',
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
app.post('/api/match-results', async (request, response) => {
|
||||
if (!pool) {
|
||||
response.status(500).json({
|
||||
|
||||
Reference in New Issue
Block a user