import { createError } from 'h3' import { isUsernameTaken } from '../../repositories/member-repository' import { requireMemberSession } from '../../utils/member-auth' /** * 사용자명 중복 확인 API * @param {import('h3').H3Event} event - 요청 이벤트 * @returns {Promise<{ available: boolean }>} 사용 가능 여부 */ export default defineEventHandler(async (event) => { const session = requireMemberSession(event) const rawUsername = getQuery(event).username const username = typeof rawUsername === 'string' ? rawUsername.trim() : '' if (!username) { throw createError({ statusCode: 400, message: '닉네임을 입력해 주세요.' }) } const taken = await isUsernameTaken({ username, excludeUserId: session.userId }) return { available: !taken } })