Built motion from commit 1cfc41f6.|2.5.41
[motion2.git] / server / api / openchannelQueue / openchannelQueue.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 _0x18b0=['update','then','destroy','OpenchannelQueues','UserProfileResource','error','stack','name','send','index','map','OpenchannelQueue','rawAttributes','fieldName','key','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filters','merge','type','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','include','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','get','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','nolimit','OpenchannelQueueId','User','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','%s/%s','SIP','getTeams','Team','filter','addTeams','ids','Agents','voicePause','flatMap','UserOpenchannelQueue','findOrCreate','forEach','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','user_has_teams','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','every','TeamId','all','union','compact','value','transaction','isEmpty','removeAgents','userOpenchannelQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','./openchannelQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','save'];(function(_0x20ba2d,_0x594ce5){var _0x1f9aae=function(_0x4963f6){while(--_0x4963f6){_0x20ba2d['push'](_0x20ba2d['shift']());}};_0x1f9aae(++_0x594ce5);}(_0x18b0,0xf9));var _0x018b=function(_0x5a0c34,_0x4d11c7){_0x5a0c34=_0x5a0c34-0x0;var _0x38cfe3=_0x18b0[_0x5a0c34];return _0x38cfe3;};'use strict';var emlformat=require(_0x018b('0x0'));var rimraf=require(_0x018b('0x1'));var zipdir=require(_0x018b('0x2'));var jsonpatch=require(_0x018b('0x3'));var rp=require(_0x018b('0x4'));var moment=require(_0x018b('0x5'));var BPromise=require(_0x018b('0x6'));var Mustache=require(_0x018b('0x7'));var util=require(_0x018b('0x8'));var path=require(_0x018b('0x9'));var sox=require('sox');var csv=require(_0x018b('0xa'));var ejs=require(_0x018b('0xb'));var fs=require('fs');var fs_extra=require(_0x018b('0xc'));var _=require(_0x018b('0xd'));var squel=require(_0x018b('0xe'));var crypto=require(_0x018b('0xf'));var jsforce=require(_0x018b('0x10'));var deskjs=require(_0x018b('0x11'));var toCsv=require(_0x018b('0xa'));var querystring=require(_0x018b('0x12'));var Papa=require('papaparse');var Redis=require(_0x018b('0x13'));var authService=require(_0x018b('0x14'));var qs=require(_0x018b('0x15'));var as=require(_0x018b('0x16'));var hardwareService=require(_0x018b('0x17'));var logger=require(_0x018b('0x18'))(_0x018b('0x19'));var utils=require(_0x018b('0x1a'));var config=require(_0x018b('0x1b'));var licenseUtil=require(_0x018b('0x1c'));var db=require('../../mysqldb')['db'];config[_0x018b('0x1d')]=_['defaults'](config[_0x018b('0x1d')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x018b('0x1d')]));require(_0x018b('0x1e'))[_0x018b('0x1f')](socket);function respondWithStatusCode(_0x28c2e8,_0x266e62){_0x266e62=_0x266e62||0xcc;return function(_0xb51abc){if(_0xb51abc){return _0x28c2e8[_0x018b('0x20')](_0x266e62);}return _0x28c2e8[_0x018b('0x21')](_0x266e62)[_0x018b('0x22')]();};}function respondWithResult(_0x44d2fc,_0x2b09be){_0x2b09be=_0x2b09be||0xc8;return function(_0x535522){if(_0x535522){return _0x44d2fc[_0x018b('0x21')](_0x2b09be)[_0x018b('0x23')](_0x535522);}};}function respondWithFilteredResult(_0x24b7dd,_0x358e56){return function(_0x48114b){if(_0x48114b){var _0x429428=typeof _0x358e56[_0x018b('0x24')]===_0x018b('0x25')&&typeof _0x358e56[_0x018b('0x26')]===_0x018b('0x25');var _0x5b37bd=_0x48114b[_0x018b('0x27')];var _0x2127b0=_0x429428?0x0:_0x358e56[_0x018b('0x24')];var _0x5e83c5=_0x429428?_0x48114b[_0x018b('0x27')]:_0x358e56[_0x018b('0x24')]+_0x358e56['limit'];var _0x2503de;if(_0x5e83c5>=_0x5b37bd){_0x5e83c5=_0x5b37bd;_0x2503de=0xc8;}else{_0x2503de=0xce;}_0x24b7dd[_0x018b('0x21')](_0x2503de);return _0x24b7dd[_0x018b('0x28')](_0x018b('0x29'),_0x2127b0+'-'+_0x5e83c5+'/'+_0x5b37bd)[_0x018b('0x23')](_0x48114b);}return null;};}function patchUpdates(_0xd8f82d){return function(_0x426b5d){try{jsonpatch['apply'](_0x426b5d,_0xd8f82d,!![]);}catch(_0x5d7bbd){return BPromise['reject'](_0x5d7bbd);}return _0x426b5d[_0x018b('0x2a')]();};}function saveUpdates(_0x2d9335,_0x214240){return function(_0x47cc1a){if(_0x47cc1a){return _0x47cc1a[_0x018b('0x2b')](_0x2d9335)[_0x018b('0x2c')](function(_0x2c928f){return _0x2c928f;});}return null;};}function removeEntity(_0x3662dd,_0x4d4d32){return function(_0x30a9c0){if(_0x30a9c0){return _0x30a9c0[_0x018b('0x2d')]()[_0x018b('0x2c')](function(){var _0x6baee6=_0x30a9c0['get']({'plain':!![]});var _0x802cb6=_0x018b('0x2e');return db[_0x018b('0x2f')]['destroy']({'where':{'type':_0x802cb6,'resourceId':_0x6baee6['id']}})[_0x018b('0x2c')](function(){return _0x30a9c0;});})['then'](function(){_0x3662dd[_0x018b('0x21')](0xcc)[_0x018b('0x22')]();});}};}function handleEntityNotFound(_0x4c07e2,_0x567d0c){return function(_0x5c6738){if(!_0x5c6738){_0x4c07e2[_0x018b('0x20')](0x194);}return _0x5c6738;};}function handleError(_0x168c24,_0x15ecce){_0x15ecce=_0x15ecce||0x1f4;return function(_0x25aeaf){logger[_0x018b('0x30')](_0x25aeaf[_0x018b('0x31')]);if(_0x25aeaf[_0x018b('0x32')]){delete _0x25aeaf['name'];}_0x168c24[_0x018b('0x21')](_0x15ecce)[_0x018b('0x33')](_0x25aeaf);};}exports[_0x018b('0x34')]=function(_0x39b0e0,_0x4326ed){var _0x12ce10={},_0x2c149c={},_0x2fc83c={'count':0x0,'rows':[]};var _0x97d62b=_[_0x018b('0x35')](db[_0x018b('0x36')][_0x018b('0x37')],function(_0x44bbe4){return{'name':_0x44bbe4[_0x018b('0x38')],'type':_0x44bbe4['type'][_0x018b('0x39')]};});_0x2c149c['model']=_[_0x018b('0x35')](_0x97d62b,_0x018b('0x32'));_0x2c149c[_0x018b('0x3a')]=_[_0x018b('0x3b')](_0x39b0e0[_0x018b('0x3a')]);_0x2c149c['filters']=_[_0x018b('0x3c')](_0x2c149c[_0x018b('0x3d')],_0x2c149c[_0x018b('0x3a')]);_0x12ce10[_0x018b('0x3e')]=_[_0x018b('0x3c')](_0x2c149c['model'],qs[_0x018b('0x3f')](_0x39b0e0[_0x018b('0x3a')]['fields']));_0x12ce10[_0x018b('0x3e')]=_0x12ce10['attributes'][_0x018b('0x40')]?_0x12ce10['attributes']:_0x2c149c[_0x018b('0x3d')];if(!_0x39b0e0[_0x018b('0x3a')][_0x018b('0x41')]('nolimit')){_0x12ce10[_0x018b('0x26')]=qs[_0x018b('0x26')](_0x39b0e0[_0x018b('0x3a')]['limit']);_0x12ce10[_0x018b('0x24')]=qs[_0x018b('0x24')](_0x39b0e0[_0x018b('0x3a')][_0x018b('0x24')]);}_0x12ce10[_0x018b('0x42')]=qs[_0x018b('0x43')](_0x39b0e0[_0x018b('0x3a')]['sort']);_0x12ce10[_0x018b('0x44')]=qs['filters'](_[_0x018b('0x45')](_0x39b0e0['query'],_0x2c149c[_0x018b('0x46')]),_0x97d62b);if(_0x39b0e0[_0x018b('0x3a')]['filter']){_0x12ce10[_0x018b('0x44')]=_[_0x018b('0x47')](_0x12ce10[_0x018b('0x44')],{'$or':_[_0x018b('0x35')](_0x97d62b,function(_0x12e642){if(_0x12e642[_0x018b('0x48')]!==_0x018b('0x49')){var _0x1207bf={};_0x1207bf[_0x12e642[_0x018b('0x32')]]={'$like':'%'+_0x39b0e0[_0x018b('0x3a')]['filter']+'%'};return _0x1207bf;}})});}_0x12ce10=_[_0x018b('0x47')]({},_0x12ce10,_0x39b0e0[_0x018b('0x4a')]);var _0x1aa113={'where':_0x12ce10[_0x018b('0x44')]};return db['OpenchannelQueue'][_0x018b('0x27')](_0x1aa113)[_0x018b('0x2c')](function(_0x37d49f){_0x2fc83c[_0x018b('0x27')]=_0x37d49f;if(_0x39b0e0[_0x018b('0x3a')][_0x018b('0x4b')]){_0x12ce10['include']=[{'all':!![]}];}return db['OpenchannelQueue'][_0x018b('0x4c')](_0x12ce10);})[_0x018b('0x2c')](function(_0x833861){_0x2fc83c[_0x018b('0x4d')]=_0x833861;return _0x2fc83c;})['then'](respondWithFilteredResult(_0x4326ed,_0x12ce10))[_0x018b('0x4e')](handleError(_0x4326ed,null));};exports[_0x018b('0x4f')]=function(_0x4ad169,_0x10dbb3){var _0x5440ed={'raw':!![],'where':{'id':_0x4ad169[_0x018b('0x50')]['id']}},_0xf2dfc9={};_0xf2dfc9[_0x018b('0x3d')]=_[_0x018b('0x3b')](db[_0x018b('0x36')]['rawAttributes']);_0xf2dfc9[_0x018b('0x3a')]=_['keys'](_0x4ad169[_0x018b('0x3a')]);_0xf2dfc9['filters']=_['intersection'](_0xf2dfc9[_0x018b('0x3d')],_0xf2dfc9[_0x018b('0x3a')]);_0x5440ed['attributes']=_[_0x018b('0x3c')](_0xf2dfc9[_0x018b('0x3d')],qs[_0x018b('0x3f')](_0x4ad169[_0x018b('0x3a')][_0x018b('0x3f')]));_0x5440ed[_0x018b('0x3e')]=_0x5440ed[_0x018b('0x3e')][_0x018b('0x40')]?_0x5440ed[_0x018b('0x3e')]:_0xf2dfc9['model'];if(_0x4ad169[_0x018b('0x3a')]['includeAll']){_0x5440ed[_0x018b('0x51')]=[{'all':!![]}];}_0x5440ed=_[_0x018b('0x47')]({},_0x5440ed,_0x4ad169[_0x018b('0x4a')]);return db['OpenchannelQueue']['find'](_0x5440ed)[_0x018b('0x2c')](handleEntityNotFound(_0x10dbb3,null))[_0x018b('0x2c')](respondWithResult(_0x10dbb3,null))['catch'](handleError(_0x10dbb3,null));};exports[_0x018b('0x52')]=function(_0x1af259,_0x4c1f59){return db[_0x018b('0x36')][_0x018b('0x52')](_0x1af259[_0x018b('0x53')],{})['then'](function(_0x116bad){var _0x10742c=_0x1af259[_0x018b('0x54')]['get']({'plain':!![]});if(!_0x10742c)throw new Error(_0x018b('0x55'));if(_0x10742c['role']===_0x018b('0x54')){var _0x38d5b9=_0x116bad[_0x018b('0x56')]({'plain':!![]});var _0x226e6e=_0x018b('0x2e');return db[_0x018b('0x57')][_0x018b('0x58')]({'where':{'name':_0x226e6e,'userProfileId':_0x10742c[_0x018b('0x59')]},'raw':!![]})['then'](function(_0x498232){if(_0x498232&&_0x498232[_0x018b('0x5a')]===0x0){return db[_0x018b('0x2f')]['create']({'name':_0x38d5b9[_0x018b('0x32')],'resourceId':_0x38d5b9['id'],'type':_0x498232[_0x018b('0x32')],'sectionId':_0x498232['id']},{})[_0x018b('0x2c')](function(){return _0x116bad;});}else{return _0x116bad;}})['catch'](function(_0x1d3acf){logger[_0x018b('0x30')](_0x018b('0x5b'),_0x1d3acf);throw _0x1d3acf;});}return _0x116bad;})['then'](respondWithResult(_0x4c1f59,0xc9))['catch'](handleError(_0x4c1f59,null));};exports['update']=function(_0x2117a4,_0x3dc779){if(_0x2117a4[_0x018b('0x53')]['id']){delete _0x2117a4[_0x018b('0x53')]['id'];}return db[_0x018b('0x36')][_0x018b('0x58')]({'where':{'id':_0x2117a4[_0x018b('0x50')]['id']}})[_0x018b('0x2c')](handleEntityNotFound(_0x3dc779,null))[_0x018b('0x2c')](saveUpdates(_0x2117a4['body'],null))[_0x018b('0x2c')](respondWithResult(_0x3dc779,null))[_0x018b('0x4e')](handleError(_0x3dc779,null));};exports[_0x018b('0x2d')]=function(_0x47063f,_0x5f01c4){return db['OpenchannelQueue'][_0x018b('0x58')]({'where':{'id':_0x47063f[_0x018b('0x50')]['id']}})[_0x018b('0x2c')](handleEntityNotFound(_0x5f01c4,null))[_0x018b('0x2c')](removeEntity(_0x5f01c4,null))[_0x018b('0x4e')](handleError(_0x5f01c4,null));};exports[_0x018b('0x5c')]=function(_0x518c8d,_0x2960a3){return db[_0x018b('0x36')][_0x018b('0x5c')]()[_0x018b('0x2c')](respondWithResult(_0x2960a3,null))['catch'](handleError(_0x2960a3,null));};exports[_0x018b('0x5d')]=function(_0x1b1073,_0x23328f,_0xa5b258){var _0x2dfefa={'raw':!![],'where':{}},_0x29a716={},_0x57593f;return db[_0x018b('0x36')][_0x018b('0x5e')]({'where':{'id':_0x1b1073[_0x018b('0x50')]['id']}})[_0x018b('0x2c')](handleEntityNotFound(_0x23328f,null))['then'](function(_0x556b2e){if(_0x556b2e){_0x57593f=_0x556b2e[_0x018b('0x56')]({'plain':!![]});_0x29a716['model']=_[_0x018b('0x3b')](db['UserOpenchannelQueue'][_0x018b('0x37')]);_0x29a716['query']=_[_0x018b('0x3b')](_0x1b1073[_0x018b('0x3a')]);_0x29a716['filters']=_['intersection'](_0x29a716[_0x018b('0x3d')],_0x29a716[_0x018b('0x3a')]);_0x2dfefa[_0x018b('0x3e')]=_[_0x018b('0x3c')](_0x29a716['model'],qs['fields'](_0x1b1073[_0x018b('0x3a')][_0x018b('0x3f')]));_0x2dfefa[_0x018b('0x3e')]=_0x2dfefa['attributes'][_0x018b('0x40')]?_0x2dfefa[_0x018b('0x3e')]:_0x29a716[_0x018b('0x3d')];if(!_0x1b1073[_0x018b('0x3a')][_0x018b('0x41')](_0x018b('0x5f'))){_0x2dfefa[_0x018b('0x26')]=qs[_0x018b('0x26')](_0x1b1073[_0x018b('0x3a')][_0x018b('0x26')]);_0x2dfefa['offset']=qs[_0x018b('0x24')](_0x1b1073[_0x018b('0x3a')][_0x018b('0x24')]);}_0x2dfefa[_0x018b('0x42')]=qs['sort'](_0x1b1073['query'][_0x018b('0x43')]);_0x2dfefa[_0x018b('0x44')]=qs[_0x018b('0x46')](_[_0x018b('0x45')](_0x1b1073['query'],_0x29a716['filters']));_0x2dfefa[_0x018b('0x44')][_0x018b('0x60')]=_0x556b2e['id'];if(_0x1b1073[_0x018b('0x3a')]['filter']){_0x2dfefa[_0x018b('0x44')]=_[_0x018b('0x47')](_0x2dfefa[_0x018b('0x44')],{'$or':_['map'](_0x2dfefa[_0x018b('0x3e')],function(_0x3df0d2){var _0x39f6d8={};_0x39f6d8[_0x3df0d2]={'$like':'%'+_0x1b1073[_0x018b('0x3a')]['filter']+'%'};return _0x39f6d8;})});}_0x2dfefa=_[_0x018b('0x47')]({},_0x2dfefa,_0x1b1073[_0x018b('0x4a')]);return db['UserOpenchannelQueue'][_0x018b('0x4c')](_0x2dfefa);}})[_0x018b('0x2c')](function(_0x47ddd5){if(_0x47ddd5){return db[_0x018b('0x61')][_0x018b('0x62')]({'where':{'id':_['map'](_0x47ddd5,_0x018b('0x63')),'role':_0x018b('0x64')},'attributes':['id',_0x018b('0x32'),_0x018b('0x65'),_0x018b('0x66'),_0x018b('0x67')]});}})[_0x018b('0x2c')](function(_0x5505cd){if(_0x5505cd){return{'count':_0x5505cd['count'],'rows':_[_0x018b('0x35')](_0x5505cd['rows'],function(_0x1d1b57){return{'membername':_0x1d1b57[_0x018b('0x32')],'UserId':_0x1d1b57['id'],'queue_name':_0x57593f['name'],'OpenchannelQueueId':_0x57593f['id'],'interface':util['format'](_0x018b('0x68'),_0x018b('0x69'),_0x1d1b57[_0x018b('0x32')]),'penalty':0x0,'paused':_0x1d1b57[_0x018b('0x65')],'createdAt':_0x1d1b57['createdAt'],'updatedAt':_0x1d1b57[_0x018b('0x66')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x23328f,_0x2dfefa))[_0x018b('0x4e')](handleError(_0x23328f,null));};exports[_0x018b('0x6a')]=function(_0x1e760f,_0x39067f,_0x3a88ff){var _0x5b00dd={};var _0xd26561={};var _0x5d3956;var _0x2c7592;return db['OpenchannelQueue'][_0x018b('0x5e')]({'where':{'id':_0x1e760f['params']['id']}})[_0x018b('0x2c')](handleEntityNotFound(_0x39067f,null))['then'](function(_0x14025c){if(_0x14025c){_0x5d3956=_0x14025c;_0xd26561[_0x018b('0x3d')]=_[_0x018b('0x3b')](db[_0x018b('0x6b')][_0x018b('0x37')]);_0xd26561[_0x018b('0x3a')]=_[_0x018b('0x3b')](_0x1e760f[_0x018b('0x3a')]);_0xd26561[_0x018b('0x46')]=_[_0x018b('0x3c')](_0xd26561[_0x018b('0x3d')],_0xd26561[_0x018b('0x3a')]);_0x5b00dd[_0x018b('0x3e')]=_['intersection'](_0xd26561[_0x018b('0x3d')],qs[_0x018b('0x3f')](_0x1e760f[_0x018b('0x3a')][_0x018b('0x3f')]));_0x5b00dd[_0x018b('0x3e')]=_0x5b00dd[_0x018b('0x3e')][_0x018b('0x40')]?_0x5b00dd[_0x018b('0x3e')]:_0xd26561[_0x018b('0x3d')];_0x5b00dd[_0x018b('0x42')]=qs['sort'](_0x1e760f[_0x018b('0x3a')]['sort']);_0x5b00dd['where']=qs[_0x018b('0x46')](_['pick'](_0x1e760f[_0x018b('0x3a')],_0xd26561['filters']));if(_0x1e760f[_0x018b('0x3a')][_0x018b('0x6c')]){_0x5b00dd[_0x018b('0x44')]=_[_0x018b('0x47')](_0x5b00dd['where'],{'$or':_[_0x018b('0x35')](_0x5b00dd[_0x018b('0x3e')],function(_0x499daf){var _0x51ce12={};_0x51ce12[_0x499daf]={'$like':'%'+_0x1e760f[_0x018b('0x3a')][_0x018b('0x6c')]+'%'};return _0x51ce12;})});}_0x5b00dd=_['merge']({},_0x5b00dd,_0x1e760f[_0x018b('0x4a')]);return _0x5d3956[_0x018b('0x6a')](_0x5b00dd);}})[_0x018b('0x2c')](function(_0x129198){if(_0x129198){_0x2c7592=_0x129198[_0x018b('0x40')];if(!_0x1e760f[_0x018b('0x3a')]['hasOwnProperty'](_0x018b('0x5f'))){_0x5b00dd['limit']=qs['limit'](_0x1e760f['query'][_0x018b('0x26')]);_0x5b00dd['offset']=qs[_0x018b('0x24')](_0x1e760f[_0x018b('0x3a')][_0x018b('0x24')]);}return _0x5d3956[_0x018b('0x6a')](_0x5b00dd);}})[_0x018b('0x2c')](function(_0x2e5ec7){if(_0x2e5ec7){return _0x2e5ec7?{'count':_0x2c7592,'rows':_0x2e5ec7}:null;}})[_0x018b('0x2c')](respondWithResult(_0x39067f,null))[_0x018b('0x4e')](handleError(_0x39067f,null));};exports[_0x018b('0x6d')]=function(_0x30f669,_0x549473,_0x92dd3d){var _0x427113=_0x30f669[_0x018b('0x53')][_0x018b('0x6e')];return db['Team']['findAll']({'where':{'id':_0x427113},'attributes':['id'],'include':[{'model':db[_0x018b('0x61')],'as':_0x018b('0x6f'),'attributes':['id',_0x018b('0x32'),'online',_0x018b('0x70'),'interface'],'raw':!![]}]})['then'](function(_0x2b9a35){if(_0x2b9a35){var _0x156ada=_[_0x018b('0x71')](_0x2b9a35,function(_0x30acd6){var _0x369c66=_0x30acd6[_0x018b('0x56')]({'plain':!![]});return _0x369c66[_0x018b('0x6f')];});return db[_0x018b('0x36')][_0x018b('0x58')]({'where':{'id':_0x30f669[_0x018b('0x50')]['id']}})[_0x018b('0x2c')](function(_0x2db590){return db['sequelize']['transaction'](function(_0x51673d){return _0x2db590[_0x018b('0x6d')](_0x427113,{'transaction':_0x51673d})[_0x018b('0x2c')](function(){return BPromise['each'](_0x156ada,function(_0x599cb8){return db[_0x018b('0x72')][_0x018b('0x73')]({'where':{'UserId':_0x599cb8['id'],'OpenchannelQueueId':_0x30f669[_0x018b('0x50')]['id']},'transaction':_0x51673d});});})['then'](function(){_0x156ada[_0x018b('0x74')](function(_0x2d294d){socket[_0x018b('0x75')](_0x018b('0x76'),{'UserId':_0x2d294d['id'],'OpenchannelQueueId':_0x2db590['id']});});});});});}})[_0x018b('0x2c')](respondWithStatusCode(_0x549473,null))[_0x018b('0x4e')](handleError(_0x549473,null));};exports[_0x018b('0x77')]=function(_0x468ca6,_0x5b2074,_0xabed76){return db[_0x018b('0x6b')]['findAll']({'where':{'id':_0x468ca6['query'][_0x018b('0x6e')]},'attributes':['id'],'include':[{'model':db[_0x018b('0x61')],'as':_0x018b('0x6f'),'attributes':['id'],'raw':!![]}]})[_0x018b('0x2c')](handleEntityNotFound(_0x5b2074,null))[_0x018b('0x2c')](function(_0x7d6da){var _0x410c07=_[_0x018b('0x35')](_0x7d6da,'id');var _0x361da0=[];var _0x47a7b8=[];var _0xfab651=squel[_0x018b('0x78')]();_0xfab651[_0x018b('0x79')](_0x018b('0x7a'))[_0x018b('0x7b')](_0x018b('0x7c'),'tq')['join'](_0x018b('0x7d'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x018b('0x44')]('OpenchannelQueueId\x20=\x20?',_0x468ca6[_0x018b('0x50')]['id']);for(var _0x28d698=0x0;_0x28d698<_0x7d6da[_0x018b('0x40')];_0x28d698+=0x1){let _0x317b77=_0x7d6da[_0x28d698];for(var _0x15498d=0x0;_0x15498d<_0x317b77[_0x018b('0x6f')][_0x018b('0x40')];_0x15498d+=0x1){let _0x36edc7=_0x317b77[_0x018b('0x6f')][_0x15498d];var _0x2ff34f=_0xfab651['clone']();_0x2ff34f['where'](_0x018b('0x7e'),_0x36edc7['id']);_0x47a7b8[_0x018b('0x7f')](db[_0x018b('0x80')]['query'](_0x2ff34f[_0x018b('0x81')](),{'type':db[_0x018b('0x80')][_0x018b('0x82')]['SELECT']})[_0x018b('0x2c')](function(_0x216c64){if(_0x216c64[_0x018b('0x40')]===0x1){return _0x36edc7['id'];}else{var _0x29b164=_[_0x018b('0x83')](_[_0x018b('0x35')](_0x216c64,_0x018b('0x84')),function(_0x5c3e89){return _['includes'](_0x410c07,_0x5c3e89);});if(_0x29b164){return _0x36edc7['id'];}}}));}}return BPromise[_0x018b('0x85')](_0x47a7b8)[_0x018b('0x2c')](function(_0x304b37){_0x361da0=_(_0x361da0)[_0x018b('0x86')](_0x304b37)[_0x018b('0x87')]()[_0x018b('0x88')]();return db['OpenchannelQueue'][_0x018b('0x58')]({'where':{'id':_0x468ca6[_0x018b('0x50')]['id']}})[_0x018b('0x2c')](function(_0x5a25e1){return db[_0x018b('0x80')][_0x018b('0x89')](function(_0x500348){return _0x5a25e1['removeTeams'](_0x468ca6['query'][_0x018b('0x6e')],{'transaction':_0x500348})[_0x018b('0x2c')](function(){if(!_[_0x018b('0x8a')](_0x361da0)){return _0x5a25e1[_0x018b('0x8b')](_0x361da0,{'transaction':_0x500348});}})[_0x018b('0x2c')](function(){_0x361da0[_0x018b('0x74')](function(_0x5ba687){socket[_0x018b('0x75')](_0x018b('0x8c'),{'UserId':_0x5ba687,'OpenchannelQueueId':_0x5a25e1['id']});});});});});});})[_0x018b('0x2c')](respondWithStatusCode(_0x5b2074,null))[_0x018b('0x4e')](handleError(_0x5b2074,null));};exports[_0x018b('0x8d')]=function(_0x1125aa,_0x399bb8,_0x307b8a){return db[_0x018b('0x36')][_0x018b('0x58')]({'where':{'id':_0x1125aa[_0x018b('0x50')]['id']}})[_0x018b('0x2c')](handleEntityNotFound(_0x399bb8,null))[_0x018b('0x2c')](function(_0x4669fd){if(_0x4669fd){return _0x4669fd[_0x018b('0x8d')](_0x1125aa[_0x018b('0x53')]['ids'],_[_0x018b('0x8e')](_0x1125aa['body'],[_0x018b('0x6e'),'id'])||{})[_0x018b('0x8f')](function(_0x1d3a52){for(var _0xb7cb1a=0x0;_0xb7cb1a<_0x1125aa[_0x018b('0x53')][_0x018b('0x6e')][_0x018b('0x40')];_0xb7cb1a+=0x1){socket[_0x018b('0x75')](_0x018b('0x76'),{'UserId':Number(_0x1125aa[_0x018b('0x53')][_0x018b('0x6e')][_0xb7cb1a]),'OpenchannelQueueId':Number(_0x1125aa[_0x018b('0x50')]['id'])});}return _0x1d3a52;});}})[_0x018b('0x2c')](respondWithResult(_0x399bb8,null))[_0x018b('0x4e')](handleError(_0x399bb8,null));};exports[_0x018b('0x8b')]=function(_0x54fadb,_0x399567,_0x1a9c49){return db[_0x018b('0x36')][_0x018b('0x58')]({'where':{'id':_0x54fadb['params']['id']}})[_0x018b('0x2c')](handleEntityNotFound(_0x399567,null))['then'](function(_0x220b55){if(_0x220b55){return _0x220b55[_0x018b('0x8b')](_0x54fadb['query']['ids'])[_0x018b('0x2c')](function(){if(_[_0x018b('0x90')](_0x54fadb[_0x018b('0x3a')][_0x018b('0x6e')])){for(var _0x346313=0x0;_0x346313<_0x54fadb[_0x018b('0x3a')][_0x018b('0x6e')][_0x018b('0x40')];_0x346313+=0x1){socket[_0x018b('0x75')](_0x018b('0x8c'),{'UserId':Number(_0x54fadb['query'][_0x018b('0x6e')][_0x346313]),'OpenchannelQueueId':Number(_0x54fadb[_0x018b('0x50')]['id'])});}}else{socket['emit'](_0x018b('0x8c'),{'UserId':Number(_0x54fadb[_0x018b('0x3a')]['ids']),'OpenchannelQueueId':Number(_0x54fadb[_0x018b('0x50')]['id'])});}});}})[_0x018b('0x2c')](respondWithStatusCode(_0x399567,null))[_0x018b('0x4e')](handleError(_0x399567,null));};exports['getAgents']=function(_0x2dd830,_0x3c54e3,_0x54aaa7){var _0x53b4b9={};var _0x482a1d={};var _0x34a446;var _0x11359b;return db[_0x018b('0x36')]['findOne']({'where':{'id':_0x2dd830['params']['id']}})[_0x018b('0x2c')](handleEntityNotFound(_0x3c54e3,null))['then'](function(_0x1d799d){if(_0x1d799d){_0x34a446=_0x1d799d;_0x482a1d[_0x018b('0x3d')]=_['keys'](db[_0x018b('0x61')][_0x018b('0x37')]);_0x482a1d[_0x018b('0x3a')]=_['keys'](_0x2dd830[_0x018b('0x3a')]);_0x482a1d[_0x018b('0x46')]=_[_0x018b('0x3c')](_0x482a1d[_0x018b('0x3d')],_0x482a1d[_0x018b('0x3a')]);_0x53b4b9['attributes']=_[_0x018b('0x3c')](_0x482a1d['model'],qs[_0x018b('0x3f')](_0x2dd830[_0x018b('0x3a')][_0x018b('0x3f')]));_0x53b4b9[_0x018b('0x3e')]=_0x53b4b9[_0x018b('0x3e')][_0x018b('0x40')]?_0x53b4b9[_0x018b('0x3e')]:_0x482a1d[_0x018b('0x3d')];_0x53b4b9[_0x018b('0x42')]=qs['sort'](_0x2dd830[_0x018b('0x3a')][_0x018b('0x43')]);_0x53b4b9[_0x018b('0x44')]=qs[_0x018b('0x46')](_[_0x018b('0x45')](_0x2dd830[_0x018b('0x3a')],_0x482a1d[_0x018b('0x46')]));if(_0x2dd830[_0x018b('0x3a')]['filter']){_0x53b4b9[_0x018b('0x44')]=_[_0x018b('0x47')](_0x53b4b9[_0x018b('0x44')],{'$or':_[_0x018b('0x35')](_0x53b4b9[_0x018b('0x3e')],function(_0x2dafb2){var _0x17aa60={};_0x17aa60[_0x2dafb2]={'$like':'%'+_0x2dd830['query'][_0x018b('0x6c')]+'%'};return _0x17aa60;})});}_0x53b4b9=_['merge']({},_0x53b4b9,_0x2dd830[_0x018b('0x4a')]);return _0x34a446['getAgents'](_0x53b4b9);}})['then'](function(_0x5aa53a){if(_0x5aa53a){_0x11359b=_0x5aa53a[_0x018b('0x40')];if(!_0x2dd830[_0x018b('0x3a')][_0x018b('0x41')](_0x018b('0x5f'))){_0x53b4b9[_0x018b('0x26')]=qs[_0x018b('0x26')](_0x2dd830[_0x018b('0x3a')][_0x018b('0x26')]);_0x53b4b9['offset']=qs[_0x018b('0x24')](_0x2dd830[_0x018b('0x3a')][_0x018b('0x24')]);}return _0x34a446[_0x018b('0x91')](_0x53b4b9);}})[_0x018b('0x2c')](function(_0x543e01){if(_0x543e01){return _0x543e01?{'count':_0x11359b,'rows':_0x543e01}:null;}})[_0x018b('0x2c')](respondWithResult(_0x3c54e3,null))[_0x018b('0x4e')](handleError(_0x3c54e3,null));};