verifying email will cause websocket reconnect

This commit is contained in:
HF 2020-04-30 03:20:31 +02:00
parent 77375eca64
commit 2d48c55165
4 changed files with 10 additions and 4 deletions

View File

@ -190,7 +190,7 @@ class MailProvider {
mailVerified: true, mailVerified: true,
verificationReqAt: null, verificationReqAt: null,
}); });
return true; return reguser.name;
} }
static createCode() { static createCode() {

View File

@ -16,7 +16,7 @@ export default async (req: Request, res: Response) => {
return; return;
} }
const me = await getMe(req.user); const me = await getMe(user);
req.logout(); req.logout();
res.status(200); res.status(200);
res.json({ res.json({

View File

@ -5,15 +5,20 @@
import type { Request, Response } from 'express'; import type { Request, Response } from 'express';
import webSockets from '../../../socket/websockets';
import { getHtml } from '../../../components/RedirectionPage'; import { getHtml } from '../../../components/RedirectionPage';
import { getHostFromRequest } from '../../../utils/ip'; import { getHostFromRequest } from '../../../utils/ip';
import mailProvider from '../../../core/mail'; import mailProvider from '../../../core/mail';
export default async (req: Request, res: Response) => { export default async (req: Request, res: Response) => {
const { token } = req.query; const { token } = req.query;
const success = await mailProvider.verify(token); const name = await mailProvider.verify(token);
const host = getHostFromRequest(req); const host = getHostFromRequest(req);
if (success) { if (name) {
// notify websoecket to reconnect user
// thats a bit counter productive because it directly links to the websocket
webSockets.notifyChangedMe(name);
// ---
const index = getHtml('Mail verification', 'You are now verified :)', host); const index = getHtml('Mail verification', 'You are now verified :)', host);
res.status(200).send(index); res.status(200).send(index);
} else { } else {

View File

@ -191,6 +191,7 @@ class ProtocolClient extends EventEmitter {
case ChangedMe.OP_CODE: case ChangedMe.OP_CODE:
console.log('Websocket requested api/me reload'); console.log('Websocket requested api/me reload');
this.emit('changedMe'); this.emit('changedMe');
this.reconnect();
break; break;
default: default:
console.error(`Unknown op_code ${opcode} received`); console.error(`Unknown op_code ${opcode} received`);