10c95efa1f708d621c7e7c07f5fcb5f6b82f8727
[motion2.git] / server / api / team / team.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 _0x24ee=['hasOwnProperty','eml-format','fast-json-patch','mustache','util','path','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./team.socket','register','sendStatus','end','undefined','limit','offset','status','set','Content-Range','json','apply','reject','save','update','then','get','Teams','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','intersection','attributes','fields','length','sort','filters','pick','filter','where','merge','VIRTUAL','options','Team','count','include','rows','show','keys','includeAll','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','getQueues','isValidChannel','channel','ValidationError','capitalize','toLowerCase','order','addQueues','findOne','Sequelize','Unknown\x20channel','add','removeQueues','remove','ids','addAgents','Chat','Mail','Fax','Openchannel','Whatsapp','sequelize','transaction','Voice','through','Queues','QueueId','TeamVoiceQueue','penalty','User','findOrCreate','emit','Queue:save','findAll','online','interface','UserVoiceQueueRt','upsert','isNil','format','SIP/%s','voicePause','all','Sms','removeAgents','Queue:remove','getAgents'];(function(_0x466365,_0x2f8477){var _0x402f5c=function(_0x1c3d07){while(--_0x1c3d07){_0x466365['push'](_0x466365['shift']());}};_0x402f5c(++_0x2f8477);}(_0x24ee,0x109));var _0xe24e=function(_0x4a5fa5,_0x51dadc){_0x4a5fa5=_0x4a5fa5-0x0;var _0x241266=_0x24ee[_0x4a5fa5];return _0x241266;};'use strict';var emlformat=require(_0xe24e('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe24e('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xe24e('0x2'));var util=require(_0xe24e('0x3'));var path=require(_0xe24e('0x4'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe24e('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe24e('0x6'));var squel=require(_0xe24e('0x7'));var crypto=require(_0xe24e('0x8'));var jsforce=require(_0xe24e('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xe24e('0xa'));var querystring=require(_0xe24e('0xb'));var Papa=require('papaparse');var Redis=require(_0xe24e('0xc'));var authService=require('../../components/auth/service');var qs=require(_0xe24e('0xd'));var as=require(_0xe24e('0xe'));var hardwareService=require(_0xe24e('0xf'));var logger=require('../../config/logger')(_0xe24e('0x10'));var utils=require(_0xe24e('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0xe24e('0x12'));var db=require(_0xe24e('0x13'))['db'];config[_0xe24e('0x14')]=_[_0xe24e('0x15')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xe24e('0x16'))(new Redis(config[_0xe24e('0x14')]));require(_0xe24e('0x17'))[_0xe24e('0x18')](socket);function respondWithStatusCode(_0x35b6c9,_0x4f03ce){_0x4f03ce=_0x4f03ce||0xcc;return function(_0x15b1ed){if(_0x15b1ed){return _0x35b6c9[_0xe24e('0x19')](_0x4f03ce);}return _0x35b6c9['status'](_0x4f03ce)[_0xe24e('0x1a')]();};}function respondWithResult(_0x395039,_0x441751){_0x441751=_0x441751||0xc8;return function(_0x332486){if(_0x332486){return _0x395039['status'](_0x441751)['json'](_0x332486);}};}function respondWithFilteredResult(_0x8d2ae6,_0x58b59d){return function(_0x3bfcf6){if(_0x3bfcf6){var _0x297db4=typeof _0x58b59d['offset']===_0xe24e('0x1b')&&typeof _0x58b59d[_0xe24e('0x1c')]==='undefined';var _0x5f27ef=_0x3bfcf6['count'];var _0x2cad9a=_0x297db4?0x0:_0x58b59d[_0xe24e('0x1d')];var _0x53afef=_0x297db4?_0x3bfcf6['count']:_0x58b59d['offset']+_0x58b59d[_0xe24e('0x1c')];var _0x586bec;if(_0x53afef>=_0x5f27ef){_0x53afef=_0x5f27ef;_0x586bec=0xc8;}else{_0x586bec=0xce;}_0x8d2ae6[_0xe24e('0x1e')](_0x586bec);return _0x8d2ae6[_0xe24e('0x1f')](_0xe24e('0x20'),_0x2cad9a+'-'+_0x53afef+'/'+_0x5f27ef)[_0xe24e('0x21')](_0x3bfcf6);}return null;};}function patchUpdates(_0x2b9f17){return function(_0x1895de){try{jsonpatch[_0xe24e('0x22')](_0x1895de,_0x2b9f17,!![]);}catch(_0x2bb435){return BPromise[_0xe24e('0x23')](_0x2bb435);}return _0x1895de[_0xe24e('0x24')]();};}function saveUpdates(_0x4ddb8f,_0x3dc27a){return function(_0x12ffcb){if(_0x12ffcb){return _0x12ffcb[_0xe24e('0x25')](_0x4ddb8f)[_0xe24e('0x26')](function(_0x2da236){return _0x2da236;});}return null;};}function removeEntity(_0x394c44,_0x21d483){return function(_0x50e593){if(_0x50e593){return _0x50e593['destroy']()['then'](function(){var _0x54a059=_0x50e593[_0xe24e('0x27')]({'plain':!![]});var _0x59bb5f=_0xe24e('0x28');return db['UserProfileResource'][_0xe24e('0x29')]({'where':{'type':_0x59bb5f,'resourceId':_0x54a059['id']}})[_0xe24e('0x26')](function(){return _0x50e593;});})[_0xe24e('0x26')](function(){_0x394c44[_0xe24e('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x37f321,_0x36838c){return function(_0x483416){if(!_0x483416){_0x37f321[_0xe24e('0x19')](0x194);}return _0x483416;};}function handleError(_0x421a14,_0x2ba5f7){_0x2ba5f7=_0x2ba5f7||0x1f4;return function(_0x2836fc){logger[_0xe24e('0x2a')](_0x2836fc[_0xe24e('0x2b')]);if(_0x2836fc[_0xe24e('0x2c')]){delete _0x2836fc[_0xe24e('0x2c')];}_0x421a14[_0xe24e('0x1e')](_0x2ba5f7)[_0xe24e('0x2d')](_0x2836fc);};}exports[_0xe24e('0x2e')]=function(_0x50f3d2,_0x3b411c){var _0x355dde={},_0xec20ce={},_0x1525c4={'count':0x0,'rows':[]};var _0x167194=_[_0xe24e('0x2f')](db['Team'][_0xe24e('0x30')],function(_0x4b5f89){return{'name':_0x4b5f89[_0xe24e('0x31')],'type':_0x4b5f89[_0xe24e('0x32')]['key']};});_0xec20ce[_0xe24e('0x33')]=_['map'](_0x167194,_0xe24e('0x2c'));_0xec20ce[_0xe24e('0x34')]=_['keys'](_0x50f3d2[_0xe24e('0x34')]);_0xec20ce['filters']=_[_0xe24e('0x35')](_0xec20ce['model'],_0xec20ce[_0xe24e('0x34')]);_0x355dde[_0xe24e('0x36')]=_[_0xe24e('0x35')](_0xec20ce[_0xe24e('0x33')],qs[_0xe24e('0x37')](_0x50f3d2['query'][_0xe24e('0x37')]));_0x355dde[_0xe24e('0x36')]=_0x355dde[_0xe24e('0x36')][_0xe24e('0x38')]?_0x355dde[_0xe24e('0x36')]:_0xec20ce[_0xe24e('0x33')];if(!_0x50f3d2['query']['hasOwnProperty']('nolimit')){_0x355dde[_0xe24e('0x1c')]=qs[_0xe24e('0x1c')](_0x50f3d2[_0xe24e('0x34')][_0xe24e('0x1c')]);_0x355dde[_0xe24e('0x1d')]=qs[_0xe24e('0x1d')](_0x50f3d2[_0xe24e('0x34')][_0xe24e('0x1d')]);}_0x355dde['order']=qs['sort'](_0x50f3d2[_0xe24e('0x34')][_0xe24e('0x39')]);_0x355dde['where']=qs[_0xe24e('0x3a')](_[_0xe24e('0x3b')](_0x50f3d2[_0xe24e('0x34')],_0xec20ce[_0xe24e('0x3a')]),_0x167194);if(_0x50f3d2['query'][_0xe24e('0x3c')]){_0x355dde[_0xe24e('0x3d')]=_[_0xe24e('0x3e')](_0x355dde['where'],{'$or':_[_0xe24e('0x2f')](_0x167194,function(_0x4d07d5){if(_0x4d07d5[_0xe24e('0x32')]!==_0xe24e('0x3f')){var _0x3b9526={};_0x3b9526[_0x4d07d5[_0xe24e('0x2c')]]={'$like':'%'+_0x50f3d2[_0xe24e('0x34')][_0xe24e('0x3c')]+'%'};return _0x3b9526;}})});}_0x355dde=_[_0xe24e('0x3e')]({},_0x355dde,_0x50f3d2[_0xe24e('0x40')]);var _0x33ef63={'where':_0x355dde[_0xe24e('0x3d')]};return db[_0xe24e('0x41')][_0xe24e('0x42')](_0x33ef63)['then'](function(_0x264ff8){_0x1525c4['count']=_0x264ff8;if(_0x50f3d2['query']['includeAll']){_0x355dde[_0xe24e('0x43')]=[{'all':!![]}];}return db['Team']['findAll'](_0x355dde);})[_0xe24e('0x26')](function(_0x2a5358){_0x1525c4[_0xe24e('0x44')]=_0x2a5358;return _0x1525c4;})[_0xe24e('0x26')](respondWithFilteredResult(_0x3b411c,_0x355dde))['catch'](handleError(_0x3b411c,null));};exports[_0xe24e('0x45')]=function(_0x5cb178,_0x486ba2){var _0x5a4b3d={'raw':![],'where':{'id':_0x5cb178['params']['id']}},_0x5a8702={};_0x5a8702[_0xe24e('0x33')]=_['keys'](db[_0xe24e('0x41')][_0xe24e('0x30')]);_0x5a8702[_0xe24e('0x34')]=_[_0xe24e('0x46')](_0x5cb178[_0xe24e('0x34')]);_0x5a8702[_0xe24e('0x3a')]=_[_0xe24e('0x35')](_0x5a8702[_0xe24e('0x33')],_0x5a8702[_0xe24e('0x34')]);_0x5a4b3d['attributes']=_[_0xe24e('0x35')](_0x5a8702[_0xe24e('0x33')],qs[_0xe24e('0x37')](_0x5cb178['query'][_0xe24e('0x37')]));_0x5a4b3d[_0xe24e('0x36')]=_0x5a4b3d[_0xe24e('0x36')]['length']?_0x5a4b3d[_0xe24e('0x36')]:_0x5a8702[_0xe24e('0x33')];if(_0x5cb178[_0xe24e('0x34')][_0xe24e('0x47')]){_0x5a4b3d[_0xe24e('0x43')]=[{'all':!![]}];}_0x5a4b3d=_['merge']({},_0x5a4b3d,_0x5cb178[_0xe24e('0x40')]);return db[_0xe24e('0x41')][_0xe24e('0x48')](_0x5a4b3d)[_0xe24e('0x26')](handleEntityNotFound(_0x486ba2,null))[_0xe24e('0x26')](respondWithResult(_0x486ba2,null))[_0xe24e('0x49')](handleError(_0x486ba2,null));};exports[_0xe24e('0x4a')]=function(_0x4f36e3,_0xc9fbc3){return db[_0xe24e('0x41')][_0xe24e('0x4a')](_0x4f36e3[_0xe24e('0x4b')],{})[_0xe24e('0x26')](function(_0x522f1c){var _0x7bad26=_0x4f36e3['user'][_0xe24e('0x27')]({'plain':!![]});if(!_0x7bad26)throw new Error(_0xe24e('0x4c'));if(_0x7bad26['role']===_0xe24e('0x4d')){var _0xa6215b=_0x522f1c['get']({'plain':!![]});var _0x33493d='Teams';return db[_0xe24e('0x4e')][_0xe24e('0x48')]({'where':{'name':_0x33493d,'userProfileId':_0x7bad26[_0xe24e('0x4f')]},'raw':!![]})['then'](function(_0x23db78){if(_0x23db78&&_0x23db78[_0xe24e('0x50')]===0x0){return db[_0xe24e('0x51')][_0xe24e('0x4a')]({'name':_0xa6215b[_0xe24e('0x2c')],'resourceId':_0xa6215b['id'],'type':_0x23db78[_0xe24e('0x2c')],'sectionId':_0x23db78['id']},{})[_0xe24e('0x26')](function(){return _0x522f1c;});}else{return _0x522f1c;}})[_0xe24e('0x49')](function(_0x1a2802){logger[_0xe24e('0x2a')](_0xe24e('0x52'),_0x1a2802);throw _0x1a2802;});}return _0x522f1c;})[_0xe24e('0x26')](respondWithResult(_0xc9fbc3,0xc9))[_0xe24e('0x49')](handleError(_0xc9fbc3,null));};exports[_0xe24e('0x25')]=function(_0x10ec27,_0x442dd3){if(_0x10ec27[_0xe24e('0x4b')]['id']){delete _0x10ec27[_0xe24e('0x4b')]['id'];}return db[_0xe24e('0x41')][_0xe24e('0x48')]({'where':{'id':_0x10ec27['params']['id']}})[_0xe24e('0x26')](handleEntityNotFound(_0x442dd3,null))[_0xe24e('0x26')](saveUpdates(_0x10ec27['body'],null))[_0xe24e('0x26')](respondWithResult(_0x442dd3,null))[_0xe24e('0x49')](handleError(_0x442dd3,null));};exports[_0xe24e('0x29')]=function(_0x1659dd,_0x55c752){return db['Team']['find']({'where':{'id':_0x1659dd[_0xe24e('0x53')]['id']}})[_0xe24e('0x26')](handleEntityNotFound(_0x55c752,null))[_0xe24e('0x26')](removeEntity(_0x55c752,null))['catch'](handleError(_0x55c752,null));};exports[_0xe24e('0x54')]=function(_0x53c207,_0x3cf498,_0xde526){return db[_0xe24e('0x41')]['findOne']({'where':{'id':_0x53c207['params']['id']}})[_0xe24e('0x26')](handleEntityNotFound(_0x3cf498,null))[_0xe24e('0x26')](function(_0x2b7dfe){if(!_0x53c207[_0xe24e('0x34')]['channel']||!utils[_0xe24e('0x55')](_0x53c207[_0xe24e('0x34')][_0xe24e('0x56')])){throw new db['Sequelize'][(_0xe24e('0x57'))]('Unknown\x20channel');}var _0x338a02={};var _0x9b617e={};_0x9b617e[_0xe24e('0x33')]=_['keys'](db[_[_0xe24e('0x58')](_0x53c207['query']['channel'][_0xe24e('0x59')]())+'Queue'][_0xe24e('0x30')]);_0x9b617e[_0xe24e('0x34')]=_[_0xe24e('0x46')](_0x53c207['query']);_0x9b617e[_0xe24e('0x3a')]=_[_0xe24e('0x35')](_0x9b617e[_0xe24e('0x33')],_0x9b617e[_0xe24e('0x34')]);_0x338a02[_0xe24e('0x36')]=_[_0xe24e('0x35')](_0x9b617e['model'],qs[_0xe24e('0x37')](_0x53c207[_0xe24e('0x34')][_0xe24e('0x37')]));_0x338a02[_0xe24e('0x36')]=_0x338a02[_0xe24e('0x36')][_0xe24e('0x38')]?_0x338a02[_0xe24e('0x36')]:_0x9b617e[_0xe24e('0x33')];_0x338a02[_0xe24e('0x1c')]=qs['limit'](_0x53c207[_0xe24e('0x34')]['limit']);_0x338a02[_0xe24e('0x1d')]=qs[_0xe24e('0x1d')](_0x53c207[_0xe24e('0x34')]['offset']);_0x338a02[_0xe24e('0x5a')]=qs[_0xe24e('0x39')](_0x53c207[_0xe24e('0x34')][_0xe24e('0x39')]);_0x338a02[_0xe24e('0x3d')]=qs[_0xe24e('0x3a')](_['pick'](_0x53c207[_0xe24e('0x34')],_0x9b617e[_0xe24e('0x3a')]));_0x338a02=_['merge']({},_0x338a02,_0x53c207[_0xe24e('0x40')]);return _0x2b7dfe[_0xe24e('0x27')+_['capitalize'](_0x53c207[_0xe24e('0x34')][_0xe24e('0x56')][_0xe24e('0x59')]())+'Queues'](_0x338a02);})[_0xe24e('0x26')](respondWithResult(_0x3cf498,null))[_0xe24e('0x49')](handleError(_0x3cf498,null));};exports[_0xe24e('0x5b')]=function(_0xc7eb3,_0x5c7207,_0x2f72b4){return db[_0xe24e('0x41')][_0xe24e('0x5c')]({'where':{'id':_0xc7eb3['params']['id']}})[_0xe24e('0x26')](function(_0x5e9879){if(_0x5e9879){if(!_0xc7eb3['body'][_0xe24e('0x56')]||!utils[_0xe24e('0x55')](_0xc7eb3[_0xe24e('0x4b')]['channel'])){throw new db[(_0xe24e('0x5d'))]['ValidationError'](_0xe24e('0x5e'));}return _0x5e9879[_0xe24e('0x5f')+_[_0xe24e('0x58')](_0xc7eb3[_0xe24e('0x4b')][_0xe24e('0x56')]['toLowerCase']())+'Queues'](_0xc7eb3[_0xe24e('0x4b')]['ids']);}return null;})[_0xe24e('0x26')](handleEntityNotFound(_0x5c7207,null))[_0xe24e('0x26')](respondWithStatusCode(_0x5c7207,null))[_0xe24e('0x49')](handleError(_0x5c7207,null));};exports[_0xe24e('0x60')]=function(_0x4083d2,_0x5d87ba,_0x4efcb2){return db[_0xe24e('0x41')]['findOne']({'where':{'id':_0x4083d2['params']['id']}})[_0xe24e('0x26')](function(_0x359559){if(_0x359559){if(!_0x4083d2[_0xe24e('0x34')][_0xe24e('0x56')]||!utils[_0xe24e('0x55')](_0x4083d2[_0xe24e('0x34')]['channel'])){throw new db[(_0xe24e('0x5d'))][(_0xe24e('0x57'))](_0xe24e('0x5e'));}return _0x359559[_0xe24e('0x61')+_[_0xe24e('0x58')](_0x4083d2['query'][_0xe24e('0x56')][_0xe24e('0x59')]())+'Queues'](_0x4083d2[_0xe24e('0x34')][_0xe24e('0x62')]);}return null;})[_0xe24e('0x26')](handleEntityNotFound(_0x5d87ba,null))[_0xe24e('0x26')](respondWithStatusCode(_0x5d87ba,null))[_0xe24e('0x49')](handleError(_0x5d87ba,null));};exports[_0xe24e('0x63')]=function(_0x3eed38,_0x3940f2){return db[_0xe24e('0x41')][_0xe24e('0x48')]({'where':{'id':_0x3eed38[_0xe24e('0x53')]['id']}})['then'](handleEntityNotFound(_0x3940f2,null))['then'](function(_0x794f1f){if(_0x794f1f){var _0x33c831=['Voice',_0xe24e('0x64'),_0xe24e('0x65'),'Sms',_0xe24e('0x66'),_0xe24e('0x67'),_0xe24e('0x68')];return db[_0xe24e('0x69')][_0xe24e('0x6a')](function(_0x27899f){var _0x3126c5=_[_0xe24e('0x2f')](_0x33c831,function(_0x5271fa){var _0xcc246b={'attributes':['id','name']};if(_0x5271fa===_0xe24e('0x6b')){_0xcc246b[_0xe24e('0x6c')]={'attributes':['penalty']};}return _0x794f1f[_0xe24e('0x27')+_0x5271fa+_0xe24e('0x6d')](_0xcc246b)['then'](function(_0x18ce6d){var _0x566dd4=_[_0xe24e('0x2f')](_0x18ce6d,function(_0x592517){var _0x214f9c=_[_0xe24e('0x2f')](_0x3eed38[_0xe24e('0x4b')][_0xe24e('0x62')],function(_0x3aa6e9){var _0x575d72={'where':{'UserId':_0x3aa6e9,[_0x5271fa+_0xe24e('0x6e')]:_0x592517['id']},'transaction':_0x27899f};if(_0x5271fa===_0xe24e('0x6b')){_0x575d72['defaults']={'penalty':_0x592517[_0xe24e('0x6f')][_0xe24e('0x70')]};}return db[_0xe24e('0x71')+_0x5271fa+'Queue'][_0xe24e('0x72')](_0x575d72)[_0xe24e('0x26')](function(){socket[_0xe24e('0x73')](_0xe24e('0x4d')+_0x5271fa+_0xe24e('0x74'),{'UserId':_0x3aa6e9,[_0x5271fa+_0xe24e('0x6e')]:_0x592517['id']});if(_0x5271fa!==_0xe24e('0x6b'))return;return db['User'][_0xe24e('0x75')]({'where':{'id':_0x3eed38[_0xe24e('0x4b')]['ids'],'online':0x1},'attributes':['id','name',_0xe24e('0x76'),'voicePause',_0xe24e('0x77')],'raw':!![]})['then'](function(_0xcf52c5){var _0x23e6ea=_[_0xe24e('0x2f')](_0xcf52c5,function(_0x2e83cd){return db[_0xe24e('0x78')][_0xe24e('0x79')]({'membername':_0x2e83cd['name'],'UserId':_0x2e83cd['id'],'queue_name':_0x592517[_0xe24e('0x2c')],'VoiceQueueId':_0x592517['id'],'interface':_[_0xe24e('0x7a')](_0x2e83cd['interface'])?util[_0xe24e('0x7b')](_0xe24e('0x7c'),_0x2e83cd[_0xe24e('0x2c')]):_0x2e83cd[_0xe24e('0x77')],'paused':_0x2e83cd[_0xe24e('0x7d')]||![],'penalty':_0x592517[_0xe24e('0x6f')][_0xe24e('0x70')]},{'transaction':_0x27899f});});return Promise[_0xe24e('0x7e')](_0x23e6ea);});});});return Promise[_0xe24e('0x7e')](_0x214f9c);});return Promise[_0xe24e('0x7e')](_0x566dd4);});});return Promise[_0xe24e('0x7e')](_0x3126c5)[_0xe24e('0x26')](function(){return _0x794f1f[_0xe24e('0x63')](_0x3eed38[_0xe24e('0x4b')][_0xe24e('0x62')],{'transaction':_0x27899f})['spread'](function(_0x5651c1){return _0x5651c1;});});});}})[_0xe24e('0x26')](respondWithResult(_0x3940f2,null))[_0xe24e('0x49')](handleError(_0x3940f2,null));};exports['removeAgents']=function(_0x3f0840,_0x4de08e){return db[_0xe24e('0x41')]['find']({'where':{'id':_0x3f0840[_0xe24e('0x53')]['id']}})['then'](handleEntityNotFound(_0x4de08e,null))['then'](function(_0x1001a5){if(_0x1001a5){var _0x44d835=[_0xe24e('0x6b'),'Chat','Mail',_0xe24e('0x7f'),_0xe24e('0x66'),_0xe24e('0x67'),_0xe24e('0x68')];return db[_0xe24e('0x69')][_0xe24e('0x6a')](function(_0x2a6b91){var _0x54cd84=_[_0xe24e('0x2f')](_0x44d835,function(_0x5bc34c){var _0x5a8d5b={'attributes':['id',_0xe24e('0x2c')]};return _0x1001a5[_0xe24e('0x27')+_0x5bc34c+_0xe24e('0x6d')](_0x5a8d5b)[_0xe24e('0x26')](function(_0x57d196){var _0x18aec3=_['map'](_0x57d196,function(_0x58a15b){return _0x58a15b[_0xe24e('0x80')](_0x3f0840[_0xe24e('0x34')][_0xe24e('0x62')],{'transaction':_0x2a6b91})[_0xe24e('0x26')](function(){var _0x91d3d3=JSON['parse']('['+_0x3f0840['query']['ids']+']');var _0x5b3c85=_['map'](_0x91d3d3,function(_0x1c0558){socket[_0xe24e('0x73')](_0xe24e('0x4d')+_0x5bc34c+_0xe24e('0x81'),{'UserId':Number(_0x1c0558),[_0x5bc34c+_0xe24e('0x6e')]:_0x58a15b['id']});if(_0x5bc34c!=='Voice')return;return db[_0xe24e('0x78')][_0xe24e('0x29')]({'where':{'VoiceQueueId':_0x58a15b['id'],'UserId':_0x1c0558},'transaction':_0x2a6b91});});return Promise[_0xe24e('0x7e')](_0x5b3c85);});});return Promise[_0xe24e('0x7e')](_0x18aec3);});});return Promise[_0xe24e('0x7e')](_0x54cd84)[_0xe24e('0x26')](function(){return _0x1001a5[_0xe24e('0x80')](_0x3f0840['query']['ids'],{'transaction':_0x2a6b91});});});}})[_0xe24e('0x26')](respondWithStatusCode(_0x4de08e,null))[_0xe24e('0x49')](handleError(_0x4de08e,null));};exports['getAgents']=function(_0x3cbd86,_0x5c7664,_0x7a2b9e){var _0x52ea3f={};var _0x12b6f9={};var _0x2c352d;var _0x13cb8f;return db['Team'][_0xe24e('0x5c')]({'where':{'id':_0x3cbd86[_0xe24e('0x53')]['id']}})['then'](handleEntityNotFound(_0x5c7664,null))[_0xe24e('0x26')](function(_0x509837){if(_0x509837){_0x2c352d=_0x509837;_0x12b6f9[_0xe24e('0x33')]=_[_0xe24e('0x46')](db[_0xe24e('0x71')][_0xe24e('0x30')]);_0x12b6f9[_0xe24e('0x34')]=_[_0xe24e('0x46')](_0x3cbd86[_0xe24e('0x34')]);_0x12b6f9[_0xe24e('0x3a')]=_[_0xe24e('0x35')](_0x12b6f9[_0xe24e('0x33')],_0x12b6f9[_0xe24e('0x34')]);_0x52ea3f[_0xe24e('0x36')]=_[_0xe24e('0x35')](_0x12b6f9['model'],qs[_0xe24e('0x37')](_0x3cbd86[_0xe24e('0x34')]['fields']));_0x52ea3f[_0xe24e('0x36')]=_0x52ea3f[_0xe24e('0x36')][_0xe24e('0x38')]?_0x52ea3f[_0xe24e('0x36')]:_0x12b6f9[_0xe24e('0x33')];_0x52ea3f[_0xe24e('0x5a')]=qs[_0xe24e('0x39')](_0x3cbd86[_0xe24e('0x34')][_0xe24e('0x39')]);_0x52ea3f[_0xe24e('0x3d')]=qs[_0xe24e('0x3a')](_[_0xe24e('0x3b')](_0x3cbd86[_0xe24e('0x34')],_0x12b6f9[_0xe24e('0x3a')]));if(_0x3cbd86[_0xe24e('0x34')][_0xe24e('0x3c')]){_0x52ea3f[_0xe24e('0x3d')]=_[_0xe24e('0x3e')](_0x52ea3f[_0xe24e('0x3d')],{'$or':_[_0xe24e('0x2f')](_0x52ea3f[_0xe24e('0x36')],function(_0x2a5a37){var _0x5835a5={};_0x5835a5[_0x2a5a37]={'$like':'%'+_0x3cbd86[_0xe24e('0x34')][_0xe24e('0x3c')]+'%'};return _0x5835a5;})});}_0x52ea3f=_['merge']({},_0x52ea3f,_0x3cbd86['options']);return _0x2c352d[_0xe24e('0x82')](_0x52ea3f);}})[_0xe24e('0x26')](function(_0x220433){if(_0x220433){_0x13cb8f=_0x220433[_0xe24e('0x38')];if(!_0x3cbd86[_0xe24e('0x34')][_0xe24e('0x83')]('nolimit')){_0x52ea3f['limit']=qs[_0xe24e('0x1c')](_0x3cbd86[_0xe24e('0x34')][_0xe24e('0x1c')]);_0x52ea3f[_0xe24e('0x1d')]=qs[_0xe24e('0x1d')](_0x3cbd86[_0xe24e('0x34')][_0xe24e('0x1d')]);}return _0x2c352d['getAgents'](_0x52ea3f);}})[_0xe24e('0x26')](function(_0x4d19ab){if(_0x4d19ab){return _0x4d19ab?{'count':_0x13cb8f,'rows':_0x4d19ab}:null;}})[_0xe24e('0x26')](respondWithResult(_0x5c7664,null))['catch'](handleError(_0x5c7664,null));};