Built motion from commit (unavailable).|2.5.11
[motion2.git] / server / api / chatQueue / chatQueue.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xfaca=['isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatQueue.socket','http','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','json','offset','set','reject','save','destroy','get','ChatQueues','stack','name','index','ChatQueue','fieldName','key','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','count','includeAll','include','show','rawAttributes','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','findOne','UserChatQueue','ChatQueueId','User','findAndCountAll','UserId','chatPause','rows','%s/%s','SIP','createdAt','updatedAt','getTeams','ids','Team','findAll','Agents','online','voicePause','flatMap','sequelize','each','findOrCreate','forEach','userChatQueue:save','removeTeams','select','tq.TeamId','from','join','user_has_teams','clone','ut.UserId\x20=\x20?','push','QueryTypes','TeamId','includes','union','compact','transaction','isEmpty','removeAgents','emit','userChatQueue:remove','addAgents','spread'];(function(_0x545d01,_0x4404a2){var _0x575b3e=function(_0x5462f9){while(--_0x5462f9){_0x545d01['push'](_0x545d01['shift']());}};_0x575b3e(++_0x4404a2);}(_0xfaca,0x120));var _0xafac=function(_0x384a78,_0x5ba914){_0x384a78=_0x384a78-0x0;var _0xf4933b=_0xfaca[_0x384a78];return _0xf4933b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xafac('0x0'));var rimraf=require(_0xafac('0x1'));var zipdir=require(_0xafac('0x2'));var jsonpatch=require(_0xafac('0x3'));var rp=require(_0xafac('0x4'));var moment=require(_0xafac('0x5'));var BPromise=require(_0xafac('0x6'));var Mustache=require(_0xafac('0x7'));var util=require(_0xafac('0x8'));var path=require('path');var sox=require(_0xafac('0x9'));var csv=require(_0xafac('0xa'));var ejs=require(_0xafac('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xafac('0xc'));var jsforce=require(_0xafac('0xd'));var deskjs=require(_0xafac('0xe'));var toCsv=require(_0xafac('0xa'));var querystring=require(_0xafac('0xf'));var Papa=require('papaparse');var Redis=require(_0xafac('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xafac('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xafac('0x12'));var logger=require('../../config/logger')(_0xafac('0x13'));var utils=require(_0xafac('0x14'));var config=require(_0xafac('0x15'));var licenseUtil=require(_0xafac('0x16'));var db=require(_0xafac('0x17'))['db'];config[_0xafac('0x18')]=_['defaults'](config[_0xafac('0x18')],{'host':_0xafac('0x19'),'port':0x18eb});var socket=require(_0xafac('0x1a'))(new Redis(config[_0xafac('0x18')]));require(_0xafac('0x1b'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0xafac('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x4bc386,_0x4c4e10,_0x4ae948,_0x221be0){return new BPromise(function(_0xc3180b,_0x23cb88){var _0x20251b=_0x221be0||client;return _0x20251b[_0xafac('0x1d')](_0x4bc386,_0x4ae948)[_0xafac('0x1e')](function(_0x4e2c3f){logger[_0xafac('0x1f')](_0xafac('0x20'),_0x4c4e10,_0xafac('0x21'));logger['debug'](_0xafac('0x22'),_0x4c4e10,'request\x20sent',JSON[_0xafac('0x23')](_0x4e2c3f));if(_0x4e2c3f[_0xafac('0x24')]){if(_0x4e2c3f[_0xafac('0x24')][_0xafac('0x25')]===0x1f4){logger[_0xafac('0x24')]('ChatQueue,\x20%s,\x20%s',_0x4c4e10,_0x4e2c3f['error']['message']);return _0x23cb88(_0x4e2c3f[_0xafac('0x24')]['message']);}logger[_0xafac('0x24')]('ChatQueue,\x20%s,\x20%s',_0x4c4e10,_0x4e2c3f[_0xafac('0x24')][_0xafac('0x26')]);return _0xc3180b(_0x4e2c3f[_0xafac('0x24')][_0xafac('0x26')]);}else{logger[_0xafac('0x1f')](_0xafac('0x20'),_0x4c4e10,'request\x20sent');_0xc3180b(_0x4e2c3f[_0xafac('0x27')][_0xafac('0x26')]);}})[_0xafac('0x28')](function(_0x402763){logger['error'](_0xafac('0x20'),_0x4c4e10,_0x402763);_0x23cb88(_0x402763);});});}function respondWithStatusCode(_0x1cba83,_0x41e18b){_0x41e18b=_0x41e18b||0xcc;return function(_0x4c6c15){if(_0x4c6c15){return _0x1cba83[_0xafac('0x29')](_0x41e18b);}return _0x1cba83['status'](_0x41e18b)['end']();};}function respondWithResult(_0x4df34c,_0x213779){_0x213779=_0x213779||0xc8;return function(_0x48c2cb){if(_0x48c2cb){return _0x4df34c[_0xafac('0x2a')](_0x213779)[_0xafac('0x2b')](_0x48c2cb);}};}function respondWithFilteredResult(_0x54965a,_0x2b75ba){return function(_0x4e18ab){if(_0x4e18ab){var _0xf1f997=_0x4e18ab['count'],_0x1cc2ce=_0x2b75ba[_0xafac('0x2c')],_0x17c71b=_0x2b75ba[_0xafac('0x2c')]+_0x2b75ba['limit'],_0x24b9a9;if(_0x17c71b>=_0xf1f997){_0x17c71b=_0xf1f997;_0x24b9a9=0xc8;}else{_0x24b9a9=0xce;}_0x54965a[_0xafac('0x2a')](_0x24b9a9);return _0x54965a[_0xafac('0x2d')]('Content-Range',_0x1cc2ce+'-'+_0x17c71b+'/'+_0xf1f997)['json'](_0x4e18ab);}return null;};}function patchUpdates(_0x4fb9a8){return function(_0xa50fab){try{jsonpatch['apply'](_0xa50fab,_0x4fb9a8,!![]);}catch(_0x31ffbf){return BPromise[_0xafac('0x2e')](_0x31ffbf);}return _0xa50fab[_0xafac('0x2f')]();};}function saveUpdates(_0x2acc38,_0x27f7c0){return function(_0x2f092f){if(_0x2f092f){return _0x2f092f['update'](_0x2acc38)[_0xafac('0x1e')](function(_0x266f24){return _0x266f24;});}return null;};}function removeEntity(_0x260960,_0x458366){return function(_0x3fbd59){if(_0x3fbd59){return _0x3fbd59[_0xafac('0x30')]()[_0xafac('0x1e')](function(){var _0x4b0b6e=_0x3fbd59[_0xafac('0x31')]({'plain':!![]});var _0x17c02e=_0xafac('0x32');return db['UserProfileResource'][_0xafac('0x30')]({'where':{'type':_0x17c02e,'resourceId':_0x4b0b6e['id']}})['then'](function(){return _0x3fbd59;});})[_0xafac('0x1e')](function(){_0x260960[_0xafac('0x2a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x48bc6a,_0x57aa69){return function(_0x50a91e){if(!_0x50a91e){_0x48bc6a[_0xafac('0x29')](0x194);}return _0x50a91e;};}function handleError(_0x119ffa,_0x2289c8){_0x2289c8=_0x2289c8||0x1f4;return function(_0x487cde){logger[_0xafac('0x24')](_0x487cde[_0xafac('0x33')]);if(_0x487cde['name']){delete _0x487cde[_0xafac('0x34')];}_0x119ffa['status'](_0x2289c8)['send'](_0x487cde);};}exports[_0xafac('0x35')]=function(_0x54c501,_0x17ba00){var _0x5a0369={},_0x69bd30={},_0x370437={'count':0x0,'rows':[]};var _0x2e6a56=_['map'](db[_0xafac('0x36')]['rawAttributes'],function(_0x173981){return{'name':_0x173981[_0xafac('0x37')],'type':_0x173981['type'][_0xafac('0x38')]};});_0x69bd30[_0xafac('0x39')]=_[_0xafac('0x3a')](_0x2e6a56,_0xafac('0x34'));_0x69bd30['query']=_[_0xafac('0x3b')](_0x54c501[_0xafac('0x3c')]);_0x69bd30[_0xafac('0x3d')]=_[_0xafac('0x3e')](_0x69bd30[_0xafac('0x39')],_0x69bd30[_0xafac('0x3c')]);_0x5a0369[_0xafac('0x3f')]=_['intersection'](_0x69bd30[_0xafac('0x39')],qs['fields'](_0x54c501['query'][_0xafac('0x40')]));_0x5a0369[_0xafac('0x3f')]=_0x5a0369[_0xafac('0x3f')][_0xafac('0x41')]?_0x5a0369[_0xafac('0x3f')]:_0x69bd30[_0xafac('0x39')];if(!_0x54c501[_0xafac('0x3c')][_0xafac('0x42')]('nolimit')){_0x5a0369['limit']=qs[_0xafac('0x43')](_0x54c501['query'][_0xafac('0x43')]);_0x5a0369[_0xafac('0x2c')]=qs[_0xafac('0x2c')](_0x54c501[_0xafac('0x3c')][_0xafac('0x2c')]);}_0x5a0369[_0xafac('0x44')]=qs[_0xafac('0x45')](_0x54c501['query'][_0xafac('0x45')]);_0x5a0369['where']=qs[_0xafac('0x3d')](_[_0xafac('0x46')](_0x54c501[_0xafac('0x3c')],_0x69bd30[_0xafac('0x3d')]),_0x2e6a56);if(_0x54c501[_0xafac('0x3c')][_0xafac('0x47')]){_0x5a0369[_0xafac('0x48')]=_[_0xafac('0x49')](_0x5a0369[_0xafac('0x48')],{'$or':_[_0xafac('0x3a')](_0x2e6a56,function(_0x42ebc3){if(_0x42ebc3[_0xafac('0x4a')]!==_0xafac('0x4b')){var _0x991378={};_0x991378[_0x42ebc3[_0xafac('0x34')]]={'$like':'%'+_0x54c501[_0xafac('0x3c')]['filter']+'%'};return _0x991378;}})});}_0x5a0369=_['merge']({},_0x5a0369,_0x54c501[_0xafac('0x4c')]);var _0x16e5dd={'where':_0x5a0369[_0xafac('0x48')]};return db['ChatQueue'][_0xafac('0x4d')](_0x16e5dd)[_0xafac('0x1e')](function(_0x2ce5bf){_0x370437[_0xafac('0x4d')]=_0x2ce5bf;if(_0x54c501[_0xafac('0x3c')][_0xafac('0x4e')]){_0x5a0369[_0xafac('0x4f')]=[{'all':!![]}];}return db['ChatQueue']['findAll'](_0x5a0369);})[_0xafac('0x1e')](function(_0x2b8b48){_0x370437['rows']=_0x2b8b48;return _0x370437;})[_0xafac('0x1e')](respondWithFilteredResult(_0x17ba00,_0x5a0369))[_0xafac('0x28')](handleError(_0x17ba00,null));};exports[_0xafac('0x50')]=function(_0x136c50,_0x3a3e60){var _0x25e6c0={'raw':!![],'where':{'id':_0x136c50['params']['id']}},_0x757de2={};_0x757de2[_0xafac('0x39')]=_[_0xafac('0x3b')](db[_0xafac('0x36')][_0xafac('0x51')]);_0x757de2['query']=_[_0xafac('0x3b')](_0x136c50[_0xafac('0x3c')]);_0x757de2['filters']=_[_0xafac('0x3e')](_0x757de2[_0xafac('0x39')],_0x757de2[_0xafac('0x3c')]);_0x25e6c0[_0xafac('0x3f')]=_[_0xafac('0x3e')](_0x757de2['model'],qs['fields'](_0x136c50[_0xafac('0x3c')]['fields']));_0x25e6c0[_0xafac('0x3f')]=_0x25e6c0['attributes'][_0xafac('0x41')]?_0x25e6c0['attributes']:_0x757de2[_0xafac('0x39')];if(_0x136c50[_0xafac('0x3c')]['includeAll']){_0x25e6c0['include']=[{'all':!![]}];}_0x25e6c0=_['merge']({},_0x25e6c0,_0x136c50[_0xafac('0x4c')]);return db[_0xafac('0x36')]['find'](_0x25e6c0)[_0xafac('0x1e')](handleEntityNotFound(_0x3a3e60,null))[_0xafac('0x1e')](respondWithResult(_0x3a3e60,null))[_0xafac('0x28')](handleError(_0x3a3e60,null));};exports[_0xafac('0x52')]=function(_0x4f95e1,_0xd2bc4){return db[_0xafac('0x36')][_0xafac('0x52')](_0x4f95e1[_0xafac('0x53')],{})[_0xafac('0x1e')](function(_0x3c6134){var _0x5a6dca=_0x4f95e1[_0xafac('0x54')][_0xafac('0x31')]({'plain':!![]});if(!_0x5a6dca)throw new Error(_0xafac('0x55'));if(_0x5a6dca[_0xafac('0x56')]===_0xafac('0x54')){var _0x39a455=_0x3c6134[_0xafac('0x31')]({'plain':!![]});var _0x3a9238=_0xafac('0x32');return db[_0xafac('0x57')][_0xafac('0x58')]({'where':{'name':_0x3a9238,'userProfileId':_0x5a6dca[_0xafac('0x59')]},'raw':!![]})['then'](function(_0x21989c){if(_0x21989c&&_0x21989c[_0xafac('0x5a')]===0x0){return db[_0xafac('0x5b')][_0xafac('0x52')]({'name':_0x39a455['name'],'resourceId':_0x39a455['id'],'type':_0x21989c[_0xafac('0x34')],'sectionId':_0x21989c['id']},{})[_0xafac('0x1e')](function(){return _0x3c6134;});}else{return _0x3c6134;}})[_0xafac('0x28')](function(_0x4c5579){logger[_0xafac('0x24')](_0xafac('0x5c'),_0x4c5579);throw _0x4c5579;});}return _0x3c6134;})[_0xafac('0x1e')](respondWithResult(_0xd2bc4,0xc9))[_0xafac('0x28')](handleError(_0xd2bc4,null));};exports['update']=function(_0x361b40,_0x3af65d){if(_0x361b40[_0xafac('0x53')]['id']){delete _0x361b40[_0xafac('0x53')]['id'];}return db[_0xafac('0x36')][_0xafac('0x58')]({'where':{'id':_0x361b40['params']['id']}})[_0xafac('0x1e')](handleEntityNotFound(_0x3af65d,null))[_0xafac('0x1e')](saveUpdates(_0x361b40[_0xafac('0x53')],null))[_0xafac('0x1e')](respondWithResult(_0x3af65d,null))[_0xafac('0x28')](handleError(_0x3af65d,null));};exports[_0xafac('0x30')]=function(_0x2f9dbc,_0x4439d7){return db[_0xafac('0x36')][_0xafac('0x58')]({'where':{'id':_0x2f9dbc[_0xafac('0x5d')]['id']}})[_0xafac('0x1e')](handleEntityNotFound(_0x4439d7,null))['then'](removeEntity(_0x4439d7,null))['catch'](handleError(_0x4439d7,null));};exports[_0xafac('0x5e')]=function(_0x52cecb,_0x4fc726){return db[_0xafac('0x36')]['describe']()[_0xafac('0x1e')](respondWithResult(_0x4fc726,null))[_0xafac('0x28')](handleError(_0x4fc726,null));};exports['getMembers']=function(_0x2a8c04,_0x2e997e,_0x469bc8){var _0x54d6d4={'raw':!![],'where':{}},_0x43db3c={},_0x7640b7;return db[_0xafac('0x36')][_0xafac('0x5f')]({'where':{'id':_0x2a8c04['params']['id']}})['then'](handleEntityNotFound(_0x2e997e,null))['then'](function(_0x502671){if(_0x502671){_0x7640b7=_0x502671[_0xafac('0x31')]({'plain':!![]});_0x43db3c[_0xafac('0x39')]=_['keys'](db[_0xafac('0x60')][_0xafac('0x51')]);_0x43db3c[_0xafac('0x3c')]=_[_0xafac('0x3b')](_0x2a8c04[_0xafac('0x3c')]);_0x43db3c[_0xafac('0x3d')]=_[_0xafac('0x3e')](_0x43db3c['model'],_0x43db3c[_0xafac('0x3c')]);_0x54d6d4[_0xafac('0x3f')]=_['intersection'](_0x43db3c[_0xafac('0x39')],qs[_0xafac('0x40')](_0x2a8c04[_0xafac('0x3c')][_0xafac('0x40')]));_0x54d6d4['attributes']=_0x54d6d4[_0xafac('0x3f')][_0xafac('0x41')]?_0x54d6d4[_0xafac('0x3f')]:_0x43db3c[_0xafac('0x39')];if(!_0x2a8c04[_0xafac('0x3c')][_0xafac('0x42')]('nolimit')){_0x54d6d4[_0xafac('0x43')]=qs['limit'](_0x2a8c04[_0xafac('0x3c')][_0xafac('0x43')]);_0x54d6d4[_0xafac('0x2c')]=qs[_0xafac('0x2c')](_0x2a8c04[_0xafac('0x3c')][_0xafac('0x2c')]);}_0x54d6d4[_0xafac('0x44')]=qs['sort'](_0x2a8c04[_0xafac('0x3c')][_0xafac('0x45')]);_0x54d6d4['where']=qs[_0xafac('0x3d')](_[_0xafac('0x46')](_0x2a8c04[_0xafac('0x3c')],_0x43db3c['filters']));_0x54d6d4[_0xafac('0x48')][_0xafac('0x61')]=_0x502671['id'];if(_0x2a8c04[_0xafac('0x3c')][_0xafac('0x47')]){_0x54d6d4[_0xafac('0x48')]=_[_0xafac('0x49')](_0x54d6d4['where'],{'$or':_[_0xafac('0x3a')](_0x54d6d4[_0xafac('0x3f')],function(_0x50691d){var _0x57fba9={};_0x57fba9[_0x50691d]={'$like':'%'+_0x2a8c04[_0xafac('0x3c')][_0xafac('0x47')]+'%'};return _0x57fba9;})});}_0x54d6d4=_[_0xafac('0x49')]({},_0x54d6d4,_0x2a8c04[_0xafac('0x4c')]);return db['UserChatQueue']['findAll'](_0x54d6d4);}})[_0xafac('0x1e')](function(_0x2d61e9){if(_0x2d61e9){return db[_0xafac('0x62')][_0xafac('0x63')]({'where':{'id':_[_0xafac('0x3a')](_0x2d61e9,_0xafac('0x64')),'role':'agent'},'attributes':['id',_0xafac('0x34'),_0xafac('0x65'),'updatedAt','createdAt']});}})[_0xafac('0x1e')](function(_0x5622fa){if(_0x5622fa){return{'count':_0x5622fa['count'],'rows':_[_0xafac('0x3a')](_0x5622fa[_0xafac('0x66')],function(_0x17733e){return{'membername':_0x17733e[_0xafac('0x34')],'UserId':_0x17733e['id'],'queue_name':_0x7640b7[_0xafac('0x34')],'ChatQueueId':_0x7640b7['id'],'interface':util['format'](_0xafac('0x67'),_0xafac('0x68'),_0x17733e[_0xafac('0x34')]),'penalty':0x0,'paused':_0x17733e[_0xafac('0x65')],'createdAt':_0x17733e[_0xafac('0x69')],'updatedAt':_0x17733e[_0xafac('0x6a')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xafac('0x1e')](respondWithFilteredResult(_0x2e997e,_0x54d6d4))[_0xafac('0x28')](handleError(_0x2e997e,null));};exports[_0xafac('0x6b')]=function(_0x5af887,_0x57b562,_0x7d654e){var _0x55dad2={};var _0xdcb8f9={};var _0x23f8d2;var _0x3f2e7d;return db[_0xafac('0x36')]['findOne']({'where':{'id':_0x5af887['params']['id']}})[_0xafac('0x1e')](handleEntityNotFound(_0x57b562,null))['then'](function(_0x3480b9){if(_0x3480b9){_0x23f8d2=_0x3480b9;_0xdcb8f9['model']=_[_0xafac('0x3b')](db['Team'][_0xafac('0x51')]);_0xdcb8f9[_0xafac('0x3c')]=_[_0xafac('0x3b')](_0x5af887[_0xafac('0x3c')]);_0xdcb8f9[_0xafac('0x3d')]=_[_0xafac('0x3e')](_0xdcb8f9[_0xafac('0x39')],_0xdcb8f9[_0xafac('0x3c')]);_0x55dad2[_0xafac('0x3f')]=_[_0xafac('0x3e')](_0xdcb8f9[_0xafac('0x39')],qs[_0xafac('0x40')](_0x5af887[_0xafac('0x3c')][_0xafac('0x40')]));_0x55dad2['attributes']=_0x55dad2[_0xafac('0x3f')][_0xafac('0x41')]?_0x55dad2[_0xafac('0x3f')]:_0xdcb8f9[_0xafac('0x39')];_0x55dad2['order']=qs[_0xafac('0x45')](_0x5af887[_0xafac('0x3c')][_0xafac('0x45')]);_0x55dad2[_0xafac('0x48')]=qs[_0xafac('0x3d')](_[_0xafac('0x46')](_0x5af887[_0xafac('0x3c')],_0xdcb8f9[_0xafac('0x3d')]));if(_0x5af887[_0xafac('0x3c')][_0xafac('0x47')]){_0x55dad2[_0xafac('0x48')]=_[_0xafac('0x49')](_0x55dad2['where'],{'$or':_[_0xafac('0x3a')](_0x55dad2[_0xafac('0x3f')],function(_0x5002a1){var _0x37f14a={};_0x37f14a[_0x5002a1]={'$like':'%'+_0x5af887[_0xafac('0x3c')][_0xafac('0x47')]+'%'};return _0x37f14a;})});}_0x55dad2=_[_0xafac('0x49')]({},_0x55dad2,_0x5af887[_0xafac('0x4c')]);return _0x23f8d2['getTeams'](_0x55dad2);}})[_0xafac('0x1e')](function(_0x266d61){if(_0x266d61){_0x3f2e7d=_0x266d61[_0xafac('0x41')];if(!_0x5af887[_0xafac('0x3c')][_0xafac('0x42')]('nolimit')){_0x55dad2[_0xafac('0x43')]=qs[_0xafac('0x43')](_0x5af887[_0xafac('0x3c')][_0xafac('0x43')]);_0x55dad2[_0xafac('0x2c')]=qs[_0xafac('0x2c')](_0x5af887[_0xafac('0x3c')][_0xafac('0x2c')]);}return _0x23f8d2[_0xafac('0x6b')](_0x55dad2);}})[_0xafac('0x1e')](function(_0x27adae){if(_0x27adae){return _0x27adae?{'count':_0x3f2e7d,'rows':_0x27adae}:null;}})[_0xafac('0x1e')](respondWithResult(_0x57b562,null))[_0xafac('0x28')](handleError(_0x57b562,null));};exports['addTeams']=function(_0x4470b7,_0x82092c,_0x2d89d5){var _0x78021e=_0x4470b7['body'][_0xafac('0x6c')];return db[_0xafac('0x6d')][_0xafac('0x6e')]({'where':{'id':_0x78021e},'attributes':['id'],'include':[{'model':db[_0xafac('0x62')],'as':_0xafac('0x6f'),'attributes':['id','name',_0xafac('0x70'),_0xafac('0x71'),'interface'],'raw':!![]}]})['then'](function(_0x22efa6){if(_0x22efa6){var _0x2b6517=_[_0xafac('0x72')](_0x22efa6,function(_0xcd6a75){var _0x1332b9=_0xcd6a75[_0xafac('0x31')]({'plain':!![]});return _0x1332b9['Agents'];});return db[_0xafac('0x36')][_0xafac('0x58')]({'where':{'id':_0x4470b7['params']['id']}})[_0xafac('0x1e')](function(_0x2ef702){return db[_0xafac('0x73')]['transaction'](function(_0x9ffbfe){return _0x2ef702['addTeams'](_0x78021e,{'transaction':_0x9ffbfe})[_0xafac('0x1e')](function(){return BPromise[_0xafac('0x74')](_0x2b6517,function(_0x408309){return db[_0xafac('0x60')][_0xafac('0x75')]({'where':{'UserId':_0x408309['id'],'ChatQueueId':_0x4470b7[_0xafac('0x5d')]['id']},'transaction':_0x9ffbfe});});})['then'](function(){_0x2b6517[_0xafac('0x76')](function(_0x2dab58){socket['emit'](_0xafac('0x77'),{'UserId':_0x2dab58['id'],'ChatQueueId':_0x2ef702['id']});});});});});}})[_0xafac('0x1e')](respondWithStatusCode(_0x82092c,null))['catch'](handleError(_0x82092c,null));};exports[_0xafac('0x78')]=function(_0x4edc04,_0x1c3e2a,_0x4edbb1){return db[_0xafac('0x6d')]['findAll']({'where':{'id':_0x4edc04[_0xafac('0x3c')][_0xafac('0x6c')]},'attributes':['id'],'include':[{'model':db[_0xafac('0x62')],'as':_0xafac('0x6f'),'attributes':['id'],'raw':!![]}]})[_0xafac('0x1e')](handleEntityNotFound(_0x1c3e2a,null))['then'](function(_0x536bd9){var _0x270db8=_[_0xafac('0x3a')](_0x536bd9,'id');var _0x1fb7f5=[];var _0x4a650c=[];var _0x49cbfe=squel[_0xafac('0x79')]();_0x49cbfe['field'](_0xafac('0x7a'))[_0xafac('0x7b')]('team_has_chat_queues','tq')[_0xafac('0x7c')](_0xafac('0x7d'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xafac('0x48')]('ChatQueueId\x20=\x20?',_0x4edc04[_0xafac('0x5d')]['id']);for(var _0x17a6af=0x0;_0x17a6af<_0x536bd9[_0xafac('0x41')];_0x17a6af+=0x1){let _0x1ad148=_0x536bd9[_0x17a6af];for(var _0x912803=0x0;_0x912803<_0x1ad148[_0xafac('0x6f')]['length'];_0x912803+=0x1){let _0x433224=_0x1ad148[_0xafac('0x6f')][_0x912803];var _0x3ff16a=_0x49cbfe[_0xafac('0x7e')]();_0x3ff16a[_0xafac('0x48')](_0xafac('0x7f'),_0x433224['id']);_0x4a650c[_0xafac('0x80')](db[_0xafac('0x73')][_0xafac('0x3c')](_0x3ff16a['toString'](),{'type':db[_0xafac('0x73')][_0xafac('0x81')]['SELECT']})['then'](function(_0x127788){if(_0x127788[_0xafac('0x41')]===0x1){return _0x433224['id'];}else{var _0x301c7f=_['every'](_[_0xafac('0x3a')](_0x127788,_0xafac('0x82')),function(_0x2118c6){return _[_0xafac('0x83')](_0x270db8,_0x2118c6);});if(_0x301c7f){return _0x433224['id'];}}}));}}return BPromise['all'](_0x4a650c)['then'](function(_0x4482c9){_0x1fb7f5=_(_0x1fb7f5)[_0xafac('0x84')](_0x4482c9)[_0xafac('0x85')]()['value']();return db[_0xafac('0x36')][_0xafac('0x58')]({'where':{'id':_0x4edc04['params']['id']}})[_0xafac('0x1e')](function(_0x64a183){return db[_0xafac('0x73')][_0xafac('0x86')](function(_0x14881d){return _0x64a183[_0xafac('0x78')](_0x4edc04['query'][_0xafac('0x6c')],{'transaction':_0x14881d})[_0xafac('0x1e')](function(){if(!_[_0xafac('0x87')](_0x1fb7f5)){return _0x64a183[_0xafac('0x88')](_0x1fb7f5,{'transaction':_0x14881d});}})[_0xafac('0x1e')](function(){_0x1fb7f5[_0xafac('0x76')](function(_0x3e879b){socket[_0xafac('0x89')](_0xafac('0x8a'),{'UserId':_0x3e879b,'ChatQueueId':_0x64a183['id']});});});});});});})[_0xafac('0x1e')](respondWithStatusCode(_0x1c3e2a,null))[_0xafac('0x28')](handleError(_0x1c3e2a,null));};exports[_0xafac('0x8b')]=function(_0x52f5d9,_0xaabaaf,_0x6e3535){return db[_0xafac('0x36')][_0xafac('0x58')]({'where':{'id':_0x52f5d9[_0xafac('0x5d')]['id']}})[_0xafac('0x1e')](handleEntityNotFound(_0xaabaaf,null))[_0xafac('0x1e')](function(_0x3ad5b3){if(_0x3ad5b3){return _0x3ad5b3[_0xafac('0x8b')](_0x52f5d9[_0xafac('0x53')][_0xafac('0x6c')],_['omit'](_0x52f5d9['body'],[_0xafac('0x6c'),'id'])||{})[_0xafac('0x8c')](function(_0x3e14c6){for(var _0x384cbb=0x0;_0x384cbb<_0x52f5d9['body']['ids'][_0xafac('0x41')];_0x384cbb+=0x1){socket[_0xafac('0x89')]('userChatQueue:save',{'UserId':_0x52f5d9[_0xafac('0x53')][_0xafac('0x6c')][_0x384cbb],'ChatQueueId':_0x52f5d9['params']['id']});}return _0x3e14c6;});}})[_0xafac('0x1e')](respondWithResult(_0xaabaaf,null))[_0xafac('0x28')](handleError(_0xaabaaf,null));};exports[_0xafac('0x88')]=function(_0x210adf,_0x1cba3f,_0x56612d){return db['ChatQueue'][_0xafac('0x58')]({'where':{'id':_0x210adf['params']['id']}})['then'](handleEntityNotFound(_0x1cba3f,null))['then'](function(_0x48fbb3){if(_0x48fbb3){return _0x48fbb3[_0xafac('0x88')](_0x210adf[_0xafac('0x3c')]['ids'])[_0xafac('0x1e')](function(){if(_[_0xafac('0x8d')](_0x210adf[_0xafac('0x3c')]['ids'])){for(var _0xe018e1=0x0;_0xe018e1<_0x210adf[_0xafac('0x3c')][_0xafac('0x6c')]['length'];_0xe018e1+=0x1){socket[_0xafac('0x89')](_0xafac('0x8a'),{'UserId':Number(_0x210adf['query'][_0xafac('0x6c')][_0xe018e1]),'ChatQueueId':Number(_0x210adf[_0xafac('0x5d')]['id'])});}}else{socket[_0xafac('0x89')]('userChatQueue:remove',{'UserId':Number(_0x210adf[_0xafac('0x3c')][_0xafac('0x6c')]),'ChatQueueId':Number(_0x210adf[_0xafac('0x5d')]['id'])});}});}})[_0xafac('0x1e')](respondWithStatusCode(_0x1cba3f,null))[_0xafac('0x28')](handleError(_0x1cba3f,null));};exports[_0xafac('0x8e')]=function(_0x23a6cf,_0x499492,_0x45c12b){var _0x5b013b={};var _0x12e8e5={};var _0x3a4b61;var _0x5c473d;return db['ChatQueue'][_0xafac('0x5f')]({'where':{'id':_0x23a6cf['params']['id']}})['then'](handleEntityNotFound(_0x499492,null))[_0xafac('0x1e')](function(_0xa3dcaf){if(_0xa3dcaf){_0x3a4b61=_0xa3dcaf;_0x12e8e5['model']=_[_0xafac('0x3b')](db['User'][_0xafac('0x51')]);_0x12e8e5[_0xafac('0x3c')]=_[_0xafac('0x3b')](_0x23a6cf['query']);_0x12e8e5[_0xafac('0x3d')]=_[_0xafac('0x3e')](_0x12e8e5[_0xafac('0x39')],_0x12e8e5[_0xafac('0x3c')]);_0x5b013b['attributes']=_[_0xafac('0x3e')](_0x12e8e5[_0xafac('0x39')],qs['fields'](_0x23a6cf['query'][_0xafac('0x40')]));_0x5b013b[_0xafac('0x3f')]=_0x5b013b[_0xafac('0x3f')][_0xafac('0x41')]?_0x5b013b[_0xafac('0x3f')]:_0x12e8e5['model'];_0x5b013b['order']=qs[_0xafac('0x45')](_0x23a6cf['query'][_0xafac('0x45')]);_0x5b013b['where']=qs[_0xafac('0x3d')](_[_0xafac('0x46')](_0x23a6cf['query'],_0x12e8e5[_0xafac('0x3d')]));if(_0x23a6cf[_0xafac('0x3c')]['filter']){_0x5b013b[_0xafac('0x48')]=_[_0xafac('0x49')](_0x5b013b[_0xafac('0x48')],{'$or':_[_0xafac('0x3a')](_0x5b013b[_0xafac('0x3f')],function(_0x56a913){var _0x3d0a18={};_0x3d0a18[_0x56a913]={'$like':'%'+_0x23a6cf[_0xafac('0x3c')][_0xafac('0x47')]+'%'};return _0x3d0a18;})});}_0x5b013b=_[_0xafac('0x49')]({},_0x5b013b,_0x23a6cf['options']);return _0x3a4b61['getAgents'](_0x5b013b);}})[_0xafac('0x1e')](function(_0x3e9609){if(_0x3e9609){_0x5c473d=_0x3e9609[_0xafac('0x41')];if(!_0x23a6cf[_0xafac('0x3c')][_0xafac('0x42')]('nolimit')){_0x5b013b[_0xafac('0x43')]=qs[_0xafac('0x43')](_0x23a6cf['query'][_0xafac('0x43')]);_0x5b013b['offset']=qs[_0xafac('0x2c')](_0x23a6cf[_0xafac('0x3c')][_0xafac('0x2c')]);}return _0x3a4b61[_0xafac('0x8e')](_0x5b013b);}})[_0xafac('0x1e')](function(_0x509a10){if(_0x509a10){return _0x509a10?{'count':_0x5c473d,'rows':_0x509a10}:null;}})['then'](respondWithResult(_0x499492,null))['catch'](handleError(_0x499492,null));};