diff --git a/emails/registration/it/html.pug b/emails/registration/it/html.pug
index d7b1cbe..7ce2789 100644
--- a/emails/registration/it/html.pug
+++ b/emails/registration/it/html.pug
@@ -2,8 +2,8 @@ p Benvenuto #{name} nel portale di #{nomeapp}!
p I tuoi dati di accesso da ricordare sono:
span Username:
strong #{username}
-span hai dimenticato la Password? :
- strong Trovala qui
+span Password : (** non mostrata per privacy **)
+
span Email:
strong #{emailto}
p Per confermare la registrazione clicca sul bottone:
diff --git a/package.json b/package.json
index 0f96736..6ac51ff 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
"name": "freeplanet-serverside",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "freeplanet serverside",
- "main": "server.js",
+ "main": "server/server.js",
"scripts": {
"start": "nodemon src/server/server.js",
"build": "gulp build",
@@ -12,7 +12,7 @@
"test-watch": "nodemon --exec 'npm test'"
},
"engines": {
- "node": "^8.9.0"
+ "node": "^12.14.0"
},
"author": "Paolo Arena",
"license": "MIT",
diff --git a/src/server/config/config.js b/src/server/config/config.js
index 01fddcd..c9cc0d8 100644
--- a/src/server/config/config.js
+++ b/src/server/config/config.js
@@ -130,12 +130,12 @@ if (process.env.NODE_ENV === 'production') {
},
{
idapp: '7',
- name: 'Notevole',
- adminemail: '',
+ name: 'Notevole (Server Test)',
+ adminemail: 'pao.loarena77@gmail.com',
manageremail: '',
- host: 'https://notevole.freeplanet.app',
+ host: 'https://testnotevole.freeplanet.app',
portapp: '0',
- dir: '/var/www/notevole.freeplanet.app',
+ dir: '/var/www/testnotevole.freeplanet.app',
},
];
} else {
diff --git a/src/server/models/mypage.js b/src/server/models/mypage.js
index b48be10..a1b98f1 100644
--- a/src/server/models/mypage.js
+++ b/src/server/models/mypage.js
@@ -19,13 +19,20 @@ const MyPageSchema = new Schema({
author_username: {
type: String,
},
+ lang: {
+ type: String,
+ },
title: {
type: String,
},
- path: {
+ icon: {
type: String,
},
- icon: {
+ order: {
+ type: Number,
+ default: 1000,
+ },
+ path: {
type: String,
},
keywords: {
diff --git a/src/server/models/user.js b/src/server/models/user.js
index 3df2225..6bc9ca4 100644
--- a/src/server/models/user.js
+++ b/src/server/models/user.js
@@ -69,6 +69,9 @@ var UserSchema = new mongoose.Schema({
verified_email: {
type: Boolean,
},
+ made_gift: {
+ type: Boolean,
+ },
tokens: [{
access: {
type: String,
@@ -127,6 +130,9 @@ var UserSchema = new mongoose.Schema({
cell: {
type: String
},
+ country_pay: {
+ type: String
+ },
email_paypal: {
type: String
},
@@ -155,7 +161,7 @@ UserSchema.methods.generateAuthToken = function (req) {
var user = this;
const useragent = req.get('User-Agent');
- tools.mylog("GENERATE USER-AGENT = ", useragent);
+ // tools.mylog("GENERATE USER-AGENT = ", useragent);
const access = 'auth';
const browser = useragent;
@@ -172,7 +178,7 @@ UserSchema.methods.generateAuthToken = function (req) {
return user.save()
.then(() => {
- console.log("TOKEN CREATO IN LOGIN : " + token);
+ // console.log("TOKEN CREATO IN LOGIN : " + token);
return token;
})
.catch(err => {
@@ -283,6 +289,51 @@ UserSchema.statics.findByUsername = function (idapp, username) {
});
};
+UserSchema.statics.getUserShortDataByUsername = function (idapp, username) {
+ const User = this;
+
+ return User.findOne({
+ 'idapp': idapp,
+ 'username': username,
+ }, {
+ username: 1,
+ name: 1,
+ surname: 1,
+ verified_email: 1,
+ made_gift: 1,
+ email: 1,
+ date_reg: 1,
+ img: 1
+ }).then((ris) => {
+ if (!!ris) {
+ // console.log('ris', ris);
+ if (!!ris._doc)
+ return ris._doc;
+ else
+ return null;
+ }
+ });
+};
+
+UserSchema.statics.getDownlineByUsername = function (idapp, username) {
+ const User = this;
+ return User.find({
+ 'idapp': idapp,
+ 'aportador_solidario': username,
+ }, {
+ username: 1,
+ name: 1,
+ surname: 1,
+ verified_email: 1,
+ made_gift: 11,
+ email: 1,
+ date_reg: 1,
+ img: 1
+ }, (err, arrrec) => {
+ return arrrec
+ });
+};
+
UserSchema.statics.findByLinkreg = function (idapp, linkreg) {
var User = this;
@@ -362,6 +413,7 @@ UserSchema.statics.getUsersList = function (idapp) {
name: 1,
surname: 1,
verified_email: 1,
+ made_gift: 1,
perm: 1,
email: 1,
date_reg: 1,
@@ -381,7 +433,19 @@ UserSchema.statics.getUsersListByParams = function (params) {
return User.find(
{ $match: filterMatchBefore },
{ 'idapp': idapp },
- { username: 1, name: 1, surname: 1, verified_email: 1, perm: 1, email: 1, date_reg: 1, img: 1, lasttimeonline: 1, news_on: 1 })
+ {
+ username: 1,
+ name: 1,
+ surname: 1,
+ verified_email: 1,
+ made_gift: 1,
+ perm: 1,
+ email: 1,
+ date_reg: 1,
+ img: 1,
+ lasttimeonline: 1,
+ news_on: 1
+ })
};
@@ -410,7 +474,6 @@ if (tools.INITDB_FIRSTIME) {
const User = mongoose.model('User', UserSchema);
-
class Hero {
constructor(name, level) {
this.name = name;
diff --git a/src/server/router/dashboard_router.js b/src/server/router/dashboard_router.js
new file mode 100644
index 0000000..4e7f28d
--- /dev/null
+++ b/src/server/router/dashboard_router.js
@@ -0,0 +1,52 @@
+const express = require('express');
+const router = express.Router();
+
+const tools = require('../tools/general');
+
+const server_constants = require('../tools/server_constants');
+
+const { authenticate } = require('../middleware/authenticate');
+
+const { User } = require('../models/user');
+
+const mongoose = require('mongoose');
+const Subscription = mongoose.model('subscribers');
+
+const _ = require('lodash');
+
+const { ObjectID } = require('mongodb');
+
+
+router.post('/', authenticate, async (req, res) => {
+ const idapp = req.body.idapp;
+
+ try {
+ const aportador_solidario = req.user.aportador_solidario;
+
+ // DATA: username, name, surname, email, intcode_cell, cell
+ const dashboard = {
+ aportador: {},
+ downline: []
+ };
+
+ // Data of my Aportador
+ dashboard.aportador = await User.getUserShortDataByUsername(idapp, aportador_solidario);
+
+ // Data of my Downline
+ dashboard.downline = await User.getDownlineByUsername(idapp, req.user.username);
+
+ for (let index = 0; index < dashboard.downline.length; ++index) {
+ dashboard.downline[index].downline = await User.getDownlineByUsername(idapp, dashboard.downline[index].username);
+ }
+
+ // Extract all the todos of the userId only
+ // tools.mylog('dashboard', dashboard);
+ res.send({ dashboard });
+ } catch (e) {
+ console.error(e);
+ res.status(400).send(e);
+ }
+
+});
+
+module.exports = router;
diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js
index 07710f8..926e6c4 100644
--- a/src/server/router/index_router.js
+++ b/src/server/router/index_router.js
@@ -244,7 +244,7 @@ router.patch('/chval', authenticate, (req, res) => {
const mytable = getTableByTableName(mydata.table);
const fieldsvalue = mydata.fieldsvalue;
- tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue);
+ // tools.mylogshow('PATCH CHVAL: ', id, fieldsvalue);
// If I change my record...
if ((!User.isAdmin(req.user) && !User.isManager(req.user)) && !(req.user._id.toString() === id)) {
@@ -253,7 +253,7 @@ router.patch('/chval', authenticate, (req, res) => {
}
mytable.findByIdAndUpdate(id, { $set: fieldsvalue }).then((rec) => {
- tools.mylogshow(' REC TO MODIFY: ', rec);
+ // tools.mylogshow(' REC TO MODIFY: ', rec);
if (!rec) {
return res.status(404).send();
} else {
diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js
index b9464a3..d718842 100644
--- a/src/server/router/users_router.js
+++ b/src/server/router/users_router.js
@@ -33,7 +33,7 @@ function existSubScribe(userId, access, browser) {
// POST /users
router.post('/', async (req, res) => {
tools.mylog("POST /users");
- const body = _.pick(req.body, ['email', 'password', 'username', 'name', 'surname', 'idapp', 'keyappid', 'lang', 'profile']);
+ const body = _.pick(req.body, ['email', 'password', 'username', 'name', 'surname', 'idapp', 'keyappid', 'lang', 'profile', 'aportador_solidario']);
const user = new User(body);
// tools.mylog("LANG PASSATO = " + user.lang, "IDAPP", user.idapp);
@@ -77,7 +77,7 @@ router.post('/', async (req, res) => {
User.findByUsername(user.idapp, user.username)
.then((usertrovato) => {
- tools.mylog("TROVATO USERNAME ? ", user.username, usertrovato);
+ // tools.mylog("TROVATO USERNAME ? ", user.username, usertrovato);
if (usertrovato !== null) {
return user.generateAuthToken(req);
} else {
diff --git a/src/server/sendemail.js b/src/server/sendemail.js
index fa8d335..ed597e4 100644
--- a/src/server/sendemail.js
+++ b/src/server/sendemail.js
@@ -57,6 +57,10 @@ module.exports = {
paramemail.send = !previewonly;
}
+ // if (!transport) {
+ // transport = this.getTransport();
+ // }
+
if (transport) {
paramemail.transport = transport;
} else {
@@ -432,7 +436,7 @@ module.exports = {
// Create Transport
let smtpTransport = null;
- if (mylocalsconf.dataemail.email_service !== 'gmail') {
+ if (mylocalsconf.dataemail.email_service !== 'gmail' && mylocalsconf.dataemail.email_service !== undefined) {
smtpTransport = nodemailer.createTransport({
host: mylocalsconf.dataemail.email_service,
port: mylocalsconf.dataemail.email_port,
diff --git a/src/server/server.js b/src/server/server.js
index 521b963..468c5f0 100644
--- a/src/server/server.js
+++ b/src/server/server.js
@@ -47,6 +47,7 @@ const index_router = require('./router/index_router');
const push_router = require('./router/push_router');
const newsletter_router = require('./router/newsletter_router');
const booking_router = require('./router/booking_router');
+const dashboard_router = require('./router/dashboard_router');
const myevent_router = require('./router/myevent_router');
const subscribe_router = require('./router/subscribe_router');
const sendmsg_router = require('./router/sendmsg_router');
@@ -106,6 +107,7 @@ app.use('/sendmsg', sendmsg_router);
app.use('/push', push_router);
app.use('/news', newsletter_router);
app.use('/booking', booking_router);
+app.use('/dashboard', dashboard_router);
app.use('/event', myevent_router);
app.use('/email', email_router);
app.use('/todos', todos_router);
diff --git a/src/server/tools/general.js b/src/server/tools/general.js
index e7d2cc5..2370b12 100644
--- a/src/server/tools/general.js
+++ b/src/server/tools/general.js
@@ -458,7 +458,7 @@ module.exports = {
}
);
- console.log('query', query);
+ // console.log('query', query);
return query;
diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js
index 9478fdb..73bb5e0 100644
--- a/src/server/tools/shared_nodejs.js
+++ b/src/server/tools/shared_nodejs.js
@@ -12,7 +12,7 @@ module.exports = {
},
fieldsUserToChange() {
- return ['_id', 'username', 'email', 'name', 'surname', 'perm', 'date_reg', 'verified_email', 'ipaddr', 'lasttimeonline', 'profile', 'news_on', 'aportador_solidario']
+ return ['_id', 'username', 'email', 'name', 'surname', 'perm', 'date_reg', 'verified_email', 'ipaddr', 'lasttimeonline', 'profile', 'news_on', 'aportador_solidario', 'made_gift']
}
};