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