4fbd91c97a5169136e349a42113c571a003d6c7c
[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 _0xb305=['OpenchannelQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','every','includes','all','union','compact','value','transaction','removeTeams','isEmpty','userOpenchannelQueue:remove','addAgents','omit','spread','removeAgents','getAgents','bluebird','util','lodash','ioredis','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','end','status','offset','undefined','count','limit','set','update','destroy','then','get','OpenchannelQueues','UserProfileResource','error','stack','name','send','index','rawAttributes','fieldName','type','key','getOptions','where','include','query','OpenchannelQueue','findAll','rows','catch','params','model','keys','filters','intersection','fields','attributes','length','includeAll','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','UserOpenchannelQueue','nolimit','order','sort','pick','OpenchannelQueueId','filter','map','findAndCountAll','UserId','agent','openchannelPause','createdAt','%s/%s','SIP','updatedAt','getTeams','hasOwnProperty','ids','Team','User','Agents','voicePause','flatMap','sequelize','addTeams','each','findOrCreate','forEach','emit','userOpenchannelQueue:save','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId'];(function(_0x14ad4c,_0x16f038){var _0x5c44c9=function(_0x5d47f4){while(--_0x5d47f4){_0x14ad4c['push'](_0x14ad4c['shift']());}};_0x5c44c9(++_0x16f038);}(_0xb305,0x10e));var _0x5b30=function(_0x4fbc85,_0x141410){_0x4fbc85=_0x4fbc85-0x0;var _0x462d7d=_0xb305[_0x4fbc85];return _0x462d7d;};'use strict';var BPromise=require(_0x5b30('0x0'));var util=require(_0x5b30('0x1'));var _=require(_0x5b30('0x2'));var squel=require('squel');var Redis=require(_0x5b30('0x3'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x5b30('0x4'));var config=require(_0x5b30('0x5'));var db=require(_0x5b30('0x6'))['db'];config[_0x5b30('0x7')]=_[_0x5b30('0x8')](config['redis'],{'host':_0x5b30('0x9'),'port':0x18eb});var socket=require(_0x5b30('0xa'))(new Redis(config[_0x5b30('0x7')]));require(_0x5b30('0xb'))[_0x5b30('0xc')](socket);function respondWithStatusCode(_0x1ee5c4,_0x4c2350){_0x4c2350=_0x4c2350||0xcc;return function(_0x302c59){if(_0x302c59){return _0x1ee5c4[_0x5b30('0xd')](_0x4c2350);}return _0x1ee5c4['status'](_0x4c2350)[_0x5b30('0xe')]();};}function respondWithResult(_0x11bb5a,_0x25b23a){_0x25b23a=_0x25b23a||0xc8;return function(_0x3a67c2){if(_0x3a67c2){return _0x11bb5a[_0x5b30('0xf')](_0x25b23a)['json'](_0x3a67c2);}};}function respondWithFilteredResult(_0x2be7b2,_0x538c5c){return function(_0x25fd9e){if(_0x25fd9e){var _0x39be4a=typeof _0x538c5c[_0x5b30('0x10')]==='undefined'&&typeof _0x538c5c['limit']===_0x5b30('0x11');var _0x5a534d=_0x25fd9e[_0x5b30('0x12')];var _0xfa6e3e=_0x39be4a?0x0:_0x538c5c[_0x5b30('0x10')];var _0x13d631=_0x39be4a?_0x25fd9e[_0x5b30('0x12')]:_0x538c5c[_0x5b30('0x10')]+_0x538c5c[_0x5b30('0x13')];var _0x25527c;if(_0x13d631>=_0x5a534d){_0x13d631=_0x5a534d;_0x25527c=0xc8;}else{_0x25527c=0xce;}_0x2be7b2['status'](_0x25527c);return _0x2be7b2[_0x5b30('0x14')]('Content-Range',_0xfa6e3e+'-'+_0x13d631+'/'+_0x5a534d)['json'](_0x25fd9e);}return null;};}function saveUpdates(_0x3062c0){return function(_0x335c0e){if(_0x335c0e){return _0x335c0e[_0x5b30('0x15')](_0x3062c0)['then'](function(_0x372d4d){return _0x372d4d;});}return null;};}function removeEntity(_0x3466a2){return function(_0x561d25){if(_0x561d25){return _0x561d25[_0x5b30('0x16')]()[_0x5b30('0x17')](function(){var _0xca1e9b=_0x561d25[_0x5b30('0x18')]({'plain':!![]});var _0x588a63=_0x5b30('0x19');return db[_0x5b30('0x1a')][_0x5b30('0x16')]({'where':{'type':_0x588a63,'resourceId':_0xca1e9b['id']}})[_0x5b30('0x17')](function(){return _0x561d25;});})['then'](function(){_0x3466a2[_0x5b30('0xf')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4de5bb){return function(_0x3ba55a){if(!_0x3ba55a){_0x4de5bb['sendStatus'](0x194);}return _0x3ba55a;};}function handleError(_0x9261c0,_0x45ec14){_0x45ec14=_0x45ec14||0x1f4;return function(_0x24e12f){logger[_0x5b30('0x1b')](_0x24e12f[_0x5b30('0x1c')]);if(_0x24e12f[_0x5b30('0x1d')]){delete _0x24e12f[_0x5b30('0x1d')];}_0x9261c0[_0x5b30('0xf')](_0x45ec14)[_0x5b30('0x1e')](_0x24e12f);};}exports[_0x5b30('0x1f')]=function(_0x14569b,_0x5d02d7){var _0x19f5ce={};var _0x5bb3b5={'count':0x0,'rows':[]};var _0x5790ae=_['map'](db['OpenchannelQueue'][_0x5b30('0x20')],function(_0x1dbe5e){return{'name':_0x1dbe5e[_0x5b30('0x21')],'type':_0x1dbe5e[_0x5b30('0x22')][_0x5b30('0x23')]};});_0x19f5ce=qs[_0x5b30('0x24')](_0x5790ae,_0x14569b);var _0x59c8e1={'where':_0x19f5ce[_0x5b30('0x25')]};return db['OpenchannelQueue']['count'](_0x59c8e1)[_0x5b30('0x17')](function(_0x288000){_0x5bb3b5[_0x5b30('0x12')]=_0x288000;_0x19f5ce[_0x5b30('0x26')]=qs[_0x5b30('0x26')](_0x14569b[_0x5b30('0x27')]);return db[_0x5b30('0x28')][_0x5b30('0x29')](_0x19f5ce);})[_0x5b30('0x17')](function(_0x2e1104){_0x5bb3b5[_0x5b30('0x2a')]=_0x2e1104;return _0x5bb3b5;})[_0x5b30('0x17')](respondWithFilteredResult(_0x5d02d7,_0x19f5ce))[_0x5b30('0x2b')](handleError(_0x5d02d7,null));};exports['show']=function(_0x228cf9,_0x2c6d8e){var _0x11819e={'raw':!![],'where':{'id':_0x228cf9[_0x5b30('0x2c')]['id']}},_0x2dd4a8={};_0x2dd4a8[_0x5b30('0x2d')]=_[_0x5b30('0x2e')](db[_0x5b30('0x28')][_0x5b30('0x20')]);_0x2dd4a8[_0x5b30('0x27')]=_[_0x5b30('0x2e')](_0x228cf9[_0x5b30('0x27')]);_0x2dd4a8[_0x5b30('0x2f')]=_['intersection'](_0x2dd4a8[_0x5b30('0x2d')],_0x2dd4a8[_0x5b30('0x27')]);_0x11819e['attributes']=_[_0x5b30('0x30')](_0x2dd4a8['model'],qs[_0x5b30('0x31')](_0x228cf9[_0x5b30('0x27')][_0x5b30('0x31')]));_0x11819e['attributes']=_0x11819e[_0x5b30('0x32')][_0x5b30('0x33')]?_0x11819e['attributes']:_0x2dd4a8['model'];if(_0x228cf9[_0x5b30('0x27')][_0x5b30('0x34')]){_0x11819e['include']=[{'all':!![]}];}_0x11819e=_[_0x5b30('0x35')]({},_0x11819e,_0x228cf9[_0x5b30('0x36')]);return db['OpenchannelQueue'][_0x5b30('0x37')](_0x11819e)['then'](handleEntityNotFound(_0x2c6d8e,null))[_0x5b30('0x17')](respondWithResult(_0x2c6d8e,null))['catch'](handleError(_0x2c6d8e,null));};exports[_0x5b30('0x38')]=function(_0x222902,_0xa76bea){return db[_0x5b30('0x28')][_0x5b30('0x38')](_0x222902[_0x5b30('0x39')],{})[_0x5b30('0x17')](function(_0x10f39e){var _0x340ee6=_0x222902[_0x5b30('0x3a')][_0x5b30('0x18')]({'plain':!![]});if(!_0x340ee6)throw new Error(_0x5b30('0x3b'));if(_0x340ee6['role']===_0x5b30('0x3a')){var _0x26c144=_0x10f39e[_0x5b30('0x18')]({'plain':!![]});var _0x16662e=_0x5b30('0x19');return db[_0x5b30('0x3c')][_0x5b30('0x37')]({'where':{'name':_0x16662e,'userProfileId':_0x340ee6[_0x5b30('0x3d')]},'raw':!![]})['then'](function(_0x8060ca){if(_0x8060ca&&_0x8060ca[_0x5b30('0x3e')]===0x0){return db[_0x5b30('0x1a')][_0x5b30('0x38')]({'name':_0x26c144['name'],'resourceId':_0x26c144['id'],'type':_0x8060ca[_0x5b30('0x1d')],'sectionId':_0x8060ca['id']},{})[_0x5b30('0x17')](function(){return _0x10f39e;});}else{return _0x10f39e;}})[_0x5b30('0x2b')](function(_0x375b79){logger[_0x5b30('0x1b')](_0x5b30('0x3f'),_0x375b79);throw _0x375b79;});}return _0x10f39e;})[_0x5b30('0x17')](respondWithResult(_0xa76bea,0xc9))[_0x5b30('0x2b')](handleError(_0xa76bea,null));};exports[_0x5b30('0x15')]=function(_0x5c5816,_0x4487d3){if(_0x5c5816[_0x5b30('0x39')]['id']){delete _0x5c5816[_0x5b30('0x39')]['id'];}return db['OpenchannelQueue'][_0x5b30('0x37')]({'where':{'id':_0x5c5816[_0x5b30('0x2c')]['id']}})['then'](handleEntityNotFound(_0x4487d3,null))[_0x5b30('0x17')](saveUpdates(_0x5c5816['body'],null))['then'](respondWithResult(_0x4487d3,null))[_0x5b30('0x2b')](handleError(_0x4487d3,null));};exports['destroy']=function(_0x3e231a,_0x269524){return db[_0x5b30('0x28')][_0x5b30('0x37')]({'where':{'id':_0x3e231a[_0x5b30('0x2c')]['id']}})['then'](handleEntityNotFound(_0x269524,null))[_0x5b30('0x17')](removeEntity(_0x269524,null))[_0x5b30('0x2b')](handleError(_0x269524,null));};exports[_0x5b30('0x40')]=function(_0x5741c0,_0x2ad94b){return db[_0x5b30('0x28')]['describe']()[_0x5b30('0x17')](respondWithResult(_0x2ad94b,null))[_0x5b30('0x2b')](handleError(_0x2ad94b,null));};exports['getMembers']=function(_0x5451b9,_0x6f1d0d){var _0x21cfa6={'raw':!![],'where':{}},_0x39722d={},_0x2b2aad;return db['OpenchannelQueue'][_0x5b30('0x41')]({'where':{'id':_0x5451b9['params']['id']}})[_0x5b30('0x17')](handleEntityNotFound(_0x6f1d0d,null))[_0x5b30('0x17')](function(_0x19d7b6){if(_0x19d7b6){_0x2b2aad=_0x19d7b6['get']({'plain':!![]});_0x39722d[_0x5b30('0x2d')]=_[_0x5b30('0x2e')](db[_0x5b30('0x42')][_0x5b30('0x20')]);_0x39722d['query']=_[_0x5b30('0x2e')](_0x5451b9[_0x5b30('0x27')]);_0x39722d[_0x5b30('0x2f')]=_[_0x5b30('0x30')](_0x39722d[_0x5b30('0x2d')],_0x39722d[_0x5b30('0x27')]);_0x21cfa6[_0x5b30('0x32')]=_[_0x5b30('0x30')](_0x39722d[_0x5b30('0x2d')],qs['fields'](_0x5451b9['query'][_0x5b30('0x31')]));_0x21cfa6[_0x5b30('0x32')]=_0x21cfa6[_0x5b30('0x32')]['length']?_0x21cfa6['attributes']:_0x39722d[_0x5b30('0x2d')];if(!_0x5451b9[_0x5b30('0x27')]['hasOwnProperty'](_0x5b30('0x43'))){_0x21cfa6[_0x5b30('0x13')]=qs[_0x5b30('0x13')](_0x5451b9[_0x5b30('0x27')][_0x5b30('0x13')]);_0x21cfa6[_0x5b30('0x10')]=qs['offset'](_0x5451b9[_0x5b30('0x27')][_0x5b30('0x10')]);}_0x21cfa6[_0x5b30('0x44')]=qs[_0x5b30('0x45')](_0x5451b9[_0x5b30('0x27')]['sort']);_0x21cfa6[_0x5b30('0x25')]=qs[_0x5b30('0x2f')](_[_0x5b30('0x46')](_0x5451b9[_0x5b30('0x27')],_0x39722d[_0x5b30('0x2f')]));_0x21cfa6[_0x5b30('0x25')][_0x5b30('0x47')]=_0x19d7b6['id'];if(_0x5451b9[_0x5b30('0x27')][_0x5b30('0x48')]){_0x21cfa6['where']=_[_0x5b30('0x35')](_0x21cfa6[_0x5b30('0x25')],{'$or':_[_0x5b30('0x49')](_0x21cfa6[_0x5b30('0x32')],function(_0xceb078){var _0x50ebf6={};_0x50ebf6[_0xceb078]={'$like':'%'+_0x5451b9['query'][_0x5b30('0x48')]+'%'};return _0x50ebf6;})});}_0x21cfa6=_[_0x5b30('0x35')]({},_0x21cfa6,_0x5451b9[_0x5b30('0x36')]);return db[_0x5b30('0x42')][_0x5b30('0x29')](_0x21cfa6);}})[_0x5b30('0x17')](function(_0x3b3bda){if(_0x3b3bda){return db['User'][_0x5b30('0x4a')]({'where':{'id':_[_0x5b30('0x49')](_0x3b3bda,_0x5b30('0x4b')),'role':_0x5b30('0x4c')},'attributes':['id',_0x5b30('0x1d'),_0x5b30('0x4d'),'updatedAt',_0x5b30('0x4e')]});}})[_0x5b30('0x17')](function(_0x14e71b){if(_0x14e71b){return{'count':_0x14e71b[_0x5b30('0x12')],'rows':_[_0x5b30('0x49')](_0x14e71b[_0x5b30('0x2a')],function(_0x2c7fe8){return{'membername':_0x2c7fe8[_0x5b30('0x1d')],'UserId':_0x2c7fe8['id'],'queue_name':_0x2b2aad[_0x5b30('0x1d')],'OpenchannelQueueId':_0x2b2aad['id'],'interface':util['format'](_0x5b30('0x4f'),_0x5b30('0x50'),_0x2c7fe8['name']),'penalty':0x0,'paused':_0x2c7fe8[_0x5b30('0x4d')],'createdAt':_0x2c7fe8[_0x5b30('0x4e')],'updatedAt':_0x2c7fe8[_0x5b30('0x51')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x6f1d0d,_0x21cfa6))['catch'](handleError(_0x6f1d0d,null));};exports[_0x5b30('0x52')]=function(_0x240727,_0x34d347){var _0x21a3f2={};var _0x14df12={};var _0x5e1b01;var _0x4e6f0b;return db[_0x5b30('0x28')][_0x5b30('0x41')]({'where':{'id':_0x240727['params']['id']}})['then'](handleEntityNotFound(_0x34d347,null))[_0x5b30('0x17')](function(_0x3fc02a){if(_0x3fc02a){_0x5e1b01=_0x3fc02a;_0x14df12[_0x5b30('0x2d')]=_[_0x5b30('0x2e')](db['Team'][_0x5b30('0x20')]);_0x14df12[_0x5b30('0x27')]=_[_0x5b30('0x2e')](_0x240727['query']);_0x14df12[_0x5b30('0x2f')]=_[_0x5b30('0x30')](_0x14df12[_0x5b30('0x2d')],_0x14df12['query']);_0x21a3f2[_0x5b30('0x32')]=_[_0x5b30('0x30')](_0x14df12[_0x5b30('0x2d')],qs['fields'](_0x240727[_0x5b30('0x27')][_0x5b30('0x31')]));_0x21a3f2['attributes']=_0x21a3f2[_0x5b30('0x32')][_0x5b30('0x33')]?_0x21a3f2[_0x5b30('0x32')]:_0x14df12[_0x5b30('0x2d')];_0x21a3f2['order']=qs[_0x5b30('0x45')](_0x240727[_0x5b30('0x27')][_0x5b30('0x45')]);_0x21a3f2[_0x5b30('0x25')]=qs[_0x5b30('0x2f')](_[_0x5b30('0x46')](_0x240727[_0x5b30('0x27')],_0x14df12['filters']));if(_0x240727[_0x5b30('0x27')][_0x5b30('0x48')]){_0x21a3f2['where']=_[_0x5b30('0x35')](_0x21a3f2[_0x5b30('0x25')],{'$or':_[_0x5b30('0x49')](_0x21a3f2['attributes'],function(_0x28abd2){var _0x478ce2={};_0x478ce2[_0x28abd2]={'$like':'%'+_0x240727[_0x5b30('0x27')][_0x5b30('0x48')]+'%'};return _0x478ce2;})});}_0x21a3f2=_[_0x5b30('0x35')]({},_0x21a3f2,_0x240727[_0x5b30('0x36')]);return _0x5e1b01[_0x5b30('0x52')](_0x21a3f2);}})[_0x5b30('0x17')](function(_0x413245){if(_0x413245){_0x4e6f0b=_0x413245[_0x5b30('0x33')];if(!_0x240727['query'][_0x5b30('0x53')](_0x5b30('0x43'))){_0x21a3f2[_0x5b30('0x13')]=qs[_0x5b30('0x13')](_0x240727['query'][_0x5b30('0x13')]);_0x21a3f2[_0x5b30('0x10')]=qs['offset'](_0x240727['query']['offset']);}return _0x5e1b01[_0x5b30('0x52')](_0x21a3f2);}})['then'](function(_0x566d5c){if(_0x566d5c){return _0x566d5c?{'count':_0x4e6f0b,'rows':_0x566d5c}:null;}})[_0x5b30('0x17')](respondWithResult(_0x34d347,null))['catch'](handleError(_0x34d347,null));};exports['addTeams']=function(_0x453c12,_0x360ecf){var _0x387289=_0x453c12['body'][_0x5b30('0x54')];return db[_0x5b30('0x55')][_0x5b30('0x29')]({'where':{'id':_0x387289},'attributes':['id'],'include':[{'model':db[_0x5b30('0x56')],'as':_0x5b30('0x57'),'attributes':['id',_0x5b30('0x1d'),'online',_0x5b30('0x58'),'interface'],'raw':!![]}]})[_0x5b30('0x17')](function(_0x3ad728){if(_0x3ad728){var _0x5a8a3a=_[_0x5b30('0x59')](_0x3ad728,function(_0x5b1bc9){var _0x509c69=_0x5b1bc9['get']({'plain':!![]});return _0x509c69[_0x5b30('0x57')];});return db[_0x5b30('0x28')][_0x5b30('0x37')]({'where':{'id':_0x453c12['params']['id']}})[_0x5b30('0x17')](function(_0x46987d){return db[_0x5b30('0x5a')]['transaction'](function(_0xe76485){return _0x46987d[_0x5b30('0x5b')](_0x387289,{'transaction':_0xe76485})[_0x5b30('0x17')](function(){return BPromise[_0x5b30('0x5c')](_0x5a8a3a,function(_0x41224e){return db[_0x5b30('0x42')][_0x5b30('0x5d')]({'where':{'UserId':_0x41224e['id'],'OpenchannelQueueId':_0x453c12[_0x5b30('0x2c')]['id']},'transaction':_0xe76485});});})['then'](function(){_0x5a8a3a[_0x5b30('0x5e')](function(_0xe588e6){socket[_0x5b30('0x5f')](_0x5b30('0x60'),{'UserId':_0xe588e6['id'],'OpenchannelQueueId':_0x46987d['id']});});});});});}})[_0x5b30('0x17')](respondWithStatusCode(_0x360ecf,null))[_0x5b30('0x2b')](handleError(_0x360ecf,null));};exports['removeTeams']=function(_0x13f4c2,_0x382702){return db[_0x5b30('0x55')][_0x5b30('0x29')]({'where':{'id':_0x13f4c2[_0x5b30('0x27')][_0x5b30('0x54')]},'attributes':['id'],'include':[{'model':db[_0x5b30('0x56')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x5b30('0x17')](handleEntityNotFound(_0x382702,null))[_0x5b30('0x17')](function(_0x20b14d){var _0x2e0a92=_['map'](_0x20b14d,'id');var _0x18da9f=[];var _0x136d23=[];var _0x52c040=squel[_0x5b30('0x61')]();_0x52c040[_0x5b30('0x62')](_0x5b30('0x63'))[_0x5b30('0x64')](_0x5b30('0x65'),'tq')[_0x5b30('0x66')](_0x5b30('0x67'),'ut',_0x5b30('0x68'))[_0x5b30('0x25')](_0x5b30('0x69'),_0x13f4c2[_0x5b30('0x2c')]['id']);for(var _0x37b4bc=0x0;_0x37b4bc<_0x20b14d[_0x5b30('0x33')];_0x37b4bc+=0x1){let _0x3e3b9b=_0x20b14d[_0x37b4bc];for(var _0xc465ec=0x0;_0xc465ec<_0x3e3b9b[_0x5b30('0x57')][_0x5b30('0x33')];_0xc465ec+=0x1){let _0x40f23f=_0x3e3b9b['Agents'][_0xc465ec];var _0x2ca030=_0x52c040['clone']();_0x2ca030['where'](_0x5b30('0x6a'),_0x40f23f['id']);_0x136d23[_0x5b30('0x6b')](db[_0x5b30('0x5a')][_0x5b30('0x27')](_0x2ca030['toString'](),{'type':db[_0x5b30('0x5a')][_0x5b30('0x6c')][_0x5b30('0x6d')]})[_0x5b30('0x17')](function(_0xf54784){if(_0xf54784[_0x5b30('0x33')]===0x1){return _0x40f23f['id'];}else{var _0x14adfe=_[_0x5b30('0x6e')](_[_0x5b30('0x49')](_0xf54784,'TeamId'),function(_0x9abafb){return _[_0x5b30('0x6f')](_0x2e0a92,_0x9abafb);});if(_0x14adfe){return _0x40f23f['id'];}}}));}}return BPromise[_0x5b30('0x70')](_0x136d23)['then'](function(_0x4df7be){_0x18da9f=_(_0x18da9f)[_0x5b30('0x71')](_0x4df7be)[_0x5b30('0x72')]()[_0x5b30('0x73')]();return db[_0x5b30('0x28')][_0x5b30('0x37')]({'where':{'id':_0x13f4c2[_0x5b30('0x2c')]['id']}})[_0x5b30('0x17')](function(_0x30ef45){return db[_0x5b30('0x5a')][_0x5b30('0x74')](function(_0x454b29){return _0x30ef45[_0x5b30('0x75')](_0x13f4c2['query'][_0x5b30('0x54')],{'transaction':_0x454b29})[_0x5b30('0x17')](function(){if(!_[_0x5b30('0x76')](_0x18da9f)){return _0x30ef45['removeAgents'](_0x18da9f,{'transaction':_0x454b29});}})[_0x5b30('0x17')](function(){_0x18da9f[_0x5b30('0x5e')](function(_0x204bee){socket['emit'](_0x5b30('0x77'),{'UserId':_0x204bee,'OpenchannelQueueId':_0x30ef45['id']});});});});});});})[_0x5b30('0x17')](respondWithStatusCode(_0x382702,null))[_0x5b30('0x2b')](handleError(_0x382702,null));};exports[_0x5b30('0x78')]=function(_0x431cf3,_0x258966){return db[_0x5b30('0x28')][_0x5b30('0x37')]({'where':{'id':_0x431cf3[_0x5b30('0x2c')]['id']}})[_0x5b30('0x17')](handleEntityNotFound(_0x258966,null))['then'](function(_0x235b7e){if(_0x235b7e){return _0x235b7e[_0x5b30('0x78')](_0x431cf3[_0x5b30('0x39')][_0x5b30('0x54')],_[_0x5b30('0x79')](_0x431cf3[_0x5b30('0x39')],[_0x5b30('0x54'),'id'])||{})[_0x5b30('0x7a')](function(_0x4fdab3){for(var _0x3a364e=0x0;_0x3a364e<_0x431cf3[_0x5b30('0x39')]['ids'][_0x5b30('0x33')];_0x3a364e+=0x1){socket['emit'](_0x5b30('0x60'),{'UserId':Number(_0x431cf3[_0x5b30('0x39')][_0x5b30('0x54')][_0x3a364e]),'OpenchannelQueueId':Number(_0x431cf3[_0x5b30('0x2c')]['id'])});}return _0x4fdab3;});}})['then'](respondWithResult(_0x258966,null))[_0x5b30('0x2b')](handleError(_0x258966,null));};exports[_0x5b30('0x7b')]=function(_0x56a3df,_0x5e93b8){return db[_0x5b30('0x28')][_0x5b30('0x37')]({'where':{'id':_0x56a3df['params']['id']}})['then'](handleEntityNotFound(_0x5e93b8,null))['then'](function(_0x4d715c){if(_0x4d715c){return _0x4d715c['removeAgents'](_0x56a3df[_0x5b30('0x27')][_0x5b30('0x54')])['then'](function(){if(_['isArray'](_0x56a3df[_0x5b30('0x27')][_0x5b30('0x54')])){for(var _0x2434d9=0x0;_0x2434d9<_0x56a3df[_0x5b30('0x27')][_0x5b30('0x54')]['length'];_0x2434d9+=0x1){socket['emit'](_0x5b30('0x77'),{'UserId':Number(_0x56a3df['query'][_0x5b30('0x54')][_0x2434d9]),'OpenchannelQueueId':Number(_0x56a3df[_0x5b30('0x2c')]['id'])});}}else{socket['emit'](_0x5b30('0x77'),{'UserId':Number(_0x56a3df[_0x5b30('0x27')][_0x5b30('0x54')]),'OpenchannelQueueId':Number(_0x56a3df[_0x5b30('0x2c')]['id'])});}});}})[_0x5b30('0x17')](respondWithStatusCode(_0x5e93b8,null))[_0x5b30('0x2b')](handleError(_0x5e93b8,null));};exports[_0x5b30('0x7c')]=function(_0x5ae71e,_0x271711){var _0x2331b3={};var _0x3e6d20={};var _0x404375;var _0x12abe4;return db[_0x5b30('0x28')]['findOne']({'where':{'id':_0x5ae71e[_0x5b30('0x2c')]['id']}})[_0x5b30('0x17')](handleEntityNotFound(_0x271711,null))[_0x5b30('0x17')](function(_0x460898){if(_0x460898){_0x404375=_0x460898;_0x3e6d20[_0x5b30('0x2d')]=_[_0x5b30('0x2e')](db[_0x5b30('0x56')]['rawAttributes']);_0x3e6d20[_0x5b30('0x27')]=_[_0x5b30('0x2e')](_0x5ae71e[_0x5b30('0x27')]);_0x3e6d20[_0x5b30('0x2f')]=_['intersection'](_0x3e6d20[_0x5b30('0x2d')],_0x3e6d20['query']);_0x2331b3['attributes']=_[_0x5b30('0x30')](_0x3e6d20['model'],qs['fields'](_0x5ae71e[_0x5b30('0x27')][_0x5b30('0x31')]));_0x2331b3['attributes']=_0x2331b3[_0x5b30('0x32')][_0x5b30('0x33')]?_0x2331b3[_0x5b30('0x32')]:_0x3e6d20[_0x5b30('0x2d')];_0x2331b3[_0x5b30('0x44')]=qs[_0x5b30('0x45')](_0x5ae71e[_0x5b30('0x27')][_0x5b30('0x45')]);_0x2331b3[_0x5b30('0x25')]=qs[_0x5b30('0x2f')](_['pick'](_0x5ae71e['query'],_0x3e6d20[_0x5b30('0x2f')]));if(_0x5ae71e['query'][_0x5b30('0x48')]){_0x2331b3['where']=_[_0x5b30('0x35')](_0x2331b3[_0x5b30('0x25')],{'$or':_[_0x5b30('0x49')](_0x2331b3['attributes'],function(_0xaf9469){var _0x1aaf29={};_0x1aaf29[_0xaf9469]={'$like':'%'+_0x5ae71e[_0x5b30('0x27')][_0x5b30('0x48')]+'%'};return _0x1aaf29;})});}_0x2331b3=_[_0x5b30('0x35')]({},_0x2331b3,_0x5ae71e[_0x5b30('0x36')]);return _0x404375[_0x5b30('0x7c')](_0x2331b3);}})[_0x5b30('0x17')](function(_0x34f245){if(_0x34f245){_0x12abe4=_0x34f245['length'];if(!_0x5ae71e[_0x5b30('0x27')][_0x5b30('0x53')](_0x5b30('0x43'))){_0x2331b3[_0x5b30('0x13')]=qs[_0x5b30('0x13')](_0x5ae71e[_0x5b30('0x27')][_0x5b30('0x13')]);_0x2331b3[_0x5b30('0x10')]=qs[_0x5b30('0x10')](_0x5ae71e[_0x5b30('0x27')]['offset']);}return _0x404375[_0x5b30('0x7c')](_0x2331b3);}})['then'](function(_0x797bb1){if(_0x797bb1){return _0x797bb1?{'count':_0x12abe4,'rows':_0x797bb1}:null;}})[_0x5b30('0x17')](respondWithResult(_0x271711,null))[_0x5b30('0x2b')](handleError(_0x271711,null));};