-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var async = require('async');
-var Mustache = require('mustache');
-
-var sequelize = require('../../models').sequelize;
-var ChatWebsite = require('../../models').ChatWebsite;
-var ChatApplication = require('../../models').ChatApplication;
-var snippet = require('../../components/xchatty').snippet;
-
-// Get list of chat_websites
-exports.index = function (req, res, next) {
-
- var attributes = ['name', 'address', 'description', 'remote'];
- 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: {},
- 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 + '%';
- }
- });
-
- ChatWebsite
- .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;
-
- 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) {
- res.status(500).send({
- error: 'Something blew up!'
- });
- });
-};
-
-// Get a single chat_website
-exports.show = function (req, res) {
- ChatWebsite
- .findById(req.params.id)
- .then(function (chat_website) {
- if (!chat_website) {
- return res.sendStatus(404);
- }
- return res.send(chat_website);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Get a snippet for chat_website
-exports.getSnippetCode = function (req, res) {
- ChatWebsite
- .findById(req.params.id)
- .then(function (chat_website) {
- var configSnippet = {
- remote: chat_website.remote,
- websiteId: req.params.id
- };
- var html = Mustache.render(snippet, configSnippet);
- return res.send(html);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Creates a new chat_website in the DB.
-exports.create = function (req, res) {
- ChatWebsite
- .create(req.body)
- .then(function (chat_website) {
- return res.status(201).send(chat_website);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Updates an existing chat_website in the DB.
-exports.update = function (req, res) {
- if (req.body.id) {
- delete req.body.id;
- }
-
- return ChatWebsite
- .findById(req.params.id)
- .then(function (chat_website) {
- if (!chat_website) {
- return res.sendStatus(404);
- }
-
- return chat_website
- .update(req.body)
- .then(function (chat_website) {
- return res.status(200).send(chat_website);
- })
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a chat_website from the DB.
-exports.destroy = function (req, res) {
- ChatWebsite
- .find({
- where: {
- id: req.params.id
- }
- })
- .then(function (chat_website) {
- if (!chat_website) {
- return res.sendStatus(404);
- }
- chat_website.destroy()
- .then(function () {
- return res.sendStatus(204);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Sort Mail Applications
-exports.sortApplications = function (req, res, next) {
-
- ChatApplication
- .findAll({
- where: {
- id: req.body.applications
- }
- })
- .then(function (chatApplications) {
- var tmpChatApplications = chatApplications;
-
- async.waterfall([
- function (callback) {
- ChatApplication
- .destroy({
- where: {
- id: req.body.applications
- }
- }).then(function () {
- callback();
- })
- .catch(function (err) {
- callback(err);
- });
- },
- function (callback) {
- var sortedApplications = [];
- for (var i = 0; i < req.body.applications.length; i++) {
- var tmpChatApplication = _.find(tmpChatApplications, {
- 'id': req.body.applications[i]
- });
- if (tmpChatApplication) {
- tmpChatApplication.priority = i + 1;
- sortedApplications.push(tmpChatApplication.dataValues);
- }
- }
-
- ChatApplication
- .bulkCreate(sortedApplications)
- .then(function () {
- callback();
- })
- .catch(function (err) {
- callback(err);
- });
- },
- function (callback) {
- ChatApplication
- .findAll({
- where: {
- id: req.body.applications
- },
- order: 'priority',
- include: [{
- all: true
- }]
- })
- .then(function (chatApplications) {
- callback(null, chatApplications);
- })
- .catch(function (err) {
- callback(err);
- });
- }
- ], function (err, result) {
- if (err) {
- return handleError(res, err);
- } else {
- return res.status(201).send(result);
- }
- });
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function (req, res) {
- ChatWebsite
- .destroy({
- where: {
- id: req.query.id
- },
- individualHooks: true
- })
- .then(function () {
- return res.sendStatus(204);
- })
- .catch(function (err) {
- return handleError(res, err);
- });
-};
-
-function handleError(res, err) {
- return res.status(500).send(err);
-}
+var _0xd990=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\x6D\x75\x73\x74\x61\x63\x68\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x43\x68\x61\x74\x57\x65\x62\x73\x69\x74\x65","\x43\x68\x61\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x73\x6E\x69\x70\x70\x65\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6D\x70\x6F\x6E\x65\x6E\x74\x73\x2F\x78\x63\x68\x61\x74\x74\x79","\x69\x6E\x64\x65\x78","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x72\x65\x6D\x6F\x74\x65","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x53\x6F\x6D\x65\x74\x68\x69\x6E\x67\x20\x62\x6C\x65\x77\x20\x75\x70\x21","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x67\x65\x74\x53\x6E\x69\x70\x70\x65\x74\x43\x6F\x64\x65","\x72\x65\x6E\x64\x65\x72","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0xd990[0];var _=require(_0xd990[1]);var util=require(_0xd990[2]);var async=require(_0xd990[3]);var Mustache=require(_0xd990[4]);var sequelize=require(_0xd990[6])[_0xd990[5]];var ChatWebsite=require(_0xd990[6])[_0xd990[7]];var ChatApplication=require(_0xd990[6])[_0xd990[8]];var snippet=require(_0xd990[10])[_0xd990[9]];exports[_0xd990[11]]=function(_0x1dc6x9,_0x1dc6xa,_0x1dc6xb){var _0x1dc6xc=[_0xd990[12],_0xd990[13],_0xd990[14],_0xd990[15]];var _0x1dc6xd=_0x1dc6x9[_0xd990[17]][_0xd990[16]]?parseInt(_0x1dc6x9[_0xd990[17]][_0xd990[16]],10):100;var _0x1dc6xe=_0x1dc6x9[_0xd990[17]][_0xd990[18]]?parseInt(_0x1dc6x9[_0xd990[17]][_0xd990[18]],10):0;var _0x1dc6xf={where:{},limit:_0x1dc6xd,offset:_0x1dc6xe*_0x1dc6xd};_[_0xd990[32]](_0x1dc6x9[_0xd990[17]],function(_0x1dc6x10,_0x1dc6x11){switch(_0x1dc6x11){case _0xd990[16]:;case _0xd990[18]:break ;;case _0xd990[21]:_0x1dc6xf[_0xd990[19]]=util[_0xd990[24]](_0xd990[20],_0x1dc6x9[_0xd990[17]][_0xd990[21]],_0x1dc6x9[_0xd990[17]][_0xd990[22]]||_0xd990[23])||null;break ;;case _0xd990[22]:break ;;case _0xd990[30]:_0x1dc6xf[_0xd990[26]][_0xd990[25]]=[];_0x1dc6xc[_0xd990[29]](function(_0x1dc6x12){var _0x1dc6x13={};_0x1dc6x13[_0x1dc6x12]={$like:_0xd990[27]+_0x1dc6x10+_0xd990[27]};_0x1dc6xf[_0xd990[26]][_0xd990[25]][_0xd990[28]](_0x1dc6x13);});break ;;default:_0x1dc6xf[_0xd990[26]][_0x1dc6x11]={$like:{}};_0x1dc6xf[_0xd990[26]][_0x1dc6x11][_0xd990[31]]=_0xd990[27]+_0x1dc6x10+_0xd990[27];;}});ChatWebsite[_0xd990[47]](_0x1dc6xf)[_0xd990[46]](function(_0x1dc6x15){var _0x1dc6x16=Math[_0xd990[38]](_0x1dc6x15[_0xd990[37]]/_0x1dc6xd);var _0x1dc6x17=_0x1dc6x16>(_0x1dc6xf[_0xd990[39]]+1)?util[_0xd990[24]](_0xd990[40],_0x1dc6x9[_0xd990[41]],_0x1dc6x9[_0xd990[43]][_0xd990[42]],_0x1dc6x9[_0xd990[44]],_0x1dc6xe+1):null;var _0x1dc6x18=_0x1dc6xe>0?util[_0xd990[24]](_0xd990[40],_0x1dc6x9[_0xd990[41]],_0x1dc6x9[_0xd990[43]][_0xd990[42]],_0x1dc6x9[_0xd990[44]],_0x1dc6xe-1):null;_0x1dc6xa[_0xd990[35]](200)[_0xd990[34]]({count:_0x1dc6x15[_0xd990[37]],rows:_0x1dc6x15[_0xd990[45]],next_page:_0x1dc6x17,previous_page:_0x1dc6x18,total_pages:_0x1dc6x16});})[_0xd990[36]](function(_0x1dc6x14){_0x1dc6xa[_0xd990[35]](500)[_0xd990[34]]({error:_0xd990[33]})});};exports[_0xd990[48]]=function(_0x1dc6x9,_0x1dc6xa){ChatWebsite[_0xd990[52]](_0x1dc6x9[_0xd990[51]][_0xd990[50]])[_0xd990[46]](function(_0x1dc6x19){if(!_0x1dc6x19){return _0x1dc6xa[_0xd990[49]](404)};return _0x1dc6xa[_0xd990[34]](_0x1dc6x19);})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)})};exports[_0xd990[53]]=function(_0x1dc6x9,_0x1dc6xa){ChatWebsite[_0xd990[52]](_0x1dc6x9[_0xd990[51]][_0xd990[50]])[_0xd990[46]](function(_0x1dc6x19){var _0x1dc6x1a={remote:_0x1dc6x19[_0xd990[15]],websiteId:_0x1dc6x9[_0xd990[51]][_0xd990[50]]};var _0x1dc6x1b=Mustache[_0xd990[54]](snippet,_0x1dc6x1a);return _0x1dc6xa[_0xd990[34]](_0x1dc6x1b);})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)})};exports[_0xd990[55]]=function(_0x1dc6x9,_0x1dc6xa){ChatWebsite[_0xd990[55]](_0x1dc6x9[_0xd990[56]])[_0xd990[46]](function(_0x1dc6x19){return _0x1dc6xa[_0xd990[35]](201)[_0xd990[34]](_0x1dc6x19)})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)})};exports[_0xd990[57]]=function(_0x1dc6x9,_0x1dc6xa){if(_0x1dc6x9[_0xd990[56]][_0xd990[50]]){delete _0x1dc6x9[_0xd990[56]][_0xd990[50]]};return ChatWebsite[_0xd990[52]](_0x1dc6x9[_0xd990[51]][_0xd990[50]])[_0xd990[46]](function(_0x1dc6x19){if(!_0x1dc6x19){return _0x1dc6xa[_0xd990[49]](404)};return _0x1dc6x19[_0xd990[57]](_0x1dc6x9[_0xd990[56]])[_0xd990[46]](function(_0x1dc6x19){return _0x1dc6xa[_0xd990[35]](200)[_0xd990[34]](_0x1dc6x19)});})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)});};exports[_0xd990[58]]=function(_0x1dc6x9,_0x1dc6xa){ChatWebsite[_0xd990[59]]({where:{id:_0x1dc6x9[_0xd990[51]][_0xd990[50]]}})[_0xd990[46]](function(_0x1dc6x19){if(!_0x1dc6x19){return _0x1dc6xa[_0xd990[49]](404)};_0x1dc6x19[_0xd990[58]]()[_0xd990[46]](function(){return _0x1dc6xa[_0xd990[49]](204)})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)});})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)})};exports[_0xd990[60]]=function(_0x1dc6x9,_0x1dc6xa,_0x1dc6xb){ChatApplication[_0xd990[66]]({where:{id:_0x1dc6x9[_0xd990[56]][_0xd990[61]]}})[_0xd990[46]](function(_0x1dc6x1c){var _0x1dc6x1d=_0x1dc6x1c;async[_0xd990[67]]([function(_0x1dc6x1e){ChatApplication[_0xd990[58]]({where:{id:_0x1dc6x9[_0xd990[56]][_0xd990[61]]}})[_0xd990[46]](function(){_0x1dc6x1e()})[_0xd990[36]](function(_0x1dc6x14){_0x1dc6x1e(_0x1dc6x14)})},function(_0x1dc6x1e){var _0x1dc6x1f=[];for(var _0x1dc6x20=0;_0x1dc6x20<_0x1dc6x9[_0xd990[56]][_0xd990[61]][_0xd990[62]];_0x1dc6x20++){var _0x1dc6x21=_[_0xd990[59]](_0x1dc6x1d,{"\x69\x64":_0x1dc6x9[_0xd990[56]][_0xd990[61]][_0x1dc6x20]});if(_0x1dc6x21){_0x1dc6x21[_0xd990[63]]=_0x1dc6x20+1;_0x1dc6x1f[_0xd990[28]](_0x1dc6x21[_0xd990[64]]);};};ChatApplication[_0xd990[65]](_0x1dc6x1f)[_0xd990[46]](function(){_0x1dc6x1e()})[_0xd990[36]](function(_0x1dc6x14){_0x1dc6x1e(_0x1dc6x14)});},function(_0x1dc6x1e){ChatApplication[_0xd990[66]]({where:{id:_0x1dc6x9[_0xd990[56]][_0xd990[61]]},order:_0xd990[63],include:[{all:true}]})[_0xd990[46]](function(_0x1dc6x1c){_0x1dc6x1e(null,_0x1dc6x1c)})[_0xd990[36]](function(_0x1dc6x14){_0x1dc6x1e(_0x1dc6x14)})}],function(_0x1dc6x14,_0x1dc6x15){if(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)}else {return _0x1dc6xa[_0xd990[35]](201)[_0xd990[34]](_0x1dc6x15)}});})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)})};exports[_0xd990[68]]=function(_0x1dc6x9,_0x1dc6xa){ChatWebsite[_0xd990[58]]({where:{id:_0x1dc6x9[_0xd990[17]][_0xd990[50]]},individualHooks:true})[_0xd990[46]](function(){return _0x1dc6xa[_0xd990[49]](204)})[_0xd990[36]](function(_0x1dc6x14){return handleError(_0x1dc6xa,_0x1dc6x14)})};function handleError(_0x1dc6xa,_0x1dc6x14){return _0x1dc6xa[_0xd990[35]](500)[_0xd990[34]](_0x1dc6x14)}
\ No newline at end of file