Not crashing when not supplying push-data thingies
This commit is contained in:
@@ -9,12 +9,24 @@ mongoose.connect("mongodb://localhost:27017/vinlottis", {
|
||||
useNewUrlParser: true
|
||||
});
|
||||
|
||||
const config = require(path.join(__dirname + "/../config/env/push.config"));
|
||||
const config = require(path.join(__dirname + "/../config/env/push"));
|
||||
const Subscription = require(path.join(__dirname + "/../schemas/Subscription"));
|
||||
const lotteryConfig = require(path.join(
|
||||
__dirname + "/../config/env/lottery.config"
|
||||
));
|
||||
|
||||
router.use((req, res, next) => {
|
||||
next();
|
||||
});
|
||||
|
||||
if (!config.publicKey) {
|
||||
console.error(
|
||||
"You are missing the push-setup! Server will continue running even without this."
|
||||
);
|
||||
module.exports = router;
|
||||
return;
|
||||
}
|
||||
|
||||
const vapidKeys = {
|
||||
publicKey: config.publicKey,
|
||||
privateKey: config.privateKey
|
||||
@@ -34,10 +46,6 @@ const sendNotification = (subscription, dataToSend = "") => {
|
||||
}
|
||||
};
|
||||
|
||||
router.use((req, res, next) => {
|
||||
next();
|
||||
});
|
||||
|
||||
router.route("/save-subscription").post(async (req, res) => {
|
||||
const subscription = req.body;
|
||||
await saveToDatabase(subscription); //Method to save the subscription to Database
|
||||
|
||||
8
config/env/push.js
vendored
Normal file
8
config/env/push.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
try {
|
||||
module.exports = require("./push.config");
|
||||
} catch (e) {
|
||||
console.error(
|
||||
"You haven't defined push-parameters, you sure you want to continue without them?"
|
||||
);
|
||||
module.exports = { publicKey: false, privateKey: false, mailto: false };
|
||||
}
|
||||
@@ -42,7 +42,7 @@ const ServiceWorkerConfig = {
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
__DATE__: new Date().getTime(),
|
||||
__PUBLICKEY__: JSON.stringify(require("./env/push.config").publicKey)
|
||||
__PUBLICKEY__: JSON.stringify(require("./env/push").publicKey)
|
||||
})
|
||||
]
|
||||
};
|
||||
|
||||
@@ -78,7 +78,8 @@ const webpackConfig = function(isDev) {
|
||||
__PRICE__: env.price,
|
||||
__MESSAGE__: JSON.stringify(env.message),
|
||||
__DATE__: env.date,
|
||||
__HOURS__: env.hours
|
||||
__HOURS__: env.hours,
|
||||
__PUSHENABLED__: JSON.stringify(require("./env/push") != false)
|
||||
})
|
||||
]
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@ var serviceWorkerRegistrationMixin = {
|
||||
console.log("Nettleseren din støtter ikke service-workers.");
|
||||
return;
|
||||
}
|
||||
if ("PushManager" in window) {
|
||||
if ("PushManager" in window && __PUSHENABLED__) {
|
||||
if (Notification.permission !== "granted") {
|
||||
localStorage.removeItem("push");
|
||||
}
|
||||
|
||||
@@ -15,6 +15,9 @@ self.addEventListener("activate", event => {
|
||||
});
|
||||
|
||||
self.addEventListener("message", event => {
|
||||
if (!__PUBLICKEY__) {
|
||||
return;
|
||||
}
|
||||
if (event.data === "updatePush") {
|
||||
event.waitUntil(
|
||||
new Promise((resolve, reject) => {
|
||||
|
||||
Reference in New Issue
Block a user