Skip to content
Snippets Groups Projects
verificationToken.js 1.01 KiB
Newer Older
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);