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

36 lines
No EOL
982 B
TypeScript

import { queryNnas } from '../../../utils/nnasDb'
export default defineEventHandler(async (event) => {
const pid = getRouterParam(event, 'pid')
if (!pid) {
throw createError({
statusCode: 400,
statusMessage: 'PID parameter is required.'
})
}
try {
const result = await queryNnas(
`SELECT
pid, username, email, email_verified_since, birthdate,
timezone, country, language, gender, marketing_allowed,
off_device_allowed, account_level, creation_date, updated, verification_code
FROM users
WHERE pid = $1
LIMIT 1`,
[pid]
)
if (result.rows.length === 0) {
throw createError({ statusCode: 404, statusMessage: `User with PID ${pid} not found.` })
}
return result.rows[0]
} catch (error: any) {
throw createError({
statusCode: error.statusCode || 500,
statusMessage: error.statusMessage || `Database fetch error: ${error.message}`
})
}
})