mod-portal-v2/server/api/admin/audit-logs/[logid].get.ts
2026-08-05 06:36:58 +02:00

43 lines
No EOL
1.1 KiB
TypeScript

import { query as queryAuthDb } from '../../../utils/db'
export default defineEventHandler(async (event) => {
const logId = getRouterParam(event, 'logid')
if (!logId) {
throw createError({
statusCode: 400,
statusMessage: 'Log ID parameter is required.'
})
}
try {
let result = await queryAuthDb(
`SELECT * FROM audit_logs WHERE log_id = $1 LIMIT 1`,
[logId]
)
if (result.rows.length === 0) {
result = await queryAuthDb(
`SELECT * FROM ban_logs WHERE log_id = $1 LIMIT 1`,
[logId]
)
}
if (result.rows.length === 0) {
throw createError({
statusCode: 404,
statusMessage: `Audit log with ID #${logId} was not found.`
})
}
return result.rows[0]
} catch (err: any) {
if (err.statusCode === 404) throw err
console.error('Failed to fetch single audit log:', err.message)
throw createError({
statusCode: 500,
statusMessage: `Database error: ${err.message}`
})
}
})