groups and reset

This commit is contained in:
2020-05-15 00:40:15 -04:00
parent e71fccd27c
commit 0889832efc
22 changed files with 1463 additions and 128 deletions

View File

@@ -2,7 +2,8 @@
const router = require('express').Router();
const {User} = require('../models/user');
const {Auth, AuthToken} = require('../models/auth');
const {Auth, AuthToken} = require('../models/auth');
const {PasswordResetToken} = require('../models/token');
router.post('/login', async function(req, res, next){
@@ -11,6 +12,7 @@ router.post('/login', async function(req, res, next){
return res.json({
login: true,
token: auth.token.token,
message:`${req.body.uid} logged in!`,
});
}catch(error){
next(error);
@@ -29,6 +31,36 @@ router.all('/logout', async function(req, res, next){
}
});
router.post('/resetpassword', async function(req, res, next){
try{
let sent = await User.passwordReset(`${req.protocol}://${req.hostname}`, req.body.mail);
console.info('resetpassword for', req.body.mail, sent)
return res.json({
message: 'If the emaill address is in our system, you will receive a message.'
});
}catch(error){
next(error);
}
});
router.post('/resetpassword/:token', async function(req, res, next){
try{
let token = await PasswordResetToken.get(req.params.token);
if(token.is_valid && 86400000+Number(token.created_on) > (new Date).getTime()){
let user = await User.get(token.created_by);
await user.setPassword(req.body);
return res.json({
message: 'Password has been changed.'
});
}
}catch(error){
next(error);
}
});
router.post('/invite/:token/:mailToken', async function(req, res, next) {
try{
req.body.token = req.params.token;