- Finished Booking an Event

- Starting UsersList (creating CGridTableRec component to view and edit a db table)
This commit is contained in:
Paolo Arena
2019-10-13 20:44:05 +02:00
parent cebe1208de
commit c5a19f2d70
7 changed files with 125 additions and 26 deletions

View File

@@ -3,10 +3,11 @@ const router = express.Router();
var {User} = require('../models/user');
router.get('/:email', (req, res) => {
router.get('/:email/:idapp', (req, res) => {
var email = req.params.email;
const idapp = req.params.idapp;
User.findByEmail(email).then((user) => {
User.findByEmail(idapp, email).then((user) => {
if (!user) {
return res.status(404).send();
}

View File

@@ -93,12 +93,21 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, (req, res) => {
// ++Todo: Add to Log Stat ....
if (req.user) {
// If User is Admin, then send user Lists
if (User.isAdmin(req.user)) {
// Send UsersList
return User.getUsersList(req.user.idapp).then(usersList => {
return res.send({ cfgServer: arrcfgrec, usersList });
})
}
}
res.send({ cfgServer: arrcfgrec });
}).catch((e) => {
console.log(e);
res.status(400).send();
res.send({ code: server_constants.RIS_CODE_ERR, msg: e });
res.status(400).send({ code: server_constants.RIS_CODE_ERR, msg: e });
});
});

View File

@@ -6,6 +6,7 @@ var { User } = require('../models/user');
var sendemail = require('../sendemail');
const tools = require('../tools/general');
const shared_consts = require('../tools/shared_nodejs');
var server_constants = require('../tools/server_constants');
@@ -37,14 +38,14 @@ router.post('/', (req, res) => {
// tools.mylog("LANG PASSATO = " + user.lang, "IDAPP", user.idapp);
user.linkreg = reg.getlinkregByEmail(body.email, body.username);
user.linkreg = reg.getlinkregByEmail(body.idapp, body.email, body.username);
user.verified_email = false;
if (tools.testing()) {
user.verified_email = true;
}
user.save().then(() => {
User.findByUsername(user.username)
User.findByUsername(user.idapp, user.username)
.then((usertrovato) => {
tools.mylog("TROVATO USERNAME ? ", user.username, usertrovato);
@@ -72,10 +73,11 @@ router.post('/', (req, res) => {
})
});
router.get('/:username', (req, res) => {
router.get('/:username/:idapp', (req, res) => {
var username = req.params.username;
const idapp = req.params.idapp;
User.findByUsername(username).then((user) => {
User.findByUsername(idapp, username).then((user) => {
if (!user) {
return res.status(404).send();
}
@@ -85,6 +87,31 @@ router.get('/:username', (req, res) => {
});
});
router.patch('/:id', authenticate, (req, res) => {
const id = req.params.id;
const body = _.pick(req.body.user, shared_consts.fieldsUserToChange());
tools.mylogshow('PATCH USER: ', id);
if (!User.isAdmin(req.user)) {
// If without permissions, exit
return res.status(404).send();
}
User.findByIdAndUpdate(id, { $set: body }).then((user) => {
tools.mylogshow(' USER TO MODIFY: ', user);
if (!user) {
return res.status(404).send();
} else {
res.send({ code: server_constants.RIS_CODE_OK, msg: '' });
}
}).catch((e) => {
tools.mylogserr('Error patch USER: ', e);
res.status(400).send();
})
});
router.post('/login', (req, res) => {
var body = _.pick(req.body, ['username', 'password', 'idapp', 'keyappid', 'lang']);
@@ -100,7 +127,7 @@ router.post('/login', (req, res) => {
let resalreadysent = false;
User.findByCredentials(user.username, user.password)
User.findByCredentials(user.idapp, user.username, user.password)
.then((user) => {
tools.mylog("CREDENZIALI ! ");
if (!user) {
@@ -119,6 +146,7 @@ router.post('/login', (req, res) => {
usertosend.email = user.email;
usertosend.userId = user._id.toHexString();
usertosend.verified_email = user.verified_email;
usertosend.idapp = user.idapp;
// tools.mylog("user.verified_email:" + user.verified_email);
tools.mylog("usertosend.userId", usertosend.userId);
@@ -171,4 +199,15 @@ router.delete('/me/token', authenticate, (req, res) => {
});
});
router.post('/setperm', authenticate, (req, res) => {
const body = _.pick(req.body, ['idapp', 'username', 'perm']);
tools.mylog("SETPERM = " + req.token);
User.setPermissionsById(res.user._id, body).then(() => {
res.status(200).send();
}, () => {
res.status(400).send();
});
});
module.exports = router;