UNPKG

ozserver

Version:

API for OZ

73 lines (59 loc) 2.26 kB
var EventEmitter, Remember, User, colors, exports, jade, mailer, mongoose, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; mongoose = require('mongoose'); colors = require('colors'); jade = require('jade'); EventEmitter = require('events').EventEmitter; mailer = require(global.home + '/script/controllers/mailer'); User = mongoose.model('User', require(global.home + '/script/views/db/user')); Remember = (function(_super) { __extends(Remember, _super); function Remember(req, res) { var _this = this; this.req = req; this.res = res; this.on('send', function() { return _this.res.jsonp(_this.mdl.model); }); this.on('success', function() { _this.mail(); _this.mdl.success(); return _this.emit('send'); }); this.on('check', function() { var model, _ref; model = ((_ref = _this.req.query) != null ? _ref.model : void 0) != null ? JSON.parse(_this.req.query.model) : {}; _this.mdl = require(global.home + '/script/models/remember/remember')(model); if (_this.mdl.model.success === true) { return User.findOne({ email: _this.mdl.model.email }, function(err, user) { if (user == null) { _this.mdl.emailExists(); return _this.emit('send'); } else { _this.mdl.genPwd(); user.key = _this.mdl.model.key; user.save(); return _this.emit('success'); } }); } else { return _this.emit('send'); } }); } Remember.prototype.mail = function() { var html; html = jade.renderFile(global.home + '/view/mail/remember.jade', { password: this.mdl.model.password }); return mailer.send(this.mdl.model.email, 'Общий Заказ - смена пароля', html); }; return Remember; })(EventEmitter); exports = module.exports = function(req, res) { return new Remember(req, res); }; exports.Remember = Remember;