265892c90ac471c1d358fff23f24902cac8a1d31
[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 _0x1d61=['findAndCountAll','agent','updatedAt','rows','%s/%s','SIP','Team','getTeams','addTeams','ids','findAll','User','Agents','online','interface','flatMap','transaction','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','sequelize','toString','SELECT','every','TeamId','includes','all','union','compact','value','forEach','userOpenchannelQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','hasOwnProperty','bluebird','util','lodash','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','./openchannelQueue.socket','status','end','json','offset','limit','undefined','count','Content-Range','destroy','then','get','OpenchannelQueues','sendStatus','error','name','send','index','map','OpenchannelQueue','rawAttributes','fieldName','type','key','getOptions','include','catch','show','model','keys','query','filters','intersection','attributes','fields','length','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','getMembers','findOne','UserOpenchannelQueue','nolimit','order','sort','where','pick','OpenchannelQueueId','filter','merge'];(function(_0x97c9d1,_0x55b18d){var _0x560812=function(_0x25ad33){while(--_0x25ad33){_0x97c9d1['push'](_0x97c9d1['shift']());}};_0x560812(++_0x55b18d);}(_0x1d61,0xa6));var _0x11d6=function(_0x264f00,_0x330ce6){_0x264f00=_0x264f00-0x0;var _0x4183f4=_0x1d61[_0x264f00];return _0x4183f4;};'use strict';var BPromise=require(_0x11d6('0x0'));var util=require(_0x11d6('0x1'));var _=require(_0x11d6('0x2'));var squel=require('squel');var Redis=require('ioredis');var qs=require(_0x11d6('0x3'));var logger=require(_0x11d6('0x4'))(_0x11d6('0x5'));var config=require(_0x11d6('0x6'));var db=require(_0x11d6('0x7'))['db'];config[_0x11d6('0x8')]=_[_0x11d6('0x9')](config[_0x11d6('0x8')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x11d6('0xa'))['register'](socket);function respondWithStatusCode(_0x221a69,_0x534a29){_0x534a29=_0x534a29||0xcc;return function(_0x27e1b8){if(_0x27e1b8){return _0x221a69['sendStatus'](_0x534a29);}return _0x221a69[_0x11d6('0xb')](_0x534a29)[_0x11d6('0xc')]();};}function respondWithResult(_0x1d712f,_0x1d14ad){_0x1d14ad=_0x1d14ad||0xc8;return function(_0xc86d84){if(_0xc86d84){return _0x1d712f[_0x11d6('0xb')](_0x1d14ad)[_0x11d6('0xd')](_0xc86d84);}};}function respondWithFilteredResult(_0x5862d9,_0xeffb5a){return function(_0x458e24){if(_0x458e24){var _0x11a6b7=typeof _0xeffb5a[_0x11d6('0xe')]==='undefined'&&typeof _0xeffb5a[_0x11d6('0xf')]===_0x11d6('0x10');var _0x4533b4=_0x458e24['count'];var _0x57cfad=_0x11a6b7?0x0:_0xeffb5a['offset'];var _0x1b5fce=_0x11a6b7?_0x458e24[_0x11d6('0x11')]:_0xeffb5a[_0x11d6('0xe')]+_0xeffb5a[_0x11d6('0xf')];var _0x32ad2b;if(_0x1b5fce>=_0x4533b4){_0x1b5fce=_0x4533b4;_0x32ad2b=0xc8;}else{_0x32ad2b=0xce;}_0x5862d9[_0x11d6('0xb')](_0x32ad2b);return _0x5862d9['set'](_0x11d6('0x12'),_0x57cfad+'-'+_0x1b5fce+'/'+_0x4533b4)['json'](_0x458e24);}return null;};}function saveUpdates(_0x40045a){return function(_0x270f3b){if(_0x270f3b){return _0x270f3b['update'](_0x40045a)['then'](function(_0x4c2ea0){return _0x4c2ea0;});}return null;};}function removeEntity(_0x5e8e54){return function(_0x225b17){if(_0x225b17){return _0x225b17[_0x11d6('0x13')]()[_0x11d6('0x14')](function(){var _0xa345b0=_0x225b17[_0x11d6('0x15')]({'plain':!![]});var _0x34b7e4=_0x11d6('0x16');return db['UserProfileResource'][_0x11d6('0x13')]({'where':{'type':_0x34b7e4,'resourceId':_0xa345b0['id']}})[_0x11d6('0x14')](function(){return _0x225b17;});})[_0x11d6('0x14')](function(){_0x5e8e54[_0x11d6('0xb')](0xcc)[_0x11d6('0xc')]();});}};}function handleEntityNotFound(_0x30ddb1){return function(_0x5ae9be){if(!_0x5ae9be){_0x30ddb1[_0x11d6('0x17')](0x194);}return _0x5ae9be;};}function handleError(_0x36be2d,_0x2483b5){_0x2483b5=_0x2483b5||0x1f4;return function(_0x3c1016){logger[_0x11d6('0x18')](_0x3c1016['stack']);if(_0x3c1016[_0x11d6('0x19')]){delete _0x3c1016['name'];}_0x36be2d[_0x11d6('0xb')](_0x2483b5)[_0x11d6('0x1a')](_0x3c1016);};}exports[_0x11d6('0x1b')]=function(_0x34bf4b,_0x15ff7a){var _0x31bac6={};var _0x24fe5d={'count':0x0,'rows':[]};var _0x38f0d9=_[_0x11d6('0x1c')](db[_0x11d6('0x1d')][_0x11d6('0x1e')],function(_0x26aed4){return{'name':_0x26aed4[_0x11d6('0x1f')],'type':_0x26aed4[_0x11d6('0x20')][_0x11d6('0x21')]};});_0x31bac6=qs[_0x11d6('0x22')](_0x38f0d9,_0x34bf4b);var _0x53b839={'where':_0x31bac6['where']};return db[_0x11d6('0x1d')][_0x11d6('0x11')](_0x53b839)[_0x11d6('0x14')](function(_0x3caeae){_0x24fe5d[_0x11d6('0x11')]=_0x3caeae;_0x31bac6['include']=qs[_0x11d6('0x23')](_0x34bf4b['query']);return db[_0x11d6('0x1d')]['findAll'](_0x31bac6);})[_0x11d6('0x14')](function(_0x5c1fe0){_0x24fe5d['rows']=_0x5c1fe0;return _0x24fe5d;})[_0x11d6('0x14')](respondWithFilteredResult(_0x15ff7a,_0x31bac6))[_0x11d6('0x24')](handleError(_0x15ff7a,null));};exports[_0x11d6('0x25')]=function(_0x229895,_0xe8a412){var _0x5c1008={'raw':!![],'where':{'id':_0x229895['params']['id']}},_0x295836={};_0x295836[_0x11d6('0x26')]=_[_0x11d6('0x27')](db[_0x11d6('0x1d')][_0x11d6('0x1e')]);_0x295836['query']=_[_0x11d6('0x27')](_0x229895[_0x11d6('0x28')]);_0x295836[_0x11d6('0x29')]=_[_0x11d6('0x2a')](_0x295836[_0x11d6('0x26')],_0x295836[_0x11d6('0x28')]);_0x5c1008[_0x11d6('0x2b')]=_['intersection'](_0x295836[_0x11d6('0x26')],qs[_0x11d6('0x2c')](_0x229895['query'][_0x11d6('0x2c')]));_0x5c1008['attributes']=_0x5c1008['attributes'][_0x11d6('0x2d')]?_0x5c1008[_0x11d6('0x2b')]:_0x295836[_0x11d6('0x26')];if(_0x229895[_0x11d6('0x28')]['includeAll']){_0x5c1008[_0x11d6('0x23')]=[{'all':!![]}];}_0x5c1008=_['merge']({},_0x5c1008,_0x229895[_0x11d6('0x2e')]);return db[_0x11d6('0x1d')][_0x11d6('0x2f')](_0x5c1008)[_0x11d6('0x14')](handleEntityNotFound(_0xe8a412,null))[_0x11d6('0x14')](respondWithResult(_0xe8a412,null))[_0x11d6('0x24')](handleError(_0xe8a412,null));};exports[_0x11d6('0x30')]=function(_0x2451dc,_0x5f398b){return db['OpenchannelQueue']['create'](_0x2451dc[_0x11d6('0x31')],{})['then'](function(_0x1bbe42){var _0x160712=_0x2451dc[_0x11d6('0x32')][_0x11d6('0x15')]({'plain':!![]});if(!_0x160712)throw new Error(_0x11d6('0x33'));if(_0x160712['role']===_0x11d6('0x32')){var _0x4d9295=_0x1bbe42[_0x11d6('0x15')]({'plain':!![]});var _0x30a71a=_0x11d6('0x16');return db['UserProfileSection'][_0x11d6('0x2f')]({'where':{'name':_0x30a71a,'userProfileId':_0x160712[_0x11d6('0x34')]},'raw':!![]})[_0x11d6('0x14')](function(_0x2431a3){if(_0x2431a3&&_0x2431a3['autoAssociation']===0x0){return db['UserProfileResource'][_0x11d6('0x30')]({'name':_0x4d9295[_0x11d6('0x19')],'resourceId':_0x4d9295['id'],'type':_0x2431a3['name'],'sectionId':_0x2431a3['id']},{})[_0x11d6('0x14')](function(){return _0x1bbe42;});}else{return _0x1bbe42;}})[_0x11d6('0x24')](function(_0x4bfd7c){logger[_0x11d6('0x18')](_0x11d6('0x35'),_0x4bfd7c);throw _0x4bfd7c;});}return _0x1bbe42;})[_0x11d6('0x14')](respondWithResult(_0x5f398b,0xc9))[_0x11d6('0x24')](handleError(_0x5f398b,null));};exports[_0x11d6('0x36')]=function(_0xc761a2,_0x26323e){if(_0xc761a2[_0x11d6('0x31')]['id']){delete _0xc761a2['body']['id'];}return db[_0x11d6('0x1d')][_0x11d6('0x2f')]({'where':{'id':_0xc761a2[_0x11d6('0x37')]['id']}})[_0x11d6('0x14')](handleEntityNotFound(_0x26323e,null))[_0x11d6('0x14')](saveUpdates(_0xc761a2[_0x11d6('0x31')],null))[_0x11d6('0x14')](respondWithResult(_0x26323e,null))[_0x11d6('0x24')](handleError(_0x26323e,null));};exports[_0x11d6('0x13')]=function(_0x382ac0,_0xa3b663){return db[_0x11d6('0x1d')][_0x11d6('0x2f')]({'where':{'id':_0x382ac0[_0x11d6('0x37')]['id']}})['then'](handleEntityNotFound(_0xa3b663,null))['then'](removeEntity(_0xa3b663,null))[_0x11d6('0x24')](handleError(_0xa3b663,null));};exports[_0x11d6('0x38')]=function(_0x5931b9,_0x1f7a2d){return db[_0x11d6('0x1d')][_0x11d6('0x38')]()['then'](respondWithResult(_0x1f7a2d,null))[_0x11d6('0x24')](handleError(_0x1f7a2d,null));};exports[_0x11d6('0x39')]=function(_0x136797,_0x518222){var _0x4d5627={'raw':!![],'where':{}},_0x5af1b7={},_0x406a12;return db[_0x11d6('0x1d')][_0x11d6('0x3a')]({'where':{'id':_0x136797[_0x11d6('0x37')]['id']}})[_0x11d6('0x14')](handleEntityNotFound(_0x518222,null))[_0x11d6('0x14')](function(_0x5e63dc){if(_0x5e63dc){_0x406a12=_0x5e63dc[_0x11d6('0x15')]({'plain':!![]});_0x5af1b7[_0x11d6('0x26')]=_[_0x11d6('0x27')](db[_0x11d6('0x3b')][_0x11d6('0x1e')]);_0x5af1b7['query']=_[_0x11d6('0x27')](_0x136797[_0x11d6('0x28')]);_0x5af1b7[_0x11d6('0x29')]=_[_0x11d6('0x2a')](_0x5af1b7[_0x11d6('0x26')],_0x5af1b7[_0x11d6('0x28')]);_0x4d5627[_0x11d6('0x2b')]=_[_0x11d6('0x2a')](_0x5af1b7[_0x11d6('0x26')],qs['fields'](_0x136797['query'][_0x11d6('0x2c')]));_0x4d5627['attributes']=_0x4d5627[_0x11d6('0x2b')][_0x11d6('0x2d')]?_0x4d5627['attributes']:_0x5af1b7['model'];if(!_0x136797[_0x11d6('0x28')]['hasOwnProperty'](_0x11d6('0x3c'))){_0x4d5627[_0x11d6('0xf')]=qs['limit'](_0x136797[_0x11d6('0x28')]['limit']);_0x4d5627[_0x11d6('0xe')]=qs[_0x11d6('0xe')](_0x136797[_0x11d6('0x28')][_0x11d6('0xe')]);}_0x4d5627[_0x11d6('0x3d')]=qs[_0x11d6('0x3e')](_0x136797[_0x11d6('0x28')][_0x11d6('0x3e')]);_0x4d5627[_0x11d6('0x3f')]=qs[_0x11d6('0x29')](_[_0x11d6('0x40')](_0x136797[_0x11d6('0x28')],_0x5af1b7[_0x11d6('0x29')]));_0x4d5627[_0x11d6('0x3f')][_0x11d6('0x41')]=_0x5e63dc['id'];if(_0x136797[_0x11d6('0x28')][_0x11d6('0x42')]){_0x4d5627['where']=_[_0x11d6('0x43')](_0x4d5627['where'],{'$or':_['map'](_0x4d5627[_0x11d6('0x2b')],function(_0x48125d){var _0x2fafa8={};_0x2fafa8[_0x48125d]={'$like':'%'+_0x136797[_0x11d6('0x28')][_0x11d6('0x42')]+'%'};return _0x2fafa8;})});}_0x4d5627=_[_0x11d6('0x43')]({},_0x4d5627,_0x136797[_0x11d6('0x2e')]);return db[_0x11d6('0x3b')]['findAll'](_0x4d5627);}})[_0x11d6('0x14')](function(_0x11637a){if(_0x11637a){return db['User'][_0x11d6('0x44')]({'where':{'id':_[_0x11d6('0x1c')](_0x11637a,'UserId'),'role':_0x11d6('0x45')},'attributes':['id',_0x11d6('0x19'),'openchannelPause',_0x11d6('0x46'),'createdAt']});}})[_0x11d6('0x14')](function(_0x34f882){if(_0x34f882){return{'count':_0x34f882['count'],'rows':_['map'](_0x34f882[_0x11d6('0x47')],function(_0x20add4){return{'membername':_0x20add4['name'],'UserId':_0x20add4['id'],'queue_name':_0x406a12[_0x11d6('0x19')],'OpenchannelQueueId':_0x406a12['id'],'interface':util['format'](_0x11d6('0x48'),_0x11d6('0x49'),_0x20add4[_0x11d6('0x19')]),'penalty':0x0,'paused':_0x20add4['openchannelPause'],'createdAt':_0x20add4['createdAt'],'updatedAt':_0x20add4[_0x11d6('0x46')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x518222,_0x4d5627))[_0x11d6('0x24')](handleError(_0x518222,null));};exports['getTeams']=function(_0x5be503,_0x37997f){var _0x5a80ac={};var _0x323ab9={};var _0x3866b5;var _0x5ea58d;return db[_0x11d6('0x1d')]['findOne']({'where':{'id':_0x5be503[_0x11d6('0x37')]['id']}})[_0x11d6('0x14')](handleEntityNotFound(_0x37997f,null))[_0x11d6('0x14')](function(_0x1739cc){if(_0x1739cc){_0x3866b5=_0x1739cc;_0x323ab9[_0x11d6('0x26')]=_[_0x11d6('0x27')](db[_0x11d6('0x4a')][_0x11d6('0x1e')]);_0x323ab9[_0x11d6('0x28')]=_[_0x11d6('0x27')](_0x5be503['query']);_0x323ab9[_0x11d6('0x29')]=_[_0x11d6('0x2a')](_0x323ab9['model'],_0x323ab9[_0x11d6('0x28')]);_0x5a80ac['attributes']=_['intersection'](_0x323ab9['model'],qs[_0x11d6('0x2c')](_0x5be503['query'][_0x11d6('0x2c')]));_0x5a80ac[_0x11d6('0x2b')]=_0x5a80ac['attributes'][_0x11d6('0x2d')]?_0x5a80ac['attributes']:_0x323ab9['model'];_0x5a80ac[_0x11d6('0x3d')]=qs[_0x11d6('0x3e')](_0x5be503[_0x11d6('0x28')]['sort']);_0x5a80ac[_0x11d6('0x3f')]=qs[_0x11d6('0x29')](_['pick'](_0x5be503[_0x11d6('0x28')],_0x323ab9[_0x11d6('0x29')]));if(_0x5be503['query']['filter']){_0x5a80ac[_0x11d6('0x3f')]=_[_0x11d6('0x43')](_0x5a80ac[_0x11d6('0x3f')],{'$or':_[_0x11d6('0x1c')](_0x5a80ac[_0x11d6('0x2b')],function(_0x220e60){var _0x41cb80={};_0x41cb80[_0x220e60]={'$like':'%'+_0x5be503[_0x11d6('0x28')][_0x11d6('0x42')]+'%'};return _0x41cb80;})});}_0x5a80ac=_['merge']({},_0x5a80ac,_0x5be503[_0x11d6('0x2e')]);return _0x3866b5[_0x11d6('0x4b')](_0x5a80ac);}})[_0x11d6('0x14')](function(_0x5ac436){if(_0x5ac436){_0x5ea58d=_0x5ac436['length'];if(!_0x5be503['query']['hasOwnProperty'](_0x11d6('0x3c'))){_0x5a80ac[_0x11d6('0xf')]=qs[_0x11d6('0xf')](_0x5be503['query'][_0x11d6('0xf')]);_0x5a80ac[_0x11d6('0xe')]=qs[_0x11d6('0xe')](_0x5be503[_0x11d6('0x28')]['offset']);}return _0x3866b5['getTeams'](_0x5a80ac);}})['then'](function(_0x39c083){if(_0x39c083){return _0x39c083?{'count':_0x5ea58d,'rows':_0x39c083}:null;}})[_0x11d6('0x14')](respondWithResult(_0x37997f,null))[_0x11d6('0x24')](handleError(_0x37997f,null));};exports[_0x11d6('0x4c')]=function(_0x2722c4,_0x356746){var _0xfb8770=_0x2722c4[_0x11d6('0x31')][_0x11d6('0x4d')];return db[_0x11d6('0x4a')][_0x11d6('0x4e')]({'where':{'id':_0xfb8770},'attributes':['id'],'include':[{'model':db[_0x11d6('0x4f')],'as':_0x11d6('0x50'),'attributes':['id',_0x11d6('0x19'),_0x11d6('0x51'),'voicePause',_0x11d6('0x52')],'raw':!![]}]})[_0x11d6('0x14')](function(_0x4e1ab7){if(_0x4e1ab7){var _0x141df6=_[_0x11d6('0x53')](_0x4e1ab7,function(_0x47674f){var _0x22d567=_0x47674f[_0x11d6('0x15')]({'plain':!![]});return _0x22d567[_0x11d6('0x50')];});return db[_0x11d6('0x1d')][_0x11d6('0x2f')]({'where':{'id':_0x2722c4[_0x11d6('0x37')]['id']}})['then'](function(_0x16bd44){return db['sequelize'][_0x11d6('0x54')](function(_0x462da2){return _0x16bd44[_0x11d6('0x4c')](_0xfb8770,{'transaction':_0x462da2})['then'](function(){return BPromise['each'](_0x141df6,function(_0x32004d){return db['UserOpenchannelQueue']['findOrCreate']({'where':{'UserId':_0x32004d['id'],'OpenchannelQueueId':_0x2722c4['params']['id']},'transaction':_0x462da2});});})[_0x11d6('0x14')](function(){_0x141df6['forEach'](function(_0x42885e){socket[_0x11d6('0x55')](_0x11d6('0x56'),{'UserId':_0x42885e['id'],'OpenchannelQueueId':_0x16bd44['id']});});});});});}})[_0x11d6('0x14')](respondWithStatusCode(_0x356746,null))[_0x11d6('0x24')](handleError(_0x356746,null));};exports[_0x11d6('0x57')]=function(_0x16a23c,_0x4c591){return db[_0x11d6('0x4a')][_0x11d6('0x4e')]({'where':{'id':_0x16a23c[_0x11d6('0x28')][_0x11d6('0x4d')]},'attributes':['id'],'include':[{'model':db[_0x11d6('0x4f')],'as':_0x11d6('0x50'),'attributes':['id'],'raw':!![]}]})[_0x11d6('0x14')](handleEntityNotFound(_0x4c591,null))['then'](function(_0x636ede){var _0x1f200d=_['map'](_0x636ede,'id');var _0x1200b3=[];var _0x5228ca=[];var _0x412d0c=squel[_0x11d6('0x58')]();_0x412d0c[_0x11d6('0x59')](_0x11d6('0x5a'))['from'](_0x11d6('0x5b'),'tq')[_0x11d6('0x5c')](_0x11d6('0x5d'),'ut',_0x11d6('0x5e'))['where'](_0x11d6('0x5f'),_0x16a23c['params']['id']);for(var _0x59c574=0x0;_0x59c574<_0x636ede[_0x11d6('0x2d')];_0x59c574+=0x1){let _0xa59418=_0x636ede[_0x59c574];for(var _0x21ac0d=0x0;_0x21ac0d<_0xa59418[_0x11d6('0x50')][_0x11d6('0x2d')];_0x21ac0d+=0x1){let _0x2e186e=_0xa59418[_0x11d6('0x50')][_0x21ac0d];var _0x47388d=_0x412d0c[_0x11d6('0x60')]();_0x47388d['where'](_0x11d6('0x61'),_0x2e186e['id']);_0x5228ca['push'](db[_0x11d6('0x62')]['query'](_0x47388d[_0x11d6('0x63')](),{'type':db[_0x11d6('0x62')]['QueryTypes'][_0x11d6('0x64')]})[_0x11d6('0x14')](function(_0x5e7786){if(_0x5e7786[_0x11d6('0x2d')]===0x1){return _0x2e186e['id'];}else{var _0x178148=_[_0x11d6('0x65')](_[_0x11d6('0x1c')](_0x5e7786,_0x11d6('0x66')),function(_0x437c81){return _[_0x11d6('0x67')](_0x1f200d,_0x437c81);});if(_0x178148){return _0x2e186e['id'];}}}));}}return BPromise[_0x11d6('0x68')](_0x5228ca)[_0x11d6('0x14')](function(_0x286171){_0x1200b3=_(_0x1200b3)[_0x11d6('0x69')](_0x286171)[_0x11d6('0x6a')]()[_0x11d6('0x6b')]();return db['OpenchannelQueue']['find']({'where':{'id':_0x16a23c['params']['id']}})['then'](function(_0xf37a9){return db[_0x11d6('0x62')]['transaction'](function(_0xc7e822){return _0xf37a9[_0x11d6('0x57')](_0x16a23c[_0x11d6('0x28')][_0x11d6('0x4d')],{'transaction':_0xc7e822})[_0x11d6('0x14')](function(){if(!_['isEmpty'](_0x1200b3)){return _0xf37a9['removeAgents'](_0x1200b3,{'transaction':_0xc7e822});}})[_0x11d6('0x14')](function(){_0x1200b3[_0x11d6('0x6c')](function(_0x1fd9eb){socket[_0x11d6('0x55')](_0x11d6('0x6d'),{'UserId':_0x1fd9eb,'OpenchannelQueueId':_0xf37a9['id']});});});});});});})[_0x11d6('0x14')](respondWithStatusCode(_0x4c591,null))['catch'](handleError(_0x4c591,null));};exports[_0x11d6('0x6e')]=function(_0x51a0e3,_0x5431fb){return db[_0x11d6('0x1d')][_0x11d6('0x2f')]({'where':{'id':_0x51a0e3[_0x11d6('0x37')]['id']}})['then'](handleEntityNotFound(_0x5431fb,null))[_0x11d6('0x14')](function(_0x12d00b){if(_0x12d00b){return _0x12d00b[_0x11d6('0x6e')](_0x51a0e3[_0x11d6('0x31')][_0x11d6('0x4d')],_[_0x11d6('0x6f')](_0x51a0e3[_0x11d6('0x31')],[_0x11d6('0x4d'),'id'])||{})[_0x11d6('0x70')](function(_0x3ab9d7){for(var _0x3bcaa3=0x0;_0x3bcaa3<_0x51a0e3[_0x11d6('0x31')][_0x11d6('0x4d')][_0x11d6('0x2d')];_0x3bcaa3+=0x1){socket[_0x11d6('0x55')](_0x11d6('0x56'),{'UserId':Number(_0x51a0e3[_0x11d6('0x31')][_0x11d6('0x4d')][_0x3bcaa3]),'OpenchannelQueueId':Number(_0x51a0e3[_0x11d6('0x37')]['id'])});}return _0x3ab9d7;});}})[_0x11d6('0x14')](respondWithResult(_0x5431fb,null))[_0x11d6('0x24')](handleError(_0x5431fb,null));};exports[_0x11d6('0x71')]=function(_0x16788d,_0x3733f2){return db['OpenchannelQueue'][_0x11d6('0x2f')]({'where':{'id':_0x16788d[_0x11d6('0x37')]['id']}})[_0x11d6('0x14')](handleEntityNotFound(_0x3733f2,null))['then'](function(_0x3e19e2){if(_0x3e19e2){return _0x3e19e2[_0x11d6('0x71')](_0x16788d[_0x11d6('0x28')][_0x11d6('0x4d')])['then'](function(){if(_[_0x11d6('0x72')](_0x16788d[_0x11d6('0x28')]['ids'])){for(var _0x275f8a=0x0;_0x275f8a<_0x16788d[_0x11d6('0x28')][_0x11d6('0x4d')][_0x11d6('0x2d')];_0x275f8a+=0x1){socket[_0x11d6('0x55')](_0x11d6('0x6d'),{'UserId':Number(_0x16788d[_0x11d6('0x28')]['ids'][_0x275f8a]),'OpenchannelQueueId':Number(_0x16788d[_0x11d6('0x37')]['id'])});}}else{socket[_0x11d6('0x55')](_0x11d6('0x6d'),{'UserId':Number(_0x16788d[_0x11d6('0x28')][_0x11d6('0x4d')]),'OpenchannelQueueId':Number(_0x16788d['params']['id'])});}});}})[_0x11d6('0x14')](respondWithStatusCode(_0x3733f2,null))[_0x11d6('0x24')](handleError(_0x3733f2,null));};exports[_0x11d6('0x73')]=function(_0x41a96d,_0x4915ea){var _0x441be6={};var _0x713e31={};var _0x5e32dc;var _0x546ab6;return db[_0x11d6('0x1d')][_0x11d6('0x3a')]({'where':{'id':_0x41a96d[_0x11d6('0x37')]['id']}})['then'](handleEntityNotFound(_0x4915ea,null))[_0x11d6('0x14')](function(_0x2f25ef){if(_0x2f25ef){_0x5e32dc=_0x2f25ef;_0x713e31[_0x11d6('0x26')]=_[_0x11d6('0x27')](db[_0x11d6('0x4f')][_0x11d6('0x1e')]);_0x713e31[_0x11d6('0x28')]=_[_0x11d6('0x27')](_0x41a96d['query']);_0x713e31[_0x11d6('0x29')]=_[_0x11d6('0x2a')](_0x713e31[_0x11d6('0x26')],_0x713e31[_0x11d6('0x28')]);_0x441be6[_0x11d6('0x2b')]=_[_0x11d6('0x2a')](_0x713e31['model'],qs[_0x11d6('0x2c')](_0x41a96d[_0x11d6('0x28')][_0x11d6('0x2c')]));_0x441be6['attributes']=_0x441be6[_0x11d6('0x2b')]['length']?_0x441be6[_0x11d6('0x2b')]:_0x713e31[_0x11d6('0x26')];_0x441be6[_0x11d6('0x3d')]=qs[_0x11d6('0x3e')](_0x41a96d[_0x11d6('0x28')][_0x11d6('0x3e')]);_0x441be6[_0x11d6('0x3f')]=qs[_0x11d6('0x29')](_['pick'](_0x41a96d[_0x11d6('0x28')],_0x713e31[_0x11d6('0x29')]));if(_0x41a96d[_0x11d6('0x28')][_0x11d6('0x42')]){_0x441be6[_0x11d6('0x3f')]=_[_0x11d6('0x43')](_0x441be6[_0x11d6('0x3f')],{'$or':_['map'](_0x441be6[_0x11d6('0x2b')],function(_0x3b437c){var _0x3d9325={};_0x3d9325[_0x3b437c]={'$like':'%'+_0x41a96d['query'][_0x11d6('0x42')]+'%'};return _0x3d9325;})});}_0x441be6=_['merge']({},_0x441be6,_0x41a96d['options']);return _0x5e32dc['getAgents'](_0x441be6);}})[_0x11d6('0x14')](function(_0x4741dd){if(_0x4741dd){_0x546ab6=_0x4741dd[_0x11d6('0x2d')];if(!_0x41a96d[_0x11d6('0x28')][_0x11d6('0x74')]('nolimit')){_0x441be6[_0x11d6('0xf')]=qs[_0x11d6('0xf')](_0x41a96d['query'][_0x11d6('0xf')]);_0x441be6[_0x11d6('0xe')]=qs[_0x11d6('0xe')](_0x41a96d[_0x11d6('0x28')][_0x11d6('0xe')]);}return _0x5e32dc[_0x11d6('0x73')](_0x441be6);}})[_0x11d6('0x14')](function(_0x285d58){if(_0x285d58){return _0x285d58?{'count':_0x546ab6,'rows':_0x285d58}:null;}})['then'](respondWithResult(_0x4915ea,null))[_0x11d6('0x24')](handleError(_0x4915ea,null));};