- add: createPushSubscription :

'Subscribed to FreePlanet.app!',
  'You can now receive Notification and Messages.'
This commit is contained in:
Paolo Arena
2019-02-05 18:17:44 +01:00
parent 8e5e7addb7
commit db2a460594
11 changed files with 38 additions and 42 deletions

View File

@@ -23,6 +23,7 @@ router.post('/', (req, res) => {
res.status(500).json({
error: 'Technical error occurred'
});
} else {
let parallelSubscriptionCalls = subscriptions.map((subscription) => {
return new Promise((resolve, reject) => {

View File

@@ -5,7 +5,7 @@ const Subscription = mongoose.model('subscribers');
const webpush = require('web-push');
router.post('/', (req, res) => {
const subscriptionModel = new Subscription(req.body);
const subscriptionModel = new Subscription(req.body.subs);
subscriptionModel.save((err, subscription) => {
if (err) {
console.error(`Error occurred while saving subscription. Err: ${err}`);
@@ -16,25 +16,16 @@ router.post('/', (req, res) => {
// Send 201 - resource created
res.status(201).json({ data: 'Subscription saved.' });
sendBackNotif(subscription)
sendBackNotif(subscription, req.body.options)
}
});
});
function sendBackNotif(subscription) {
// Create payload
const payload = JSON.stringify(
{
title: 'New Post HOLAAAA',
content: 'New Post added HOLAAAA!',
openUrl: '/help'
}
);
function sendBackNotif(subscription, payload) {
console.log('payload');
// Pass object into sendNotification
webpush.sendNotification(subscription, payload).catch(err => console.error(err));
webpush.sendNotification(subscription, JSON.stringify(payload)).catch(err => console.error(err));
}

View File

@@ -17,11 +17,12 @@ const allfieldTodoWithId = ['_id', ...allfieldTodo];
router.post('/:id', authenticate, (req, res) => {
console.log('POST ', req.body);
var body = _.pick(req.body, allfieldTodoWithId);
var todo = new Todo(body);
console.log('POST ', todo.descr);
todo.modified = false;
if (!todo.descr) {
console.log('RECORD NON VALIDO !?', req.body)
@@ -83,7 +84,7 @@ function sendNotificationToUser(title, content, openUrl) {
router.get('/:userId', authenticate, (req, res) => {
var userId = req.params.userId;
console.log('GET : ', req, req.params);
console.log('GET : ', req.params);
// Extract all the todos of the userId only
Todo.findAllByUserId(userId).then((todos) => {

View File

@@ -14,8 +14,8 @@ router.post('/', (req, res) => {
var body = _.pick(req.body, ['email', 'password', 'username', 'idapp', 'keyappid', 'lang']);
var user = new User(body);
console.log("LANG PASSATO = " + user.lang);
console.log("IDAPP = " + user.idapp);
// console.log("LANG PASSATO = " + user.lang);
// console.log("IDAPP = " + user.idapp);
user.linkreg = reg.getlinkregByEmail(body.email, body.username);
user.verified_email = false;
@@ -91,13 +91,13 @@ router.post('/login', (req, res) => {
usertosend.userId = user._id.toHexString();
usertosend.verified_email = user.verified_email;
console.log("user.verified_email:" + user.verified_email);
console.log("usertosend.userId", usertosend.userId);
// console.log("user.verified_email:" + user.verified_email);
// console.log("usertosend.userId", usertosend.userId);
console.log("usertosend:");
console.log(usertosend);
// console.log("usertosend:");
// console.log(usertosend);
res.header('x-auth', token).send(usertosend);
console.log("TROVATOOO!");
// console.log("TROVATOOO!");
});
}
}).catch((e) => {