diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..d6182a5 --- /dev/null +++ b/.env.production @@ -0,0 +1,10 @@ +DATABASE =FreePlanet +TEST_ATTIVO=1 +PORT=3000 +URLBASE_APP1=http://freeplanet.app +PORT_APP1=80 +DOMAIN=mongodb://localhost:27017/ +SIGNCODE=abc123 +EMAIL_FROM=perseo774.un@gmail.com +EMAIL_PW=passpao1UNOK +SEND_EMAIL="0" diff --git a/ecosystem.config.js b/ecosystem.config.js new file mode 100644 index 0000000..4368c90 --- /dev/null +++ b/ecosystem.config.js @@ -0,0 +1,17 @@ +module.exports = { + apps : [ + { + name: "FreePlanetServerSide", + script: "./server/server.js", + watch: true, + env: { + "PORT": 3000, + "NODE_ENV": "development" + }, + env_production: { + "PORT": 8080, + "NODE_ENV": "production", + } + } + ] +} diff --git a/server/models/user.js b/server/models/user.js index 5606893..9145be2 100644 --- a/server/models/user.js +++ b/server/models/user.js @@ -1,4 +1,3 @@ - var bcrypt = require('bcrypt'); const mongoose = require('mongoose'); @@ -6,6 +5,8 @@ const validator = require('validator'); const jwt = require('jsonwebtoken'); const _ = require('lodash'); +// Resolving error Unknown modifier: $pushAll +mongoose.plugin(schema => { schema.options.usePushEach = true }); var UserSchema = new mongoose.Schema({ email: { @@ -14,10 +15,10 @@ var UserSchema = new mongoose.Schema({ trim: true, minlength: 1, unique: true, - validate: { + /*validate: { validator: validator.isEmail, message: '{VALUE} is not a valid email' - } + }*/ }, idapp: { type: Number, @@ -76,16 +77,20 @@ UserSchema.methods.generateAuthToken = function () { console.log("GENERA TOKEN : "); var user = this; var access = 'auth'; - var token = jwt.sign({_id: user._id.toHexString(), access}, process.env.SIGNCODE).toString(); + var token = jwt.sign({ _id: user._id.toHexString(), access }, process.env.SIGNCODE).toString(); // CANCELLA I PRECEDENTI ! user.tokens = []; - user.tokens.push({access, token}); + user.tokens.push({ access, token }); - return user.save().then(() => { - //console.log("TOKEN USCITA : " + token) - return token; - }); + return user.save() + .then(() => { + //console.log("TOKEN USCITA : " + token) + return token; + }) + .catch(err => { + console.log("Error", err.message); + }); }; UserSchema.statics.findByToken = function (token) { @@ -109,7 +114,7 @@ UserSchema.statics.findByCredentials = function (username, password) { var User = this; var pwd = ""; - return User.findOne({username: username}).then((user) => { + return User.findOne({ username: username }).then((user) => { if (!user) { return null; } @@ -131,7 +136,6 @@ UserSchema.statics.findByCredentials = function (username, password) { }; - UserSchema.statics.findByUsername = function (username) { var User = this; @@ -155,7 +159,7 @@ UserSchema.statics.findByLinkTokenforgot = function (idapp, email, tokenforgot) return User.findOne({ 'email': email, 'tokenforgot': tokenforgot, - 'date_tokenforgot': { $gte: new Date(ISODate().getTime() - 1000 * 60 * 60 * 4) } , // 4 ore fa! + 'date_tokenforgot': { $gte: new Date(ISODate().getTime() - 1000 * 60 * 60 * 4) }, // 4 ore fa! 'idapp': idapp, }); }; @@ -192,7 +196,7 @@ UserSchema.methods.removeToken = function (token) { return user.update({ $pull: { - tokens: {token} + tokens: { token } } }); }; @@ -213,6 +217,6 @@ class Hero { } -module.exports = {User, Hero}; +module.exports = { User, Hero }; diff --git a/server/server.js b/server/server.js index 652e63e..8fe7b77 100644 --- a/server/server.js +++ b/server/server.js @@ -11,12 +11,12 @@ console.log("PORT: " + process.env.PORT); console.log("MONGODB_URI: " + process.env.MONGODB_URI); const bodyParser = require('body-parser'); -const {ObjectID} = require('mongodb'); +const { ObjectID } = require('mongodb'); -var {mongoose} = require('./db/mongoose'); -var {Todo} = require('./models/todo'); -var {User} = require('./models/user'); -var {authenticate} = require('./middleware/authenticate'); +var { mongoose } = require('./db/mongoose'); +var { Todo } = require('./models/todo'); +var { User } = require('./models/user'); +var { authenticate } = require('./middleware/authenticate'); var sendemail = require('./sendemail'); var reg = require('./reg/registration'); @@ -69,7 +69,7 @@ app.post(process.env.LINKVERIF_REG, (req, res) => { user.verified_email = true; user.save().then(() => { //console.log("TROVATOOOOOO!"); - res.send({code: server_constants.RIS_CODE_EMAIL_VERIFIED, msg: res.__('Email Verificata!')}); + res.send({ code: server_constants.RIS_CODE_EMAIL_VERIFIED, msg: res.__('Email Verificata!') }); }); } } @@ -81,7 +81,6 @@ app.post(process.env.LINKVERIF_REG, (req, res) => { }); - // Faccio richiesta di una Nuova Password app.post(process.env.LINK_REQUEST_NEWPASSWORD, (req, res) => { var body = _.pick(req.body, ['idapp', 'email']); @@ -98,13 +97,13 @@ app.post(process.env.LINK_REQUEST_NEWPASSWORD, (req, res) => { user.date_tokenforgot = new Date(); user.save().then(() => { sendemail.sendEmail_RequestNewPassword(getlang(res), user.email, user.idapp, user.tokenforgot); - res.send({code: server_constants.RIS_CODE_OK, msg: ''}); + res.send({ code: server_constants.RIS_CODE_OK, msg: '' }); }); } }).catch((e) => { console.log(e); res.status(400).send(); - res.send({code: server_constants.RIS_CODE_ERR, msg: e}); + res.send({ code: server_constants.RIS_CODE_ERR, msg: e }); }); }); @@ -127,14 +126,14 @@ app.post(process.env.LINK_UPDATE_PASSWORD, (req, res) => { user.password = password; // Crea token - token = user.generateAuthToken(); + user.generateAuthToken().then(token => { + user.tokenforgot = ''; // Svuota il tokenforgot perché non ti servirà più... - user.tokenforgot = ''; // Svuota il tokenforgot perché non ti servirà più... - - // Salva lo User - user.save().then(() => { - res.header('x-auth', token).send(user); // Ritorna il token di ritorno - }); + // Salva lo User + user.save().then(() => { + res.header('x-auth', token).send(user); // Ritorna il token di ritorno + }); + }) } }).catch((e) => { console.log(e); @@ -220,7 +219,7 @@ app.post('/users/login', (req, res) => { console.log("user: " + user.username + " pwd = " + user.password); if (body.keyappid !== process.env.KEY_APP_ID) - // Se non faccio la richesa con la IDAPP giusta, allora esco! + // Se non faccio la richesa con la IDAPP giusta, allora esco! return res.status(400).send(); @@ -229,7 +228,7 @@ app.post('/users/login', (req, res) => { console.log("CREDENZIALI ! "); if (!user) { console.log("NOT FOUND !"); - res.status(404).send({code: server_constants.RIS_CODE_LOGIN_ERR}); + res.status(404).send({ code: server_constants.RIS_CODE_LOGIN_ERR }); } else { return user.generateAuthToken().then((token) => { var usertosend = User(); @@ -246,8 +245,8 @@ app.post('/users/login', (req, res) => { }); } }).catch((e) => { - console.log("ERR: " + e); - res.status(400).send({code: server_constants.RIS_CODE_LOGIN_ERR_GENERIC}); + console.log("ERR: " + e); + res.status(400).send({ code: server_constants.RIS_CODE_LOGIN_ERR_GENERIC }); }); }); @@ -264,7 +263,7 @@ app.listen(port, () => { console.log(`Server started at port ${port}`); }); -module.exports = {app}; +module.exports = { app }; if (process.env.TEST_ATTIVO) { eseguitest(); @@ -272,7 +271,7 @@ if (process.env.TEST_ATTIVO) { function eseguitest() { - if (true){ + if (true) { console.log("ESEGUI I TEST:"); console.log("linkreg = " + sendemail.getlinkReg(1, "myusername")); }