- add: createPushSubscription :
'Subscribed to FreePlanet.app!', 'You can now receive Notification and Messages.'
This commit is contained in:
@@ -3,7 +3,7 @@ var {User} = require('../models/user');
|
||||
var authenticate = (req, res, next) => {
|
||||
var token = req.header('x-auth');
|
||||
|
||||
console.log("TOKEN = " + token);
|
||||
// console.log("TOKEN = " + token);
|
||||
|
||||
User.findByToken(token).then((user) => {
|
||||
if (!user) {
|
||||
|
||||
@@ -4,6 +4,8 @@ const Schema = mongoose.Schema;
|
||||
mongoose.Promise = global.Promise;
|
||||
mongoose.level = "F";
|
||||
|
||||
const { ObjectID } = require('mongodb');
|
||||
|
||||
// Resolving error Unknown modifier: $pushAll
|
||||
mongoose.plugin(schema => {
|
||||
schema.options.usePushEach = true
|
||||
@@ -13,6 +15,7 @@ mongoose.plugin(schema => {
|
||||
const SubscriberSchema = new Schema({
|
||||
endpoint: String,
|
||||
keys: Schema.Types.Mixed,
|
||||
userId: String,
|
||||
createDate: {
|
||||
type: Date,
|
||||
default: Date.now
|
||||
|
||||
@@ -67,7 +67,7 @@ TodoSchema.methods.toJSON = function () {
|
||||
var todo = this;
|
||||
var todoObject = todo.toObject();
|
||||
|
||||
console.log(todoObject);
|
||||
// console.log(todoObject);
|
||||
|
||||
return _.pick(todoObject, ['_id', 'userId', 'pos', 'category', 'descr', 'priority', 'completed', 'created_at', 'modify_at',
|
||||
'completed_at', 'expiring_at', 'enableExpiring', 'id_prev', 'id_next', 'progress', 'modified']);
|
||||
|
||||
@@ -82,7 +82,7 @@ UserSchema.methods.toJSON = function () {
|
||||
};
|
||||
|
||||
UserSchema.methods.generateAuthToken = function () {
|
||||
console.log("GENERA TOKEN : ");
|
||||
// console.log("GENERA TOKEN : ");
|
||||
var user = this;
|
||||
var access = 'auth';
|
||||
var token = jwt.sign({ _id: user._id.toHexString(), access }, process.env.SIGNCODE).toString();
|
||||
@@ -130,8 +130,8 @@ UserSchema.statics.findByCredentials = function (username, password) {
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
// Use bcrypt.compare to compare password and user.password
|
||||
console.log("pwd1 " + password);
|
||||
console.log("pwd2 " + pwd);
|
||||
// console.log("pwd1 " + password);
|
||||
// console.log("pwd2 " + pwd);
|
||||
bcrypt.compare(password, pwd, (err, res) => {
|
||||
if (res) {
|
||||
resolve(user);
|
||||
|
||||
@@ -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) => {
|
||||
@@ -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));
|
||||
|
||||
}
|
||||
|
||||
@@ -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) => {
|
||||
@@ -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) => {
|
||||
@@ -29,12 +29,12 @@ require('./models/subscribers');
|
||||
const { ObjectID } = require('mongodb');
|
||||
|
||||
|
||||
const index = require('./router');
|
||||
const push = require('./router/push');
|
||||
const subscribe = require('./router/subscribe');
|
||||
const email = require('./router/email');
|
||||
const todos = require('./router/todos');
|
||||
const users = require('./router/users');
|
||||
const index_router = require('./router/index_router');
|
||||
const push_router = require('./router/push_router');
|
||||
const subscribe_router = require('./router/subscribe_router');
|
||||
const email_router = require('./router/email_router');
|
||||
const todos_router = require('./router/todos_router');
|
||||
const users_router = require('./router/users_router');
|
||||
|
||||
require('./db/mongoose');
|
||||
|
||||
@@ -82,12 +82,12 @@ webpush.setVapidDetails('mailto:' + process.env.EMAIL_FROM, publicVapidKey, priv
|
||||
|
||||
// Use Routes
|
||||
|
||||
app.use('/', index);
|
||||
app.use('/subscribe', subscribe);
|
||||
app.use('/push', push);
|
||||
app.use('/email', email);
|
||||
app.use('/todos', todos);
|
||||
app.use('/users', users);
|
||||
app.use('/', index_router);
|
||||
app.use('/subscribe', subscribe_router);
|
||||
app.use('/push', push_router);
|
||||
app.use('/email', email_router);
|
||||
app.use('/todos', todos_router);
|
||||
app.use('/users', users_router);
|
||||
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
@@ -106,7 +106,7 @@ app.use(function (req, res, next) {
|
||||
if (app.get('env') === 'development') {
|
||||
app.use(function (err, req, res, next) {
|
||||
console.log('Error: ', err.message)
|
||||
console.trace();
|
||||
// console.trace();
|
||||
res.status(err.status || 500).send({error: err.message});
|
||||
// res.render('error', {
|
||||
// message: err.message,
|
||||
@@ -145,7 +145,7 @@ if (process.env.TEST_ATTIVO) {
|
||||
|
||||
function eseguitest() {
|
||||
|
||||
if (true) {
|
||||
if (false) {
|
||||
console.log("ESEGUI I TEST:");
|
||||
console.log("linkreg = " + sendemail.getlinkReg(1, "myusername"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user