add guest subscribe push notification

This commit is contained in:
2024-12-02 08:50:25 +02:00
parent 2ae13f6ec4
commit 1231dc26ce
20 changed files with 742 additions and 49 deletions
@@ -0,0 +1,38 @@
import webpush from "web-push";
import PouchDB from "./PouchDB";
if (!process.env.VAPID_SUBJECT) {
throw new Error("VAPID_SUBJECT env is empty!");
}
const vapidKeys = webpush.generateVAPIDKeys();
await new PouchDB(`${process.env.API_URL}/server_settings`, {
_id: "server_settings:message_delivery_method_web_push_vapid",
type: "server_settings",
name: "message_delivery_method_web_push_vapid",
value: {
subject: process.env.VAPID_SUBJECT,
keys: vapidKeys,
},
});
await new PouchDB(`${process.env.API_URL}/public_settings`, {
skip_setup: true,
}).put({
_id: "public_settings:message_delivery_method_web_push_vapid_public_key",
type: "public_settings",
name: "message_delivery_method_web_push_vapid_public_key",
value: vapidKeys.publicKey,
});
if (process.env.GCM_API_KEY) {
await new PouchDB(`${process.env.API_URL}/public_settings`, {
skip_setup: true,
}).put({
_id: "server_settings:message_delivery_method_web_push_gcm_api_key",
type: "server_settings",
name: "message_delivery_method_web_push_gcm_api_key",
value: process.env.GCM_API_KEY,
});
}