Built motion from commit e6806ed6.|2.6.0
[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 _0xb64f=['type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','keys','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChatQueues','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','UserChatQueue','pick','ChatQueueId','User','findAndCountAll','UserId','updatedAt','format','%s/%s','SIP','chatPause','createdAt','getTeams','order','addTeams','ids','online','interface','flatMap','Agents','find','sequelize','each','forEach','emit','userChatQueue:save','removeTeams','Team','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','SELECT','every','includes','compact','value','transaction','isEmpty','addAgents','omit','spread','removeAgents','isArray','userChatQueue:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','mustache','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatQueue.socket','jayson/promise','client','http','request','info','ChatQueue,\x20%s,\x20%s','request\x20sent','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','get','UserProfileResource','end','sendStatus','stack','name','index','map','ChatQueue','rawAttributes','fieldName'];(function(_0x4d630f,_0x3ae208){var _0x1d8bf3=function(_0x4908ef){while(--_0x4908ef){_0x4d630f['push'](_0x4d630f['shift']());}};_0x1d8bf3(++_0x3ae208);}(_0xb64f,0x18a));var _0xfb64=function(_0x3dd8dd,_0x369f8e){_0x3dd8dd=_0x3dd8dd-0x0;var _0x33e300=_0xb64f[_0x3dd8dd];return _0x33e300;};'use strict';var emlformat=require(_0xfb64('0x0'));var rimraf=require(_0xfb64('0x1'));var zipdir=require(_0xfb64('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfb64('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xfb64('0x4'));var util=require('util');var path=require(_0xfb64('0x5'));var sox=require(_0xfb64('0x6'));var csv=require(_0xfb64('0x7'));var ejs=require(_0xfb64('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xfb64('0x9'));var jsforce=require(_0xfb64('0xa'));var deskjs=require(_0xfb64('0xb'));var toCsv=require('to-csv');var querystring=require(_0xfb64('0xc'));var Papa=require(_0xfb64('0xd'));var Redis=require('ioredis');var authService=require(_0xfb64('0xe'));var qs=require(_0xfb64('0xf'));var as=require(_0xfb64('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfb64('0x11'))('api');var utils=require(_0xfb64('0x12'));var config=require(_0xfb64('0x13'));var licenseUtil=require(_0xfb64('0x14'));var db=require(_0xfb64('0x15'))['db'];config[_0xfb64('0x16')]=_['defaults'](config[_0xfb64('0x16')],{'host':_0xfb64('0x17'),'port':0x18eb});var socket=require(_0xfb64('0x18'))(new Redis(config[_0xfb64('0x16')]));require(_0xfb64('0x19'))['register'](socket);var jayson=require(_0xfb64('0x1a'));var client=jayson[_0xfb64('0x1b')][_0xfb64('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x9bffc5,_0x4dfd90,_0x3e7593,_0x33ef1c){return new BPromise(function(_0x394e8e,_0xd3de46){var _0x31d749=_0x33ef1c||client;return _0x31d749[_0xfb64('0x1d')](_0x9bffc5,_0x3e7593)['then'](function(_0x2a34ef){logger[_0xfb64('0x1e')](_0xfb64('0x1f'),_0x4dfd90,_0xfb64('0x20'));logger['debug'](_0xfb64('0x21'),_0x4dfd90,_0xfb64('0x20'),JSON[_0xfb64('0x22')](_0x2a34ef));if(_0x2a34ef[_0xfb64('0x23')]){if(_0x2a34ef[_0xfb64('0x23')][_0xfb64('0x24')]===0x1f4){logger[_0xfb64('0x23')](_0xfb64('0x1f'),_0x4dfd90,_0x2a34ef[_0xfb64('0x23')][_0xfb64('0x25')]);return _0xd3de46(_0x2a34ef['error']['message']);}logger[_0xfb64('0x23')](_0xfb64('0x1f'),_0x4dfd90,_0x2a34ef[_0xfb64('0x23')]['message']);return _0x394e8e(_0x2a34ef[_0xfb64('0x23')][_0xfb64('0x25')]);}else{logger[_0xfb64('0x1e')]('ChatQueue,\x20%s,\x20%s',_0x4dfd90,_0xfb64('0x20'));_0x394e8e(_0x2a34ef[_0xfb64('0x26')]['message']);}})[_0xfb64('0x27')](function(_0x3aea52){logger[_0xfb64('0x23')](_0xfb64('0x1f'),_0x4dfd90,_0x3aea52);_0xd3de46(_0x3aea52);});});}function respondWithStatusCode(_0x47bc79,_0x11d4ce){_0x11d4ce=_0x11d4ce||0xcc;return function(_0x459ee4){if(_0x459ee4){return _0x47bc79['sendStatus'](_0x11d4ce);}return _0x47bc79[_0xfb64('0x28')](_0x11d4ce)['end']();};}function respondWithResult(_0x6f6d9e,_0x539e92){_0x539e92=_0x539e92||0xc8;return function(_0x4dff09){if(_0x4dff09){return _0x6f6d9e[_0xfb64('0x28')](_0x539e92)[_0xfb64('0x29')](_0x4dff09);}};}function respondWithFilteredResult(_0x117efd,_0x16e4d5){return function(_0x16e251){if(_0x16e251){var _0x222376=typeof _0x16e4d5['offset']==='undefined'&&typeof _0x16e4d5[_0xfb64('0x2a')]===_0xfb64('0x2b');var _0x4640a4=_0x16e251[_0xfb64('0x2c')];var _0x34f93a=_0x222376?0x0:_0x16e4d5[_0xfb64('0x2d')];var _0x1d2de8=_0x222376?_0x16e251[_0xfb64('0x2c')]:_0x16e4d5['offset']+_0x16e4d5[_0xfb64('0x2a')];var _0x138ebd;if(_0x1d2de8>=_0x4640a4){_0x1d2de8=_0x4640a4;_0x138ebd=0xc8;}else{_0x138ebd=0xce;}_0x117efd['status'](_0x138ebd);return _0x117efd[_0xfb64('0x2e')](_0xfb64('0x2f'),_0x34f93a+'-'+_0x1d2de8+'/'+_0x4640a4)[_0xfb64('0x29')](_0x16e251);}return null;};}function patchUpdates(_0x4d6b7d){return function(_0x6f43a5){try{jsonpatch[_0xfb64('0x30')](_0x6f43a5,_0x4d6b7d,!![]);}catch(_0x37535a){return BPromise[_0xfb64('0x31')](_0x37535a);}return _0x6f43a5[_0xfb64('0x32')]();};}function saveUpdates(_0x2eba90,_0x22e6d7){return function(_0x38eb9a){if(_0x38eb9a){return _0x38eb9a[_0xfb64('0x33')](_0x2eba90)['then'](function(_0x4f872a){return _0x4f872a;});}return null;};}function removeEntity(_0x40a665,_0x165842){return function(_0x1218e6){if(_0x1218e6){return _0x1218e6[_0xfb64('0x34')]()[_0xfb64('0x35')](function(){var _0x28d762=_0x1218e6[_0xfb64('0x36')]({'plain':!![]});var _0x3902de='ChatQueues';return db[_0xfb64('0x37')][_0xfb64('0x34')]({'where':{'type':_0x3902de,'resourceId':_0x28d762['id']}})['then'](function(){return _0x1218e6;});})['then'](function(){_0x40a665[_0xfb64('0x28')](0xcc)[_0xfb64('0x38')]();});}};}function handleEntityNotFound(_0x48a161,_0x222ec7){return function(_0x5ea96a){if(!_0x5ea96a){_0x48a161[_0xfb64('0x39')](0x194);}return _0x5ea96a;};}function handleError(_0x195893,_0x1a595d){_0x1a595d=_0x1a595d||0x1f4;return function(_0x2dccc1){logger[_0xfb64('0x23')](_0x2dccc1[_0xfb64('0x3a')]);if(_0x2dccc1[_0xfb64('0x3b')]){delete _0x2dccc1['name'];}_0x195893[_0xfb64('0x28')](_0x1a595d)['send'](_0x2dccc1);};}exports[_0xfb64('0x3c')]=function(_0x478799,_0x144bf2){var _0x6e669e={},_0x4dab0c={},_0x2b0d8f={'count':0x0,'rows':[]};var _0x16cb6c=_[_0xfb64('0x3d')](db[_0xfb64('0x3e')][_0xfb64('0x3f')],function(_0x59df81){return{'name':_0x59df81[_0xfb64('0x40')],'type':_0x59df81[_0xfb64('0x41')][_0xfb64('0x42')]};});_0x4dab0c[_0xfb64('0x43')]=_[_0xfb64('0x3d')](_0x16cb6c,_0xfb64('0x3b'));_0x4dab0c[_0xfb64('0x44')]=_['keys'](_0x478799[_0xfb64('0x44')]);_0x4dab0c[_0xfb64('0x45')]=_['intersection'](_0x4dab0c[_0xfb64('0x43')],_0x4dab0c[_0xfb64('0x44')]);_0x6e669e[_0xfb64('0x46')]=_[_0xfb64('0x47')](_0x4dab0c['model'],qs[_0xfb64('0x48')](_0x478799['query'][_0xfb64('0x48')]));_0x6e669e[_0xfb64('0x46')]=_0x6e669e[_0xfb64('0x46')][_0xfb64('0x49')]?_0x6e669e['attributes']:_0x4dab0c['model'];if(!_0x478799[_0xfb64('0x44')][_0xfb64('0x4a')](_0xfb64('0x4b'))){_0x6e669e[_0xfb64('0x2a')]=qs['limit'](_0x478799[_0xfb64('0x44')][_0xfb64('0x2a')]);_0x6e669e[_0xfb64('0x2d')]=qs[_0xfb64('0x2d')](_0x478799[_0xfb64('0x44')]['offset']);}_0x6e669e['order']=qs['sort'](_0x478799[_0xfb64('0x44')][_0xfb64('0x4c')]);_0x6e669e[_0xfb64('0x4d')]=qs[_0xfb64('0x45')](_['pick'](_0x478799['query'],_0x4dab0c[_0xfb64('0x45')]),_0x16cb6c);if(_0x478799['query'][_0xfb64('0x4e')]){_0x6e669e[_0xfb64('0x4d')]=_['merge'](_0x6e669e[_0xfb64('0x4d')],{'$or':_[_0xfb64('0x3d')](_0x16cb6c,function(_0x1fba57){if(_0x1fba57[_0xfb64('0x41')]!==_0xfb64('0x4f')){var _0x1861af={};_0x1861af[_0x1fba57[_0xfb64('0x3b')]]={'$like':'%'+_0x478799[_0xfb64('0x44')][_0xfb64('0x4e')]+'%'};return _0x1861af;}})});}_0x6e669e=_[_0xfb64('0x50')]({},_0x6e669e,_0x478799[_0xfb64('0x51')]);var _0x1b7b2d={'where':_0x6e669e[_0xfb64('0x4d')]};return db[_0xfb64('0x3e')]['count'](_0x1b7b2d)[_0xfb64('0x35')](function(_0x3cc8fe){_0x2b0d8f[_0xfb64('0x2c')]=_0x3cc8fe;if(_0x478799['query'][_0xfb64('0x52')]){_0x6e669e[_0xfb64('0x53')]=[{'all':!![]}];}return db[_0xfb64('0x3e')][_0xfb64('0x54')](_0x6e669e);})[_0xfb64('0x35')](function(_0x50286d){_0x2b0d8f[_0xfb64('0x55')]=_0x50286d;return _0x2b0d8f;})[_0xfb64('0x35')](respondWithFilteredResult(_0x144bf2,_0x6e669e))[_0xfb64('0x27')](handleError(_0x144bf2,null));};exports[_0xfb64('0x56')]=function(_0x2f9c51,_0x3dc83c){var _0x4ee478={'raw':!![],'where':{'id':_0x2f9c51[_0xfb64('0x57')]['id']}},_0x37eaee={};_0x37eaee['model']=_[_0xfb64('0x58')](db[_0xfb64('0x3e')][_0xfb64('0x3f')]);_0x37eaee[_0xfb64('0x44')]=_[_0xfb64('0x58')](_0x2f9c51[_0xfb64('0x44')]);_0x37eaee[_0xfb64('0x45')]=_[_0xfb64('0x47')](_0x37eaee[_0xfb64('0x43')],_0x37eaee[_0xfb64('0x44')]);_0x4ee478[_0xfb64('0x46')]=_[_0xfb64('0x47')](_0x37eaee[_0xfb64('0x43')],qs[_0xfb64('0x48')](_0x2f9c51['query'][_0xfb64('0x48')]));_0x4ee478[_0xfb64('0x46')]=_0x4ee478[_0xfb64('0x46')][_0xfb64('0x49')]?_0x4ee478[_0xfb64('0x46')]:_0x37eaee[_0xfb64('0x43')];if(_0x2f9c51[_0xfb64('0x44')][_0xfb64('0x52')]){_0x4ee478['include']=[{'all':!![]}];}_0x4ee478=_[_0xfb64('0x50')]({},_0x4ee478,_0x2f9c51[_0xfb64('0x51')]);return db[_0xfb64('0x3e')]['find'](_0x4ee478)[_0xfb64('0x35')](handleEntityNotFound(_0x3dc83c,null))[_0xfb64('0x35')](respondWithResult(_0x3dc83c,null))['catch'](handleError(_0x3dc83c,null));};exports[_0xfb64('0x59')]=function(_0x21c877,_0x1df813){return db[_0xfb64('0x3e')][_0xfb64('0x59')](_0x21c877['body'],{})[_0xfb64('0x35')](function(_0x51eb3a){var _0x34f650=_0x21c877[_0xfb64('0x5a')][_0xfb64('0x36')]({'plain':!![]});if(!_0x34f650)throw new Error(_0xfb64('0x5b'));if(_0x34f650[_0xfb64('0x5c')]==='user'){var _0x520b87=_0x51eb3a[_0xfb64('0x36')]({'plain':!![]});var _0x28270f=_0xfb64('0x5d');return db['UserProfileSection']['find']({'where':{'name':_0x28270f,'userProfileId':_0x34f650[_0xfb64('0x5e')]},'raw':!![]})[_0xfb64('0x35')](function(_0x22ddf9){if(_0x22ddf9&&_0x22ddf9[_0xfb64('0x5f')]===0x0){return db[_0xfb64('0x37')][_0xfb64('0x59')]({'name':_0x520b87['name'],'resourceId':_0x520b87['id'],'type':_0x22ddf9[_0xfb64('0x3b')],'sectionId':_0x22ddf9['id']},{})['then'](function(){return _0x51eb3a;});}else{return _0x51eb3a;}})[_0xfb64('0x27')](function(_0x5f3324){logger[_0xfb64('0x23')](_0xfb64('0x60'),_0x5f3324);throw _0x5f3324;});}return _0x51eb3a;})[_0xfb64('0x35')](respondWithResult(_0x1df813,0xc9))[_0xfb64('0x27')](handleError(_0x1df813,null));};exports['update']=function(_0x1245f9,_0x3321c9){if(_0x1245f9[_0xfb64('0x61')]['id']){delete _0x1245f9[_0xfb64('0x61')]['id'];}return db[_0xfb64('0x3e')]['find']({'where':{'id':_0x1245f9['params']['id']}})[_0xfb64('0x35')](handleEntityNotFound(_0x3321c9,null))[_0xfb64('0x35')](saveUpdates(_0x1245f9[_0xfb64('0x61')],null))[_0xfb64('0x35')](respondWithResult(_0x3321c9,null))[_0xfb64('0x27')](handleError(_0x3321c9,null));};exports['destroy']=function(_0x523189,_0x45a037){return db[_0xfb64('0x3e')]['find']({'where':{'id':_0x523189[_0xfb64('0x57')]['id']}})['then'](handleEntityNotFound(_0x45a037,null))[_0xfb64('0x35')](removeEntity(_0x45a037,null))['catch'](handleError(_0x45a037,null));};exports[_0xfb64('0x62')]=function(_0xd6cb3c,_0x532919){return db[_0xfb64('0x3e')][_0xfb64('0x62')]()[_0xfb64('0x35')](respondWithResult(_0x532919,null))[_0xfb64('0x27')](handleError(_0x532919,null));};exports[_0xfb64('0x63')]=function(_0x3664c6,_0x281bf1,_0x51474b){var _0x2fbf95={'raw':!![],'where':{}},_0xed12c2={},_0x338035;return db[_0xfb64('0x3e')][_0xfb64('0x64')]({'where':{'id':_0x3664c6[_0xfb64('0x57')]['id']}})[_0xfb64('0x35')](handleEntityNotFound(_0x281bf1,null))[_0xfb64('0x35')](function(_0x44d993){if(_0x44d993){_0x338035=_0x44d993[_0xfb64('0x36')]({'plain':!![]});_0xed12c2['model']=_[_0xfb64('0x58')](db[_0xfb64('0x65')][_0xfb64('0x3f')]);_0xed12c2[_0xfb64('0x44')]=_[_0xfb64('0x58')](_0x3664c6[_0xfb64('0x44')]);_0xed12c2[_0xfb64('0x45')]=_[_0xfb64('0x47')](_0xed12c2[_0xfb64('0x43')],_0xed12c2[_0xfb64('0x44')]);_0x2fbf95['attributes']=_[_0xfb64('0x47')](_0xed12c2[_0xfb64('0x43')],qs[_0xfb64('0x48')](_0x3664c6[_0xfb64('0x44')][_0xfb64('0x48')]));_0x2fbf95[_0xfb64('0x46')]=_0x2fbf95[_0xfb64('0x46')]['length']?_0x2fbf95[_0xfb64('0x46')]:_0xed12c2[_0xfb64('0x43')];if(!_0x3664c6[_0xfb64('0x44')]['hasOwnProperty']('nolimit')){_0x2fbf95[_0xfb64('0x2a')]=qs[_0xfb64('0x2a')](_0x3664c6[_0xfb64('0x44')][_0xfb64('0x2a')]);_0x2fbf95[_0xfb64('0x2d')]=qs[_0xfb64('0x2d')](_0x3664c6[_0xfb64('0x44')][_0xfb64('0x2d')]);}_0x2fbf95['order']=qs[_0xfb64('0x4c')](_0x3664c6[_0xfb64('0x44')][_0xfb64('0x4c')]);_0x2fbf95[_0xfb64('0x4d')]=qs['filters'](_[_0xfb64('0x66')](_0x3664c6['query'],_0xed12c2['filters']));_0x2fbf95[_0xfb64('0x4d')][_0xfb64('0x67')]=_0x44d993['id'];if(_0x3664c6[_0xfb64('0x44')]['filter']){_0x2fbf95[_0xfb64('0x4d')]=_[_0xfb64('0x50')](_0x2fbf95[_0xfb64('0x4d')],{'$or':_['map'](_0x2fbf95['attributes'],function(_0x21e082){var _0x18bbaa={};_0x18bbaa[_0x21e082]={'$like':'%'+_0x3664c6[_0xfb64('0x44')][_0xfb64('0x4e')]+'%'};return _0x18bbaa;})});}_0x2fbf95=_[_0xfb64('0x50')]({},_0x2fbf95,_0x3664c6['options']);return db[_0xfb64('0x65')][_0xfb64('0x54')](_0x2fbf95);}})[_0xfb64('0x35')](function(_0x59f015){if(_0x59f015){return db[_0xfb64('0x68')][_0xfb64('0x69')]({'where':{'id':_[_0xfb64('0x3d')](_0x59f015,_0xfb64('0x6a')),'role':'agent'},'attributes':['id',_0xfb64('0x3b'),'chatPause',_0xfb64('0x6b'),'createdAt']});}})[_0xfb64('0x35')](function(_0x553b4d){if(_0x553b4d){return{'count':_0x553b4d[_0xfb64('0x2c')],'rows':_['map'](_0x553b4d[_0xfb64('0x55')],function(_0x561076){return{'membername':_0x561076['name'],'UserId':_0x561076['id'],'queue_name':_0x338035['name'],'ChatQueueId':_0x338035['id'],'interface':util[_0xfb64('0x6c')](_0xfb64('0x6d'),_0xfb64('0x6e'),_0x561076[_0xfb64('0x3b')]),'penalty':0x0,'paused':_0x561076[_0xfb64('0x6f')],'createdAt':_0x561076[_0xfb64('0x70')],'updatedAt':_0x561076['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0xfb64('0x35')](respondWithFilteredResult(_0x281bf1,_0x2fbf95))['catch'](handleError(_0x281bf1,null));};exports[_0xfb64('0x71')]=function(_0x3e2dde,_0x32ab20,_0x14be39){var _0x1b9a22={};var _0x40ebcb={};var _0x1f3f3c;var _0x51b3be;return db[_0xfb64('0x3e')][_0xfb64('0x64')]({'where':{'id':_0x3e2dde[_0xfb64('0x57')]['id']}})['then'](handleEntityNotFound(_0x32ab20,null))['then'](function(_0x2a0da3){if(_0x2a0da3){_0x1f3f3c=_0x2a0da3;_0x40ebcb['model']=_[_0xfb64('0x58')](db['Team'][_0xfb64('0x3f')]);_0x40ebcb['query']=_[_0xfb64('0x58')](_0x3e2dde[_0xfb64('0x44')]);_0x40ebcb[_0xfb64('0x45')]=_['intersection'](_0x40ebcb[_0xfb64('0x43')],_0x40ebcb[_0xfb64('0x44')]);_0x1b9a22[_0xfb64('0x46')]=_[_0xfb64('0x47')](_0x40ebcb[_0xfb64('0x43')],qs[_0xfb64('0x48')](_0x3e2dde[_0xfb64('0x44')][_0xfb64('0x48')]));_0x1b9a22['attributes']=_0x1b9a22[_0xfb64('0x46')][_0xfb64('0x49')]?_0x1b9a22[_0xfb64('0x46')]:_0x40ebcb['model'];_0x1b9a22[_0xfb64('0x72')]=qs[_0xfb64('0x4c')](_0x3e2dde[_0xfb64('0x44')][_0xfb64('0x4c')]);_0x1b9a22[_0xfb64('0x4d')]=qs['filters'](_['pick'](_0x3e2dde[_0xfb64('0x44')],_0x40ebcb[_0xfb64('0x45')]));if(_0x3e2dde[_0xfb64('0x44')][_0xfb64('0x4e')]){_0x1b9a22['where']=_[_0xfb64('0x50')](_0x1b9a22[_0xfb64('0x4d')],{'$or':_[_0xfb64('0x3d')](_0x1b9a22[_0xfb64('0x46')],function(_0x1d734a){var _0x2b6523={};_0x2b6523[_0x1d734a]={'$like':'%'+_0x3e2dde[_0xfb64('0x44')]['filter']+'%'};return _0x2b6523;})});}_0x1b9a22=_[_0xfb64('0x50')]({},_0x1b9a22,_0x3e2dde[_0xfb64('0x51')]);return _0x1f3f3c[_0xfb64('0x71')](_0x1b9a22);}})['then'](function(_0x3d6255){if(_0x3d6255){_0x51b3be=_0x3d6255[_0xfb64('0x49')];if(!_0x3e2dde[_0xfb64('0x44')][_0xfb64('0x4a')](_0xfb64('0x4b'))){_0x1b9a22['limit']=qs[_0xfb64('0x2a')](_0x3e2dde[_0xfb64('0x44')][_0xfb64('0x2a')]);_0x1b9a22[_0xfb64('0x2d')]=qs['offset'](_0x3e2dde['query'][_0xfb64('0x2d')]);}return _0x1f3f3c[_0xfb64('0x71')](_0x1b9a22);}})[_0xfb64('0x35')](function(_0xd00adb){if(_0xd00adb){return _0xd00adb?{'count':_0x51b3be,'rows':_0xd00adb}:null;}})[_0xfb64('0x35')](respondWithResult(_0x32ab20,null))['catch'](handleError(_0x32ab20,null));};exports[_0xfb64('0x73')]=function(_0x2a5c36,_0x2f8ad1,_0xd3b77e){var _0x58ef3b=_0x2a5c36['body'][_0xfb64('0x74')];return db['Team'][_0xfb64('0x54')]({'where':{'id':_0x58ef3b},'attributes':['id'],'include':[{'model':db[_0xfb64('0x68')],'as':'Agents','attributes':['id','name',_0xfb64('0x75'),'voicePause',_0xfb64('0x76')],'raw':!![]}]})[_0xfb64('0x35')](function(_0x1de80b){if(_0x1de80b){var _0x9ae45a=_[_0xfb64('0x77')](_0x1de80b,function(_0x54bfce){var _0x435895=_0x54bfce[_0xfb64('0x36')]({'plain':!![]});return _0x435895[_0xfb64('0x78')];});return db['ChatQueue'][_0xfb64('0x79')]({'where':{'id':_0x2a5c36[_0xfb64('0x57')]['id']}})['then'](function(_0x1bfa54){return db[_0xfb64('0x7a')]['transaction'](function(_0x34afac){return _0x1bfa54['addTeams'](_0x58ef3b,{'transaction':_0x34afac})[_0xfb64('0x35')](function(){return BPromise[_0xfb64('0x7b')](_0x9ae45a,function(_0x55435d){return db[_0xfb64('0x65')]['findOrCreate']({'where':{'UserId':_0x55435d['id'],'ChatQueueId':_0x2a5c36['params']['id']},'transaction':_0x34afac});});})[_0xfb64('0x35')](function(){_0x9ae45a[_0xfb64('0x7c')](function(_0x428ebf){socket[_0xfb64('0x7d')](_0xfb64('0x7e'),{'UserId':_0x428ebf['id'],'ChatQueueId':_0x1bfa54['id']});});});});});}})[_0xfb64('0x35')](respondWithStatusCode(_0x2f8ad1,null))[_0xfb64('0x27')](handleError(_0x2f8ad1,null));};exports[_0xfb64('0x7f')]=function(_0x587d0d,_0x3825a3,_0x43fcbf){return db[_0xfb64('0x80')][_0xfb64('0x54')]({'where':{'id':_0x587d0d[_0xfb64('0x44')]['ids']},'attributes':['id'],'include':[{'model':db[_0xfb64('0x68')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xfb64('0x35')](handleEntityNotFound(_0x3825a3,null))[_0xfb64('0x35')](function(_0x82412d){var _0x444927=_[_0xfb64('0x3d')](_0x82412d,'id');var _0x52ca0e=[];var _0x186e55=[];var _0x4389af=squel['select']();_0x4389af[_0xfb64('0x81')](_0xfb64('0x82'))[_0xfb64('0x83')](_0xfb64('0x84'),'tq')[_0xfb64('0x85')](_0xfb64('0x86'),'ut',_0xfb64('0x87'))[_0xfb64('0x4d')]('ChatQueueId\x20=\x20?',_0x587d0d['params']['id']);for(var _0x50993b=0x0;_0x50993b<_0x82412d[_0xfb64('0x49')];_0x50993b+=0x1){let _0x1358bd=_0x82412d[_0x50993b];for(var _0x12ab91=0x0;_0x12ab91<_0x1358bd[_0xfb64('0x78')][_0xfb64('0x49')];_0x12ab91+=0x1){let _0x380649=_0x1358bd[_0xfb64('0x78')][_0x12ab91];var _0x88611c=_0x4389af[_0xfb64('0x88')]();_0x88611c[_0xfb64('0x4d')](_0xfb64('0x89'),_0x380649['id']);_0x186e55[_0xfb64('0x8a')](db[_0xfb64('0x7a')]['query'](_0x88611c['toString'](),{'type':db[_0xfb64('0x7a')]['QueryTypes'][_0xfb64('0x8b')]})['then'](function(_0xf22c26){if(_0xf22c26[_0xfb64('0x49')]===0x1){return _0x380649['id'];}else{var _0x1a7a97=_[_0xfb64('0x8c')](_[_0xfb64('0x3d')](_0xf22c26,'TeamId'),function(_0x33f8f5){return _[_0xfb64('0x8d')](_0x444927,_0x33f8f5);});if(_0x1a7a97){return _0x380649['id'];}}}));}}return BPromise['all'](_0x186e55)[_0xfb64('0x35')](function(_0x4963b9){_0x52ca0e=_(_0x52ca0e)['union'](_0x4963b9)[_0xfb64('0x8e')]()[_0xfb64('0x8f')]();return db[_0xfb64('0x3e')][_0xfb64('0x79')]({'where':{'id':_0x587d0d[_0xfb64('0x57')]['id']}})[_0xfb64('0x35')](function(_0x48bccc){return db[_0xfb64('0x7a')][_0xfb64('0x90')](function(_0x22b479){return _0x48bccc[_0xfb64('0x7f')](_0x587d0d[_0xfb64('0x44')][_0xfb64('0x74')],{'transaction':_0x22b479})[_0xfb64('0x35')](function(){if(!_[_0xfb64('0x91')](_0x52ca0e)){return _0x48bccc['removeAgents'](_0x52ca0e,{'transaction':_0x22b479});}})[_0xfb64('0x35')](function(){_0x52ca0e[_0xfb64('0x7c')](function(_0x389515){socket['emit']('userChatQueue:remove',{'UserId':_0x389515,'ChatQueueId':_0x48bccc['id']});});});});});});})[_0xfb64('0x35')](respondWithStatusCode(_0x3825a3,null))['catch'](handleError(_0x3825a3,null));};exports[_0xfb64('0x92')]=function(_0x1ed3b7,_0x353660,_0x1bf9f2){return db[_0xfb64('0x3e')][_0xfb64('0x79')]({'where':{'id':_0x1ed3b7['params']['id']}})[_0xfb64('0x35')](handleEntityNotFound(_0x353660,null))[_0xfb64('0x35')](function(_0x1ae3d7){if(_0x1ae3d7){return _0x1ae3d7[_0xfb64('0x92')](_0x1ed3b7[_0xfb64('0x61')][_0xfb64('0x74')],_[_0xfb64('0x93')](_0x1ed3b7[_0xfb64('0x61')],[_0xfb64('0x74'),'id'])||{})[_0xfb64('0x94')](function(_0x5d98e1){for(var _0x1c9ec8=0x0;_0x1c9ec8<_0x1ed3b7['body'][_0xfb64('0x74')][_0xfb64('0x49')];_0x1c9ec8+=0x1){socket[_0xfb64('0x7d')](_0xfb64('0x7e'),{'UserId':Number(_0x1ed3b7[_0xfb64('0x61')][_0xfb64('0x74')][_0x1c9ec8]),'ChatQueueId':Number(_0x1ed3b7[_0xfb64('0x57')]['id'])});}return _0x5d98e1;});}})[_0xfb64('0x35')](respondWithResult(_0x353660,null))[_0xfb64('0x27')](handleError(_0x353660,null));};exports[_0xfb64('0x95')]=function(_0x3d98e3,_0xbff51c,_0x150780){return db[_0xfb64('0x3e')]['find']({'where':{'id':_0x3d98e3[_0xfb64('0x57')]['id']}})[_0xfb64('0x35')](handleEntityNotFound(_0xbff51c,null))[_0xfb64('0x35')](function(_0x292efa){if(_0x292efa){return _0x292efa[_0xfb64('0x95')](_0x3d98e3[_0xfb64('0x44')][_0xfb64('0x74')])[_0xfb64('0x35')](function(){if(_[_0xfb64('0x96')](_0x3d98e3[_0xfb64('0x44')][_0xfb64('0x74')])){for(var _0x567fbd=0x0;_0x567fbd<_0x3d98e3['query'][_0xfb64('0x74')][_0xfb64('0x49')];_0x567fbd+=0x1){socket[_0xfb64('0x7d')](_0xfb64('0x97'),{'UserId':Number(_0x3d98e3[_0xfb64('0x44')][_0xfb64('0x74')][_0x567fbd]),'ChatQueueId':Number(_0x3d98e3[_0xfb64('0x57')]['id'])});}}else{socket[_0xfb64('0x7d')](_0xfb64('0x97'),{'UserId':Number(_0x3d98e3[_0xfb64('0x44')][_0xfb64('0x74')]),'ChatQueueId':Number(_0x3d98e3[_0xfb64('0x57')]['id'])});}});}})[_0xfb64('0x35')](respondWithStatusCode(_0xbff51c,null))[_0xfb64('0x27')](handleError(_0xbff51c,null));};exports['getAgents']=function(_0x1dcbcd,_0x405cef,_0x2ad926){var _0x52a32e={};var _0xe32618={};var _0x245cf0;var _0x3044f6;return db[_0xfb64('0x3e')][_0xfb64('0x64')]({'where':{'id':_0x1dcbcd['params']['id']}})[_0xfb64('0x35')](handleEntityNotFound(_0x405cef,null))[_0xfb64('0x35')](function(_0xc76d5b){if(_0xc76d5b){_0x245cf0=_0xc76d5b;_0xe32618[_0xfb64('0x43')]=_[_0xfb64('0x58')](db['User'][_0xfb64('0x3f')]);_0xe32618[_0xfb64('0x44')]=_[_0xfb64('0x58')](_0x1dcbcd[_0xfb64('0x44')]);_0xe32618[_0xfb64('0x45')]=_[_0xfb64('0x47')](_0xe32618[_0xfb64('0x43')],_0xe32618[_0xfb64('0x44')]);_0x52a32e['attributes']=_[_0xfb64('0x47')](_0xe32618['model'],qs['fields'](_0x1dcbcd['query'][_0xfb64('0x48')]));_0x52a32e[_0xfb64('0x46')]=_0x52a32e[_0xfb64('0x46')]['length']?_0x52a32e[_0xfb64('0x46')]:_0xe32618[_0xfb64('0x43')];_0x52a32e[_0xfb64('0x72')]=qs['sort'](_0x1dcbcd['query'][_0xfb64('0x4c')]);_0x52a32e[_0xfb64('0x4d')]=qs[_0xfb64('0x45')](_['pick'](_0x1dcbcd[_0xfb64('0x44')],_0xe32618['filters']));if(_0x1dcbcd['query'][_0xfb64('0x4e')]){_0x52a32e[_0xfb64('0x4d')]=_['merge'](_0x52a32e[_0xfb64('0x4d')],{'$or':_[_0xfb64('0x3d')](_0x52a32e[_0xfb64('0x46')],function(_0xa5c83){var _0x23116a={};_0x23116a[_0xa5c83]={'$like':'%'+_0x1dcbcd[_0xfb64('0x44')][_0xfb64('0x4e')]+'%'};return _0x23116a;})});}_0x52a32e=_[_0xfb64('0x50')]({},_0x52a32e,_0x1dcbcd['options']);return _0x245cf0[_0xfb64('0x98')](_0x52a32e);}})[_0xfb64('0x35')](function(_0x430a41){if(_0x430a41){_0x3044f6=_0x430a41[_0xfb64('0x49')];if(!_0x1dcbcd['query'][_0xfb64('0x4a')](_0xfb64('0x4b'))){_0x52a32e[_0xfb64('0x2a')]=qs[_0xfb64('0x2a')](_0x1dcbcd[_0xfb64('0x44')][_0xfb64('0x2a')]);_0x52a32e['offset']=qs[_0xfb64('0x2d')](_0x1dcbcd[_0xfb64('0x44')]['offset']);}return _0x245cf0[_0xfb64('0x98')](_0x52a32e);}})[_0xfb64('0x35')](function(_0xb855b2){if(_0xb855b2){return _0xb855b2?{'count':_0x3044f6,'rows':_0xb855b2}:null;}})[_0xfb64('0x35')](respondWithResult(_0x405cef,null))[_0xfb64('0x27')](handleError(_0x405cef,null));};