mod-portal-v2/server/api/user/lookup-nnas.post.ts
2026-08-01 23:59:45 +02:00

36 lines
No EOL
951 B
TypeScript

import { queryNnas } from '../../utils/nnasDb'
export default defineEventHandler(async (event) => {
const body = await readBody(event)
const usernameInput = body?.sfid?.trim()
if (!usernameInput) {
throw createError({ statusCode: 400, statusMessage: 'Username is required' })
}
try {
const nnasResult = await queryNnas(
`SELECT pid, username FROM users WHERE LOWER(username) = LOWER($1) LIMIT 1`,
[usernameInput]
)
if (nnasResult.rows.length === 0) {
throw createError({
statusCode: 404,
statusMessage: `Account "${usernameInput}" was not found.`
})
}
return {
pid: nnasResult.rows[0].pid,
username: nnasResult.rows[0].username
}
} catch (error: any) {
if (error.statusCode) throw error
console.error('[NNAS Lookup Error]:', error)
throw createError({
statusCode: 500,
statusMessage: 'Failed to look up NNAS profile'
})
}
})