const con = require('./database');
const webpush = require('web-push');
const express = require('express');
const app = express();
app.post('/enviar', async function(req, res){
const datos = [{'json': JSON.stringify(req.body)}];
const result = await con.query('INSERT INTO notificaciones set ?', datos);
const rows = await con.query('SELECT * FROM suscripciones');
for(const i in rows){
const obj = JSON.parse(rows[i].json);
const json = JSON.stringify({
'icon': req.body.imagen,
'body': req.body.mensaje,
'image': req.body.imagen,
'title': req.body.titulo,
'requireInteraction': true,
'vibrate': [200, 100, 200, 100, 200, 100, 200],
'data': {'id': result.insertId, 'link': req.body.link},
'actions': [{'action': 'link', 'title': req.body.boton}]
});
webpush.sendNotification(obj, json).then(function(resp){
if(resp.statusCode === 201){
const id = [result.insertId];
con.query('UPDATE notificaciones SET enviadas = enviadas + 1 WHERE id = ?', id);
}
}).catch(function(erro){
console.log('ERROR: ', erro);
});
}
con.end();
res.redirect('/enviar');
});