upd: web push

Deskripsi:
- pengaplikasian web push pada pengumuman

- pengaplikasian web push pada diskusi divisi

No Issues
This commit is contained in:
amel
2024-11-20 16:23:37 +08:00
parent 38cbc921f5
commit 062f78265e
5 changed files with 115 additions and 9 deletions

View File

@@ -0,0 +1,26 @@
import { WibuServerPush } from "wibu-pkg";
export async function funSendWebPush({ sub, message }: { sub: { idUser: string, subscription: string }[], message: { body: string, title: string } }) {
try {
const subs: PushSubscription[] = sub.map((v) => JSON.parse(v.subscription)) as PushSubscription[]
const kirim = await WibuServerPush.sendMany({
subscriptions: subs as any,
data: {
body: message.body,
title: message.title,
link: "/home?cat=notification",
variant: "notification"
}
})
if (kirim) {
return { success: true, message: "Berhasil mengirim notifikasi" }
}
return { success: false, message: "Gagal mengirim notifikasi" }
} catch (error) {
console.error("Send web push notification error", error);
return { success: false, message: "Gagal mengirim notifikasi" }
}
}