diff --git a/src/models/users.js b/src/models/users.js index be2f4f4..a78add1 100644 --- a/src/models/users.js +++ b/src/models/users.js @@ -1,5 +1,7 @@ import mongoose from 'mongoose' import bcrypt from 'bcrypt' +import config from '../../config' +import jwt from 'jsonwebtoken' const User = new mongoose.Schema({ type: { type: String, default: 'User' }, @@ -47,4 +49,10 @@ User.methods.validatePassword = function validatePassword(password) { }) } +User.methods.generateToken = function generateToken() { + const user = this + + return jwt.sign({ id: user.id }, config.token) +} + export default mongoose.model('user', User) diff --git a/src/modules/users/controller.js b/src/modules/users/controller.js index 86712a0..d0ed964 100644 --- a/src/modules/users/controller.js +++ b/src/modules/users/controller.js @@ -1,12 +1,10 @@ import User from '../../models/users' -import config from '../../../config' -import jwt from 'jsonwebtoken' export async function createUser(ctx) { const user = new User(ctx.request.body.user) try { await user.save() - const token = jwt.sign({ id: user.id }, config.token) + const token = user.generateToken() const response = user.toJSON()