UNPKG

ozserver

Version:

API for OZ

61 lines (46 loc) 1.47 kB
var Remember, Schema, exports, randomString, sha1, validate; randomString = require('random-string'); sha1 = require('sha1'); validate = require('validate'); Schema = require(global.home + '/script/views/validate/remember'); Remember = (function() { function Remember(model) { this.model = model; this.check(); this.validate(); } Remember.prototype.check = function() { return this.model.email = this.model.email.toString().trim().toLowerCase(); }; Remember.prototype.validate = function() { this.model.notice = validate(Schema, this.model); if (Array.isArray(this.model.notice)) { this.model.notice = this.model.notice[0].toString().replace('Error: ', ''); return this.model.success = false; } else { return this.model.success = true; } }; Remember.prototype.genPwd = function() { this.model.password = randomString({ length: 5 }).toLowerCase(); return this.model.key = sha1(this.model.password).toString(); }; Remember.prototype.success = function() { this.model.key = null; return this.model.password = null; }; Remember.prototype.emailExists = function() { this.model.success = false; return this.model.notice = 'Данный email-адрес не найден'; }; return Remember; })(); exports = module.exports = function(model) { if (model == null) { model = {}; } return new Remember(model); }; exports.Remember = Remember;