import React from 'react'; import _ from 'lodash'; import { Users } from '/imports/collections/users/index'; const finishWithMessage = (res, message, redirect = "/") => { const output = `
YOUNGDESK

Congrats!

${message}

`; res.writeHead(200, { 'Content-Length': output.length, 'Content-Type': 'text/html', }); res.end(output); }; Picker.route('/back/verifyEmail/:token', function(params, req, res, next) { const user = Users.findOne({'services.email.verificationTokens.token': params.token}); if(!user) return finishWithMessage(res, 'Invalid or outdated token.'); const token = _.find(user.services.email.verificationTokens, x => x.token === params.token); if(new Date().getTime() - token.when.getTime() > 2 * 24 * 60 * 60 * 1000) return finishWithMessage(res, 'Invalid or outdated token.'); finishWithMessage(res, 'Email has been verified.',"/"); const idx = _.findIndex(user.emails, x => x.address === token.address); Users.update({_id: user._id}, {$set: { [`emails.${idx}.verified`]: true, }}); });