28 lines
621 B
TypeScript
28 lines
621 B
TypeScript
import { queryOne } from '../../../utils/db'
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const queryParams = getQuery(event)
|
|
const targetId = queryParams.target_id as string
|
|
|
|
if (!targetId) {
|
|
throw createError({
|
|
statusCode: 400,
|
|
message: 'target_id is required'
|
|
})
|
|
}
|
|
|
|
const snapshot = await queryOne(`
|
|
SELECT
|
|
l.*,
|
|
t.name as server_name,
|
|
t.host as server_ip
|
|
FROM server_logs l
|
|
JOIN server_targets t ON l.target_id = t.target_id
|
|
WHERE l.target_id = $1
|
|
ORDER BY l.checked_at DESC
|
|
LIMIT 1
|
|
`, [targetId])
|
|
|
|
return snapshot || null
|
|
})
|