Built motion from commit b5b971d.|0.0.97
[motion.git] / server / api / user / user.controller.js
index 3e2e864..36fdcd5 100644 (file)
@@ -1,447 +1 @@
-'use strict';
-
-var User = require('../../models').User;
-var Module = require('../../models').Module;
-var config = require('../../config/environment');
-
-var passport = require('passport');
-var moment = require('moment');
-var jwt = require('jsonwebtoken');
-var uploadFile = require('upload-file');
-var path = require('path');
-var fs = require('fs');
-var _ = require('lodash');
-var util = require('util');
-var sr = require('simple-random');
-
-/**
- * Get list of admin/user
- */
-exports.index = function(req, res, next) {
-
-  var attributes = ['fullname', 'name', 'email', 'role'];
-  var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
-  var page = req.query.page ? parseInt(req.query.page, 10) : 0;
-
-  var query = {
-    where: {
-      role: ['admin', 'user']
-    },
-    limit: per_page,
-    offset: page * per_page
-  };
-
-  _.forIn(req.query, function(value, key) {
-    switch (key) {
-      case 'per_page':
-      case 'page':
-        break;
-      case 'sort_by':
-        query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
-        break;
-      case 'sort_order':
-        break;
-      case '$':
-        query.where.$or = [];
-        attributes.forEach(function(attribute) {
-          var tmp = {};
-          tmp[attribute] = {
-            $like: '%' + value + '%'
-          };
-
-          query.where.$or.push(tmp);
-        });
-        break;
-      default:
-        query.where[key] = {
-          $like: {}
-        };
-        query.where[key].$like = '%' + value + '%';
-    }
-  });
-
-  User
-    .findAndCountAll(query)
-    .then(function(result) {
-
-      var total_pages = Math.ceil(result.count / per_page);
-      var next_page = total_pages > (query.offset + 1) ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page + 1) : null;
-      var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
-
-      return res.status(200).send({
-        count: result.count,
-        rows: result.rows,
-        next_page: next_page,
-        previous_page: previous_page,
-        total_pages: total_pages
-      });
-
-    })
-    .catch(function(err) {
-      return res.status(500).send({
-        error: 'Something blew up!'
-      });
-    });
-
-};
-
-/**
- * Get list of admin/user/agent
- */
-exports.getUsers = function(req, res, next) {
-  User
-    .findAll({
-      where: {
-        role: {
-          $in: ['admin', 'user', 'agent']
-        }
-      }
-    })
-    .then(function(users) {
-      return res.status(200).send(users);
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-/**
- * Creates a new user
- */
-exports.create = function(req, res, next) {
-
-  var body = req.body;
-  _(body).keys().sort().each(function(key) {
-    var value = body[key];
-  });
-
-  var newUser = User.build(req.body);
-  newUser.provider = 'local';
-  newUser
-    .save()
-    .then(function(user) {
-      var token = jwt.sign({
-        id: user.id
-      }, config.session.secret, {
-        expiresIn: "5h"
-      });
-      return res.status(201).send({
-        token: token
-      });
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-/**
- * Get a single user
- */
-exports.show = function(req, res, next) {
-
-  User
-    .findById(req.params.id)
-    .then(function(user) {
-      if (user) {
-        return res.status(200).send(user);
-      } else {
-        return res.sendStatus(404);
-      }
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-/**
- * Deletes a user
- */
-exports.destroy = function(req, res, next) {
-  var userId = req.params.id;
-  // console.log(req.params);
-  // console.log(req.body);
-
-  User
-    .findById(userId)
-    .then(function(user) {
-      if (user) {
-        user
-          .destroy()
-          .then(function(user) {
-            console.log(user);
-            return res.status(200).send(user);
-          })
-          .catch(function(err) {
-            return handleError(res, err);
-          });
-      } else {
-        return res.sendStatus(404);
-      }
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-/**
- * Change a user password
- */
-exports.changePassword = function(req, res, next) {
-  var userId = req.user.id;
-  var oldPass = String(req.body.oldPassword);
-  var newPass = String(req.body.newPassword);
-  User
-    .findById(userId)
-    .then(function(user) {
-      if (user.authenticate(oldPass)) {
-        user.password = newPass;
-        user.save()
-          .then(function() {
-            return res.status(200).send(user);
-          })
-          .catch(function(err) {
-            return handleError(res, err);
-          });
-      } else {
-        return res.sendStatus(403);
-      }
-    });
-};
-
-/**
- * Change a user password by admin
- */
-exports.resetPassword = function(req, res, next) {
-  var newPass = String(req.body.newPassword);
-  User
-    .findById(req.params.id)
-    .then(function(user) {
-      user.password = newPass;
-      user.save()
-        .then(function() {
-          return res.status(200).send(user);
-        })
-        .catch(function(err) {
-          return handleError(res, err);
-        });
-    });
-};
-
-/**
- * Change the avatar of the user
- */
-exports.changeAvatar = function(req, res, next) {
-
-  var upload = new uploadFile({
-    dest: path.join(config.root, 'server', 'files', 'images'),
-    maxNumberOfFiles: 1,
-    minNumberOfFiles: 0,
-    acceptFileTypes: /(\.|\/)(jpeg|png)$/i,
-    rename: function(name, file) {
-      return sr() + path.extname(file.filename);
-      // return 'avatar' + req.params.id + path.extname(file.filename);
-    },
-    messages: {
-      maxNumberOfFiles: "Max number of files upload exceeded",
-      acceptFileTypes: "Only jpeg and png format accepted",
-      // maxFileSize: "The maximum file size is 5 Mb",
-      invalidRequest: "Invalid request"
-    }
-  });
-
-  upload.on('end', function(fields, files) {
-    if (!files.file.filename) {
-      return res.status(500).send(upload);
-    } else {
-      User
-        .findById(req.params.id)
-        .then(function(user) {
-          if (user) {
-            user.updateAttributes({
-                userpic: files.file.filename
-              })
-              .then(function() {
-                return res.status(200).send(user);
-              })
-              .catch(function(err) {
-                return handleError(res, err);
-              });
-          } else {
-            return res.sendStatus(404);
-          }
-        })
-        .catch(function(err) {
-          return handleError(res, err);
-        });
-    }
-  });
-
-  upload.on('error', function(err) {
-    console.log('********** Upload error :', err)
-    return handleError(res, err);
-  });
-
-  upload.parse(req);
-};
-
-
-/**
- * Get my info
- */
-exports.me = function(req, res, next) {
-  var userId = req.user.id;
-
-  User
-    .findOne({
-      where: {
-        id: userId
-      },
-      attributes: ['id', 'fullname', 'name', 'email', 'role', 'userpic'],
-      include: [Module]
-    })
-    .then(function(user) {
-      if (!user) {
-        return res.sendStatus(401);
-      }
-      return res.status(200).send(user);
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-/**
- * Update my user
- */
-exports.update = function(req, res, next) {
-  var userId = req.user.id;
-
-  User
-    .findById(req.params.id)
-    .then(function(user) {
-      if (user) {
-        user
-          .updateAttributes(req.body)
-          .then(function(user) {
-            return res.status(200).send(user);
-          })
-          .catch(function(err) {
-            return handleError(res, err);
-          });
-      } else {
-        return res.sendStatus(500);
-      }
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-/**
- * Get my avatar
- */
-exports.getAvatar = function(req, res, next) {
-  // var userId = req.params.id;
-
-  var imgPath = path.join(config.root, 'server', 'files', 'images', req.params.filename);
-
-  fs.exists(imgPath, function(exists) {
-    if (!exists) {
-      imgPath = path.join(config.root, 'server', 'files', 'images', 'userpic.png');
-    }
-
-    return res.sendFile(imgPath);
-  });
-};
-
-/**
- * Get my avatar by id
- */
-exports.getAvatarById = function(req, res, next) {
-
-  // console.log('getAvatarById');
-  // console.log(req.params);
-
-  if (req.params.id === 'visitor') {
-    var imgPath = path.join(config.root, 'server', 'files', 'images', 'customer.png');
-
-    fs.exists(imgPath, function(exists) {
-      return res.sendFile(imgPath);
-    });
-
-  } else {
-    User
-      .findById(req.params.id)
-      .then(function(user) {
-        if (user) {
-          var imgPath = path.join(config.root, 'server', 'files', 'images', user.userpic ? user.userpic : 'userpic.png');
-
-          fs.exists(imgPath, function(exists) {
-            if (!exists) {
-              imgPath = path.join(config.root, 'server', 'files', 'images', 'userpic.png');
-            }
-
-            return res.sendFile(imgPath);
-          });
-        } else {
-          return res.sendStatus(500);
-        }
-      })
-      .catch(function(err) {
-        return handleError(res, err);
-      });
-  }
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
-  User
-    .destroy({
-      where: {
-        id: req.query.id
-      },
-      individualHooks: true
-    })
-    .then(function() {
-      return res.sendStatus(204);
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-exports.userValidation = function(req, res) {
-  var where = {};
-  where[req.params.field] = req.body.value;
-  User
-    .findAndCountAll({
-      where: where
-    })
-    .then(function(result) {
-      if (result.count) {
-        return res.status(200).send({
-          isValid: false,
-          value: req.body.value
-        });
-      }
-      return res.status(200).send({
-        isValid: true,
-        value: req.body.value
-      });
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-
-};
-
-/**
- * Authentication callback
- */
-exports.authCallback = function(req, res, next) {
-  res.redirect('/');
-};
-
-function handleError(res, err) {
-  return res.status(500).send(err);
-}
+var _0x8eea=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x55\x73\x65\x72","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x6F\x64\x75\x6C\x65","\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65","\x43\x68\x61\x74\x51\x75\x65\x75\x65","\x4D\x61\x69\x6C\x51\x75\x65\x75\x65","\x46\x61\x78\x51\x75\x65\x75\x65","\x53\x6D\x73\x51\x75\x65\x75\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x70\x61\x73\x73\x70\x6F\x72\x74","\x6D\x6F\x6D\x65\x6E\x74","\x6A\x73\x6F\x6E\x77\x65\x62\x74\x6F\x6B\x65\x6E","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x70\x61\x74\x68","\x66\x73","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x75\x73\x65\x72","\x73\x63\x6F\x70\x65","\x67\x65\x74\x55\x73\x65\x72\x73","\x66\x69\x6E\x64\x41\x6C\x6C","\x67\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x4D\x6F\x64\x75\x6C\x65\x73","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x67\x65\x74\x4D\x6F\x64\x75\x6C\x65\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x72\x6F\x6C\x65","\x62\x6F\x64\x79","\x68\x61\x6E\x64\x6C\x65\x55\x6E\x69\x71\x75\x65\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x65\x72\x72\x6F\x72\x4D\x61\x6E\x61\x67\x65\x72","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x73\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x4D\x6F\x64\x75\x6C\x65\x73","\x6C\x6F\x67","\x6D\x6F\x64\x75\x6C\x65\x73","\x73\x65\x74\x4D\x6F\x64\x75\x6C\x65\x73","\x73\x68\x6F\x77","\x64\x65\x73\x74\x72\x6F\x79","\x6E\x61\x6D\x65","\x68\x61\x6E\x64\x6C\x65\x46\x6F\x72\x65\x69\x67\x6E\x4B\x65\x79\x43\x6F\x6E\x73\x74\x72\x61\x69\x6E\x74\x45\x72\x72\x6F\x72","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79","\x69\x64\x73","\x63\x68\x61\x6E\x67\x65\x50\x61\x73\x73\x77\x6F\x72\x64","\x6F\x6C\x64\x50\x61\x73\x73\x77\x6F\x72\x64","\x6E\x65\x77\x50\x61\x73\x73\x77\x6F\x72\x64","\x61\x75\x74\x68\x65\x6E\x74\x69\x63\x61\x74\x65","\x70\x61\x73\x73\x77\x6F\x72\x64","\x73\x61\x76\x65","\x72\x65\x73\x65\x74\x50\x61\x73\x73\x77\x6F\x72\x64","\x63\x68\x61\x6E\x67\x65\x41\x76\x61\x74\x61\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x69\x6D\x61\x67\x65\x73","\x6A\x6F\x69\x6E","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x65\x78\x74\x6E\x61\x6D\x65","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x6A\x70\x65\x67\x20\x61\x6E\x64\x20\x70\x6E\x67\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x75\x70\x64\x61\x74\x65","\x6F\x6E","\x65\x72\x72\x6F\x72","\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x20\x55\x70\x6C\x6F\x61\x64\x20\x65\x72\x72\x6F\x72\x20\x3A","\x70\x61\x72\x73\x65","\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x75\x73\x65\x72\x70\x69\x63","\x6C\x61\x73\x74\x4C\x6F\x67\x69\x6E\x41\x74","\x76\x6F\x69\x63\x65\x50\x61\x75\x73\x65","\x6D\x61\x69\x6C\x50\x61\x75\x73\x65","\x63\x68\x61\x74\x50\x61\x75\x73\x65","\x66\x61\x78\x50\x61\x75\x73\x65","\x73\x6D\x73\x50\x61\x75\x73\x65","\x6C\x61\x73\x74\x50\x61\x75\x73\x65\x41\x74","\x70\x61\x75\x73\x65\x54\x79\x70\x65","\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x66\x69\x6E\x64\x4F\x6E\x65","\x67\x65\x74\x41\x76\x61\x74\x61\x72","\x75\x73\x65\x72\x70\x69\x63\x2E\x70\x6E\x67","\x73\x65\x6E\x64\x46\x69\x6C\x65","\x65\x78\x69\x73\x74\x73","\x67\x65\x74\x41\x76\x61\x74\x61\x72\x42\x79\x49\x64","\x76\x69\x73\x69\x74\x6F\x72","\x63\x75\x73\x74\x6F\x6D\x65\x72\x2E\x70\x6E\x67","\x67\x65\x74\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x6D\x61\x70","\x67\x65\x74\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x76\x6F\x69\x63\x65","\x67\x65\x74\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x63\x68\x61\x74","\x67\x65\x74\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x6D\x61\x69\x6C","\x67\x65\x74\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x66\x61\x78","\x67\x65\x74\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x73\x6D\x73","\x63\x68\x61\x6E\x6E\x65\x6C","\x61\x64\x64\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x61\x64\x64\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x41\x6C\x6C\x6F\x77\x65\x64\x51\x75\x65\x75\x65\x73","\x64\x65\x6C\x65\x74\x65","\x72\x65\x6D\x6F\x76\x65\x50\x56\x6F\x69\x63\x65\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x43\x68\x61\x74\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x4D\x61\x69\x6C\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x53\x6D\x73\x51\x75\x65\x75\x65\x73","\x72\x65\x6D\x6F\x76\x65\x50\x46\x61\x78\x51\x75\x65\x75\x65\x73","\x75\x73\x65\x72\x56\x61\x6C\x69\x64\x61\x74\x69\x6F\x6E","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x63\x6F\x75\x6E\x74","\x61\x75\x74\x68\x43\x61\x6C\x6C\x62\x61\x63\x6B","\x2F","\x72\x65\x64\x69\x72\x65\x63\x74"];_0x8eea[0];var User=require(_0x8eea[2])[_0x8eea[1]];var Module=require(_0x8eea[2])[_0x8eea[3]];var VoiceQueue=require(_0x8eea[2])[_0x8eea[4]];var ChatQueue=require(_0x8eea[2])[_0x8eea[5]];var MailQueue=require(_0x8eea[2])[_0x8eea[6]];var FaxQueue=require(_0x8eea[2])[_0x8eea[7]];var SmsQueue=require(_0x8eea[2])[_0x8eea[8]];var sequelize=require(_0x8eea[2])[_0x8eea[9]];var config=require(_0x8eea[10]);var Util=require(_0x8eea[11]);var passport=require(_0x8eea[12]);var moment=require(_0x8eea[13]);var jwt=require(_0x8eea[14]);var uploadFile=require(_0x8eea[15]);var path=require(_0x8eea[16]);var fs=require(_0x8eea[17]);var _=require(_0x8eea[18]);var util=require(_0x8eea[19]);var sr=require(_0x8eea[20]);exports[_0x8eea[21]]=function(_0xf315x14,_0xf315x15,_0xf315x16){return User[_0x8eea[30]](_0x8eea[29])[_0x8eea[28]](Util[_0x8eea[27]](_0xf315x14[_0x8eea[26]]))[_0x8eea[25]](function(_0xf315x18){_0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_0xf315x18)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[31]]=function(_0xf315x14,_0xf315x15,_0xf315x16){return User[_0x8eea[32]]()[_0x8eea[25]](function(_0xf315x19){return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]]({rows:_0xf315x19})})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[33]]=function(_0xf315x14,_0xf315x15,_0xf315x16){return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]])[_0x8eea[25]](function(_0xf315x1b){if(!_0xf315x1b){return _0xf315x15[_0x8eea[34]](404)};return _0xf315x1b[_0x8eea[35]]()})[_0x8eea[25]](function(_0xf315x1a){return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_0xf315x1a)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[39]]=function(_0xf315x14,_0xf315x15,_0xf315x16){_0xf315x14[_0x8eea[41]][_0x8eea[40]]=_0x8eea[29];return sequelize[_0x8eea[44]](function(_0xf315x1c){return User[_0x8eea[39]](_0xf315x14[_0x8eea[41]],{transaction:_0xf315x1c})[_0x8eea[25]](function(_0xf315x1b){return _0xf315x15[_0x8eea[24]](201)[_0x8eea[23]](_0xf315x1b)})})[_0x8eea[22]](sequelize.UniqueConstraintError,function(_0xf315x17){return Util[_0x8eea[43]][_0x8eea[42]](_0xf315x15,_0xf315x17)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[45]]=function(_0xf315x14,_0xf315x15,_0xf315x16){return sequelize[_0x8eea[44]](function(_0xf315x1c){return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]])[_0x8eea[25]](function(_0xf315x1b){if(!_0xf315x1b){return _0xf315x15[_0x8eea[34]](404)};return _0xf315x1b[_0x8eea[48]](_0xf315x14[_0x8eea[41]][_0x8eea[47]])})[_0x8eea[25]](function(){return _0xf315x15[_0x8eea[34]](201)})})[_0x8eea[22]](function(_0xf315x17){console[_0x8eea[46]](_0xf315x17);return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[49]]=function(_0xf315x14,_0xf315x15,_0xf315x16){return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]])[_0x8eea[25]](function(_0xf315x1b){if(!_0xf315x1b){return _0xf315x15[_0x8eea[34]](404)};return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_0xf315x1b)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[50]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x1d=_0xf315x14[_0x8eea[37]][_0x8eea[36]];var _0xf315x1e;return User[_0x8eea[38]](_0xf315x1d)[_0x8eea[25]](function(_0xf315x1b){_0xf315x1e=_0xf315x1b;if(!_0xf315x1b){return _0xf315x15[_0x8eea[34]](404)};return _0xf315x1b[_0x8eea[50]]()})[_0x8eea[25]](function(_0xf315x1b){return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_0xf315x1b)})[_0x8eea[22]](sequelize.ForeignKeyConstraintError,function(_0xf315x17){return Util[_0x8eea[43]][_0x8eea[52]](_0xf315x15,_0x8eea[29],_0xf315x1e[_0x8eea[51]],_0xf315x17)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[53]]=function(_0xf315x14,_0xf315x15){return User[_0x8eea[50]]({where:{id:_0xf315x14[_0x8eea[26]][_0x8eea[54]]},individualHooks:true})[_0x8eea[25]](function(){return _0xf315x15[_0x8eea[34]](204)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[55]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x1d=_0xf315x14[_0x8eea[29]][_0x8eea[36]];var _0xf315x1f=String(_0xf315x14[_0x8eea[41]][_0x8eea[56]]);var _0xf315x20=String(_0xf315x14[_0x8eea[41]][_0x8eea[57]]);return sequelize[_0x8eea[44]](function(_0xf315x1c){return User[_0x8eea[38]](_0xf315x1d)[_0x8eea[25]](function(_0xf315x1b){if(!_0xf315x1b[_0x8eea[58]](_0xf315x1f)){return _0xf315x15[_0x8eea[34]](403)};_0xf315x1b[_0x8eea[59]]=_0xf315x20;return _0xf315x1b[_0x8eea[60]]({transaction:_0xf315x1c})})})[_0x8eea[25]](function(){return _0xf315x15[_0x8eea[34]](200)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[61]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x1d=_0xf315x14[_0x8eea[37]][_0x8eea[36]];var _0xf315x20=String(_0xf315x14[_0x8eea[41]][_0x8eea[57]]);return sequelize[_0x8eea[44]](function(_0xf315x1c){return User[_0x8eea[38]](_0xf315x1d)[_0x8eea[25]](function(_0xf315x1b){_0xf315x1b[_0x8eea[59]]=_0xf315x20;return _0xf315x1b[_0x8eea[60]]({transaction:_0xf315x1c})})})[_0x8eea[25]](function(){return _0xf315x15[_0x8eea[34]](200)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[62]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x21= new uploadFile({dest:path[_0x8eea[67]](config[_0x8eea[63]],_0x8eea[64],_0x8eea[65],_0x8eea[66]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0xf315x22,_0xf315x23){return sr()+path[_0x8eea[69]](_0xf315x23[_0x8eea[68]])},messages:{maxNumberOfFiles:_0x8eea[70],acceptFileTypes:_0x8eea[71],invalidRequest:_0x8eea[72]}});_0xf315x21[_0x8eea[76]](_0x8eea[73],function(_0xf315x24,_0xf315x25){if(!_0xf315x25[_0x8eea[74]][_0x8eea[68]]){return _0xf315x15[_0x8eea[24]](500)[_0x8eea[23]](_0xf315x21)};return sequelize[_0x8eea[44]](function(_0xf315x1c){return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]])[_0x8eea[25]](function(_0xf315x1b){if(!_0xf315x1b){return _0xf315x15[_0x8eea[34]](404)};return _0xf315x1b[_0x8eea[75]]({userpic:_0xf315x25[_0x8eea[74]][_0x8eea[68]]},{transaction:_0xf315x1c})})[_0x8eea[25]](function(_0xf315x1b){return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_0xf315x1b)})})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})});_0xf315x21[_0x8eea[76]](_0x8eea[77],function(_0xf315x17){console[_0x8eea[46]](_0x8eea[78],_0xf315x17);return handleError(_0xf315x15,_0xf315x17)});_0xf315x21[_0x8eea[79]](_0xf315x14)};exports[_0x8eea[80]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x1d=_0xf315x14[_0x8eea[29]][_0x8eea[36]];return User[_0x8eea[97]]({where:{id:_0xf315x1d},attributes:[_0x8eea[36],_0x8eea[81],_0x8eea[51],_0x8eea[82],_0x8eea[40],_0x8eea[83],_0x8eea[84],_0x8eea[85],_0x8eea[86],_0x8eea[87],_0x8eea[88],_0x8eea[89],_0x8eea[90],_0x8eea[91]],include:[Module,{model:VoiceQueue,as:_0x8eea[92]},{model:ChatQueue,as:_0x8eea[93]},{model:MailQueue,as:_0x8eea[94]},{model:FaxQueue,as:_0x8eea[95]},{model:SmsQueue,as:_0x8eea[96]}]})[_0x8eea[25]](function(_0xf315x1b){if(!_0xf315x1b){return _0xf315x15[_0x8eea[34]](401)};return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_0xf315x1b)})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[75]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x1d=_0xf315x14[_0x8eea[29]][_0x8eea[36]];delete _0xf315x14[_0x8eea[41]][_0x8eea[59]];return sequelize[_0x8eea[44]](function(_0xf315x1c){return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]])[_0x8eea[25]](function(_0xf315x1b){if(!_0xf315x1b){return _0xf315x15[_0x8eea[34]](500)};return _0xf315x1b[_0x8eea[75]](_0xf315x14[_0x8eea[41]],{transaction:_0xf315x1c})})[_0x8eea[25]](function(_0xf315x1b){return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_0xf315x1b)})})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[98]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x26=path[_0x8eea[67]](config[_0x8eea[63]],_0x8eea[64],_0x8eea[65],_0x8eea[66],_0xf315x14[_0x8eea[37]][_0x8eea[68]]);fs[_0x8eea[101]](_0xf315x26,function(_0xf315x27){if(!_0xf315x27){_0xf315x26=path[_0x8eea[67]](config[_0x8eea[63]],_0x8eea[64],_0x8eea[65],_0x8eea[66],_0x8eea[99])};return _0xf315x15[_0x8eea[100]](_0xf315x26)})};exports[_0x8eea[102]]=function(_0xf315x14,_0xf315x15,_0xf315x16){if(_0xf315x14[_0x8eea[37]][_0x8eea[36]]===_0x8eea[103]){var _0xf315x26=path[_0x8eea[67]](config[_0x8eea[63]],_0x8eea[64],_0x8eea[65],_0x8eea[66],_0x8eea[104]);fs[_0x8eea[101]](_0xf315x26,function(_0xf315x27){return _0xf315x15[_0x8eea[100]](_0xf315x26)})}else {return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]])[_0x8eea[25]](function(_0xf315x1b){if(_0xf315x1b){var _0xf315x26=path[_0x8eea[67]](config[_0x8eea[63]],_0x8eea[64],_0x8eea[65],_0x8eea[66],_0xf315x1b[_0x8eea[83]]?_0xf315x1b[_0x8eea[83]]:_0x8eea[99]);fs[_0x8eea[101]](_0xf315x26,function(_0xf315x27){if(!_0xf315x27){_0xf315x26=path[_0x8eea[67]](config[_0x8eea[63]],_0x8eea[64],_0x8eea[65],_0x8eea[66],_0x8eea[99])};return _0xf315x15[_0x8eea[100]](_0xf315x26)})}else {return _0xf315x15[_0x8eea[34]](500)}})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})}};exports[_0x8eea[105]]=function(_0xf315x14,_0xf315x15,_0xf315x16){var _0xf315x1e;return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]],{attributes:[_0x8eea[36]]})[_0x8eea[25]](function(_0xf315x1b){_0xf315x1e=_0xf315x1b;if(!_0xf315x1e){return _0xf315x15[_0x8eea[34]](401)};switch(_0xf315x14[_0x8eea[37]][_0x8eea[117]]){case _0x8eea[108]:return _0xf315x1e[_0x8eea[107]]({attributes:[_0x8eea[51]]});case _0x8eea[110]:return _0xf315x1e[_0x8eea[109]]({attributes:[_0x8eea[36],_0x8eea[51]]});case _0x8eea[112]:return _0xf315x1e[_0x8eea[111]]({attributes:[_0x8eea[36],_0x8eea[51]]});case _0x8eea[114]:return _0xf315x1e[_0x8eea[113]]({attributes:[_0x8eea[36],_0x8eea[51]]});case _0x8eea[116]:return _0xf315x1e[_0x8eea[115]]({attributes:[_0x8eea[36],_0x8eea[51]]});default:return _0xf315x15[_0x8eea[34]](401)}})[_0x8eea[25]](function(_0xf315x28){return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]](_[_0x8eea[106]](_0xf315x28,function(_0xf315x29){var _0xf315x2a={name:_0xf315x29[_0x8eea[51]]};if(_0xf315x29[_0x8eea[36]]){_0xf315x2a[_0x8eea[36]]=_0xf315x29[_0x8eea[36]]};return _0xf315x2a}))})[_0x8eea[22]](function(_0xf315x17){console[_0x8eea[77]](_0xf315x17);return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[118]]=function(_0xf315x14,_0xf315x15,_0xf315x16){console[_0x8eea[46]](_0xf315x14[_0x8eea[37]],_0xf315x14[_0x8eea[41]]);var _0xf315x1e;return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]],{attributes:[_0x8eea[36]]})[_0x8eea[25]](function(_0xf315x1b){_0xf315x1e=_0xf315x1b;if(!_0xf315x1e){return _0xf315x15[_0x8eea[34]](401)};switch(_0xf315x14[_0x8eea[37]][_0x8eea[117]]){case _0x8eea[108]:return _0xf315x1e[_0x8eea[119]](_0xf315x14[_0x8eea[41]]);case _0x8eea[110]:return _0xf315x1e[_0x8eea[120]](_0xf315x14[_0x8eea[41]]);case _0x8eea[112]:return _0xf315x1e[_0x8eea[121]](_0xf315x14[_0x8eea[41]]);case _0x8eea[114]:return _0xf315x1e[_0x8eea[122]](_0xf315x14[_0x8eea[41]]);case _0x8eea[116]:return _0xf315x1e[_0x8eea[123]](_0xf315x14[_0x8eea[41]]);default:return _0xf315x15[_0x8eea[34]](401)}})[_0x8eea[25]](function(_0xf315x28){return _0xf315x15[_0x8eea[34]](200)})[_0x8eea[22]](function(_0xf315x17){console[_0x8eea[77]](_0xf315x17)})};exports[_0x8eea[124]]=function(_0xf315x14,_0xf315x15,_0xf315x16){console[_0x8eea[46]](_0xf315x14[_0x8eea[37]],_0xf315x14[_0x8eea[41]],_0xf315x14[_0x8eea[125]],_0xf315x14[_0x8eea[26]]);var _0xf315x1e;return User[_0x8eea[38]](_0xf315x14[_0x8eea[37]][_0x8eea[36]],{attributes:[_0x8eea[36]]})[_0x8eea[25]](function(_0xf315x1b){_0xf315x1e=_0xf315x1b;if(!_0xf315x1e){return _0xf315x15[_0x8eea[34]](401)};switch(_0xf315x14[_0x8eea[37]][_0x8eea[117]]){case _0x8eea[108]:return _0xf315x1e[_0x8eea[126]](_0xf315x14[_0x8eea[26]][_0x8eea[54]]);case _0x8eea[110]:return _0xf315x1e[_0x8eea[127]](_0xf315x14[_0x8eea[26]][_0x8eea[54]]);case _0x8eea[112]:return _0xf315x1e[_0x8eea[128]](_0xf315x14[_0x8eea[26]][_0x8eea[54]]);case _0x8eea[116]:return _0xf315x1e[_0x8eea[129]](_0xf315x14[_0x8eea[26]][_0x8eea[54]]);case _0x8eea[114]:return _0xf315x1e[_0x8eea[130]](_0xf315x14[_0x8eea[26]][_0x8eea[54]]);default:return _0xf315x15[_0x8eea[34]](401)}})[_0x8eea[25]](function(_0xf315x28){return _0xf315x15[_0x8eea[34]](200)})[_0x8eea[22]](function(_0xf315x17){console[_0x8eea[77]](_0xf315x17)})};exports[_0x8eea[131]]=function(_0xf315x14,_0xf315x15){var _0xf315x2b={};_0xf315x2b[_0xf315x14[_0x8eea[37]][_0x8eea[132]]]=_0xf315x14[_0x8eea[41]][_0x8eea[133]];return User[_0x8eea[28]]({where:_0xf315x2b})[_0x8eea[25]](function(_0xf315x18){if(_0xf315x18[_0x8eea[134]]){return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]]({isValid:false,value:_0xf315x14[_0x8eea[41]][_0x8eea[133]]})};return _0xf315x15[_0x8eea[24]](200)[_0x8eea[23]]({isValid:true,value:_0xf315x14[_0x8eea[41]][_0x8eea[133]]})})[_0x8eea[22]](function(_0xf315x17){return handleError(_0xf315x15,_0xf315x17)})};exports[_0x8eea[135]]=function(_0xf315x14,_0xf315x15,_0xf315x16){_0xf315x15[_0x8eea[137]](_0x8eea[136])};function handleError(_0xf315x15,_0xf315x17){return _0xf315x15[_0x8eea[24]](500)[_0x8eea[23]](_0xf315x17)}
\ No newline at end of file