const mongoose = require('mongoose'); const Schema = mongoose.Schema; const libs = `${process.cwd()}/libs`; const log = require(`${libs}/log`)(module); const User = require(`${libs}/models/user`); const uuid = require('node-uuid'); let VerificationToken = new Schema({ userId: { type: Schema.Types.ObjectId, required: true, ref: 'User' }, token: { type: String, required: true }, verified: { type: Boolean, required: true, default: false }, createdAt: { type: Date, required: true, default: Date.now } }); VerificationToken.methods.createVerificationToken = function(done) { let verificationToken = this; let token = uuid.v4(); verificationToken.set('token', token); verificationToken.verified = false; verificationToken.save(function(err) { if (err) return done(err); return done(null, token); }) } module.exports = mongoose.model('VerificationToken', VerificationToken);