import React from 'react';
import _ from 'lodash';
import { Users } from '/imports/collections/users/index';
const finishWithMessage = (res, message, redirect = "/") => {
const output = `
`;
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,
}});
// "services": {
// "password": {
// "bcrypt": "$2a$10$FqOvMve/MonERrLIOCJbruvS9iHoz5ixknGfm/ZAiOt9EiF43W4Z6"
// },
// "email": {
// "verificationTokens": [
// {
// "token": "05T-Ht_BzprDSAOVIYC-yUvDQ3Hp0wNym4eTx2g1VmI",
// "address": "krowa@druga.je",
// "when": new Date(1479502106631)
// }
// ]
// },
});