var jwt = require('jsonwebtoken');

let Auth = {}

const secretKey = '@TODO define secret constant its important!!!'

Auth.createToken = (userId) => {
	const signedData = {'id': userId, 'date':Date.now()}
	const token = jwt.sign(signedData, secretKey)
	return token
}
Auth.decodeToken = (token) => {
	return new Promise((resolve, reject) => {
		jwt.verify(token, secretKey, function(err, decoded){
			if(err || decoded.id == undefined){
				reject('Bad Token')
				return
			}
			//Pass back decoded token
			resolve(decoded)
			return
		});
	})
}

module.exports = Auth