Built motion from commit d5e4af8c.|2.6.23
[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 _0x2ff6=['rawAttributes','query','keys','intersection','model','attributes','fields','length','includeAll','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','OpenchannelQueues','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserOpenchannelQueue','nolimit','order','sort','filters','pick','filter','merge','findAll','User','findAndCountAll','UserId','openchannelPause','%s/%s','SIP','options','getTeams','addTeams','Team','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','userOpenchannelQueue:save','removeTeams','ids','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','SELECT','includes','all','union','compact','value','isEmpty','forEach','userOpenchannelQueue:remove','addAgents','omit','spread','removeAgents','hasOwnProperty','getAgents','bluebird','util','squel','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelQueue.socket','status','offset','undefined','count','limit','set','Content-Range','update','then','destroy','get','end','error','stack','name','send','map','OpenchannelQueue','fieldName','type','key','getOptions','where','include','rows','show'];(function(_0x31cb5f,_0x2df766){var _0x586042=function(_0x53c807){while(--_0x53c807){_0x31cb5f['push'](_0x31cb5f['shift']());}};_0x586042(++_0x2df766);}(_0x2ff6,0xcc));var _0x62ff=function(_0x1bc1ce,_0x2191ad){_0x1bc1ce=_0x1bc1ce-0x0;var _0x9c2d3d=_0x2ff6[_0x1bc1ce];return _0x9c2d3d;};'use strict';var BPromise=require(_0x62ff('0x0'));var util=require(_0x62ff('0x1'));var _=require('lodash');var squel=require(_0x62ff('0x2'));var Redis=require('ioredis');var qs=require(_0x62ff('0x3'));var logger=require(_0x62ff('0x4'))(_0x62ff('0x5'));var config=require(_0x62ff('0x6'));var db=require(_0x62ff('0x7'))['db'];config[_0x62ff('0x8')]=_['defaults'](config[_0x62ff('0x8')],{'host':_0x62ff('0x9'),'port':0x18eb});var socket=require(_0x62ff('0xa'))(new Redis(config['redis']));require(_0x62ff('0xb'))['register'](socket);function respondWithStatusCode(_0x36cb59,_0x4acdf1){_0x4acdf1=_0x4acdf1||0xcc;return function(_0x4813a3){if(_0x4813a3){return _0x36cb59['sendStatus'](_0x4acdf1);}return _0x36cb59[_0x62ff('0xc')](_0x4acdf1)['end']();};}function respondWithResult(_0x31561e,_0x46e91d){_0x46e91d=_0x46e91d||0xc8;return function(_0x10575b){if(_0x10575b){return _0x31561e[_0x62ff('0xc')](_0x46e91d)['json'](_0x10575b);}};}function respondWithFilteredResult(_0x82ad40,_0xe3e863){return function(_0x357ea8){if(_0x357ea8){var _0x482ed7=typeof _0xe3e863[_0x62ff('0xd')]===_0x62ff('0xe')&&typeof _0xe3e863['limit']==='undefined';var _0x4fa60c=_0x357ea8[_0x62ff('0xf')];var _0x3bd7c0=_0x482ed7?0x0:_0xe3e863[_0x62ff('0xd')];var _0x51378c=_0x482ed7?_0x357ea8['count']:_0xe3e863[_0x62ff('0xd')]+_0xe3e863[_0x62ff('0x10')];var _0x1429a6;if(_0x51378c>=_0x4fa60c){_0x51378c=_0x4fa60c;_0x1429a6=0xc8;}else{_0x1429a6=0xce;}_0x82ad40['status'](_0x1429a6);return _0x82ad40[_0x62ff('0x11')](_0x62ff('0x12'),_0x3bd7c0+'-'+_0x51378c+'/'+_0x4fa60c)['json'](_0x357ea8);}return null;};}function saveUpdates(_0x4253e0){return function(_0x31b256){if(_0x31b256){return _0x31b256[_0x62ff('0x13')](_0x4253e0)[_0x62ff('0x14')](function(_0x48c061){return _0x48c061;});}return null;};}function removeEntity(_0x3caa83){return function(_0x48e988){if(_0x48e988){return _0x48e988[_0x62ff('0x15')]()[_0x62ff('0x14')](function(){var _0x50771b=_0x48e988[_0x62ff('0x16')]({'plain':!![]});var _0x5b1a2a='OpenchannelQueues';return db['UserProfileResource'][_0x62ff('0x15')]({'where':{'type':_0x5b1a2a,'resourceId':_0x50771b['id']}})[_0x62ff('0x14')](function(){return _0x48e988;});})[_0x62ff('0x14')](function(){_0x3caa83['status'](0xcc)[_0x62ff('0x17')]();});}};}function handleEntityNotFound(_0x3f7e70){return function(_0x3854d5){if(!_0x3854d5){_0x3f7e70['sendStatus'](0x194);}return _0x3854d5;};}function handleError(_0x36bc83,_0x91d69b){_0x91d69b=_0x91d69b||0x1f4;return function(_0xdd4746){logger[_0x62ff('0x18')](_0xdd4746[_0x62ff('0x19')]);if(_0xdd4746['name']){delete _0xdd4746[_0x62ff('0x1a')];}_0x36bc83[_0x62ff('0xc')](_0x91d69b)[_0x62ff('0x1b')](_0xdd4746);};}exports['index']=function(_0x8bc680,_0x4e7a9b){var _0x307344={};var _0x27428f={'count':0x0,'rows':[]};var _0x5a3c7e=_[_0x62ff('0x1c')](db[_0x62ff('0x1d')]['rawAttributes'],function(_0x31553d){return{'name':_0x31553d[_0x62ff('0x1e')],'type':_0x31553d[_0x62ff('0x1f')][_0x62ff('0x20')]};});_0x307344=qs[_0x62ff('0x21')](_0x5a3c7e,_0x8bc680);var _0x45a0bc={'where':_0x307344[_0x62ff('0x22')]};return db[_0x62ff('0x1d')][_0x62ff('0xf')](_0x45a0bc)[_0x62ff('0x14')](function(_0xca57ce){_0x27428f[_0x62ff('0xf')]=_0xca57ce;_0x307344[_0x62ff('0x23')]=qs[_0x62ff('0x23')](_0x8bc680['query']);return db[_0x62ff('0x1d')]['findAll'](_0x307344);})[_0x62ff('0x14')](function(_0x17f3b9){_0x27428f[_0x62ff('0x24')]=_0x17f3b9;return _0x27428f;})['then'](respondWithFilteredResult(_0x4e7a9b,_0x307344))['catch'](handleError(_0x4e7a9b,null));};exports[_0x62ff('0x25')]=function(_0xc6e9c4,_0xe7721){var _0x3b972d={'raw':!![],'where':{'id':_0xc6e9c4['params']['id']}},_0x1981e8={};_0x1981e8['model']=_['keys'](db[_0x62ff('0x1d')][_0x62ff('0x26')]);_0x1981e8[_0x62ff('0x27')]=_[_0x62ff('0x28')](_0xc6e9c4['query']);_0x1981e8['filters']=_[_0x62ff('0x29')](_0x1981e8[_0x62ff('0x2a')],_0x1981e8[_0x62ff('0x27')]);_0x3b972d[_0x62ff('0x2b')]=_[_0x62ff('0x29')](_0x1981e8[_0x62ff('0x2a')],qs[_0x62ff('0x2c')](_0xc6e9c4[_0x62ff('0x27')][_0x62ff('0x2c')]));_0x3b972d[_0x62ff('0x2b')]=_0x3b972d['attributes'][_0x62ff('0x2d')]?_0x3b972d[_0x62ff('0x2b')]:_0x1981e8['model'];if(_0xc6e9c4['query'][_0x62ff('0x2e')]){_0x3b972d[_0x62ff('0x23')]=[{'all':!![]}];}_0x3b972d=_['merge']({},_0x3b972d,_0xc6e9c4['options']);return db[_0x62ff('0x1d')][_0x62ff('0x2f')](_0x3b972d)[_0x62ff('0x14')](handleEntityNotFound(_0xe7721,null))[_0x62ff('0x14')](respondWithResult(_0xe7721,null))[_0x62ff('0x30')](handleError(_0xe7721,null));};exports[_0x62ff('0x31')]=function(_0x4f4418,_0x2fdb1c){return db[_0x62ff('0x1d')][_0x62ff('0x31')](_0x4f4418[_0x62ff('0x32')],{})[_0x62ff('0x14')](function(_0x27af0c){var _0x48d2cc=_0x4f4418['user'][_0x62ff('0x16')]({'plain':!![]});if(!_0x48d2cc)throw new Error(_0x62ff('0x33'));if(_0x48d2cc[_0x62ff('0x34')]==='user'){var _0x586fc0=_0x27af0c[_0x62ff('0x16')]({'plain':!![]});var _0x1f64bb=_0x62ff('0x35');return db[_0x62ff('0x36')]['find']({'where':{'name':_0x1f64bb,'userProfileId':_0x48d2cc[_0x62ff('0x37')]},'raw':!![]})[_0x62ff('0x14')](function(_0x4361ba){if(_0x4361ba&&_0x4361ba[_0x62ff('0x38')]===0x0){return db[_0x62ff('0x39')][_0x62ff('0x31')]({'name':_0x586fc0[_0x62ff('0x1a')],'resourceId':_0x586fc0['id'],'type':_0x4361ba[_0x62ff('0x1a')],'sectionId':_0x4361ba['id']},{})['then'](function(){return _0x27af0c;});}else{return _0x27af0c;}})[_0x62ff('0x30')](function(_0x3f2851){logger[_0x62ff('0x18')](_0x62ff('0x3a'),_0x3f2851);throw _0x3f2851;});}return _0x27af0c;})['then'](respondWithResult(_0x2fdb1c,0xc9))['catch'](handleError(_0x2fdb1c,null));};exports[_0x62ff('0x13')]=function(_0x30dc73,_0x198887){if(_0x30dc73[_0x62ff('0x32')]['id']){delete _0x30dc73[_0x62ff('0x32')]['id'];}return db[_0x62ff('0x1d')]['find']({'where':{'id':_0x30dc73[_0x62ff('0x3b')]['id']}})[_0x62ff('0x14')](handleEntityNotFound(_0x198887,null))[_0x62ff('0x14')](saveUpdates(_0x30dc73[_0x62ff('0x32')],null))[_0x62ff('0x14')](respondWithResult(_0x198887,null))[_0x62ff('0x30')](handleError(_0x198887,null));};exports[_0x62ff('0x15')]=function(_0x434f2a,_0x9dc56f){return db[_0x62ff('0x1d')]['find']({'where':{'id':_0x434f2a['params']['id']}})['then'](handleEntityNotFound(_0x9dc56f,null))['then'](removeEntity(_0x9dc56f,null))[_0x62ff('0x30')](handleError(_0x9dc56f,null));};exports[_0x62ff('0x3c')]=function(_0x4d29c5,_0x1a4ae0){return db['OpenchannelQueue'][_0x62ff('0x3c')]()[_0x62ff('0x14')](respondWithResult(_0x1a4ae0,null))[_0x62ff('0x30')](handleError(_0x1a4ae0,null));};exports[_0x62ff('0x3d')]=function(_0x2312e7,_0x21047a){var _0x6df0ad={'raw':!![],'where':{}},_0x206d37={},_0x40ed84;return db['OpenchannelQueue'][_0x62ff('0x3e')]({'where':{'id':_0x2312e7[_0x62ff('0x3b')]['id']}})[_0x62ff('0x14')](handleEntityNotFound(_0x21047a,null))[_0x62ff('0x14')](function(_0x2560b1){if(_0x2560b1){_0x40ed84=_0x2560b1[_0x62ff('0x16')]({'plain':!![]});_0x206d37['model']=_[_0x62ff('0x28')](db[_0x62ff('0x3f')][_0x62ff('0x26')]);_0x206d37['query']=_[_0x62ff('0x28')](_0x2312e7[_0x62ff('0x27')]);_0x206d37['filters']=_[_0x62ff('0x29')](_0x206d37['model'],_0x206d37[_0x62ff('0x27')]);_0x6df0ad[_0x62ff('0x2b')]=_['intersection'](_0x206d37['model'],qs[_0x62ff('0x2c')](_0x2312e7['query'][_0x62ff('0x2c')]));_0x6df0ad['attributes']=_0x6df0ad[_0x62ff('0x2b')][_0x62ff('0x2d')]?_0x6df0ad[_0x62ff('0x2b')]:_0x206d37[_0x62ff('0x2a')];if(!_0x2312e7[_0x62ff('0x27')]['hasOwnProperty'](_0x62ff('0x40'))){_0x6df0ad[_0x62ff('0x10')]=qs[_0x62ff('0x10')](_0x2312e7[_0x62ff('0x27')][_0x62ff('0x10')]);_0x6df0ad[_0x62ff('0xd')]=qs[_0x62ff('0xd')](_0x2312e7[_0x62ff('0x27')]['offset']);}_0x6df0ad[_0x62ff('0x41')]=qs['sort'](_0x2312e7[_0x62ff('0x27')][_0x62ff('0x42')]);_0x6df0ad[_0x62ff('0x22')]=qs[_0x62ff('0x43')](_[_0x62ff('0x44')](_0x2312e7['query'],_0x206d37['filters']));_0x6df0ad['where']['OpenchannelQueueId']=_0x2560b1['id'];if(_0x2312e7[_0x62ff('0x27')][_0x62ff('0x45')]){_0x6df0ad[_0x62ff('0x22')]=_[_0x62ff('0x46')](_0x6df0ad[_0x62ff('0x22')],{'$or':_[_0x62ff('0x1c')](_0x6df0ad[_0x62ff('0x2b')],function(_0x2d07ad){var _0x30c58a={};_0x30c58a[_0x2d07ad]={'$like':'%'+_0x2312e7['query']['filter']+'%'};return _0x30c58a;})});}_0x6df0ad=_[_0x62ff('0x46')]({},_0x6df0ad,_0x2312e7['options']);return db['UserOpenchannelQueue'][_0x62ff('0x47')](_0x6df0ad);}})['then'](function(_0x16e711){if(_0x16e711){return db[_0x62ff('0x48')][_0x62ff('0x49')]({'where':{'id':_['map'](_0x16e711,_0x62ff('0x4a')),'role':'agent'},'attributes':['id',_0x62ff('0x1a'),_0x62ff('0x4b'),'updatedAt','createdAt']});}})['then'](function(_0x2f5c5e){if(_0x2f5c5e){return{'count':_0x2f5c5e['count'],'rows':_[_0x62ff('0x1c')](_0x2f5c5e['rows'],function(_0xc42279){return{'membername':_0xc42279['name'],'UserId':_0xc42279['id'],'queue_name':_0x40ed84[_0x62ff('0x1a')],'OpenchannelQueueId':_0x40ed84['id'],'interface':util['format'](_0x62ff('0x4c'),_0x62ff('0x4d'),_0xc42279[_0x62ff('0x1a')]),'penalty':0x0,'paused':_0xc42279[_0x62ff('0x4b')],'createdAt':_0xc42279['createdAt'],'updatedAt':_0xc42279['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x21047a,_0x6df0ad))[_0x62ff('0x30')](handleError(_0x21047a,null));};exports['getTeams']=function(_0x38088d,_0x32fccb){var _0x390787={};var _0x37c271={};var _0x3ce78e;var _0x656b6;return db[_0x62ff('0x1d')][_0x62ff('0x3e')]({'where':{'id':_0x38088d[_0x62ff('0x3b')]['id']}})['then'](handleEntityNotFound(_0x32fccb,null))[_0x62ff('0x14')](function(_0x407ed5){if(_0x407ed5){_0x3ce78e=_0x407ed5;_0x37c271[_0x62ff('0x2a')]=_[_0x62ff('0x28')](db['Team'][_0x62ff('0x26')]);_0x37c271[_0x62ff('0x27')]=_[_0x62ff('0x28')](_0x38088d[_0x62ff('0x27')]);_0x37c271[_0x62ff('0x43')]=_[_0x62ff('0x29')](_0x37c271[_0x62ff('0x2a')],_0x37c271[_0x62ff('0x27')]);_0x390787[_0x62ff('0x2b')]=_[_0x62ff('0x29')](_0x37c271[_0x62ff('0x2a')],qs[_0x62ff('0x2c')](_0x38088d['query'][_0x62ff('0x2c')]));_0x390787[_0x62ff('0x2b')]=_0x390787[_0x62ff('0x2b')]['length']?_0x390787['attributes']:_0x37c271['model'];_0x390787['order']=qs[_0x62ff('0x42')](_0x38088d[_0x62ff('0x27')][_0x62ff('0x42')]);_0x390787[_0x62ff('0x22')]=qs[_0x62ff('0x43')](_[_0x62ff('0x44')](_0x38088d[_0x62ff('0x27')],_0x37c271['filters']));if(_0x38088d[_0x62ff('0x27')][_0x62ff('0x45')]){_0x390787[_0x62ff('0x22')]=_['merge'](_0x390787[_0x62ff('0x22')],{'$or':_[_0x62ff('0x1c')](_0x390787[_0x62ff('0x2b')],function(_0x112630){var _0x447361={};_0x447361[_0x112630]={'$like':'%'+_0x38088d[_0x62ff('0x27')]['filter']+'%'};return _0x447361;})});}_0x390787=_[_0x62ff('0x46')]({},_0x390787,_0x38088d[_0x62ff('0x4e')]);return _0x3ce78e[_0x62ff('0x4f')](_0x390787);}})[_0x62ff('0x14')](function(_0x3c2eb1){if(_0x3c2eb1){_0x656b6=_0x3c2eb1[_0x62ff('0x2d')];if(!_0x38088d[_0x62ff('0x27')]['hasOwnProperty']('nolimit')){_0x390787['limit']=qs[_0x62ff('0x10')](_0x38088d[_0x62ff('0x27')]['limit']);_0x390787[_0x62ff('0xd')]=qs[_0x62ff('0xd')](_0x38088d['query'][_0x62ff('0xd')]);}return _0x3ce78e['getTeams'](_0x390787);}})[_0x62ff('0x14')](function(_0x2146d9){if(_0x2146d9){return _0x2146d9?{'count':_0x656b6,'rows':_0x2146d9}:null;}})[_0x62ff('0x14')](respondWithResult(_0x32fccb,null))[_0x62ff('0x30')](handleError(_0x32fccb,null));};exports[_0x62ff('0x50')]=function(_0x34e84b,_0x23efce){var _0x5472e7=_0x34e84b[_0x62ff('0x32')]['ids'];return db[_0x62ff('0x51')][_0x62ff('0x47')]({'where':{'id':_0x5472e7},'attributes':['id'],'include':[{'model':db[_0x62ff('0x48')],'as':_0x62ff('0x52'),'attributes':['id',_0x62ff('0x1a'),_0x62ff('0x53'),_0x62ff('0x54'),_0x62ff('0x55')],'raw':!![]}]})[_0x62ff('0x14')](function(_0x3baf81){if(_0x3baf81){var _0x3789f7=_[_0x62ff('0x56')](_0x3baf81,function(_0x50b4d8){var _0x3819ad=_0x50b4d8[_0x62ff('0x16')]({'plain':!![]});return _0x3819ad[_0x62ff('0x52')];});return db[_0x62ff('0x1d')][_0x62ff('0x2f')]({'where':{'id':_0x34e84b['params']['id']}})['then'](function(_0xe4d867){return db[_0x62ff('0x57')][_0x62ff('0x58')](function(_0x2011d7){return _0xe4d867[_0x62ff('0x50')](_0x5472e7,{'transaction':_0x2011d7})['then'](function(){return BPromise[_0x62ff('0x59')](_0x3789f7,function(_0x4bdf15){return db[_0x62ff('0x3f')][_0x62ff('0x5a')]({'where':{'UserId':_0x4bdf15['id'],'OpenchannelQueueId':_0x34e84b['params']['id']},'transaction':_0x2011d7});});})[_0x62ff('0x14')](function(){_0x3789f7['forEach'](function(_0x283b32){socket[_0x62ff('0x5b')](_0x62ff('0x5c'),{'UserId':_0x283b32['id'],'OpenchannelQueueId':_0xe4d867['id']});});});});});}})[_0x62ff('0x14')](respondWithStatusCode(_0x23efce,null))[_0x62ff('0x30')](handleError(_0x23efce,null));};exports[_0x62ff('0x5d')]=function(_0xdda64b,_0x25a55d){return db[_0x62ff('0x51')][_0x62ff('0x47')]({'where':{'id':_0xdda64b[_0x62ff('0x27')][_0x62ff('0x5e')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x62ff('0x52'),'attributes':['id'],'raw':!![]}]})[_0x62ff('0x14')](handleEntityNotFound(_0x25a55d,null))['then'](function(_0x422c65){var _0x2e065b=_['map'](_0x422c65,'id');var _0x58bff7=[];var _0x1406a8=[];var _0x5b14dd=squel['select']();_0x5b14dd[_0x62ff('0x5f')](_0x62ff('0x60'))[_0x62ff('0x61')](_0x62ff('0x62'),'tq')[_0x62ff('0x63')](_0x62ff('0x64'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x62ff('0x22')](_0x62ff('0x65'),_0xdda64b[_0x62ff('0x3b')]['id']);for(var _0x51c523=0x0;_0x51c523<_0x422c65['length'];_0x51c523+=0x1){let _0x30df4a=_0x422c65[_0x51c523];for(var _0x265352=0x0;_0x265352<_0x30df4a[_0x62ff('0x52')][_0x62ff('0x2d')];_0x265352+=0x1){let _0x41d5e1=_0x30df4a[_0x62ff('0x52')][_0x265352];var _0x4a69a2=_0x5b14dd[_0x62ff('0x66')]();_0x4a69a2[_0x62ff('0x22')](_0x62ff('0x67'),_0x41d5e1['id']);_0x1406a8[_0x62ff('0x68')](db[_0x62ff('0x57')]['query'](_0x4a69a2[_0x62ff('0x69')](),{'type':db['sequelize']['QueryTypes'][_0x62ff('0x6a')]})[_0x62ff('0x14')](function(_0x59fea0){if(_0x59fea0[_0x62ff('0x2d')]===0x1){return _0x41d5e1['id'];}else{var _0x48af0d=_['every'](_['map'](_0x59fea0,'TeamId'),function(_0x11d59e){return _[_0x62ff('0x6b')](_0x2e065b,_0x11d59e);});if(_0x48af0d){return _0x41d5e1['id'];}}}));}}return BPromise[_0x62ff('0x6c')](_0x1406a8)[_0x62ff('0x14')](function(_0x448d28){_0x58bff7=_(_0x58bff7)[_0x62ff('0x6d')](_0x448d28)[_0x62ff('0x6e')]()[_0x62ff('0x6f')]();return db['OpenchannelQueue'][_0x62ff('0x2f')]({'where':{'id':_0xdda64b['params']['id']}})['then'](function(_0x313b15){return db[_0x62ff('0x57')][_0x62ff('0x58')](function(_0x1a6d68){return _0x313b15[_0x62ff('0x5d')](_0xdda64b['query'][_0x62ff('0x5e')],{'transaction':_0x1a6d68})[_0x62ff('0x14')](function(){if(!_[_0x62ff('0x70')](_0x58bff7)){return _0x313b15['removeAgents'](_0x58bff7,{'transaction':_0x1a6d68});}})['then'](function(){_0x58bff7[_0x62ff('0x71')](function(_0x3f909d){socket['emit'](_0x62ff('0x72'),{'UserId':_0x3f909d,'OpenchannelQueueId':_0x313b15['id']});});});});});});})[_0x62ff('0x14')](respondWithStatusCode(_0x25a55d,null))[_0x62ff('0x30')](handleError(_0x25a55d,null));};exports[_0x62ff('0x73')]=function(_0x24d8ae,_0x290480){return db[_0x62ff('0x1d')][_0x62ff('0x2f')]({'where':{'id':_0x24d8ae[_0x62ff('0x3b')]['id']}})['then'](handleEntityNotFound(_0x290480,null))[_0x62ff('0x14')](function(_0x5f8835){if(_0x5f8835){return _0x5f8835['addAgents'](_0x24d8ae['body']['ids'],_[_0x62ff('0x74')](_0x24d8ae['body'],[_0x62ff('0x5e'),'id'])||{})[_0x62ff('0x75')](function(_0xd14330){for(var _0x5b3004=0x0;_0x5b3004<_0x24d8ae['body'][_0x62ff('0x5e')][_0x62ff('0x2d')];_0x5b3004+=0x1){socket[_0x62ff('0x5b')](_0x62ff('0x5c'),{'UserId':Number(_0x24d8ae['body'][_0x62ff('0x5e')][_0x5b3004]),'OpenchannelQueueId':Number(_0x24d8ae[_0x62ff('0x3b')]['id'])});}return _0xd14330;});}})[_0x62ff('0x14')](respondWithResult(_0x290480,null))[_0x62ff('0x30')](handleError(_0x290480,null));};exports[_0x62ff('0x76')]=function(_0x5efc26,_0x2ecf4b){return db[_0x62ff('0x1d')][_0x62ff('0x2f')]({'where':{'id':_0x5efc26['params']['id']}})[_0x62ff('0x14')](handleEntityNotFound(_0x2ecf4b,null))['then'](function(_0xf7ea77){if(_0xf7ea77){return _0xf7ea77[_0x62ff('0x76')](_0x5efc26[_0x62ff('0x27')][_0x62ff('0x5e')])[_0x62ff('0x14')](function(){if(_['isArray'](_0x5efc26[_0x62ff('0x27')][_0x62ff('0x5e')])){for(var _0x4eca92=0x0;_0x4eca92<_0x5efc26[_0x62ff('0x27')]['ids'][_0x62ff('0x2d')];_0x4eca92+=0x1){socket[_0x62ff('0x5b')](_0x62ff('0x72'),{'UserId':Number(_0x5efc26[_0x62ff('0x27')][_0x62ff('0x5e')][_0x4eca92]),'OpenchannelQueueId':Number(_0x5efc26[_0x62ff('0x3b')]['id'])});}}else{socket['emit'](_0x62ff('0x72'),{'UserId':Number(_0x5efc26[_0x62ff('0x27')][_0x62ff('0x5e')]),'OpenchannelQueueId':Number(_0x5efc26[_0x62ff('0x3b')]['id'])});}});}})[_0x62ff('0x14')](respondWithStatusCode(_0x2ecf4b,null))['catch'](handleError(_0x2ecf4b,null));};exports['getAgents']=function(_0x2c07ac,_0x3de0bb){var _0x383b54={};var _0x3a44a6={};var _0x2d71cf;var _0x4d0c77;return db[_0x62ff('0x1d')]['findOne']({'where':{'id':_0x2c07ac[_0x62ff('0x3b')]['id']}})[_0x62ff('0x14')](handleEntityNotFound(_0x3de0bb,null))[_0x62ff('0x14')](function(_0x62101e){if(_0x62101e){_0x2d71cf=_0x62101e;_0x3a44a6[_0x62ff('0x2a')]=_[_0x62ff('0x28')](db['User'][_0x62ff('0x26')]);_0x3a44a6[_0x62ff('0x27')]=_['keys'](_0x2c07ac[_0x62ff('0x27')]);_0x3a44a6['filters']=_[_0x62ff('0x29')](_0x3a44a6[_0x62ff('0x2a')],_0x3a44a6[_0x62ff('0x27')]);_0x383b54[_0x62ff('0x2b')]=_[_0x62ff('0x29')](_0x3a44a6[_0x62ff('0x2a')],qs[_0x62ff('0x2c')](_0x2c07ac['query'][_0x62ff('0x2c')]));_0x383b54[_0x62ff('0x2b')]=_0x383b54[_0x62ff('0x2b')][_0x62ff('0x2d')]?_0x383b54[_0x62ff('0x2b')]:_0x3a44a6[_0x62ff('0x2a')];_0x383b54['order']=qs['sort'](_0x2c07ac[_0x62ff('0x27')][_0x62ff('0x42')]);_0x383b54['where']=qs[_0x62ff('0x43')](_[_0x62ff('0x44')](_0x2c07ac[_0x62ff('0x27')],_0x3a44a6[_0x62ff('0x43')]));if(_0x2c07ac[_0x62ff('0x27')][_0x62ff('0x45')]){_0x383b54['where']=_[_0x62ff('0x46')](_0x383b54['where'],{'$or':_[_0x62ff('0x1c')](_0x383b54[_0x62ff('0x2b')],function(_0x224c3a){var _0x1329cd={};_0x1329cd[_0x224c3a]={'$like':'%'+_0x2c07ac[_0x62ff('0x27')]['filter']+'%'};return _0x1329cd;})});}_0x383b54=_['merge']({},_0x383b54,_0x2c07ac['options']);return _0x2d71cf['getAgents'](_0x383b54);}})['then'](function(_0x165b47){if(_0x165b47){_0x4d0c77=_0x165b47['length'];if(!_0x2c07ac['query'][_0x62ff('0x77')](_0x62ff('0x40'))){_0x383b54[_0x62ff('0x10')]=qs['limit'](_0x2c07ac[_0x62ff('0x27')][_0x62ff('0x10')]);_0x383b54[_0x62ff('0xd')]=qs['offset'](_0x2c07ac[_0x62ff('0x27')][_0x62ff('0xd')]);}return _0x2d71cf[_0x62ff('0x78')](_0x383b54);}})['then'](function(_0x5c3c15){if(_0x5c3c15){return _0x5c3c15?{'count':_0x4d0c77,'rows':_0x5c3c15}:null;}})[_0x62ff('0x14')](respondWithResult(_0x3de0bb,null))[_0x62ff('0x30')](handleError(_0x3de0bb,null));};