fog-controller
Version:
Fog Controller project @ iotracks.com
128 lines (93 loc) • 5.15 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _userManager = require('../managers/userManager');
var _userManager2 = _interopRequireDefault(_userManager);
var _appUtils = require('../utils/appUtils');
var _appUtils2 = _interopRequireDefault(_appUtils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var userEmailSender = function userEmailSender(props, params, callback) {
var service = _appUtils2.default.getProperty(params, props.service),
email = _appUtils2.default.getProperty(params, props.email),
password = _appUtils2.default.getProperty(params, props.password);
var transporter = nodemailer.createTransport(smtpTransport({
service: service,
auth: {
user: email,
pass: password
}
}));
params.transporter = transporter;
callback(null, params);
};
var createUser = function createUser(props, params, callback) {
_userManager2.default.addUser(props.user).then(_appUtils2.default.onCreate.bind(null, params, props.setProperty, 'Unable to create user', callback));
};
var getUser = function getUser(props, params, callback) {
var userId = _appUtils2.default.getProperty(params, props.userId);
_userManager2.default.findByToken(userId).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'User not found', callback));
};
var getUserOptional = function getUserOptional(props, params, callback) {
var userId = _appUtils2.default.getProperty(params, props.userId);
_userManager2.default.findByToken(userId).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback));
};
var verifyEmailActivation = function verifyEmailActivation(props, params, callback) {
var emailActivated = _appUtils2.default.getProperty(params, props.emailActivated);
if (emailActivated > 0) {
callback(null, params);
} else {
callback('Error', 'Email is not activated. Please activate your account first.');
}
};
var getUserByEmailPassword = function getUserByEmailPassword(props, params, callback) {
var email = _appUtils2.default.getProperty(params, props.email),
password = _appUtils2.default.getProperty(params, props.password);
_userManager2.default.validateUser(email, password).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Error: Invalid login credentials.', callback));
};
var findUserByEmail = function findUserByEmail(props, params, callback) {
var email = _appUtils2.default.getProperty(params, props.email);
_userManager2.default.validateUserByEmail(email).then(_appUtils2.default.onFind.bind(null, params, props.setProperty, 'Error: Email not found.', callback));
};
var getUserByEmail = function getUserByEmail(props, params, callback) {
var email = _appUtils2.default.getProperty(params, props.email);
_userManager2.default.validateUserByEmail(email).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback));
};
var isUsingTempPassword = function isUsingTempPassword(props, params, callback) {
var email = _appUtils2.default.getProperty(params, props.email),
password = _appUtils2.default.getProperty(params, props.password);
_userManager2.default.isTempPassword(email, password).then(_appUtils2.default.onFindOptional.bind(null, params, props.setProperty, callback));
};
var updateUserByEmail = function updateUserByEmail(props, params, callback) {
var email = _appUtils2.default.getProperty(params, props.email);
_userManager2.default.updateUserByEmail(email, props.updateData).then(_appUtils2.default.onUpdate.bind(null, params, 'Password not updated', callback));
};
var updateUser = function updateUser(props, params, callback) {
var userId = _appUtils2.default.getProperty(params, props.userId);
_userManager2.default.updateUserById(userId, props.updatedObj).then(_appUtils2.default.onUpdate.bind(null, params, 'User not updated', callback));
};
var updateUserByToken = function updateUserByToken(props, params, callback) {
var token = _appUtils2.default.getProperty(params, props.token);
_userManager2.default.updateUserByToken(token, props.updateData).then(_appUtils2.default.onUpdate.bind(null, params, 'User data is not updated.', callback));
};
var deleteByUserId = function deleteByUserId(props, params, callback) {
var userId = _appUtils2.default.getProperty(params, props.userId);
_userManager2.default.deleteByUserId(userId).then(_appUtils2.default.onDelete.bind(null, params, 'Unable to delete User', callback));
};
exports.default = {
createUser: createUser,
getUser: getUser,
updateUser: updateUser,
getUserOptional: getUserOptional,
userEmailSender: userEmailSender,
deleteByUserId: deleteByUserId,
getUserByEmail: getUserByEmail,
updateUserByEmail: updateUserByEmail,
updateUserByToken: updateUserByToken,
getUserByEmailPassword: getUserByEmailPassword,
verifyEmailActivation: verifyEmailActivation,
isUsingTempPassword: isUsingTempPassword,
findUserByEmail: findUserByEmail
};