import type { UserNotificationWsPayload } from '@/lib/notifications/userNotificationTypes'
import { resolveWsNotifyUserUrl } from '@/lib/ws/wsNotifyBaseUrl'

/**
 * 經 WS 伺服器 HTTP /notify-user 推播至 /notice 訂閱者（失敗不拋錯）。
 */
export async function pushUserNotificationWs(
    userId: string,
    notification: UserNotificationWsPayload
): Promise<void> {
    const uid = String(userId ?? '').trim()
    if (!uid) return

    try {
        const notifyUrl = resolveWsNotifyUserUrl()
        await fetch(notifyUrl, {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ userId: uid, notification }),
        })
    } catch (error) {
        console.error('[pushUserNotificationWs] failed:', error)
    }
}
