Built motion from commit 7767ffc.|0.0.132
[motion.git] / server / api / user / user.controller.js
index 3e2e864..a3ec17e 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 _0xd3a4=["\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","\x64\x65\x73\x63\x72\x69\x62\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","\x74\x65\x73\x74","\x57\x72\x6F\x6E\x67\x20\x70\x61\x73\x73\x77\x6F\x72\x64\x20\x66\x6F\x72\x6D\x61\x74\x21","\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","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\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","\x70\x68\x6F\x6E\x65\x42\x61\x72\x52\x65\x6D\x6F\x74\x65\x43\x6F\x6E\x74\x72\x6F\x6C","\x70\x68\x6F\x6E\x65\x42\x61\x72\x52\x65\x6D\x6F\x74\x65\x43\x6F\x6E\x74\x72\x6F\x6C\x50\x6F\x72\x74","\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","\x67\x65\x74\x50\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\x51\x75\x65\x75\x65\x73","\x6F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C","\x54\x68\x65\x20\x63\x68\x61\x6E\x6E\x65\x6C\x20\x64\x6F\x65\x73\x20\x6E\x6F\x74\x20\x65\x78\x69\x73\x74","\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","\x61\x64\x64\x50\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\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","\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","\x72\x65\x6D\x6F\x76\x65\x50\x4F\x70\x65\x6E\x63\x68\x61\x6E\x6E\x65\x6C\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"];_0xd3a4[0];var User=require(_0xd3a4[2])[_0xd3a4[1]];var Module=require(_0xd3a4[2])[_0xd3a4[3]];var VoiceQueue=require(_0xd3a4[2])[_0xd3a4[4]];var ChatQueue=require(_0xd3a4[2])[_0xd3a4[5]];var MailQueue=require(_0xd3a4[2])[_0xd3a4[6]];var FaxQueue=require(_0xd3a4[2])[_0xd3a4[7]];var SmsQueue=require(_0xd3a4[2])[_0xd3a4[8]];var sequelize=require(_0xd3a4[2])[_0xd3a4[9]];var config=require(_0xd3a4[10]);var Util=require(_0xd3a4[11]);var passport=require(_0xd3a4[12]);var moment=require(_0xd3a4[13]);var jwt=require(_0xd3a4[14]);var uploadFile=require(_0xd3a4[15]);var path=require(_0xd3a4[16]);var fs=require(_0xd3a4[17]);var _=require(_0xd3a4[18]);var util=require(_0xd3a4[19]);var sr=require(_0xd3a4[20]);exports[_0xd3a4[21]]= function(_0xeadax14,_0xeadax15,_0xeadax16){return User[_0xd3a4[30]](_0xd3a4[29])[_0xd3a4[28]](Util[_0xd3a4[27]](_0xeadax14[_0xd3a4[26]]))[_0xd3a4[25]](function(_0xeadax18){_0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax18)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[31]]= function(_0xeadax14,_0xeadax15){return User[_0xd3a4[31]]()[_0xd3a4[25]](function(_0xeadax19){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax19)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};function handleError(_0xeadax15,_0xeadax17){return _0xeadax15[_0xd3a4[24]](500)[_0xd3a4[23]](_0xeadax17)}exports[_0xd3a4[32]]= function(_0xeadax14,_0xeadax15,_0xeadax16){return User[_0xd3a4[33]]()[_0xd3a4[25]](function(_0xeadax1b){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]]({rows:_0xeadax1b})})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[34]]= function(_0xeadax14,_0xeadax15,_0xeadax16){return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]])[_0xd3a4[25]](function(_0xeadax1d){if(!_0xeadax1d){return _0xeadax15[_0xd3a4[35]](404)};return _0xeadax1d[_0xd3a4[36]]()})[_0xd3a4[25]](function(_0xeadax1c){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax1c)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[40]]= function(_0xeadax14,_0xeadax15,_0xeadax16){_0xeadax14[_0xd3a4[42]][_0xd3a4[41]]= _0xeadax14[_0xd3a4[42]][_0xd3a4[41]]|| _0xd3a4[29];return sequelize[_0xd3a4[45]](function(_0xeadax1e){return User[_0xd3a4[40]](_0xeadax14[_0xd3a4[42]],{transaction:_0xeadax1e})[_0xd3a4[25]](function(_0xeadax1d){return _0xeadax15[_0xd3a4[24]](201)[_0xd3a4[23]](_0xeadax1d)})})[_0xd3a4[22]](sequelize.UniqueConstraintError,function(_0xeadax17){return Util[_0xd3a4[44]][_0xd3a4[43]](_0xeadax15,_0xeadax17)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[46]]= function(_0xeadax14,_0xeadax15,_0xeadax16){return sequelize[_0xd3a4[45]](function(_0xeadax1e){return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]])[_0xd3a4[25]](function(_0xeadax1d){if(!_0xeadax1d){return _0xeadax15[_0xd3a4[35]](404)};return _0xeadax1d[_0xd3a4[49]](_0xeadax14[_0xd3a4[42]][_0xd3a4[48]])})[_0xd3a4[25]](function(){return _0xeadax15[_0xd3a4[35]](201)})})[_0xd3a4[22]](function(_0xeadax17){console[_0xd3a4[47]](_0xeadax17);return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[50]]= function(_0xeadax14,_0xeadax15,_0xeadax16){return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]])[_0xd3a4[25]](function(_0xeadax1d){if(!_0xeadax1d){return _0xeadax15[_0xd3a4[35]](404)};return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax1d)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[51]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax1f=_0xeadax14[_0xd3a4[38]][_0xd3a4[37]];var _0xeadax20;return User[_0xd3a4[39]](_0xeadax1f)[_0xd3a4[25]](function(_0xeadax1d){_0xeadax20= _0xeadax1d;if(!_0xeadax1d){return _0xeadax15[_0xd3a4[35]](404)};return _0xeadax1d[_0xd3a4[51]]()})[_0xd3a4[25]](function(_0xeadax1d){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax1d)})[_0xd3a4[22]](sequelize.ForeignKeyConstraintError,function(_0xeadax17){return Util[_0xd3a4[44]][_0xd3a4[53]](_0xeadax15,_0xd3a4[29],_0xeadax20[_0xd3a4[52]],_0xeadax17)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[54]]= function(_0xeadax14,_0xeadax15){return User[_0xd3a4[51]]({where:{id:_0xeadax14[_0xd3a4[26]][_0xd3a4[55]]},individualHooks:true})[_0xd3a4[25]](function(){return _0xeadax15[_0xd3a4[35]](204)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[56]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax1f=_0xeadax14[_0xd3a4[29]][_0xd3a4[37]];var _0xeadax21=String(_0xeadax14[_0xd3a4[42]][_0xd3a4[57]]);var _0xeadax22=String(_0xeadax14[_0xd3a4[42]][_0xd3a4[58]]);if(!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!#$%&?._\-"])[0-9a-zA-Z!#$%&?._\-]{8,}$/[_0xd3a4[59]](_0xeadax22))){throw  new Error(_0xd3a4[60])};return sequelize[_0xd3a4[45]](function(_0xeadax1e){return User[_0xd3a4[39]](_0xeadax1f)[_0xd3a4[25]](function(_0xeadax1d){if(!_0xeadax1d[_0xd3a4[61]](_0xeadax21)){return _0xeadax15[_0xd3a4[35]](403)}else {_0xeadax1d[_0xd3a4[62]]= _0xeadax22;return _0xeadax1d[_0xd3a4[63]]({transaction:_0xeadax1e})[_0xd3a4[25]](function(){return _0xeadax15[_0xd3a4[35]](200)})}})})[_0xd3a4[22]](function(_0xeadax17){console[_0xd3a4[47]](_0xeadax17);return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[64]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax1f=_0xeadax14[_0xd3a4[38]][_0xd3a4[37]];var _0xeadax22=String(_0xeadax14[_0xd3a4[42]][_0xd3a4[58]]);if(!(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!#$%&?._\-"])[0-9a-zA-Z!#$%&?._\-]{8,}$/[_0xd3a4[59]](_0xeadax22))){throw  new Error(_0xd3a4[60])};return sequelize[_0xd3a4[45]](function(_0xeadax1e){return User[_0xd3a4[39]](_0xeadax1f)[_0xd3a4[25]](function(_0xeadax1d){_0xeadax1d[_0xd3a4[62]]= _0xeadax22;return _0xeadax1d[_0xd3a4[63]]({transaction:_0xeadax1e})})})[_0xd3a4[25]](function(){return _0xeadax15[_0xd3a4[35]](200)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[65]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax23= new uploadFile({dest:path[_0xd3a4[70]](config[_0xd3a4[66]],_0xd3a4[67],_0xd3a4[68],_0xd3a4[69]),maxNumberOfFiles:1,minNumberOfFiles:0,acceptFileTypes:/(\.|\/)(jpeg|png)$/i,rename:function(_0xeadax24,_0xeadax25){return sr()+ path[_0xd3a4[72]](_0xeadax25[_0xd3a4[71]])},messages:{maxNumberOfFiles:_0xd3a4[73],acceptFileTypes:_0xd3a4[74],invalidRequest:_0xd3a4[75]}});_0xeadax23[_0xd3a4[79]](_0xd3a4[76],function(_0xeadax19,_0xeadax26){if(!_0xeadax26[_0xd3a4[77]][_0xd3a4[71]]){return _0xeadax15[_0xd3a4[24]](500)[_0xd3a4[23]](_0xeadax23)};return sequelize[_0xd3a4[45]](function(_0xeadax1e){return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]])[_0xd3a4[25]](function(_0xeadax1d){if(!_0xeadax1d){return _0xeadax15[_0xd3a4[35]](404)};return _0xeadax1d[_0xd3a4[78]]({userpic:_0xeadax26[_0xd3a4[77]][_0xd3a4[71]]},{transaction:_0xeadax1e})})[_0xd3a4[25]](function(_0xeadax1d){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax1d)})})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})});_0xeadax23[_0xd3a4[79]](_0xd3a4[80],function(_0xeadax17){console[_0xd3a4[47]](_0xd3a4[81],_0xeadax17);return handleError(_0xeadax15,_0xeadax17)});_0xeadax23[_0xd3a4[82]](_0xeadax14)};exports[_0xd3a4[83]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax1f=_0xeadax14[_0xd3a4[29]][_0xd3a4[37]];return User[_0xd3a4[103]]({where:{id:_0xeadax1f},attributes:[_0xd3a4[37],_0xd3a4[84],_0xd3a4[52],_0xd3a4[85],_0xd3a4[41],_0xd3a4[86],_0xd3a4[87],_0xd3a4[88],_0xd3a4[89],_0xd3a4[90],_0xd3a4[91],_0xd3a4[92],_0xd3a4[93],_0xd3a4[94],_0xd3a4[95],_0xd3a4[96],_0xd3a4[97]],include:[Module,{model:VoiceQueue,as:_0xd3a4[98]},{model:ChatQueue,as:_0xd3a4[99]},{model:MailQueue,as:_0xd3a4[100]},{model:FaxQueue,as:_0xd3a4[101]},{model:SmsQueue,as:_0xd3a4[102]}]})[_0xd3a4[25]](function(_0xeadax1d){if(!_0xeadax1d){return _0xeadax15[_0xd3a4[35]](401)};return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax1d)})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[78]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax1f=_0xeadax14[_0xd3a4[29]][_0xd3a4[37]];delete _0xeadax14[_0xd3a4[42]][_0xd3a4[62]];delete _0xeadax14[_0xd3a4[42]][_0xd3a4[52]];return sequelize[_0xd3a4[45]](function(_0xeadax1e){return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]])[_0xd3a4[25]](function(_0xeadax1d){if(!_0xeadax1d){return _0xeadax15[_0xd3a4[35]](500)};return _0xeadax1d[_0xd3a4[78]](_0xeadax14[_0xd3a4[42]],{transaction:_0xeadax1e})})[_0xd3a4[25]](function(_0xeadax1d){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_0xeadax1d)})})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[104]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax27=path[_0xd3a4[70]](config[_0xd3a4[66]],_0xd3a4[67],_0xd3a4[68],_0xd3a4[69],_0xeadax14[_0xd3a4[38]][_0xd3a4[71]]);fs[_0xd3a4[107]](_0xeadax27,function(_0xeadax28){if(!_0xeadax28){_0xeadax27= path[_0xd3a4[70]](config[_0xd3a4[66]],_0xd3a4[67],_0xd3a4[68],_0xd3a4[69],_0xd3a4[105])};return _0xeadax15[_0xd3a4[106]](_0xeadax27)})};exports[_0xd3a4[108]]= function(_0xeadax14,_0xeadax15,_0xeadax16){if(_0xeadax14[_0xd3a4[38]][_0xd3a4[37]]=== _0xd3a4[109]){var _0xeadax27=path[_0xd3a4[70]](config[_0xd3a4[66]],_0xd3a4[67],_0xd3a4[68],_0xd3a4[69],_0xd3a4[110]);fs[_0xd3a4[107]](_0xeadax27,function(_0xeadax28){return _0xeadax15[_0xd3a4[106]](_0xeadax27)})}else {return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]])[_0xd3a4[25]](function(_0xeadax1d){if(_0xeadax1d){var _0xeadax27=path[_0xd3a4[70]](config[_0xd3a4[66]],_0xd3a4[67],_0xd3a4[68],_0xd3a4[69],_0xeadax1d[_0xd3a4[86]]?_0xeadax1d[_0xd3a4[86]]:_0xd3a4[105]);fs[_0xd3a4[107]](_0xeadax27,function(_0xeadax28){if(!_0xeadax28){_0xeadax27= path[_0xd3a4[70]](config[_0xd3a4[66]],_0xd3a4[67],_0xd3a4[68],_0xd3a4[69],_0xd3a4[105])};return _0xeadax15[_0xd3a4[106]](_0xeadax27)})}else {return _0xeadax15[_0xd3a4[35]](500)}})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})}};exports[_0xd3a4[111]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax20;return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]],{attributes:[_0xd3a4[37]]})[_0xd3a4[25]](function(_0xeadax1d){_0xeadax20= _0xeadax1d;if(!_0xeadax20){return _0xeadax15[_0xd3a4[35]](401)};switch(_0xeadax14[_0xd3a4[38]][_0xd3a4[126]]){case _0xd3a4[114]:return _0xeadax20[_0xd3a4[113]]({attributes:[_0xd3a4[52]]});case _0xd3a4[116]:return _0xeadax20[_0xd3a4[115]]({attributes:[_0xd3a4[37],_0xd3a4[52]]});case _0xd3a4[118]:return _0xeadax20[_0xd3a4[117]]({attributes:[_0xd3a4[37],_0xd3a4[52]]});case _0xd3a4[120]:return _0xeadax20[_0xd3a4[119]]({attributes:[_0xd3a4[37],_0xd3a4[52]]});case _0xd3a4[122]:return _0xeadax20[_0xd3a4[121]]({attributes:[_0xd3a4[37],_0xd3a4[52]]});case _0xd3a4[124]:return _0xeadax20[_0xd3a4[123]]({attributes:[_0xd3a4[37],_0xd3a4[52]]});default:throw  new Error(_0xd3a4[125])}})[_0xd3a4[25]](function(_0xeadax29){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]](_[_0xd3a4[112]](_0xeadax29,function(_0xeadax2a){var _0xeadax2b={name:_0xeadax2a[_0xd3a4[52]]};if(_0xeadax2a[_0xd3a4[37]]){_0xeadax2b[_0xd3a4[37]]= _0xeadax2a[_0xd3a4[37]]};return _0xeadax2b}))})[_0xd3a4[22]](function(_0xeadax17){console[_0xd3a4[80]](_0xeadax17);return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[127]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax20;return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]],{attributes:[_0xd3a4[37]]})[_0xd3a4[25]](function(_0xeadax1d){_0xeadax20= _0xeadax1d;if(!_0xeadax20){return _0xeadax15[_0xd3a4[35]](401)};switch(_0xeadax14[_0xd3a4[38]][_0xd3a4[126]]){case _0xd3a4[114]:return _0xeadax20[_0xd3a4[128]](_0xeadax14[_0xd3a4[42]]);case _0xd3a4[116]:return _0xeadax20[_0xd3a4[129]](_0xeadax14[_0xd3a4[42]]);case _0xd3a4[118]:return _0xeadax20[_0xd3a4[130]](_0xeadax14[_0xd3a4[42]]);case _0xd3a4[120]:return _0xeadax20[_0xd3a4[131]](_0xeadax14[_0xd3a4[42]]);case _0xd3a4[122]:return _0xeadax20[_0xd3a4[132]](_0xeadax14[_0xd3a4[42]]);case _0xd3a4[124]:return _0xeadax20[_0xd3a4[133]](_0xeadax14[_0xd3a4[42]]);default:return null}})[_0xd3a4[25]](function(_0xeadax29){return _0xeadax15[_0xd3a4[35]](_0xeadax29?200:401)})[_0xd3a4[22]](function(_0xeadax17){console[_0xd3a4[80]](_0xeadax17)})};exports[_0xd3a4[134]]= function(_0xeadax14,_0xeadax15,_0xeadax16){var _0xeadax20;return User[_0xd3a4[39]](_0xeadax14[_0xd3a4[38]][_0xd3a4[37]],{attributes:[_0xd3a4[37]]})[_0xd3a4[25]](function(_0xeadax1d){_0xeadax20= _0xeadax1d;if(!_0xeadax20){return _0xeadax15[_0xd3a4[35]](401)};switch(_0xeadax14[_0xd3a4[38]][_0xd3a4[126]]){case _0xd3a4[114]:return _0xeadax20[_0xd3a4[135]](_0xeadax14[_0xd3a4[26]][_0xd3a4[55]]);case _0xd3a4[116]:return _0xeadax20[_0xd3a4[136]](_0xeadax14[_0xd3a4[26]][_0xd3a4[55]]);case _0xd3a4[118]:return _0xeadax20[_0xd3a4[137]](_0xeadax14[_0xd3a4[26]][_0xd3a4[55]]);case _0xd3a4[122]:return _0xeadax20[_0xd3a4[138]](_0xeadax14[_0xd3a4[26]][_0xd3a4[55]]);case _0xd3a4[120]:return _0xeadax20[_0xd3a4[139]](_0xeadax14[_0xd3a4[26]][_0xd3a4[55]]);case _0xd3a4[124]:return _0xeadax20[_0xd3a4[140]](_0xeadax14[_0xd3a4[26]][_0xd3a4[55]]);default:return null}})[_0xd3a4[25]](function(_0xeadax29){return _0xeadax15[_0xd3a4[35]](_0xeadax29?200:401)})[_0xd3a4[22]](function(_0xeadax17){console[_0xd3a4[80]](_0xeadax17)})};exports[_0xd3a4[141]]= function(_0xeadax14,_0xeadax15){var _0xeadax2c={};_0xeadax2c[_0xeadax14[_0xd3a4[38]][_0xd3a4[142]]]= _0xeadax14[_0xd3a4[42]][_0xd3a4[143]];return User[_0xd3a4[28]]({where:_0xeadax2c})[_0xd3a4[25]](function(_0xeadax18){if(_0xeadax18[_0xd3a4[144]]){return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]]({isValid:false,value:_0xeadax14[_0xd3a4[42]][_0xd3a4[143]]})};return _0xeadax15[_0xd3a4[24]](200)[_0xd3a4[23]]({isValid:true,value:_0xeadax14[_0xd3a4[42]][_0xd3a4[143]]})})[_0xd3a4[22]](function(_0xeadax17){return handleError(_0xeadax15,_0xeadax17)})};exports[_0xd3a4[145]]= function(_0xeadax14,_0xeadax15,_0xeadax16){_0xeadax15[_0xd3a4[147]](_0xd3a4[146])};function handleError(_0xeadax15,_0xeadax17){return _0xeadax15[_0xd3a4[24]](500)[_0xd3a4[23]](_0xeadax17)}
\ No newline at end of file