import { getUserById } from '../../repositories/member-repository' import { getMemberSession, requireMemberSession } from '../../utils/member-auth' /** * 회원 세션 조회 API * @param {import('h3').H3Event} event - 요청 이벤트 * @returns {Promise<{ id: string, username: string, email: string, avatarUrl: string, isAdmin: boolean, role: string } | null>} 회원 정보 */ export default defineEventHandler(async (event) => { const isOptional = getQuery(event).optional === '1' const session = isOptional ? getMemberSession(event) : requireMemberSession(event) if (!session) { return null } const user = await getUserById(session.userId) if (!user) { return { id: session.userId, username: '', email: session.email, avatarUrl: '', isAdmin: false, role: 'member' } } return { id: user.id, username: user.username, email: user.email, avatarUrl: user.avatarUrl || '', isAdmin: Boolean(user.isAdmin), role: user.role || 'member' } })