Files
freeplanet_serverside/src/server/router/dashboard_router.js

183 lines
5.0 KiB
JavaScript
Raw Normal View History

2019-12-31 00:44:53 +01:00
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 { MsgTemplate } = require('../models/msg_template');
2020-03-21 10:28:26 +01:00
const mongoose = require('mongoose').set('debug', false)
2019-12-31 00:44:53 +01:00
const Subscription = mongoose.model('subscribers');
const telegrambot = require('../telegram/telegrambot');
2019-12-31 00:44:53 +01:00
const _ = require('lodash');
const { ObjectID } = require('mongodb');
router.post('/', authenticate, async (req, res) => {
2020-05-04 19:34:41 +02:00
try {
const idapp = req.body.idapp;
let username = req.body.username;
2019-12-31 00:44:53 +01:00
2020-05-04 19:34:41 +02:00
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm)) && (username) !== req.user.username) {
// If without permissions, exit
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
}
let aportador_solidario = req.user.aportador_solidario;
let aportador_solidario_nome_completo = req.user.aportador_solidario_nome_completo;
if (username) {
aportador_solidario = await User.getAportadorSolidarioByUsername(idapp, username);
aportador_solidario_nome_completo = await User.getNameSurnameByUsername(idapp, username);
} else {
username = req.user.username;
}
const dashboard = await User.getDashboard(idapp, aportador_solidario, username, aportador_solidario_nome_completo);
if (dashboard)
res.send({ dashboard });
else
res.status(400).send(e);
} catch (e) {
2019-12-31 00:44:53 +01:00
res.status(400).send(e);
2020-05-04 19:34:41 +02:00
}
2019-12-31 00:44:53 +01:00
});
router.post('/downline', authenticate, async (req, res) => {
try {
const idapp = req.body.idapp;
let username = req.body.username;
if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm)) && (username) !== req.user.username) {
// If without permissions, exit
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
}
let aportador_solidario = req.user.aportador_solidario;
let aportador_solidario_nome_completo = req.user.aportador_solidario_nome_completo;
if (username) {
aportador_solidario = await User.getAportadorSolidarioByUsername(idapp, username);
aportador_solidario_nome_completo = await User.getNameSurnameByUsername(idapp, username);
} else {
username = req.user.username;
}
const downline = await User.getDownline(idapp, aportador_solidario, username, aportador_solidario_nome_completo);
if (downline)
res.send({ downline });
else
res.status(400).send(e);
} catch (e) {
res.status(400).send(e);
}
});
router.post('/msgnave', authenticate, async (req, res) => {
const idapp = req.body.idapp;
let mydata = req.body;
2020-03-25 09:25:31 +01:00
try {
let ris = null;
2020-04-07 14:34:29 +02:00
if (mydata.tipomsg === tools.TipoMsg.SEND_MSG_SINGOLO) {
let mymsg = '';
if (!!mydata.username_mitt) {
mymsg = '[' + tools.getres__('MSG_SEND_FROM', res) + ' ' + mydata.username_mitt + ' a ' + mydata.username + ']:' + tools.ACAPO;
2020-04-07 14:34:29 +02:00
}
mymsg += mydata.msgpar1;
// ris = await telegrambot.sendMsgTelegram(idapp, mydata.username, mymsg, true, mydata.username_mitt); // Anche a STAFF
ris = await telegrambot.sendMsgTelegram(idapp, mydata.username, mymsg, true); // Anche a STAFF
2020-04-07 14:34:29 +02:00
} else
2020-07-02 22:00:58 +02:00
ris = await telegrambot.sendMsgTelegramToNave(idapp, mydata, res);
2020-03-25 09:25:31 +01:00
if (ris)
res.send({ code: server_constants.RIS_CODE_OK, ris });
else
res.send({ code: server_constants.RIS_CODE_ERR, ris: null });
2020-04-07 14:34:29 +02:00
} catch (e) {
2020-03-21 10:28:26 +01:00
res.status(400).send(e);
2020-03-25 09:25:31 +01:00
}
});
router.post('/msgflotta', authenticate, async (req, res) => {
const idapp = req.body.idapp;
let mydata = req.body;
try {
let ris = null;
2020-07-02 22:00:58 +02:00
ris = await telegrambot.sendMsgTelegramToNave(idapp, mydata, res);
if (ris)
res.send({ code: server_constants.RIS_CODE_OK, ris });
else
res.send({ code: server_constants.RIS_CODE_ERR, ris: null });
} catch (e) {
res.status(400).send(e);
}
});
router.post('/getmsg_templates', authenticate, async (req, res) => {
const idapp = req.body.idapp;
let ris = await MsgTemplate.findAllIdApp(idapp);
if (!!ris)
res.send({ code: server_constants.RIS_CODE_OK, ris });
else
res.status(400).send(e);
});
router.post('/getflotte', authenticate, async (req, res) => {
const idapp = req.body.idapp;
let arrflotte = await Flotta.findAllIdApp(idapp);
if (!!arrflotte)
res.send({ code: server_constants.RIS_CODE_OK, arrflotte });
else
res.status(400).send(e);
});
2020-03-21 10:28:26 +01:00
2020-03-31 20:34:24 +02:00
router.post('/getdata', authenticate, async (req, res) => {
const idapp = req.body.idapp;
const data = req.body.data;
try {
const mystr = await Nave.getNavePos(idapp, parseInt(data.riga), parseInt(data.col));
if (mystr)
res.send({ code: server_constants.RIS_CODE_OK, ris: mystr });
else
res.status(400).send(e);
} catch (e) {
2020-05-04 19:34:41 +02:00
console.log(e.message)
2020-03-31 20:34:24 +02:00
}
});
2020-03-21 10:28:26 +01:00
2019-12-31 00:44:53 +01:00
module.exports = router;