bc4de537414f4f6b63309bfa1b941987e6752a47
[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 _0x70c6=['toString','QueryTypes','SELECT','every','TeamId','union','value','isEmpty','userOpenchannelQueue:remove','addAgents','omit','spread','emit','removeAgents','isArray','getAgents','order','lodash','squel','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','update','then','destroy','get','OpenchannelQueues','UserProfileResource','error','stack','name','send','index','OpenchannelQueue','rawAttributes','fieldName','type','key','include','query','findAll','rows','show','model','keys','filters','attributes','intersection','fields','length','includeAll','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','hasOwnProperty','nolimit','sort','pick','where','OpenchannelQueueId','map','filter','UserOpenchannelQueue','User','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','format','SIP','getTeams','findOne','Team','addTeams','ids','Agents','flatMap','sequelize','transaction','each','findOrCreate','userOpenchannelQueue:save','removeTeams','field','tq.TeamId','from','team_has_openchannel_queues','OpenchannelQueueId\x20=\x20?','push'];(function(_0x4baae2,_0x487ab6){var _0x1a2285=function(_0x1cea47){while(--_0x1cea47){_0x4baae2['push'](_0x4baae2['shift']());}};_0x1a2285(++_0x487ab6);}(_0x70c6,0x85));var _0x670c=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0x70c6[_0x4565bf];return _0x5610ba;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x670c('0x0'));var squel=require(_0x670c('0x1'));var Redis=require(_0x670c('0x2'));var qs=require(_0x670c('0x3'));var logger=require(_0x670c('0x4'))(_0x670c('0x5'));var config=require('../../config/environment');var db=require(_0x670c('0x6'))['db'];config['redis']=_['defaults'](config[_0x670c('0x7')],{'host':'localhost','port':0x18eb});var socket=require(_0x670c('0x8'))(new Redis(config[_0x670c('0x7')]));require(_0x670c('0x9'))[_0x670c('0xa')](socket);function respondWithStatusCode(_0x175e27,_0x494973){_0x494973=_0x494973||0xcc;return function(_0x4e6de6){if(_0x4e6de6){return _0x175e27[_0x670c('0xb')](_0x494973);}return _0x175e27['status'](_0x494973)[_0x670c('0xc')]();};}function respondWithResult(_0x443b4d,_0x14ca12){_0x14ca12=_0x14ca12||0xc8;return function(_0x821bb2){if(_0x821bb2){return _0x443b4d[_0x670c('0xd')](_0x14ca12)[_0x670c('0xe')](_0x821bb2);}};}function respondWithFilteredResult(_0x2f8090,_0x13c2a5){return function(_0x4b2be2){if(_0x4b2be2){var _0x238f0b=typeof _0x13c2a5[_0x670c('0xf')]===_0x670c('0x10')&&typeof _0x13c2a5[_0x670c('0x11')]===_0x670c('0x10');var _0x614b2b=_0x4b2be2[_0x670c('0x12')];var _0x23d728=_0x238f0b?0x0:_0x13c2a5[_0x670c('0xf')];var _0x3c279a=_0x238f0b?_0x4b2be2[_0x670c('0x12')]:_0x13c2a5[_0x670c('0xf')]+_0x13c2a5['limit'];var _0x201d70;if(_0x3c279a>=_0x614b2b){_0x3c279a=_0x614b2b;_0x201d70=0xc8;}else{_0x201d70=0xce;}_0x2f8090[_0x670c('0xd')](_0x201d70);return _0x2f8090['set']('Content-Range',_0x23d728+'-'+_0x3c279a+'/'+_0x614b2b)[_0x670c('0xe')](_0x4b2be2);}return null;};}function saveUpdates(_0x5dac75){return function(_0xe9aa06){if(_0xe9aa06){return _0xe9aa06[_0x670c('0x13')](_0x5dac75)[_0x670c('0x14')](function(_0x58ea7b){return _0x58ea7b;});}return null;};}function removeEntity(_0x5c3932){return function(_0x1503b0){if(_0x1503b0){return _0x1503b0[_0x670c('0x15')]()[_0x670c('0x14')](function(){var _0x474b84=_0x1503b0[_0x670c('0x16')]({'plain':!![]});var _0x25af81=_0x670c('0x17');return db[_0x670c('0x18')][_0x670c('0x15')]({'where':{'type':_0x25af81,'resourceId':_0x474b84['id']}})[_0x670c('0x14')](function(){return _0x1503b0;});})[_0x670c('0x14')](function(){_0x5c3932[_0x670c('0xd')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3472db){return function(_0xc16a13){if(!_0xc16a13){_0x3472db[_0x670c('0xb')](0x194);}return _0xc16a13;};}function handleError(_0x19c6e7,_0x4b8308){_0x4b8308=_0x4b8308||0x1f4;return function(_0x1ccb4e){logger[_0x670c('0x19')](_0x1ccb4e[_0x670c('0x1a')]);if(_0x1ccb4e[_0x670c('0x1b')]){delete _0x1ccb4e[_0x670c('0x1b')];}_0x19c6e7[_0x670c('0xd')](_0x4b8308)[_0x670c('0x1c')](_0x1ccb4e);};}exports[_0x670c('0x1d')]=function(_0x2bc942,_0x4bb69e){var _0x80c618={};var _0x357c4b={'count':0x0,'rows':[]};var _0x59b866=_['map'](db[_0x670c('0x1e')][_0x670c('0x1f')],function(_0x581b93){return{'name':_0x581b93[_0x670c('0x20')],'type':_0x581b93[_0x670c('0x21')][_0x670c('0x22')]};});_0x80c618=qs['getOptions'](_0x59b866,_0x2bc942);var _0x667d6d={'where':_0x80c618['where']};return db['OpenchannelQueue'][_0x670c('0x12')](_0x667d6d)[_0x670c('0x14')](function(_0x42ad0c){_0x357c4b[_0x670c('0x12')]=_0x42ad0c;_0x80c618[_0x670c('0x23')]=qs[_0x670c('0x23')](_0x2bc942[_0x670c('0x24')]);return db[_0x670c('0x1e')][_0x670c('0x25')](_0x80c618);})['then'](function(_0x3c9448){_0x357c4b[_0x670c('0x26')]=_0x3c9448;return _0x357c4b;})[_0x670c('0x14')](respondWithFilteredResult(_0x4bb69e,_0x80c618))['catch'](handleError(_0x4bb69e,null));};exports[_0x670c('0x27')]=function(_0x176e6b,_0x4f4dcf){var _0x266118={'raw':!![],'where':{'id':_0x176e6b['params']['id']}},_0x51752c={};_0x51752c[_0x670c('0x28')]=_[_0x670c('0x29')](db[_0x670c('0x1e')][_0x670c('0x1f')]);_0x51752c['query']=_['keys'](_0x176e6b[_0x670c('0x24')]);_0x51752c[_0x670c('0x2a')]=_['intersection'](_0x51752c['model'],_0x51752c[_0x670c('0x24')]);_0x266118[_0x670c('0x2b')]=_[_0x670c('0x2c')](_0x51752c[_0x670c('0x28')],qs[_0x670c('0x2d')](_0x176e6b[_0x670c('0x24')]['fields']));_0x266118[_0x670c('0x2b')]=_0x266118[_0x670c('0x2b')][_0x670c('0x2e')]?_0x266118[_0x670c('0x2b')]:_0x51752c[_0x670c('0x28')];if(_0x176e6b[_0x670c('0x24')][_0x670c('0x2f')]){_0x266118['include']=[{'all':!![]}];}_0x266118=_[_0x670c('0x30')]({},_0x266118,_0x176e6b[_0x670c('0x31')]);return db[_0x670c('0x1e')][_0x670c('0x32')](_0x266118)[_0x670c('0x14')](handleEntityNotFound(_0x4f4dcf,null))[_0x670c('0x14')](respondWithResult(_0x4f4dcf,null))['catch'](handleError(_0x4f4dcf,null));};exports[_0x670c('0x33')]=function(_0x161979,_0x5564e0){return db[_0x670c('0x1e')]['create'](_0x161979[_0x670c('0x34')],{})[_0x670c('0x14')](function(_0x3e7afa){var _0x204a3d=_0x161979[_0x670c('0x35')][_0x670c('0x16')]({'plain':!![]});if(!_0x204a3d)throw new Error(_0x670c('0x36'));if(_0x204a3d[_0x670c('0x37')]===_0x670c('0x35')){var _0x322e41=_0x3e7afa[_0x670c('0x16')]({'plain':!![]});var _0x57f8b9=_0x670c('0x17');return db['UserProfileSection'][_0x670c('0x32')]({'where':{'name':_0x57f8b9,'userProfileId':_0x204a3d[_0x670c('0x38')]},'raw':!![]})[_0x670c('0x14')](function(_0x255e8b){if(_0x255e8b&&_0x255e8b['autoAssociation']===0x0){return db[_0x670c('0x18')]['create']({'name':_0x322e41[_0x670c('0x1b')],'resourceId':_0x322e41['id'],'type':_0x255e8b[_0x670c('0x1b')],'sectionId':_0x255e8b['id']},{})[_0x670c('0x14')](function(){return _0x3e7afa;});}else{return _0x3e7afa;}})[_0x670c('0x39')](function(_0x17c443){logger['error'](_0x670c('0x3a'),_0x17c443);throw _0x17c443;});}return _0x3e7afa;})['then'](respondWithResult(_0x5564e0,0xc9))[_0x670c('0x39')](handleError(_0x5564e0,null));};exports['update']=function(_0x43d823,_0x399c87){if(_0x43d823[_0x670c('0x34')]['id']){delete _0x43d823[_0x670c('0x34')]['id'];}return db['OpenchannelQueue'][_0x670c('0x32')]({'where':{'id':_0x43d823[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](handleEntityNotFound(_0x399c87,null))[_0x670c('0x14')](saveUpdates(_0x43d823[_0x670c('0x34')],null))['then'](respondWithResult(_0x399c87,null))[_0x670c('0x39')](handleError(_0x399c87,null));};exports[_0x670c('0x15')]=function(_0x252e2d,_0x40029a){return db[_0x670c('0x1e')]['find']({'where':{'id':_0x252e2d[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](handleEntityNotFound(_0x40029a,null))['then'](removeEntity(_0x40029a,null))['catch'](handleError(_0x40029a,null));};exports['describe']=function(_0x3c4337,_0x2c6bc9){return db[_0x670c('0x1e')][_0x670c('0x3c')]()[_0x670c('0x14')](respondWithResult(_0x2c6bc9,null))['catch'](handleError(_0x2c6bc9,null));};exports[_0x670c('0x3d')]=function(_0x202f31,_0xbf4f95){var _0x4a9882={'raw':!![],'where':{}},_0x455887={},_0x278332;return db[_0x670c('0x1e')]['findOne']({'where':{'id':_0x202f31[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](handleEntityNotFound(_0xbf4f95,null))['then'](function(_0x4de176){if(_0x4de176){_0x278332=_0x4de176[_0x670c('0x16')]({'plain':!![]});_0x455887[_0x670c('0x28')]=_[_0x670c('0x29')](db['UserOpenchannelQueue'][_0x670c('0x1f')]);_0x455887[_0x670c('0x24')]=_['keys'](_0x202f31['query']);_0x455887[_0x670c('0x2a')]=_[_0x670c('0x2c')](_0x455887[_0x670c('0x28')],_0x455887[_0x670c('0x24')]);_0x4a9882[_0x670c('0x2b')]=_[_0x670c('0x2c')](_0x455887[_0x670c('0x28')],qs[_0x670c('0x2d')](_0x202f31[_0x670c('0x24')][_0x670c('0x2d')]));_0x4a9882[_0x670c('0x2b')]=_0x4a9882['attributes'][_0x670c('0x2e')]?_0x4a9882[_0x670c('0x2b')]:_0x455887[_0x670c('0x28')];if(!_0x202f31[_0x670c('0x24')][_0x670c('0x3e')](_0x670c('0x3f'))){_0x4a9882[_0x670c('0x11')]=qs['limit'](_0x202f31[_0x670c('0x24')][_0x670c('0x11')]);_0x4a9882['offset']=qs[_0x670c('0xf')](_0x202f31[_0x670c('0x24')][_0x670c('0xf')]);}_0x4a9882['order']=qs[_0x670c('0x40')](_0x202f31[_0x670c('0x24')][_0x670c('0x40')]);_0x4a9882['where']=qs[_0x670c('0x2a')](_[_0x670c('0x41')](_0x202f31[_0x670c('0x24')],_0x455887[_0x670c('0x2a')]));_0x4a9882[_0x670c('0x42')][_0x670c('0x43')]=_0x4de176['id'];if(_0x202f31[_0x670c('0x24')]['filter']){_0x4a9882[_0x670c('0x42')]=_[_0x670c('0x30')](_0x4a9882[_0x670c('0x42')],{'$or':_[_0x670c('0x44')](_0x4a9882[_0x670c('0x2b')],function(_0x5e5fb5){var _0x1d92a0={};_0x1d92a0[_0x5e5fb5]={'$like':'%'+_0x202f31[_0x670c('0x24')][_0x670c('0x45')]+'%'};return _0x1d92a0;})});}_0x4a9882=_['merge']({},_0x4a9882,_0x202f31['options']);return db[_0x670c('0x46')][_0x670c('0x25')](_0x4a9882);}})['then'](function(_0x1fc989){if(_0x1fc989){return db[_0x670c('0x47')][_0x670c('0x48')]({'where':{'id':_['map'](_0x1fc989,_0x670c('0x49')),'role':_0x670c('0x4a')},'attributes':['id','name',_0x670c('0x4b'),_0x670c('0x4c'),_0x670c('0x4d')]});}})[_0x670c('0x14')](function(_0x2d2f30){if(_0x2d2f30){return{'count':_0x2d2f30['count'],'rows':_[_0x670c('0x44')](_0x2d2f30['rows'],function(_0x45241e){return{'membername':_0x45241e['name'],'UserId':_0x45241e['id'],'queue_name':_0x278332[_0x670c('0x1b')],'OpenchannelQueueId':_0x278332['id'],'interface':util[_0x670c('0x4e')]('%s/%s',_0x670c('0x4f'),_0x45241e[_0x670c('0x1b')]),'penalty':0x0,'paused':_0x45241e['openchannelPause'],'createdAt':_0x45241e[_0x670c('0x4d')],'updatedAt':_0x45241e[_0x670c('0x4c')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x670c('0x14')](respondWithFilteredResult(_0xbf4f95,_0x4a9882))[_0x670c('0x39')](handleError(_0xbf4f95,null));};exports[_0x670c('0x50')]=function(_0x2045a4,_0x1c946b){var _0x4f1043={};var _0x494a0e={};var _0x35b441;var _0x1f5582;return db[_0x670c('0x1e')][_0x670c('0x51')]({'where':{'id':_0x2045a4[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](handleEntityNotFound(_0x1c946b,null))['then'](function(_0x381a31){if(_0x381a31){_0x35b441=_0x381a31;_0x494a0e[_0x670c('0x28')]=_[_0x670c('0x29')](db[_0x670c('0x52')][_0x670c('0x1f')]);_0x494a0e[_0x670c('0x24')]=_[_0x670c('0x29')](_0x2045a4[_0x670c('0x24')]);_0x494a0e['filters']=_[_0x670c('0x2c')](_0x494a0e['model'],_0x494a0e[_0x670c('0x24')]);_0x4f1043[_0x670c('0x2b')]=_[_0x670c('0x2c')](_0x494a0e['model'],qs[_0x670c('0x2d')](_0x2045a4['query'][_0x670c('0x2d')]));_0x4f1043[_0x670c('0x2b')]=_0x4f1043['attributes'][_0x670c('0x2e')]?_0x4f1043[_0x670c('0x2b')]:_0x494a0e[_0x670c('0x28')];_0x4f1043['order']=qs[_0x670c('0x40')](_0x2045a4[_0x670c('0x24')][_0x670c('0x40')]);_0x4f1043[_0x670c('0x42')]=qs[_0x670c('0x2a')](_['pick'](_0x2045a4['query'],_0x494a0e[_0x670c('0x2a')]));if(_0x2045a4[_0x670c('0x24')][_0x670c('0x45')]){_0x4f1043[_0x670c('0x42')]=_[_0x670c('0x30')](_0x4f1043['where'],{'$or':_[_0x670c('0x44')](_0x4f1043['attributes'],function(_0x29ed99){var _0x5348d3={};_0x5348d3[_0x29ed99]={'$like':'%'+_0x2045a4[_0x670c('0x24')][_0x670c('0x45')]+'%'};return _0x5348d3;})});}_0x4f1043=_[_0x670c('0x30')]({},_0x4f1043,_0x2045a4['options']);return _0x35b441[_0x670c('0x50')](_0x4f1043);}})[_0x670c('0x14')](function(_0x2cbd5c){if(_0x2cbd5c){_0x1f5582=_0x2cbd5c['length'];if(!_0x2045a4[_0x670c('0x24')][_0x670c('0x3e')]('nolimit')){_0x4f1043[_0x670c('0x11')]=qs['limit'](_0x2045a4[_0x670c('0x24')][_0x670c('0x11')]);_0x4f1043[_0x670c('0xf')]=qs[_0x670c('0xf')](_0x2045a4[_0x670c('0x24')][_0x670c('0xf')]);}return _0x35b441[_0x670c('0x50')](_0x4f1043);}})[_0x670c('0x14')](function(_0x2d9cad){if(_0x2d9cad){return _0x2d9cad?{'count':_0x1f5582,'rows':_0x2d9cad}:null;}})[_0x670c('0x14')](respondWithResult(_0x1c946b,null))[_0x670c('0x39')](handleError(_0x1c946b,null));};exports[_0x670c('0x53')]=function(_0x7346c6,_0x8957df){var _0x1ca3fb=_0x7346c6[_0x670c('0x34')][_0x670c('0x54')];return db[_0x670c('0x52')][_0x670c('0x25')]({'where':{'id':_0x1ca3fb},'attributes':['id'],'include':[{'model':db[_0x670c('0x47')],'as':_0x670c('0x55'),'attributes':['id',_0x670c('0x1b'),'online','voicePause','interface'],'raw':!![]}]})[_0x670c('0x14')](function(_0x27c9c4){if(_0x27c9c4){var _0x4d1257=_[_0x670c('0x56')](_0x27c9c4,function(_0x22e315){var _0xe11cdd=_0x22e315[_0x670c('0x16')]({'plain':!![]});return _0xe11cdd[_0x670c('0x55')];});return db[_0x670c('0x1e')]['find']({'where':{'id':_0x7346c6['params']['id']}})[_0x670c('0x14')](function(_0x1d6a6a){return db[_0x670c('0x57')][_0x670c('0x58')](function(_0x4556e1){return _0x1d6a6a['addTeams'](_0x1ca3fb,{'transaction':_0x4556e1})[_0x670c('0x14')](function(){return BPromise[_0x670c('0x59')](_0x4d1257,function(_0x44c528){return db[_0x670c('0x46')][_0x670c('0x5a')]({'where':{'UserId':_0x44c528['id'],'OpenchannelQueueId':_0x7346c6[_0x670c('0x3b')]['id']},'transaction':_0x4556e1});});})[_0x670c('0x14')](function(){_0x4d1257['forEach'](function(_0x48726b){socket['emit'](_0x670c('0x5b'),{'UserId':_0x48726b['id'],'OpenchannelQueueId':_0x1d6a6a['id']});});});});});}})[_0x670c('0x14')](respondWithStatusCode(_0x8957df,null))[_0x670c('0x39')](handleError(_0x8957df,null));};exports[_0x670c('0x5c')]=function(_0x2de3de,_0x3c55d8){return db[_0x670c('0x52')][_0x670c('0x25')]({'where':{'id':_0x2de3de[_0x670c('0x24')][_0x670c('0x54')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x670c('0x55'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x3c55d8,null))[_0x670c('0x14')](function(_0x458c5b){var _0x859e1c=_['map'](_0x458c5b,'id');var _0x50bdb7=[];var _0x2e3e45=[];var _0x5343f7=squel['select']();_0x5343f7[_0x670c('0x5d')](_0x670c('0x5e'))[_0x670c('0x5f')](_0x670c('0x60'),'tq')['join']('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0x670c('0x42')](_0x670c('0x61'),_0x2de3de[_0x670c('0x3b')]['id']);for(var _0x2185e7=0x0;_0x2185e7<_0x458c5b[_0x670c('0x2e')];_0x2185e7+=0x1){let _0x2985c8=_0x458c5b[_0x2185e7];for(var _0xa6d733=0x0;_0xa6d733<_0x2985c8[_0x670c('0x55')]['length'];_0xa6d733+=0x1){let _0x3fdaca=_0x2985c8[_0x670c('0x55')][_0xa6d733];var _0x6bca70=_0x5343f7['clone']();_0x6bca70[_0x670c('0x42')]('ut.UserId\x20=\x20?',_0x3fdaca['id']);_0x2e3e45[_0x670c('0x62')](db[_0x670c('0x57')][_0x670c('0x24')](_0x6bca70[_0x670c('0x63')](),{'type':db[_0x670c('0x57')][_0x670c('0x64')][_0x670c('0x65')]})['then'](function(_0x1e307c){if(_0x1e307c[_0x670c('0x2e')]===0x1){return _0x3fdaca['id'];}else{var _0x30f41a=_[_0x670c('0x66')](_[_0x670c('0x44')](_0x1e307c,_0x670c('0x67')),function(_0x48d19b){return _['includes'](_0x859e1c,_0x48d19b);});if(_0x30f41a){return _0x3fdaca['id'];}}}));}}return BPromise['all'](_0x2e3e45)[_0x670c('0x14')](function(_0x3341b9){_0x50bdb7=_(_0x50bdb7)[_0x670c('0x68')](_0x3341b9)['compact']()[_0x670c('0x69')]();return db[_0x670c('0x1e')][_0x670c('0x32')]({'where':{'id':_0x2de3de[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](function(_0x169fd5){return db[_0x670c('0x57')][_0x670c('0x58')](function(_0x5d67cd){return _0x169fd5[_0x670c('0x5c')](_0x2de3de[_0x670c('0x24')][_0x670c('0x54')],{'transaction':_0x5d67cd})[_0x670c('0x14')](function(){if(!_[_0x670c('0x6a')](_0x50bdb7)){return _0x169fd5['removeAgents'](_0x50bdb7,{'transaction':_0x5d67cd});}})['then'](function(){_0x50bdb7['forEach'](function(_0x1bf87d){socket['emit'](_0x670c('0x6b'),{'UserId':_0x1bf87d,'OpenchannelQueueId':_0x169fd5['id']});});});});});});})['then'](respondWithStatusCode(_0x3c55d8,null))['catch'](handleError(_0x3c55d8,null));};exports[_0x670c('0x6c')]=function(_0x3f7ee0,_0x33093c){return db['OpenchannelQueue'][_0x670c('0x32')]({'where':{'id':_0x3f7ee0[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](handleEntityNotFound(_0x33093c,null))[_0x670c('0x14')](function(_0x1cc6e5){if(_0x1cc6e5){return _0x1cc6e5[_0x670c('0x6c')](_0x3f7ee0[_0x670c('0x34')]['ids'],_[_0x670c('0x6d')](_0x3f7ee0[_0x670c('0x34')],['ids','id'])||{})[_0x670c('0x6e')](function(_0x383bfd){for(var _0x23a2cc=0x0;_0x23a2cc<_0x3f7ee0['body'][_0x670c('0x54')]['length'];_0x23a2cc+=0x1){socket[_0x670c('0x6f')](_0x670c('0x5b'),{'UserId':Number(_0x3f7ee0[_0x670c('0x34')][_0x670c('0x54')][_0x23a2cc]),'OpenchannelQueueId':Number(_0x3f7ee0['params']['id'])});}return _0x383bfd;});}})['then'](respondWithResult(_0x33093c,null))[_0x670c('0x39')](handleError(_0x33093c,null));};exports['removeAgents']=function(_0x5eb68f,_0x47c060){return db[_0x670c('0x1e')]['find']({'where':{'id':_0x5eb68f[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](handleEntityNotFound(_0x47c060,null))[_0x670c('0x14')](function(_0x57ad27){if(_0x57ad27){return _0x57ad27[_0x670c('0x70')](_0x5eb68f[_0x670c('0x24')][_0x670c('0x54')])[_0x670c('0x14')](function(){if(_[_0x670c('0x71')](_0x5eb68f[_0x670c('0x24')][_0x670c('0x54')])){for(var _0x2836ee=0x0;_0x2836ee<_0x5eb68f[_0x670c('0x24')][_0x670c('0x54')][_0x670c('0x2e')];_0x2836ee+=0x1){socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0x5eb68f[_0x670c('0x24')]['ids'][_0x2836ee]),'OpenchannelQueueId':Number(_0x5eb68f['params']['id'])});}}else{socket[_0x670c('0x6f')](_0x670c('0x6b'),{'UserId':Number(_0x5eb68f[_0x670c('0x24')]['ids']),'OpenchannelQueueId':Number(_0x5eb68f[_0x670c('0x3b')]['id'])});}});}})['then'](respondWithStatusCode(_0x47c060,null))['catch'](handleError(_0x47c060,null));};exports[_0x670c('0x72')]=function(_0x57626f,_0x2c2b10){var _0x43955d={};var _0x431a44={};var _0x20d880;var _0x30666a;return db[_0x670c('0x1e')]['findOne']({'where':{'id':_0x57626f[_0x670c('0x3b')]['id']}})[_0x670c('0x14')](handleEntityNotFound(_0x2c2b10,null))[_0x670c('0x14')](function(_0x4ab066){if(_0x4ab066){_0x20d880=_0x4ab066;_0x431a44[_0x670c('0x28')]=_[_0x670c('0x29')](db['User'][_0x670c('0x1f')]);_0x431a44[_0x670c('0x24')]=_[_0x670c('0x29')](_0x57626f['query']);_0x431a44[_0x670c('0x2a')]=_[_0x670c('0x2c')](_0x431a44[_0x670c('0x28')],_0x431a44[_0x670c('0x24')]);_0x43955d[_0x670c('0x2b')]=_[_0x670c('0x2c')](_0x431a44[_0x670c('0x28')],qs[_0x670c('0x2d')](_0x57626f['query'][_0x670c('0x2d')]));_0x43955d[_0x670c('0x2b')]=_0x43955d['attributes'][_0x670c('0x2e')]?_0x43955d[_0x670c('0x2b')]:_0x431a44[_0x670c('0x28')];_0x43955d[_0x670c('0x73')]=qs['sort'](_0x57626f['query']['sort']);_0x43955d[_0x670c('0x42')]=qs[_0x670c('0x2a')](_[_0x670c('0x41')](_0x57626f[_0x670c('0x24')],_0x431a44['filters']));if(_0x57626f['query'][_0x670c('0x45')]){_0x43955d['where']=_[_0x670c('0x30')](_0x43955d[_0x670c('0x42')],{'$or':_[_0x670c('0x44')](_0x43955d[_0x670c('0x2b')],function(_0x23800b){var _0x3839e4={};_0x3839e4[_0x23800b]={'$like':'%'+_0x57626f[_0x670c('0x24')]['filter']+'%'};return _0x3839e4;})});}_0x43955d=_['merge']({},_0x43955d,_0x57626f['options']);return _0x20d880[_0x670c('0x72')](_0x43955d);}})[_0x670c('0x14')](function(_0x371d96){if(_0x371d96){_0x30666a=_0x371d96['length'];if(!_0x57626f[_0x670c('0x24')][_0x670c('0x3e')](_0x670c('0x3f'))){_0x43955d[_0x670c('0x11')]=qs[_0x670c('0x11')](_0x57626f[_0x670c('0x24')]['limit']);_0x43955d[_0x670c('0xf')]=qs[_0x670c('0xf')](_0x57626f[_0x670c('0x24')]['offset']);}return _0x20d880['getAgents'](_0x43955d);}})[_0x670c('0x14')](function(_0x1955ff){if(_0x1955ff){return _0x1955ff?{'count':_0x30666a,'rows':_0x1955ff}:null;}})['then'](respondWithResult(_0x2c2b10,null))['catch'](handleError(_0x2c2b10,null));};