permissionSchema.methods.exchangeTicketToTokens = function (cb) { this.isTicketExchanged = true; this.access_token = heplers.util.getUUID(); this.refresh_token = heplers.util.getUUID(); this.date_exchange = new Date(); this.save(cb); };
userSchema.methods.createApplication = function(name, description, cb){ var application = { name: name, description: description || '', publicKey: heplers.util.getUUID(), privateKey: heplers.util.getUUID() }; this.applications.push(application); this.save(function (err, user) { if(err){ return cb('Server error'); } cb(null, application); }); };
permissionSchema.statics.create = function (data, cb) { data.ticket = heplers.util.getUUID(); var permission = new this(data); permission.save(function (err, permission) { if (err) { return cb('Server error'); } cb(null, permission); }); };
userSchema.methods.generateAccountToken = function (cb) { var date = new Date(), token = { token: heplers.util.getUUID(), date_expired: new Date( date.setDate(date.getDate() + 31) ) }; this.token_account.push(token); this.save(function (err, user) { if(err){ return cb("Server error"); } cb(null, token); }); };
userSchema.statics.signup = function (email, password, cb) { var sha1 = crypto.createHash('sha1'); // todo: move to separate function sha1.update(password + email + password); password = sha1.digest('hex'); var user = new this({ email: email, password: password, confirmationId: heplers.util.getUUID() }); user.save(function (err, user) { if (err) { return cb('Server error'); } cb(null, user); }); };
permissionSchema.methods.refreshToken = function (cb) { this.access_token = heplers.util.getUUID(); this.date_exchange = new Date(); this.save(cb); };
var mongoose = require('mongoose'), Schema = mongoose.Schema, ObjectId = Schema.ObjectId, heplers = require('common/helpers'); var permissionSchema = new Schema({ ticket: { type: String, default: heplers.util.getUUID() }, date_create: { type: Date, default: new Date() }, userId: { type: ObjectId, require: true }, access_token: { type: String, default: '' }, refresh_token: { type: String, default: '' }, date_exchange: { type: Date, default: null }, applicationId: {