Built motion from commit b322525.|0.0.112
[motion.git] / server / api / user / user.controller.js
index 3e2e864..6f2047f 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 _0xbdb4=["\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"];_0xbdb4[0];var User=require(_0xbdb4[2])[_0xbdb4[1]];var Module=require(_0xbdb4[2])[_0xbdb4[3]];var VoiceQueue=require(_0xbdb4[2])[_0xbdb4[4]];var ChatQueue=require(_0xbdb4[2])[_0xbdb4[5]];var MailQueue=require(_0xbdb4[2])[_0xbdb4[6]];var FaxQueue=require(_0xbdb4[2])[_0xbdb4[7]];var SmsQueue=require(_0xbdb4[2])[_0xbdb4[8]];var sequelize=require(_0xbdb4[2])[_0xbdb4[9]];var config=require(_0xbdb4[10]);var Util=require(_0xbdb4[11]);var passport=require(_0xbdb4[12]);var moment=require(_0xbdb4[13]);var jwt=require(_0xbdb4[14]);var uploadFile=require(_0xbdb4[15]);var path=require(_0xbdb4[16]);var fs=require(_0xbdb4[17]);var _=require(_0xbdb4[18]);var util=require(_0xbdb4[19]);var sr=require(_0xbdb4[20]);exports[_0xbdb4[21]]=function(_0x379ax14,_0x379ax15,_0x379ax16){return User[_0xbdb4[30]](_0xbdb4[29])[_0xbdb4[28]](Util[_0xbdb4[27]](_0x379ax14[_0xbdb4[26]]))[_0xbdb4[25]](function(_0x379ax18){_0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_0x379ax18)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[31]]=function(_0x379ax14,_0x379ax15,_0x379ax16){return User[_0xbdb4[32]]()[_0xbdb4[25]](function(_0x379ax19){return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]]({rows:_0x379ax19})})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[33]]=function(_0x379ax14,_0x379ax15,_0x379ax16){return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]])[_0xbdb4[25]](function(_0x379ax1b){if(!_0x379ax1b){return _0x379ax15[_0xbdb4[34]](404)};return _0x379ax1b[_0xbdb4[35]]()})[_0xbdb4[25]](function(_0x379ax1a){return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_0x379ax1a)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[39]]=function(_0x379ax14,_0x379ax15,_0x379ax16){_0x379ax14[_0xbdb4[41]][_0xbdb4[40]]=_0xbdb4[29];return sequelize[_0xbdb4[44]](function(_0x379ax1c){return User[_0xbdb4[39]](_0x379ax14[_0xbdb4[41]],{transaction:_0x379ax1c})[_0xbdb4[25]](function(_0x379ax1b){return _0x379ax15[_0xbdb4[24]](201)[_0xbdb4[23]](_0x379ax1b)})})[_0xbdb4[22]](sequelize.UniqueConstraintError,function(_0x379ax17){return Util[_0xbdb4[43]][_0xbdb4[42]](_0x379ax15,_0x379ax17)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[45]]=function(_0x379ax14,_0x379ax15,_0x379ax16){return sequelize[_0xbdb4[44]](function(_0x379ax1c){return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]])[_0xbdb4[25]](function(_0x379ax1b){if(!_0x379ax1b){return _0x379ax15[_0xbdb4[34]](404)};return _0x379ax1b[_0xbdb4[48]](_0x379ax14[_0xbdb4[41]][_0xbdb4[47]])})[_0xbdb4[25]](function(){return _0x379ax15[_0xbdb4[34]](201)})})[_0xbdb4[22]](function(_0x379ax17){console[_0xbdb4[46]](_0x379ax17);return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[49]]=function(_0x379ax14,_0x379ax15,_0x379ax16){return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]])[_0xbdb4[25]](function(_0x379ax1b){if(!_0x379ax1b){return _0x379ax15[_0xbdb4[34]](404)};return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_0x379ax1b)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[50]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax1d=_0x379ax14[_0xbdb4[37]][_0xbdb4[36]];var _0x379ax1e;return User[_0xbdb4[38]](_0x379ax1d)[_0xbdb4[25]](function(_0x379ax1b){_0x379ax1e=_0x379ax1b;if(!_0x379ax1b){return _0x379ax15[_0xbdb4[34]](404)};return _0x379ax1b[_0xbdb4[50]]()})[_0xbdb4[25]](function(_0x379ax1b){return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_0x379ax1b)})[_0xbdb4[22]](sequelize.ForeignKeyConstraintError,function(_0x379ax17){return Util[_0xbdb4[43]][_0xbdb4[52]](_0x379ax15,_0xbdb4[29],_0x379ax1e[_0xbdb4[51]],_0x379ax17)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[53]]=function(_0x379ax14,_0x379ax15){return User[_0xbdb4[50]]({where:{id:_0x379ax14[_0xbdb4[26]][_0xbdb4[54]]},individualHooks:true})[_0xbdb4[25]](function(){return _0x379ax15[_0xbdb4[34]](204)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[55]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax1d=_0x379ax14[_0xbdb4[29]][_0xbdb4[36]];var _0x379ax1f=String(_0x379ax14[_0xbdb4[41]][_0xbdb4[56]]);var _0x379ax20=String(_0x379ax14[_0xbdb4[41]][_0xbdb4[57]]);return sequelize[_0xbdb4[44]](function(_0x379ax1c){return User[_0xbdb4[38]](_0x379ax1d)[_0xbdb4[25]](function(_0x379ax1b){if(!_0x379ax1b[_0xbdb4[58]](_0x379ax1f)){return _0x379ax15[_0xbdb4[34]](403)};_0x379ax1b[_0xbdb4[59]]=_0x379ax20;return _0x379ax1b[_0xbdb4[60]]({transaction:_0x379ax1c})})})[_0xbdb4[25]](function(){return _0x379ax15[_0xbdb4[34]](200)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[61]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax1d=_0x379ax14[_0xbdb4[37]][_0xbdb4[36]];var _0x379ax20=String(_0x379ax14[_0xbdb4[41]][_0xbdb4[57]]);return sequelize[_0xbdb4[44]](function(_0x379ax1c){return User[_0xbdb4[38]](_0x379ax1d)[_0xbdb4[25]](function(_0x379ax1b){_0x379ax1b[_0xbdb4[59]]=_0x379ax20;return _0x379ax1b[_0xbdb4[60]]({transaction:_0x379ax1c})})})[_0xbdb4[25]](function(){return _0x379ax15[_0xbdb4[34]](200)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[62]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax21= new uploadFile({dest:path[_0xbdb4[67]](config[_0xbdb4[63]],_0xbdb4[64],_0xbdb4[65],_0xbdb4[66]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0x379ax22,_0x379ax23){return sr()+path[_0xbdb4[69]](_0x379ax23[_0xbdb4[68]])},messages:{maxNumberOfFiles:_0xbdb4[70],acceptFileTypes:_0xbdb4[71],invalidRequest:_0xbdb4[72]}});_0x379ax21[_0xbdb4[76]](_0xbdb4[73],function(_0x379ax24,_0x379ax25){if(!_0x379ax25[_0xbdb4[74]][_0xbdb4[68]]){return _0x379ax15[_0xbdb4[24]](500)[_0xbdb4[23]](_0x379ax21)};return sequelize[_0xbdb4[44]](function(_0x379ax1c){return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]])[_0xbdb4[25]](function(_0x379ax1b){if(!_0x379ax1b){return _0x379ax15[_0xbdb4[34]](404)};return _0x379ax1b[_0xbdb4[75]]({userpic:_0x379ax25[_0xbdb4[74]][_0xbdb4[68]]},{transaction:_0x379ax1c})})[_0xbdb4[25]](function(_0x379ax1b){return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_0x379ax1b)})})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})});_0x379ax21[_0xbdb4[76]](_0xbdb4[77],function(_0x379ax17){console[_0xbdb4[46]](_0xbdb4[78],_0x379ax17);return handleError(_0x379ax15,_0x379ax17)});_0x379ax21[_0xbdb4[79]](_0x379ax14)};exports[_0xbdb4[80]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax1d=_0x379ax14[_0xbdb4[29]][_0xbdb4[36]];return User[_0xbdb4[97]]({where:{id:_0x379ax1d},attributes:[_0xbdb4[36],_0xbdb4[81],_0xbdb4[51],_0xbdb4[82],_0xbdb4[40],_0xbdb4[83],_0xbdb4[84],_0xbdb4[85],_0xbdb4[86],_0xbdb4[87],_0xbdb4[88],_0xbdb4[89],_0xbdb4[90],_0xbdb4[91]],include:[Module,{model:VoiceQueue,as:_0xbdb4[92]},{model:ChatQueue,as:_0xbdb4[93]},{model:MailQueue,as:_0xbdb4[94]},{model:FaxQueue,as:_0xbdb4[95]},{model:SmsQueue,as:_0xbdb4[96]}]})[_0xbdb4[25]](function(_0x379ax1b){if(!_0x379ax1b){return _0x379ax15[_0xbdb4[34]](401)};return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_0x379ax1b)})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[75]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax1d=_0x379ax14[_0xbdb4[29]][_0xbdb4[36]];delete _0x379ax14[_0xbdb4[41]][_0xbdb4[59]];return sequelize[_0xbdb4[44]](function(_0x379ax1c){return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]])[_0xbdb4[25]](function(_0x379ax1b){if(!_0x379ax1b){return _0x379ax15[_0xbdb4[34]](500)};return _0x379ax1b[_0xbdb4[75]](_0x379ax14[_0xbdb4[41]],{transaction:_0x379ax1c})})[_0xbdb4[25]](function(_0x379ax1b){return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_0x379ax1b)})})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[98]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax26=path[_0xbdb4[67]](config[_0xbdb4[63]],_0xbdb4[64],_0xbdb4[65],_0xbdb4[66],_0x379ax14[_0xbdb4[37]][_0xbdb4[68]]);fs[_0xbdb4[101]](_0x379ax26,function(_0x379ax27){if(!_0x379ax27){_0x379ax26=path[_0xbdb4[67]](config[_0xbdb4[63]],_0xbdb4[64],_0xbdb4[65],_0xbdb4[66],_0xbdb4[99])};return _0x379ax15[_0xbdb4[100]](_0x379ax26)})};exports[_0xbdb4[102]]=function(_0x379ax14,_0x379ax15,_0x379ax16){if(_0x379ax14[_0xbdb4[37]][_0xbdb4[36]]===_0xbdb4[103]){var _0x379ax26=path[_0xbdb4[67]](config[_0xbdb4[63]],_0xbdb4[64],_0xbdb4[65],_0xbdb4[66],_0xbdb4[104]);fs[_0xbdb4[101]](_0x379ax26,function(_0x379ax27){return _0x379ax15[_0xbdb4[100]](_0x379ax26)})}else {return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]])[_0xbdb4[25]](function(_0x379ax1b){if(_0x379ax1b){var _0x379ax26=path[_0xbdb4[67]](config[_0xbdb4[63]],_0xbdb4[64],_0xbdb4[65],_0xbdb4[66],_0x379ax1b[_0xbdb4[83]]?_0x379ax1b[_0xbdb4[83]]:_0xbdb4[99]);fs[_0xbdb4[101]](_0x379ax26,function(_0x379ax27){if(!_0x379ax27){_0x379ax26=path[_0xbdb4[67]](config[_0xbdb4[63]],_0xbdb4[64],_0xbdb4[65],_0xbdb4[66],_0xbdb4[99])};return _0x379ax15[_0xbdb4[100]](_0x379ax26)})}else {return _0x379ax15[_0xbdb4[34]](500)}})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})}};exports[_0xbdb4[105]]=function(_0x379ax14,_0x379ax15,_0x379ax16){var _0x379ax1e;return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]],{attributes:[_0xbdb4[36]]})[_0xbdb4[25]](function(_0x379ax1b){_0x379ax1e=_0x379ax1b;if(!_0x379ax1e){return _0x379ax15[_0xbdb4[34]](401)};switch(_0x379ax14[_0xbdb4[37]][_0xbdb4[117]]){case _0xbdb4[108]:return _0x379ax1e[_0xbdb4[107]]({attributes:[_0xbdb4[51]]});case _0xbdb4[110]:return _0x379ax1e[_0xbdb4[109]]({attributes:[_0xbdb4[36],_0xbdb4[51]]});case _0xbdb4[112]:return _0x379ax1e[_0xbdb4[111]]({attributes:[_0xbdb4[36],_0xbdb4[51]]});case _0xbdb4[114]:return _0x379ax1e[_0xbdb4[113]]({attributes:[_0xbdb4[36],_0xbdb4[51]]});case _0xbdb4[116]:return _0x379ax1e[_0xbdb4[115]]({attributes:[_0xbdb4[36],_0xbdb4[51]]});default:return _0x379ax15[_0xbdb4[34]](401)}})[_0xbdb4[25]](function(_0x379ax28){return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]](_[_0xbdb4[106]](_0x379ax28,function(_0x379ax29){var _0x379ax2a={name:_0x379ax29[_0xbdb4[51]]};if(_0x379ax29[_0xbdb4[36]]){_0x379ax2a[_0xbdb4[36]]=_0x379ax29[_0xbdb4[36]]};return _0x379ax2a}))})[_0xbdb4[22]](function(_0x379ax17){console[_0xbdb4[77]](_0x379ax17);return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[118]]=function(_0x379ax14,_0x379ax15,_0x379ax16){console[_0xbdb4[46]](_0x379ax14[_0xbdb4[37]],_0x379ax14[_0xbdb4[41]]);var _0x379ax1e;return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]],{attributes:[_0xbdb4[36]]})[_0xbdb4[25]](function(_0x379ax1b){_0x379ax1e=_0x379ax1b;if(!_0x379ax1e){return _0x379ax15[_0xbdb4[34]](401)};switch(_0x379ax14[_0xbdb4[37]][_0xbdb4[117]]){case _0xbdb4[108]:return _0x379ax1e[_0xbdb4[119]](_0x379ax14[_0xbdb4[41]]);case _0xbdb4[110]:return _0x379ax1e[_0xbdb4[120]](_0x379ax14[_0xbdb4[41]]);case _0xbdb4[112]:return _0x379ax1e[_0xbdb4[121]](_0x379ax14[_0xbdb4[41]]);case _0xbdb4[114]:return _0x379ax1e[_0xbdb4[122]](_0x379ax14[_0xbdb4[41]]);case _0xbdb4[116]:return _0x379ax1e[_0xbdb4[123]](_0x379ax14[_0xbdb4[41]]);default:return _0x379ax15[_0xbdb4[34]](401)}})[_0xbdb4[25]](function(_0x379ax28){return _0x379ax15[_0xbdb4[34]](200)})[_0xbdb4[22]](function(_0x379ax17){console[_0xbdb4[77]](_0x379ax17)})};exports[_0xbdb4[124]]=function(_0x379ax14,_0x379ax15,_0x379ax16){console[_0xbdb4[46]](_0x379ax14[_0xbdb4[37]],_0x379ax14[_0xbdb4[41]],_0x379ax14[_0xbdb4[125]],_0x379ax14[_0xbdb4[26]]);var _0x379ax1e;return User[_0xbdb4[38]](_0x379ax14[_0xbdb4[37]][_0xbdb4[36]],{attributes:[_0xbdb4[36]]})[_0xbdb4[25]](function(_0x379ax1b){_0x379ax1e=_0x379ax1b;if(!_0x379ax1e){return _0x379ax15[_0xbdb4[34]](401)};switch(_0x379ax14[_0xbdb4[37]][_0xbdb4[117]]){case _0xbdb4[108]:return _0x379ax1e[_0xbdb4[126]](_0x379ax14[_0xbdb4[26]][_0xbdb4[54]]);case _0xbdb4[110]:return _0x379ax1e[_0xbdb4[127]](_0x379ax14[_0xbdb4[26]][_0xbdb4[54]]);case _0xbdb4[112]:return _0x379ax1e[_0xbdb4[128]](_0x379ax14[_0xbdb4[26]][_0xbdb4[54]]);case _0xbdb4[116]:return _0x379ax1e[_0xbdb4[129]](_0x379ax14[_0xbdb4[26]][_0xbdb4[54]]);case _0xbdb4[114]:return _0x379ax1e[_0xbdb4[130]](_0x379ax14[_0xbdb4[26]][_0xbdb4[54]]);default:return _0x379ax15[_0xbdb4[34]](401)}})[_0xbdb4[25]](function(_0x379ax28){return _0x379ax15[_0xbdb4[34]](200)})[_0xbdb4[22]](function(_0x379ax17){console[_0xbdb4[77]](_0x379ax17)})};exports[_0xbdb4[131]]=function(_0x379ax14,_0x379ax15){var _0x379ax2b={};_0x379ax2b[_0x379ax14[_0xbdb4[37]][_0xbdb4[132]]]=_0x379ax14[_0xbdb4[41]][_0xbdb4[133]];return User[_0xbdb4[28]]({where:_0x379ax2b})[_0xbdb4[25]](function(_0x379ax18){if(_0x379ax18[_0xbdb4[134]]){return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]]({isValid:false,value:_0x379ax14[_0xbdb4[41]][_0xbdb4[133]]})};return _0x379ax15[_0xbdb4[24]](200)[_0xbdb4[23]]({isValid:true,value:_0x379ax14[_0xbdb4[41]][_0xbdb4[133]]})})[_0xbdb4[22]](function(_0x379ax17){return handleError(_0x379ax15,_0x379ax17)})};exports[_0xbdb4[135]]=function(_0x379ax14,_0x379ax15,_0x379ax16){_0x379ax15[_0xbdb4[137]](_0xbdb4[136])};function handleError(_0x379ax15,_0x379ax17){return _0x379ax15[_0xbdb4[24]](500)[_0xbdb4[23]](_0x379ax17)}
\ No newline at end of file