36 lines
No EOL
982 B
TypeScript
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}`
|
|
})
|
|
}
|
|
}) |