9a2f38b48a871b7818d8bcf3fd4c31848913b9d6
[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 _0xd907=['updatedAt','createdAt','%s/%s','SIP','getTeams','Team','ids','Agents','online','interface','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','removeTeams','select','field','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','push','toString','SELECT','every','TeamId','all','union','compact','value','isEmpty','removeAgents','addAgents','omit','spread','userOpenchannelQueue:save','isArray','userOpenchannelQueue:remove','getAgents','bluebird','util','lodash','squel','ioredis','../../components/parsers/qs','api','../../config/environment','defaults','redis','socket.io-emitter','register','end','status','offset','limit','undefined','count','set','json','update','then','destroy','OpenchannelQueues','UserProfileResource','sendStatus','stack','name','send','index','map','OpenchannelQueue','fieldName','type','key','getOptions','where','include','findAll','rows','show','model','keys','rawAttributes','query','filters','intersection','fields','attributes','length','includeAll','merge','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','params','describe','getMembers','findOne','UserOpenchannelQueue','hasOwnProperty','nolimit','order','sort','pick','OpenchannelQueueId','filter','options','User','findAndCountAll','UserId','agent','openchannelPause'];(function(_0x348de2,_0x281105){var _0x3f8fbc=function(_0x8f49b8){while(--_0x8f49b8){_0x348de2['push'](_0x348de2['shift']());}};_0x3f8fbc(++_0x281105);}(_0xd907,0x124));var _0x7d90=function(_0x1972f4,_0x1231ff){_0x1972f4=_0x1972f4-0x0;var _0x42159b=_0xd907[_0x1972f4];return _0x42159b;};'use strict';var BPromise=require(_0x7d90('0x0'));var util=require(_0x7d90('0x1'));var _=require(_0x7d90('0x2'));var squel=require(_0x7d90('0x3'));var Redis=require(_0x7d90('0x4'));var qs=require(_0x7d90('0x5'));var logger=require('../../config/logger')(_0x7d90('0x6'));var config=require(_0x7d90('0x7'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x7d90('0x8')](config[_0x7d90('0x9')],{'host':'localhost','port':0x18eb});var socket=require(_0x7d90('0xa'))(new Redis(config['redis']));require('./openchannelQueue.socket')[_0x7d90('0xb')](socket);function respondWithStatusCode(_0x2e8cd4,_0x49dc01){_0x49dc01=_0x49dc01||0xcc;return function(_0x5f56e9){if(_0x5f56e9){return _0x2e8cd4['sendStatus'](_0x49dc01);}return _0x2e8cd4['status'](_0x49dc01)[_0x7d90('0xc')]();};}function respondWithResult(_0x50a085,_0x18c77f){_0x18c77f=_0x18c77f||0xc8;return function(_0x265911){if(_0x265911){return _0x50a085[_0x7d90('0xd')](_0x18c77f)['json'](_0x265911);}};}function respondWithFilteredResult(_0x373952,_0x16a401){return function(_0x168848){if(_0x168848){var _0x2810b8=typeof _0x16a401[_0x7d90('0xe')]==='undefined'&&typeof _0x16a401[_0x7d90('0xf')]===_0x7d90('0x10');var _0x42621c=_0x168848[_0x7d90('0x11')];var _0x28f783=_0x2810b8?0x0:_0x16a401['offset'];var _0x1404f4=_0x2810b8?_0x168848['count']:_0x16a401[_0x7d90('0xe')]+_0x16a401[_0x7d90('0xf')];var _0x1c3f31;if(_0x1404f4>=_0x42621c){_0x1404f4=_0x42621c;_0x1c3f31=0xc8;}else{_0x1c3f31=0xce;}_0x373952[_0x7d90('0xd')](_0x1c3f31);return _0x373952[_0x7d90('0x12')]('Content-Range',_0x28f783+'-'+_0x1404f4+'/'+_0x42621c)[_0x7d90('0x13')](_0x168848);}return null;};}function saveUpdates(_0x2f7e4d){return function(_0x1d0574){if(_0x1d0574){return _0x1d0574[_0x7d90('0x14')](_0x2f7e4d)[_0x7d90('0x15')](function(_0x239f72){return _0x239f72;});}return null;};}function removeEntity(_0x143b84){return function(_0x59ae74){if(_0x59ae74){return _0x59ae74[_0x7d90('0x16')]()[_0x7d90('0x15')](function(){var _0x14713d=_0x59ae74['get']({'plain':!![]});var _0x2a7eef=_0x7d90('0x17');return db[_0x7d90('0x18')][_0x7d90('0x16')]({'where':{'type':_0x2a7eef,'resourceId':_0x14713d['id']}})[_0x7d90('0x15')](function(){return _0x59ae74;});})[_0x7d90('0x15')](function(){_0x143b84[_0x7d90('0xd')](0xcc)[_0x7d90('0xc')]();});}};}function handleEntityNotFound(_0x195f9f){return function(_0x59e393){if(!_0x59e393){_0x195f9f[_0x7d90('0x19')](0x194);}return _0x59e393;};}function handleError(_0x13b222,_0x207be7){_0x207be7=_0x207be7||0x1f4;return function(_0x56538c){logger['error'](_0x56538c[_0x7d90('0x1a')]);if(_0x56538c[_0x7d90('0x1b')]){delete _0x56538c[_0x7d90('0x1b')];}_0x13b222['status'](_0x207be7)[_0x7d90('0x1c')](_0x56538c);};}exports[_0x7d90('0x1d')]=function(_0x147c13,_0x490e7e){var _0xa45621={};var _0x4eaedc={'count':0x0,'rows':[]};var _0x9c149d=_[_0x7d90('0x1e')](db[_0x7d90('0x1f')]['rawAttributes'],function(_0x2bd7fb){return{'name':_0x2bd7fb[_0x7d90('0x20')],'type':_0x2bd7fb[_0x7d90('0x21')][_0x7d90('0x22')]};});_0xa45621=qs[_0x7d90('0x23')](_0x9c149d,_0x147c13);var _0x58bf66={'where':_0xa45621[_0x7d90('0x24')]};return db[_0x7d90('0x1f')][_0x7d90('0x11')](_0x58bf66)[_0x7d90('0x15')](function(_0x50f8d4){_0x4eaedc['count']=_0x50f8d4;_0xa45621[_0x7d90('0x25')]=qs[_0x7d90('0x25')](_0x147c13['query']);return db['OpenchannelQueue'][_0x7d90('0x26')](_0xa45621);})[_0x7d90('0x15')](function(_0xea46ca){_0x4eaedc[_0x7d90('0x27')]=_0xea46ca;return _0x4eaedc;})[_0x7d90('0x15')](respondWithFilteredResult(_0x490e7e,_0xa45621))['catch'](handleError(_0x490e7e,null));};exports[_0x7d90('0x28')]=function(_0x198f45,_0x165869){var _0x4f67c8={'raw':!![],'where':{'id':_0x198f45['params']['id']}},_0x49ca92={};_0x49ca92[_0x7d90('0x29')]=_[_0x7d90('0x2a')](db[_0x7d90('0x1f')][_0x7d90('0x2b')]);_0x49ca92[_0x7d90('0x2c')]=_[_0x7d90('0x2a')](_0x198f45[_0x7d90('0x2c')]);_0x49ca92[_0x7d90('0x2d')]=_[_0x7d90('0x2e')](_0x49ca92[_0x7d90('0x29')],_0x49ca92['query']);_0x4f67c8['attributes']=_['intersection'](_0x49ca92[_0x7d90('0x29')],qs['fields'](_0x198f45['query'][_0x7d90('0x2f')]));_0x4f67c8[_0x7d90('0x30')]=_0x4f67c8['attributes'][_0x7d90('0x31')]?_0x4f67c8['attributes']:_0x49ca92['model'];if(_0x198f45[_0x7d90('0x2c')][_0x7d90('0x32')]){_0x4f67c8[_0x7d90('0x25')]=[{'all':!![]}];}_0x4f67c8=_[_0x7d90('0x33')]({},_0x4f67c8,_0x198f45['options']);return db[_0x7d90('0x1f')][_0x7d90('0x34')](_0x4f67c8)[_0x7d90('0x15')](handleEntityNotFound(_0x165869,null))[_0x7d90('0x15')](respondWithResult(_0x165869,null))[_0x7d90('0x35')](handleError(_0x165869,null));};exports[_0x7d90('0x36')]=function(_0x392932,_0x150f5f){return db[_0x7d90('0x1f')]['create'](_0x392932[_0x7d90('0x37')],{})[_0x7d90('0x15')](function(_0x553484){var _0x510747=_0x392932[_0x7d90('0x38')][_0x7d90('0x39')]({'plain':!![]});if(!_0x510747)throw new Error(_0x7d90('0x3a'));if(_0x510747[_0x7d90('0x3b')]===_0x7d90('0x38')){var _0x52bdfd=_0x553484[_0x7d90('0x39')]({'plain':!![]});var _0x5b6b99='OpenchannelQueues';return db[_0x7d90('0x3c')]['find']({'where':{'name':_0x5b6b99,'userProfileId':_0x510747[_0x7d90('0x3d')]},'raw':!![]})[_0x7d90('0x15')](function(_0xefb90d){if(_0xefb90d&&_0xefb90d['autoAssociation']===0x0){return db['UserProfileResource'][_0x7d90('0x36')]({'name':_0x52bdfd[_0x7d90('0x1b')],'resourceId':_0x52bdfd['id'],'type':_0xefb90d[_0x7d90('0x1b')],'sectionId':_0xefb90d['id']},{})[_0x7d90('0x15')](function(){return _0x553484;});}else{return _0x553484;}})['catch'](function(_0x22b020){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x22b020);throw _0x22b020;});}return _0x553484;})[_0x7d90('0x15')](respondWithResult(_0x150f5f,0xc9))[_0x7d90('0x35')](handleError(_0x150f5f,null));};exports[_0x7d90('0x14')]=function(_0x33d9d1,_0x7360c3){if(_0x33d9d1[_0x7d90('0x37')]['id']){delete _0x33d9d1[_0x7d90('0x37')]['id'];}return db[_0x7d90('0x1f')][_0x7d90('0x34')]({'where':{'id':_0x33d9d1[_0x7d90('0x3e')]['id']}})['then'](handleEntityNotFound(_0x7360c3,null))[_0x7d90('0x15')](saveUpdates(_0x33d9d1[_0x7d90('0x37')],null))[_0x7d90('0x15')](respondWithResult(_0x7360c3,null))[_0x7d90('0x35')](handleError(_0x7360c3,null));};exports['destroy']=function(_0x156e9f,_0x4b3dcb){return db[_0x7d90('0x1f')][_0x7d90('0x34')]({'where':{'id':_0x156e9f[_0x7d90('0x3e')]['id']}})[_0x7d90('0x15')](handleEntityNotFound(_0x4b3dcb,null))[_0x7d90('0x15')](removeEntity(_0x4b3dcb,null))[_0x7d90('0x35')](handleError(_0x4b3dcb,null));};exports[_0x7d90('0x3f')]=function(_0xe3c2d0,_0x1d4374){return db[_0x7d90('0x1f')][_0x7d90('0x3f')]()['then'](respondWithResult(_0x1d4374,null))[_0x7d90('0x35')](handleError(_0x1d4374,null));};exports[_0x7d90('0x40')]=function(_0x2e9548,_0x19ae3){var _0xf8efe8={'raw':!![],'where':{}},_0x23b612={},_0x4051db;return db[_0x7d90('0x1f')][_0x7d90('0x41')]({'where':{'id':_0x2e9548[_0x7d90('0x3e')]['id']}})['then'](handleEntityNotFound(_0x19ae3,null))[_0x7d90('0x15')](function(_0x29c27e){if(_0x29c27e){_0x4051db=_0x29c27e[_0x7d90('0x39')]({'plain':!![]});_0x23b612[_0x7d90('0x29')]=_[_0x7d90('0x2a')](db[_0x7d90('0x42')]['rawAttributes']);_0x23b612[_0x7d90('0x2c')]=_[_0x7d90('0x2a')](_0x2e9548[_0x7d90('0x2c')]);_0x23b612['filters']=_[_0x7d90('0x2e')](_0x23b612['model'],_0x23b612[_0x7d90('0x2c')]);_0xf8efe8[_0x7d90('0x30')]=_['intersection'](_0x23b612[_0x7d90('0x29')],qs[_0x7d90('0x2f')](_0x2e9548[_0x7d90('0x2c')][_0x7d90('0x2f')]));_0xf8efe8['attributes']=_0xf8efe8[_0x7d90('0x30')][_0x7d90('0x31')]?_0xf8efe8['attributes']:_0x23b612[_0x7d90('0x29')];if(!_0x2e9548[_0x7d90('0x2c')][_0x7d90('0x43')](_0x7d90('0x44'))){_0xf8efe8[_0x7d90('0xf')]=qs[_0x7d90('0xf')](_0x2e9548[_0x7d90('0x2c')][_0x7d90('0xf')]);_0xf8efe8['offset']=qs['offset'](_0x2e9548['query'][_0x7d90('0xe')]);}_0xf8efe8[_0x7d90('0x45')]=qs[_0x7d90('0x46')](_0x2e9548[_0x7d90('0x2c')]['sort']);_0xf8efe8[_0x7d90('0x24')]=qs[_0x7d90('0x2d')](_[_0x7d90('0x47')](_0x2e9548[_0x7d90('0x2c')],_0x23b612['filters']));_0xf8efe8['where'][_0x7d90('0x48')]=_0x29c27e['id'];if(_0x2e9548[_0x7d90('0x2c')]['filter']){_0xf8efe8[_0x7d90('0x24')]=_[_0x7d90('0x33')](_0xf8efe8[_0x7d90('0x24')],{'$or':_[_0x7d90('0x1e')](_0xf8efe8['attributes'],function(_0x590cc6){var _0x4b7522={};_0x4b7522[_0x590cc6]={'$like':'%'+_0x2e9548[_0x7d90('0x2c')][_0x7d90('0x49')]+'%'};return _0x4b7522;})});}_0xf8efe8=_[_0x7d90('0x33')]({},_0xf8efe8,_0x2e9548[_0x7d90('0x4a')]);return db[_0x7d90('0x42')][_0x7d90('0x26')](_0xf8efe8);}})['then'](function(_0x1126b0){if(_0x1126b0){return db[_0x7d90('0x4b')][_0x7d90('0x4c')]({'where':{'id':_[_0x7d90('0x1e')](_0x1126b0,_0x7d90('0x4d')),'role':_0x7d90('0x4e')},'attributes':['id',_0x7d90('0x1b'),_0x7d90('0x4f'),_0x7d90('0x50'),_0x7d90('0x51')]});}})[_0x7d90('0x15')](function(_0x1c162f){if(_0x1c162f){return{'count':_0x1c162f[_0x7d90('0x11')],'rows':_[_0x7d90('0x1e')](_0x1c162f[_0x7d90('0x27')],function(_0x5981d9){return{'membername':_0x5981d9[_0x7d90('0x1b')],'UserId':_0x5981d9['id'],'queue_name':_0x4051db[_0x7d90('0x1b')],'OpenchannelQueueId':_0x4051db['id'],'interface':util['format'](_0x7d90('0x52'),_0x7d90('0x53'),_0x5981d9[_0x7d90('0x1b')]),'penalty':0x0,'paused':_0x5981d9['openchannelPause'],'createdAt':_0x5981d9[_0x7d90('0x51')],'updatedAt':_0x5981d9[_0x7d90('0x50')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x7d90('0x15')](respondWithFilteredResult(_0x19ae3,_0xf8efe8))[_0x7d90('0x35')](handleError(_0x19ae3,null));};exports[_0x7d90('0x54')]=function(_0x750741,_0x3d2f50){var _0x564dd7={};var _0x17129a={};var _0x4a768f;var _0x241222;return db[_0x7d90('0x1f')][_0x7d90('0x41')]({'where':{'id':_0x750741['params']['id']}})['then'](handleEntityNotFound(_0x3d2f50,null))[_0x7d90('0x15')](function(_0x4bb93e){if(_0x4bb93e){_0x4a768f=_0x4bb93e;_0x17129a['model']=_[_0x7d90('0x2a')](db[_0x7d90('0x55')][_0x7d90('0x2b')]);_0x17129a[_0x7d90('0x2c')]=_[_0x7d90('0x2a')](_0x750741[_0x7d90('0x2c')]);_0x17129a[_0x7d90('0x2d')]=_[_0x7d90('0x2e')](_0x17129a['model'],_0x17129a['query']);_0x564dd7['attributes']=_[_0x7d90('0x2e')](_0x17129a['model'],qs['fields'](_0x750741[_0x7d90('0x2c')]['fields']));_0x564dd7['attributes']=_0x564dd7[_0x7d90('0x30')][_0x7d90('0x31')]?_0x564dd7[_0x7d90('0x30')]:_0x17129a['model'];_0x564dd7[_0x7d90('0x45')]=qs[_0x7d90('0x46')](_0x750741[_0x7d90('0x2c')][_0x7d90('0x46')]);_0x564dd7[_0x7d90('0x24')]=qs[_0x7d90('0x2d')](_['pick'](_0x750741[_0x7d90('0x2c')],_0x17129a[_0x7d90('0x2d')]));if(_0x750741[_0x7d90('0x2c')][_0x7d90('0x49')]){_0x564dd7[_0x7d90('0x24')]=_[_0x7d90('0x33')](_0x564dd7['where'],{'$or':_[_0x7d90('0x1e')](_0x564dd7[_0x7d90('0x30')],function(_0x1acb18){var _0x11d664={};_0x11d664[_0x1acb18]={'$like':'%'+_0x750741[_0x7d90('0x2c')][_0x7d90('0x49')]+'%'};return _0x11d664;})});}_0x564dd7=_[_0x7d90('0x33')]({},_0x564dd7,_0x750741[_0x7d90('0x4a')]);return _0x4a768f[_0x7d90('0x54')](_0x564dd7);}})['then'](function(_0x1b6dfd){if(_0x1b6dfd){_0x241222=_0x1b6dfd[_0x7d90('0x31')];if(!_0x750741['query'][_0x7d90('0x43')](_0x7d90('0x44'))){_0x564dd7[_0x7d90('0xf')]=qs[_0x7d90('0xf')](_0x750741['query'][_0x7d90('0xf')]);_0x564dd7[_0x7d90('0xe')]=qs[_0x7d90('0xe')](_0x750741[_0x7d90('0x2c')][_0x7d90('0xe')]);}return _0x4a768f[_0x7d90('0x54')](_0x564dd7);}})[_0x7d90('0x15')](function(_0x4da6db){if(_0x4da6db){return _0x4da6db?{'count':_0x241222,'rows':_0x4da6db}:null;}})['then'](respondWithResult(_0x3d2f50,null))[_0x7d90('0x35')](handleError(_0x3d2f50,null));};exports['addTeams']=function(_0x25bfe6,_0x4bfd38){var _0x9e47a8=_0x25bfe6[_0x7d90('0x37')][_0x7d90('0x56')];return db[_0x7d90('0x55')]['findAll']({'where':{'id':_0x9e47a8},'attributes':['id'],'include':[{'model':db[_0x7d90('0x4b')],'as':_0x7d90('0x57'),'attributes':['id',_0x7d90('0x1b'),_0x7d90('0x58'),'voicePause',_0x7d90('0x59')],'raw':!![]}]})[_0x7d90('0x15')](function(_0x16e7cf){if(_0x16e7cf){var _0x449452=_['flatMap'](_0x16e7cf,function(_0x5160ab){var _0x9a6a40=_0x5160ab[_0x7d90('0x39')]({'plain':!![]});return _0x9a6a40[_0x7d90('0x57')];});return db[_0x7d90('0x1f')]['find']({'where':{'id':_0x25bfe6[_0x7d90('0x3e')]['id']}})[_0x7d90('0x15')](function(_0x49ab6e){return db[_0x7d90('0x5a')][_0x7d90('0x5b')](function(_0x12008c){return _0x49ab6e[_0x7d90('0x5c')](_0x9e47a8,{'transaction':_0x12008c})[_0x7d90('0x15')](function(){return BPromise[_0x7d90('0x5d')](_0x449452,function(_0x402a30){return db[_0x7d90('0x42')][_0x7d90('0x5e')]({'where':{'UserId':_0x402a30['id'],'OpenchannelQueueId':_0x25bfe6[_0x7d90('0x3e')]['id']},'transaction':_0x12008c});});})[_0x7d90('0x15')](function(){_0x449452[_0x7d90('0x5f')](function(_0x18290a){socket[_0x7d90('0x60')]('userOpenchannelQueue:save',{'UserId':_0x18290a['id'],'OpenchannelQueueId':_0x49ab6e['id']});});});});});}})[_0x7d90('0x15')](respondWithStatusCode(_0x4bfd38,null))['catch'](handleError(_0x4bfd38,null));};exports[_0x7d90('0x61')]=function(_0x459338,_0x231c72){return db[_0x7d90('0x55')][_0x7d90('0x26')]({'where':{'id':_0x459338[_0x7d90('0x2c')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x7d90('0x15')](handleEntityNotFound(_0x231c72,null))[_0x7d90('0x15')](function(_0x5eb22e){var _0x42c972=_[_0x7d90('0x1e')](_0x5eb22e,'id');var _0x49b221=[];var _0x271099=[];var _0x5c0091=squel[_0x7d90('0x62')]();_0x5c0091[_0x7d90('0x63')]('tq.TeamId')['from'](_0x7d90('0x64'),'tq')[_0x7d90('0x65')](_0x7d90('0x66'),'ut',_0x7d90('0x67'))[_0x7d90('0x24')](_0x7d90('0x68'),_0x459338[_0x7d90('0x3e')]['id']);for(var _0x426bb5=0x0;_0x426bb5<_0x5eb22e[_0x7d90('0x31')];_0x426bb5+=0x1){let _0x30e601=_0x5eb22e[_0x426bb5];for(var _0x4591c0=0x0;_0x4591c0<_0x30e601[_0x7d90('0x57')][_0x7d90('0x31')];_0x4591c0+=0x1){let _0x4e2a8d=_0x30e601[_0x7d90('0x57')][_0x4591c0];var _0x45f452=_0x5c0091[_0x7d90('0x69')]();_0x45f452['where']('ut.UserId\x20=\x20?',_0x4e2a8d['id']);_0x271099[_0x7d90('0x6a')](db[_0x7d90('0x5a')][_0x7d90('0x2c')](_0x45f452[_0x7d90('0x6b')](),{'type':db[_0x7d90('0x5a')]['QueryTypes'][_0x7d90('0x6c')]})[_0x7d90('0x15')](function(_0x1769b4){if(_0x1769b4[_0x7d90('0x31')]===0x1){return _0x4e2a8d['id'];}else{var _0x22b999=_[_0x7d90('0x6d')](_['map'](_0x1769b4,_0x7d90('0x6e')),function(_0x308d52){return _['includes'](_0x42c972,_0x308d52);});if(_0x22b999){return _0x4e2a8d['id'];}}}));}}return BPromise[_0x7d90('0x6f')](_0x271099)['then'](function(_0x22b3a7){_0x49b221=_(_0x49b221)[_0x7d90('0x70')](_0x22b3a7)[_0x7d90('0x71')]()[_0x7d90('0x72')]();return db[_0x7d90('0x1f')][_0x7d90('0x34')]({'where':{'id':_0x459338[_0x7d90('0x3e')]['id']}})[_0x7d90('0x15')](function(_0x4bfc3d){return db[_0x7d90('0x5a')][_0x7d90('0x5b')](function(_0x35cba8){return _0x4bfc3d[_0x7d90('0x61')](_0x459338[_0x7d90('0x2c')][_0x7d90('0x56')],{'transaction':_0x35cba8})[_0x7d90('0x15')](function(){if(!_[_0x7d90('0x73')](_0x49b221)){return _0x4bfc3d[_0x7d90('0x74')](_0x49b221,{'transaction':_0x35cba8});}})['then'](function(){_0x49b221['forEach'](function(_0x5646e5){socket[_0x7d90('0x60')]('userOpenchannelQueue:remove',{'UserId':_0x5646e5,'OpenchannelQueueId':_0x4bfc3d['id']});});});});});});})[_0x7d90('0x15')](respondWithStatusCode(_0x231c72,null))[_0x7d90('0x35')](handleError(_0x231c72,null));};exports[_0x7d90('0x75')]=function(_0x31bfcf,_0x52e861){return db[_0x7d90('0x1f')]['find']({'where':{'id':_0x31bfcf['params']['id']}})[_0x7d90('0x15')](handleEntityNotFound(_0x52e861,null))[_0x7d90('0x15')](function(_0xc6a957){if(_0xc6a957){return _0xc6a957[_0x7d90('0x75')](_0x31bfcf['body'][_0x7d90('0x56')],_[_0x7d90('0x76')](_0x31bfcf[_0x7d90('0x37')],['ids','id'])||{})[_0x7d90('0x77')](function(_0x1228fa){for(var _0x1df03d=0x0;_0x1df03d<_0x31bfcf[_0x7d90('0x37')][_0x7d90('0x56')][_0x7d90('0x31')];_0x1df03d+=0x1){socket[_0x7d90('0x60')](_0x7d90('0x78'),{'UserId':Number(_0x31bfcf[_0x7d90('0x37')][_0x7d90('0x56')][_0x1df03d]),'OpenchannelQueueId':Number(_0x31bfcf['params']['id'])});}return _0x1228fa;});}})[_0x7d90('0x15')](respondWithResult(_0x52e861,null))['catch'](handleError(_0x52e861,null));};exports[_0x7d90('0x74')]=function(_0x481eb4,_0x5a077d){return db[_0x7d90('0x1f')][_0x7d90('0x34')]({'where':{'id':_0x481eb4[_0x7d90('0x3e')]['id']}})[_0x7d90('0x15')](handleEntityNotFound(_0x5a077d,null))['then'](function(_0x3ad214){if(_0x3ad214){return _0x3ad214[_0x7d90('0x74')](_0x481eb4[_0x7d90('0x2c')]['ids'])[_0x7d90('0x15')](function(){if(_[_0x7d90('0x79')](_0x481eb4[_0x7d90('0x2c')][_0x7d90('0x56')])){for(var _0x1e4d0c=0x0;_0x1e4d0c<_0x481eb4[_0x7d90('0x2c')][_0x7d90('0x56')][_0x7d90('0x31')];_0x1e4d0c+=0x1){socket[_0x7d90('0x60')]('userOpenchannelQueue:remove',{'UserId':Number(_0x481eb4['query']['ids'][_0x1e4d0c]),'OpenchannelQueueId':Number(_0x481eb4[_0x7d90('0x3e')]['id'])});}}else{socket[_0x7d90('0x60')](_0x7d90('0x7a'),{'UserId':Number(_0x481eb4[_0x7d90('0x2c')][_0x7d90('0x56')]),'OpenchannelQueueId':Number(_0x481eb4[_0x7d90('0x3e')]['id'])});}});}})['then'](respondWithStatusCode(_0x5a077d,null))[_0x7d90('0x35')](handleError(_0x5a077d,null));};exports['getAgents']=function(_0x3d1f9e,_0x8eed2f){var _0x2375f8={};var _0x14f12b={};var _0x2632b0;var _0x17c5f6;return db['OpenchannelQueue'][_0x7d90('0x41')]({'where':{'id':_0x3d1f9e[_0x7d90('0x3e')]['id']}})['then'](handleEntityNotFound(_0x8eed2f,null))[_0x7d90('0x15')](function(_0x37d7c2){if(_0x37d7c2){_0x2632b0=_0x37d7c2;_0x14f12b['model']=_[_0x7d90('0x2a')](db[_0x7d90('0x4b')][_0x7d90('0x2b')]);_0x14f12b[_0x7d90('0x2c')]=_[_0x7d90('0x2a')](_0x3d1f9e[_0x7d90('0x2c')]);_0x14f12b[_0x7d90('0x2d')]=_[_0x7d90('0x2e')](_0x14f12b[_0x7d90('0x29')],_0x14f12b[_0x7d90('0x2c')]);_0x2375f8[_0x7d90('0x30')]=_[_0x7d90('0x2e')](_0x14f12b['model'],qs[_0x7d90('0x2f')](_0x3d1f9e[_0x7d90('0x2c')][_0x7d90('0x2f')]));_0x2375f8[_0x7d90('0x30')]=_0x2375f8[_0x7d90('0x30')][_0x7d90('0x31')]?_0x2375f8[_0x7d90('0x30')]:_0x14f12b[_0x7d90('0x29')];_0x2375f8[_0x7d90('0x45')]=qs[_0x7d90('0x46')](_0x3d1f9e[_0x7d90('0x2c')][_0x7d90('0x46')]);_0x2375f8[_0x7d90('0x24')]=qs[_0x7d90('0x2d')](_['pick'](_0x3d1f9e[_0x7d90('0x2c')],_0x14f12b['filters']));if(_0x3d1f9e[_0x7d90('0x2c')][_0x7d90('0x49')]){_0x2375f8[_0x7d90('0x24')]=_['merge'](_0x2375f8[_0x7d90('0x24')],{'$or':_[_0x7d90('0x1e')](_0x2375f8[_0x7d90('0x30')],function(_0x3d4e3e){var _0x86cf18={};_0x86cf18[_0x3d4e3e]={'$like':'%'+_0x3d1f9e[_0x7d90('0x2c')][_0x7d90('0x49')]+'%'};return _0x86cf18;})});}_0x2375f8=_['merge']({},_0x2375f8,_0x3d1f9e[_0x7d90('0x4a')]);return _0x2632b0[_0x7d90('0x7b')](_0x2375f8);}})[_0x7d90('0x15')](function(_0x4064da){if(_0x4064da){_0x17c5f6=_0x4064da[_0x7d90('0x31')];if(!_0x3d1f9e[_0x7d90('0x2c')][_0x7d90('0x43')](_0x7d90('0x44'))){_0x2375f8['limit']=qs[_0x7d90('0xf')](_0x3d1f9e['query'][_0x7d90('0xf')]);_0x2375f8['offset']=qs['offset'](_0x3d1f9e['query'][_0x7d90('0xe')]);}return _0x2632b0['getAgents'](_0x2375f8);}})[_0x7d90('0x15')](function(_0xc18833){if(_0xc18833){return _0xc18833?{'count':_0x17c5f6,'rows':_0xc18833}:null;}})[_0x7d90('0x15')](respondWithResult(_0x8eed2f,null))[_0x7d90('0x35')](handleError(_0x8eed2f,null));};