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