Merge remote-tracking branch 'origin/main'

This commit is contained in:
marzban-dev
2025-03-22 23:44:21 +03:30
23 changed files with 322 additions and 65 deletions
+26
View File
@@ -0,0 +1,26 @@
import webPush from "web-push";
export default defineEventHandler(() => {
// Generate once and set in .env for production
if (process.env.NODE_ENV === "production") {
if (
!process.env.VAPID_PRIVATE_KEY ||
!process.env.NUXT_PUBLIC_VAPID_KEY
) {
throw createError({
statusCode: 500,
statusMessage: "VAPID keys not configured in production",
});
}
return { publicKey: process.env.NUXT_PUBLIC_VAPID_KEY };
}
// Development: Generate and reuse
if (!process.env.VAPID_PRIVATE_KEY) {
const vapidKeys = webPush.generateVAPIDKeys();
process.env.VAPID_PRIVATE_KEY = vapidKeys.privateKey;
process.env.NUXT_PUBLIC_VAPID_KEY = vapidKeys.publicKey;
}
return { publicKey: process.env.NUXT_PUBLIC_VAPID_KEY };
});