UNPKG

fog-controller

Version:

Fog Controller project @ iotracks.com

128 lines (93 loc) 5.15 kB
'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 };