/checkupdates: Show Button, when Upgrade Version is available ! (check from the server, the version number

This commit is contained in:
Paolo Arena
2019-02-22 10:23:39 +01:00
parent c7f13d820d
commit d78de1a25c
9 changed files with 133 additions and 4 deletions

1
.gitignore vendored
View File

@@ -2,6 +2,7 @@ node_modules/
.env.test
.env.development
.env.production
.env.production.bak
ESEMPI/
.idea
package-lock.json

View File

@@ -5,6 +5,7 @@ var file = `.env.${node_env}`;
// GLOBALI (Uguali per TUTTI)
process.env.LINKVERIF_REG = '/vreg';
process.env.LINK_REQUEST_NEWPASSWORD = '/requestnewpwd';
process.env.LINK_CHECK_UPDATES = '/checkupdates';
process.env.LINK_UPDATE_PASSWORD = '/updatepwd';
process.env.NOME_APP1 = 'FreePlanet';
process.env.KEY_APP_ID='KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF';

View File

@@ -0,0 +1,28 @@
const mongoose = require('mongoose');
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
});
const cfgserverSchema = new Schema({
chiave: {
type: String,
required: true,
trim: true,
minlength: 1,
unique: true,
},
valore: {
type: String,
},
});
mongoose.model('cfgserver', cfgserverSchema);

View File

@@ -0,0 +1,26 @@
const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
const cfgserver = mongoose.model('cfgserver');
const tools = require('../tools/general');
var { authenticate } = require('../middleware/authenticate');
router.post('/updateval', authenticate, (req, res) => {
console.log('/updateval', req.body.pairval);
pair = req.body.pairval;
cfgserver.findOneAndUpdate({chiave: pair.chiave}, { $set: pair }, { new: false }).then((item) => {
// cfgserver.find({ chiave: pair.chiave }, (err, item) => {
res.status(200).send();
}).catch(err => {
console.log('ERR:', err);
res.status(400).send();
})
});
module.exports = router;

View File

@@ -1,9 +1,17 @@
const express = require('express');
const router = express.Router();
var { authenticate } = require('../middleware/authenticate');
const { ObjectID } = require('mongodb');
var mongoose = require('mongoose');
const cfgserver = mongoose.model('cfgserver');
const _ = require('lodash');
var {User} = require('../models/user');
var { User } = require('../models/user');
var server_constants = require('../tools/server_constants');
@@ -69,6 +77,33 @@ router.post(process.env.LINK_REQUEST_NEWPASSWORD, (req, res) => {
});
router.get(process.env.LINK_CHECK_UPDATES, authenticate, (req, res) => {
const userId = req.user._id;
console.log("POST " + process.env.LINK_CHECK_UPDATES + " userId=" + userId);
if (!ObjectID.isValid(userId)) {
return res.status(404).send();
}
cfgserver.find().then((arrcfgrec) => {
if (!arrcfgrec)
return res.status(404).send();
// ++Todo: Add to Log Stat ....
res.send({ cfgServer: arrcfgrec });
}).catch((e) => {
console.log(e);
res.status(400).send();
res.send({ code: server_constants.RIS_CODE_ERR, msg: e });
});
});
// Invio la Nuova Password richiesta dal reset!
// Ritorna il token per poter effettuare le chiamate...
router.post(process.env.LINK_UPDATE_PASSWORD, (req, res) => {

View File

@@ -27,7 +27,7 @@ const isValidSaveRequest = (req, res) => {
};
router.post('/', authenticate, (req, res) => {
console.log('req.body.others', req.body.others);
// console.log('req.body.others', req.body.others);
if (!isValidSaveRequest(req, res)) {
return;
@@ -52,8 +52,10 @@ router.post('/', authenticate, (req, res) => {
if (myitem === null) {
myitem = subscriptionModel;
tools.mylogshow('Subscription NOT EXISTED IN DB, so I use this created!', myitem)
}else
tools.mylogshow('Subscription already Existed!', myitem)
}
// else
// tools.mylogshow('Subscription already Existed!');
myitem.save((err, subscription) => {

View File

@@ -79,6 +79,7 @@ router.patch('/:id', authenticate, (req, res) => {
}
Todo.findByIdAndUpdate(id, { $set: body }, { new: true }).then((todo) => {
tools.mylogshow(' TODO TO MODIFY: ', todo.descr, todo.expiring_at);
if (!todo) {

View File

@@ -7,6 +7,7 @@ var fs = require('fs');
const port = process.env.PORT;
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
@@ -26,6 +27,7 @@ if ((process.env.NODE_ENV === 'production') || (process.env.NODE_ENV === 'test')
require('./models/todo');
require('./models/user');
require('./models/subscribers');
require('./models/cfgserver');
const index_router = require('./router/index_router');
@@ -34,6 +36,7 @@ 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');
const admin_router = require('./router/admin_router');
require('./db/mongoose');
@@ -45,6 +48,11 @@ var app = express();
const tools = require('./tools/general');
var mongoose = require('mongoose');
const cfgserver = mongoose.model('cfgserver');
const { ObjectID } = require('mongodb');
// app.use(express.static(path.join(__dirname, 'client')));
app.use(bodyParser.json());
@@ -76,6 +84,7 @@ app.use('/push', push_router);
app.use('/email', email_router);
app.use('/todos', todos_router);
app.use('/users', users_router);
app.use('/admin', admin_router);
// catch 404 and forward to error handler
// app.use(function (req, res, next) {
@@ -115,6 +124,31 @@ if (process.env.PROD !== 1) {
testmsgwebpush();
}
startserv();
function populateDBadmin() {
const cfgserv = [{
_id: new ObjectID(),
chiave: 'vers',
valore: '0.0.41'
}];
let cfg = new cfgserver(cfgserv[0]).save();
}
function startserv() {
// Check if is Empty (new Server Data)
cfgserver.count(function (err, count) {
if (!err && count === 0) {
populateDBadmin();
}
});
}
function testmsgwebpush() {
var { User } = require('./models/user');
// const tools = require('./tools/general');

View File

@@ -162,6 +162,7 @@ const populateTodos = (done) => {
};
const populateUsers = (done) => {
User.deleteMany({})