import { cookies } from 'next/headers'
import { SESSION_ID_COOKIE } from '@/app/_helpers/constants'
import { getDb } from '@/server/db'
import { USER_AUTH_SQL } from '@/server/userAuthSql'

/** 從 session cookie 解析目前登入使用者的 user_id；未登入回傳 null。 */
export async function getSessionUserId(): Promise<string | null> {
    const sessionId = cookies().get(SESSION_ID_COOKIE)?.value
    if (!sessionId) return null

    const db = await getDb()
    const session = await db.get<{ userId: string }>(
        USER_AUTH_SQL.selectSessionUserId,
        [sessionId]
    )
    const userId = session?.userId?.trim()
    return userId || null
}
