Built motion from commit 37e1ed56.|2.6.29
[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 _0xd306=['tq.TeamId','from','team_has_openchannel_queues','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','TeamId','includes','all','union','value','isEmpty','removeAgents','userOpenchannelQueue:remove','addAgents','omit','spread','userOpenchannelQueue:save','isArray','getAgents','bluebird','util','lodash','squel','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelQueue.socket','sendStatus','status','end','json','undefined','limit','count','offset','set','update','then','destroy','get','error','stack','name','send','map','OpenchannelQueue','rawAttributes','type','key','getOptions','where','include','query','rows','catch','model','keys','filters','attributes','intersection','fields','length','includeAll','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserOpenchannelQueue','hasOwnProperty','nolimit','order','pick','OpenchannelQueueId','filter','merge','findAll','User','findAndCountAll','UserId','agent','createdAt','format','%s/%s','SIP','openchannelPause','Team','sort','getTeams','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','removeTeams','field'];(function(_0x1fbc6d,_0x59e4af){var _0x1c702e=function(_0x529a3a){while(--_0x529a3a){_0x1fbc6d['push'](_0x1fbc6d['shift']());}};_0x1c702e(++_0x59e4af);}(_0xd306,0x188));var _0x6d30=function(_0x408477,_0x413608){_0x408477=_0x408477-0x0;var _0x1157ff=_0xd306[_0x408477];return _0x1157ff;};'use strict';var BPromise=require(_0x6d30('0x0'));var util=require(_0x6d30('0x1'));var _=require(_0x6d30('0x2'));var squel=require(_0x6d30('0x3'));var Redis=require(_0x6d30('0x4'));var qs=require(_0x6d30('0x5'));var logger=require('../../config/logger')(_0x6d30('0x6'));var config=require(_0x6d30('0x7'));var db=require(_0x6d30('0x8'))['db'];config['redis']=_['defaults'](config[_0x6d30('0x9')],{'host':_0x6d30('0xa'),'port':0x18eb});var socket=require(_0x6d30('0xb'))(new Redis(config[_0x6d30('0x9')]));require(_0x6d30('0xc'))['register'](socket);function respondWithStatusCode(_0x3bdd27,_0x30051c){_0x30051c=_0x30051c||0xcc;return function(_0xc65e22){if(_0xc65e22){return _0x3bdd27[_0x6d30('0xd')](_0x30051c);}return _0x3bdd27[_0x6d30('0xe')](_0x30051c)[_0x6d30('0xf')]();};}function respondWithResult(_0x4ef3f2,_0x5eb19a){_0x5eb19a=_0x5eb19a||0xc8;return function(_0x4d7d6e){if(_0x4d7d6e){return _0x4ef3f2[_0x6d30('0xe')](_0x5eb19a)[_0x6d30('0x10')](_0x4d7d6e);}};}function respondWithFilteredResult(_0x3d5858,_0x23fe47){return function(_0x4aed46){if(_0x4aed46){var _0x3609bd=typeof _0x23fe47['offset']===_0x6d30('0x11')&&typeof _0x23fe47[_0x6d30('0x12')]===_0x6d30('0x11');var _0x41aa92=_0x4aed46[_0x6d30('0x13')];var _0x53295e=_0x3609bd?0x0:_0x23fe47[_0x6d30('0x14')];var _0x56c59c=_0x3609bd?_0x4aed46[_0x6d30('0x13')]:_0x23fe47[_0x6d30('0x14')]+_0x23fe47['limit'];var _0xf14831;if(_0x56c59c>=_0x41aa92){_0x56c59c=_0x41aa92;_0xf14831=0xc8;}else{_0xf14831=0xce;}_0x3d5858[_0x6d30('0xe')](_0xf14831);return _0x3d5858[_0x6d30('0x15')]('Content-Range',_0x53295e+'-'+_0x56c59c+'/'+_0x41aa92)['json'](_0x4aed46);}return null;};}function saveUpdates(_0x19fe6f){return function(_0x46d521){if(_0x46d521){return _0x46d521[_0x6d30('0x16')](_0x19fe6f)[_0x6d30('0x17')](function(_0x182c96){return _0x182c96;});}return null;};}function removeEntity(_0x5c5c04){return function(_0x315802){if(_0x315802){return _0x315802[_0x6d30('0x18')]()['then'](function(){var _0x201caa=_0x315802[_0x6d30('0x19')]({'plain':!![]});var _0x2e53b9='OpenchannelQueues';return db['UserProfileResource']['destroy']({'where':{'type':_0x2e53b9,'resourceId':_0x201caa['id']}})['then'](function(){return _0x315802;});})[_0x6d30('0x17')](function(){_0x5c5c04[_0x6d30('0xe')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ed0d5){return function(_0x264582){if(!_0x264582){_0x2ed0d5['sendStatus'](0x194);}return _0x264582;};}function handleError(_0xfe80d8,_0x4d62f7){_0x4d62f7=_0x4d62f7||0x1f4;return function(_0x235a93){logger[_0x6d30('0x1a')](_0x235a93[_0x6d30('0x1b')]);if(_0x235a93[_0x6d30('0x1c')]){delete _0x235a93[_0x6d30('0x1c')];}_0xfe80d8['status'](_0x4d62f7)[_0x6d30('0x1d')](_0x235a93);};}exports['index']=function(_0x5f5906,_0x3b57c3){var _0xd7da89={};var _0x38a9d1={'count':0x0,'rows':[]};var _0x156ea2=_[_0x6d30('0x1e')](db[_0x6d30('0x1f')][_0x6d30('0x20')],function(_0x11f198){return{'name':_0x11f198['fieldName'],'type':_0x11f198[_0x6d30('0x21')][_0x6d30('0x22')]};});_0xd7da89=qs[_0x6d30('0x23')](_0x156ea2,_0x5f5906);var _0x3ce651={'where':_0xd7da89[_0x6d30('0x24')]};return db['OpenchannelQueue'][_0x6d30('0x13')](_0x3ce651)[_0x6d30('0x17')](function(_0x1fbf6c){_0x38a9d1[_0x6d30('0x13')]=_0x1fbf6c;_0xd7da89[_0x6d30('0x25')]=qs[_0x6d30('0x25')](_0x5f5906[_0x6d30('0x26')]);return db[_0x6d30('0x1f')]['findAll'](_0xd7da89);})[_0x6d30('0x17')](function(_0x2eba50){_0x38a9d1[_0x6d30('0x27')]=_0x2eba50;return _0x38a9d1;})['then'](respondWithFilteredResult(_0x3b57c3,_0xd7da89))[_0x6d30('0x28')](handleError(_0x3b57c3,null));};exports['show']=function(_0x445440,_0x14a9f5){var _0x153c8a={'raw':!![],'where':{'id':_0x445440['params']['id']}},_0x124d61={};_0x124d61[_0x6d30('0x29')]=_[_0x6d30('0x2a')](db[_0x6d30('0x1f')][_0x6d30('0x20')]);_0x124d61['query']=_['keys'](_0x445440[_0x6d30('0x26')]);_0x124d61[_0x6d30('0x2b')]=_['intersection'](_0x124d61[_0x6d30('0x29')],_0x124d61[_0x6d30('0x26')]);_0x153c8a[_0x6d30('0x2c')]=_[_0x6d30('0x2d')](_0x124d61[_0x6d30('0x29')],qs[_0x6d30('0x2e')](_0x445440[_0x6d30('0x26')][_0x6d30('0x2e')]));_0x153c8a[_0x6d30('0x2c')]=_0x153c8a[_0x6d30('0x2c')][_0x6d30('0x2f')]?_0x153c8a[_0x6d30('0x2c')]:_0x124d61[_0x6d30('0x29')];if(_0x445440[_0x6d30('0x26')][_0x6d30('0x30')]){_0x153c8a[_0x6d30('0x25')]=[{'all':!![]}];}_0x153c8a=_['merge']({},_0x153c8a,_0x445440[_0x6d30('0x31')]);return db[_0x6d30('0x1f')][_0x6d30('0x32')](_0x153c8a)[_0x6d30('0x17')](handleEntityNotFound(_0x14a9f5,null))[_0x6d30('0x17')](respondWithResult(_0x14a9f5,null))[_0x6d30('0x28')](handleError(_0x14a9f5,null));};exports[_0x6d30('0x33')]=function(_0x18aaa7,_0x4ef40f){return db[_0x6d30('0x1f')][_0x6d30('0x33')](_0x18aaa7[_0x6d30('0x34')],{})[_0x6d30('0x17')](function(_0x157303){var _0x309ea6=_0x18aaa7[_0x6d30('0x35')]['get']({'plain':!![]});if(!_0x309ea6)throw new Error(_0x6d30('0x36'));if(_0x309ea6[_0x6d30('0x37')]===_0x6d30('0x35')){var _0x38cb8a=_0x157303['get']({'plain':!![]});var _0x5d77b4='OpenchannelQueues';return db['UserProfileSection'][_0x6d30('0x32')]({'where':{'name':_0x5d77b4,'userProfileId':_0x309ea6[_0x6d30('0x38')]},'raw':!![]})[_0x6d30('0x17')](function(_0x38a281){if(_0x38a281&&_0x38a281[_0x6d30('0x39')]===0x0){return db[_0x6d30('0x3a')][_0x6d30('0x33')]({'name':_0x38cb8a['name'],'resourceId':_0x38cb8a['id'],'type':_0x38a281[_0x6d30('0x1c')],'sectionId':_0x38a281['id']},{})[_0x6d30('0x17')](function(){return _0x157303;});}else{return _0x157303;}})[_0x6d30('0x28')](function(_0x43fd55){logger['error'](_0x6d30('0x3b'),_0x43fd55);throw _0x43fd55;});}return _0x157303;})[_0x6d30('0x17')](respondWithResult(_0x4ef40f,0xc9))[_0x6d30('0x28')](handleError(_0x4ef40f,null));};exports[_0x6d30('0x16')]=function(_0x46a953,_0x469526){if(_0x46a953['body']['id']){delete _0x46a953[_0x6d30('0x34')]['id'];}return db[_0x6d30('0x1f')][_0x6d30('0x32')]({'where':{'id':_0x46a953[_0x6d30('0x3c')]['id']}})[_0x6d30('0x17')](handleEntityNotFound(_0x469526,null))[_0x6d30('0x17')](saveUpdates(_0x46a953[_0x6d30('0x34')],null))[_0x6d30('0x17')](respondWithResult(_0x469526,null))[_0x6d30('0x28')](handleError(_0x469526,null));};exports[_0x6d30('0x18')]=function(_0x3ea304,_0x1b7f12){return db['OpenchannelQueue']['find']({'where':{'id':_0x3ea304[_0x6d30('0x3c')]['id']}})['then'](handleEntityNotFound(_0x1b7f12,null))[_0x6d30('0x17')](removeEntity(_0x1b7f12,null))[_0x6d30('0x28')](handleError(_0x1b7f12,null));};exports[_0x6d30('0x3d')]=function(_0x483da5,_0x3e2a77){return db[_0x6d30('0x1f')][_0x6d30('0x3d')]()[_0x6d30('0x17')](respondWithResult(_0x3e2a77,null))[_0x6d30('0x28')](handleError(_0x3e2a77,null));};exports[_0x6d30('0x3e')]=function(_0x27e914,_0x312bdf){var _0x1929e9={'raw':!![],'where':{}},_0x480c66={},_0x571fc8;return db[_0x6d30('0x1f')][_0x6d30('0x3f')]({'where':{'id':_0x27e914[_0x6d30('0x3c')]['id']}})['then'](handleEntityNotFound(_0x312bdf,null))[_0x6d30('0x17')](function(_0x309022){if(_0x309022){_0x571fc8=_0x309022[_0x6d30('0x19')]({'plain':!![]});_0x480c66[_0x6d30('0x29')]=_[_0x6d30('0x2a')](db[_0x6d30('0x40')][_0x6d30('0x20')]);_0x480c66[_0x6d30('0x26')]=_[_0x6d30('0x2a')](_0x27e914['query']);_0x480c66['filters']=_['intersection'](_0x480c66[_0x6d30('0x29')],_0x480c66[_0x6d30('0x26')]);_0x1929e9[_0x6d30('0x2c')]=_['intersection'](_0x480c66['model'],qs[_0x6d30('0x2e')](_0x27e914[_0x6d30('0x26')][_0x6d30('0x2e')]));_0x1929e9[_0x6d30('0x2c')]=_0x1929e9[_0x6d30('0x2c')][_0x6d30('0x2f')]?_0x1929e9[_0x6d30('0x2c')]:_0x480c66['model'];if(!_0x27e914[_0x6d30('0x26')][_0x6d30('0x41')](_0x6d30('0x42'))){_0x1929e9[_0x6d30('0x12')]=qs[_0x6d30('0x12')](_0x27e914[_0x6d30('0x26')][_0x6d30('0x12')]);_0x1929e9[_0x6d30('0x14')]=qs[_0x6d30('0x14')](_0x27e914[_0x6d30('0x26')][_0x6d30('0x14')]);}_0x1929e9[_0x6d30('0x43')]=qs['sort'](_0x27e914[_0x6d30('0x26')]['sort']);_0x1929e9[_0x6d30('0x24')]=qs[_0x6d30('0x2b')](_[_0x6d30('0x44')](_0x27e914['query'],_0x480c66['filters']));_0x1929e9[_0x6d30('0x24')][_0x6d30('0x45')]=_0x309022['id'];if(_0x27e914[_0x6d30('0x26')]['filter']){_0x1929e9['where']=_['merge'](_0x1929e9[_0x6d30('0x24')],{'$or':_[_0x6d30('0x1e')](_0x1929e9[_0x6d30('0x2c')],function(_0xa6916b){var _0x25eda9={};_0x25eda9[_0xa6916b]={'$like':'%'+_0x27e914['query'][_0x6d30('0x46')]+'%'};return _0x25eda9;})});}_0x1929e9=_[_0x6d30('0x47')]({},_0x1929e9,_0x27e914['options']);return db['UserOpenchannelQueue'][_0x6d30('0x48')](_0x1929e9);}})[_0x6d30('0x17')](function(_0x38c1f6){if(_0x38c1f6){return db[_0x6d30('0x49')][_0x6d30('0x4a')]({'where':{'id':_[_0x6d30('0x1e')](_0x38c1f6,_0x6d30('0x4b')),'role':_0x6d30('0x4c')},'attributes':['id',_0x6d30('0x1c'),'openchannelPause','updatedAt',_0x6d30('0x4d')]});}})[_0x6d30('0x17')](function(_0x16b863){if(_0x16b863){return{'count':_0x16b863[_0x6d30('0x13')],'rows':_['map'](_0x16b863[_0x6d30('0x27')],function(_0x49dfb2){return{'membername':_0x49dfb2[_0x6d30('0x1c')],'UserId':_0x49dfb2['id'],'queue_name':_0x571fc8[_0x6d30('0x1c')],'OpenchannelQueueId':_0x571fc8['id'],'interface':util[_0x6d30('0x4e')](_0x6d30('0x4f'),_0x6d30('0x50'),_0x49dfb2['name']),'penalty':0x0,'paused':_0x49dfb2[_0x6d30('0x51')],'createdAt':_0x49dfb2[_0x6d30('0x4d')],'updatedAt':_0x49dfb2['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x6d30('0x17')](respondWithFilteredResult(_0x312bdf,_0x1929e9))[_0x6d30('0x28')](handleError(_0x312bdf,null));};exports['getTeams']=function(_0x5a9570,_0x48c3a3){var _0xc35c14={};var _0x29d81b={};var _0x22d669;var _0xea9061;return db['OpenchannelQueue'][_0x6d30('0x3f')]({'where':{'id':_0x5a9570[_0x6d30('0x3c')]['id']}})[_0x6d30('0x17')](handleEntityNotFound(_0x48c3a3,null))[_0x6d30('0x17')](function(_0x44a979){if(_0x44a979){_0x22d669=_0x44a979;_0x29d81b[_0x6d30('0x29')]=_[_0x6d30('0x2a')](db[_0x6d30('0x52')]['rawAttributes']);_0x29d81b[_0x6d30('0x26')]=_['keys'](_0x5a9570[_0x6d30('0x26')]);_0x29d81b[_0x6d30('0x2b')]=_['intersection'](_0x29d81b[_0x6d30('0x29')],_0x29d81b[_0x6d30('0x26')]);_0xc35c14[_0x6d30('0x2c')]=_[_0x6d30('0x2d')](_0x29d81b[_0x6d30('0x29')],qs['fields'](_0x5a9570[_0x6d30('0x26')][_0x6d30('0x2e')]));_0xc35c14[_0x6d30('0x2c')]=_0xc35c14[_0x6d30('0x2c')][_0x6d30('0x2f')]?_0xc35c14[_0x6d30('0x2c')]:_0x29d81b[_0x6d30('0x29')];_0xc35c14[_0x6d30('0x43')]=qs[_0x6d30('0x53')](_0x5a9570[_0x6d30('0x26')][_0x6d30('0x53')]);_0xc35c14[_0x6d30('0x24')]=qs[_0x6d30('0x2b')](_[_0x6d30('0x44')](_0x5a9570['query'],_0x29d81b[_0x6d30('0x2b')]));if(_0x5a9570['query']['filter']){_0xc35c14[_0x6d30('0x24')]=_[_0x6d30('0x47')](_0xc35c14['where'],{'$or':_[_0x6d30('0x1e')](_0xc35c14['attributes'],function(_0x2a154a){var _0x7a74a1={};_0x7a74a1[_0x2a154a]={'$like':'%'+_0x5a9570[_0x6d30('0x26')][_0x6d30('0x46')]+'%'};return _0x7a74a1;})});}_0xc35c14=_[_0x6d30('0x47')]({},_0xc35c14,_0x5a9570[_0x6d30('0x31')]);return _0x22d669['getTeams'](_0xc35c14);}})['then'](function(_0x5ae5e9){if(_0x5ae5e9){_0xea9061=_0x5ae5e9[_0x6d30('0x2f')];if(!_0x5a9570[_0x6d30('0x26')][_0x6d30('0x41')](_0x6d30('0x42'))){_0xc35c14['limit']=qs[_0x6d30('0x12')](_0x5a9570[_0x6d30('0x26')]['limit']);_0xc35c14[_0x6d30('0x14')]=qs[_0x6d30('0x14')](_0x5a9570[_0x6d30('0x26')][_0x6d30('0x14')]);}return _0x22d669[_0x6d30('0x54')](_0xc35c14);}})['then'](function(_0x39da7a){if(_0x39da7a){return _0x39da7a?{'count':_0xea9061,'rows':_0x39da7a}:null;}})[_0x6d30('0x17')](respondWithResult(_0x48c3a3,null))[_0x6d30('0x28')](handleError(_0x48c3a3,null));};exports[_0x6d30('0x55')]=function(_0x5e0b03,_0x197bf5){var _0x3c1330=_0x5e0b03[_0x6d30('0x34')][_0x6d30('0x56')];return db[_0x6d30('0x52')][_0x6d30('0x48')]({'where':{'id':_0x3c1330},'attributes':['id'],'include':[{'model':db[_0x6d30('0x49')],'as':_0x6d30('0x57'),'attributes':['id',_0x6d30('0x1c'),_0x6d30('0x58'),_0x6d30('0x59'),_0x6d30('0x5a')],'raw':!![]}]})[_0x6d30('0x17')](function(_0x3ac2d0){if(_0x3ac2d0){var _0x2ed9cd=_[_0x6d30('0x5b')](_0x3ac2d0,function(_0x481540){var _0x4cdf33=_0x481540[_0x6d30('0x19')]({'plain':!![]});return _0x4cdf33[_0x6d30('0x57')];});return db[_0x6d30('0x1f')][_0x6d30('0x32')]({'where':{'id':_0x5e0b03[_0x6d30('0x3c')]['id']}})['then'](function(_0x49cd86){return db[_0x6d30('0x5c')][_0x6d30('0x5d')](function(_0x9330fa){return _0x49cd86[_0x6d30('0x55')](_0x3c1330,{'transaction':_0x9330fa})[_0x6d30('0x17')](function(){return BPromise[_0x6d30('0x5e')](_0x2ed9cd,function(_0x3e70c2){return db[_0x6d30('0x40')][_0x6d30('0x5f')]({'where':{'UserId':_0x3e70c2['id'],'OpenchannelQueueId':_0x5e0b03[_0x6d30('0x3c')]['id']},'transaction':_0x9330fa});});})[_0x6d30('0x17')](function(){_0x2ed9cd[_0x6d30('0x60')](function(_0xb399){socket[_0x6d30('0x61')]('userOpenchannelQueue:save',{'UserId':_0xb399['id'],'OpenchannelQueueId':_0x49cd86['id']});});});});});}})[_0x6d30('0x17')](respondWithStatusCode(_0x197bf5,null))[_0x6d30('0x28')](handleError(_0x197bf5,null));};exports[_0x6d30('0x62')]=function(_0x5a9517,_0x297dff){return db[_0x6d30('0x52')][_0x6d30('0x48')]({'where':{'id':_0x5a9517['query']['ids']},'attributes':['id'],'include':[{'model':db[_0x6d30('0x49')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x6d30('0x17')](handleEntityNotFound(_0x297dff,null))[_0x6d30('0x17')](function(_0xfdfae6){var _0x40e6fc=_[_0x6d30('0x1e')](_0xfdfae6,'id');var _0x314275=[];var _0x5cf79c=[];var _0x341543=squel['select']();_0x341543[_0x6d30('0x63')](_0x6d30('0x64'))[_0x6d30('0x65')](_0x6d30('0x66'),'tq')['join']('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0x6d30('0x24')]('OpenchannelQueueId\x20=\x20?',_0x5a9517[_0x6d30('0x3c')]['id']);for(var _0xa165c4=0x0;_0xa165c4<_0xfdfae6[_0x6d30('0x2f')];_0xa165c4+=0x1){let _0x5d6065=_0xfdfae6[_0xa165c4];for(var _0x228f4e=0x0;_0x228f4e<_0x5d6065['Agents'][_0x6d30('0x2f')];_0x228f4e+=0x1){let _0x135a21=_0x5d6065[_0x6d30('0x57')][_0x228f4e];var _0x46275a=_0x341543[_0x6d30('0x67')]();_0x46275a['where'](_0x6d30('0x68'),_0x135a21['id']);_0x5cf79c[_0x6d30('0x69')](db[_0x6d30('0x5c')]['query'](_0x46275a[_0x6d30('0x6a')](),{'type':db['sequelize'][_0x6d30('0x6b')][_0x6d30('0x6c')]})[_0x6d30('0x17')](function(_0x943da3){if(_0x943da3['length']===0x1){return _0x135a21['id'];}else{var _0x462459=_['every'](_[_0x6d30('0x1e')](_0x943da3,_0x6d30('0x6d')),function(_0x2d81f2){return _[_0x6d30('0x6e')](_0x40e6fc,_0x2d81f2);});if(_0x462459){return _0x135a21['id'];}}}));}}return BPromise[_0x6d30('0x6f')](_0x5cf79c)[_0x6d30('0x17')](function(_0x92e429){_0x314275=_(_0x314275)[_0x6d30('0x70')](_0x92e429)['compact']()[_0x6d30('0x71')]();return db[_0x6d30('0x1f')]['find']({'where':{'id':_0x5a9517[_0x6d30('0x3c')]['id']}})['then'](function(_0xdb3793){return db[_0x6d30('0x5c')][_0x6d30('0x5d')](function(_0x2dc14f){return _0xdb3793[_0x6d30('0x62')](_0x5a9517[_0x6d30('0x26')][_0x6d30('0x56')],{'transaction':_0x2dc14f})['then'](function(){if(!_[_0x6d30('0x72')](_0x314275)){return _0xdb3793[_0x6d30('0x73')](_0x314275,{'transaction':_0x2dc14f});}})[_0x6d30('0x17')](function(){_0x314275[_0x6d30('0x60')](function(_0x5ab016){socket['emit'](_0x6d30('0x74'),{'UserId':_0x5ab016,'OpenchannelQueueId':_0xdb3793['id']});});});});});});})[_0x6d30('0x17')](respondWithStatusCode(_0x297dff,null))['catch'](handleError(_0x297dff,null));};exports[_0x6d30('0x75')]=function(_0x4d2e7c,_0x463e1e){return db['OpenchannelQueue'][_0x6d30('0x32')]({'where':{'id':_0x4d2e7c['params']['id']}})['then'](handleEntityNotFound(_0x463e1e,null))['then'](function(_0x16ff2a){if(_0x16ff2a){return _0x16ff2a['addAgents'](_0x4d2e7c[_0x6d30('0x34')][_0x6d30('0x56')],_[_0x6d30('0x76')](_0x4d2e7c[_0x6d30('0x34')],['ids','id'])||{})[_0x6d30('0x77')](function(_0x923c6b){for(var _0x1c3f37=0x0;_0x1c3f37<_0x4d2e7c[_0x6d30('0x34')][_0x6d30('0x56')][_0x6d30('0x2f')];_0x1c3f37+=0x1){socket[_0x6d30('0x61')](_0x6d30('0x78'),{'UserId':Number(_0x4d2e7c['body'][_0x6d30('0x56')][_0x1c3f37]),'OpenchannelQueueId':Number(_0x4d2e7c['params']['id'])});}return _0x923c6b;});}})['then'](respondWithResult(_0x463e1e,null))[_0x6d30('0x28')](handleError(_0x463e1e,null));};exports[_0x6d30('0x73')]=function(_0x1aece1,_0x9b93b7){return db[_0x6d30('0x1f')][_0x6d30('0x32')]({'where':{'id':_0x1aece1[_0x6d30('0x3c')]['id']}})[_0x6d30('0x17')](handleEntityNotFound(_0x9b93b7,null))[_0x6d30('0x17')](function(_0x16aac8){if(_0x16aac8){return _0x16aac8[_0x6d30('0x73')](_0x1aece1[_0x6d30('0x26')][_0x6d30('0x56')])['then'](function(){if(_[_0x6d30('0x79')](_0x1aece1[_0x6d30('0x26')][_0x6d30('0x56')])){for(var _0x4e1d5b=0x0;_0x4e1d5b<_0x1aece1[_0x6d30('0x26')][_0x6d30('0x56')]['length'];_0x4e1d5b+=0x1){socket[_0x6d30('0x61')]('userOpenchannelQueue:remove',{'UserId':Number(_0x1aece1['query'][_0x6d30('0x56')][_0x4e1d5b]),'OpenchannelQueueId':Number(_0x1aece1['params']['id'])});}}else{socket[_0x6d30('0x61')](_0x6d30('0x74'),{'UserId':Number(_0x1aece1[_0x6d30('0x26')][_0x6d30('0x56')]),'OpenchannelQueueId':Number(_0x1aece1[_0x6d30('0x3c')]['id'])});}});}})['then'](respondWithStatusCode(_0x9b93b7,null))['catch'](handleError(_0x9b93b7,null));};exports[_0x6d30('0x7a')]=function(_0x4036b5,_0x3eba53){var _0x27a3b0={};var _0x19fb24={};var _0x5132df;var _0x264524;return db[_0x6d30('0x1f')]['findOne']({'where':{'id':_0x4036b5[_0x6d30('0x3c')]['id']}})[_0x6d30('0x17')](handleEntityNotFound(_0x3eba53,null))['then'](function(_0x3d2066){if(_0x3d2066){_0x5132df=_0x3d2066;_0x19fb24[_0x6d30('0x29')]=_[_0x6d30('0x2a')](db[_0x6d30('0x49')][_0x6d30('0x20')]);_0x19fb24['query']=_[_0x6d30('0x2a')](_0x4036b5['query']);_0x19fb24[_0x6d30('0x2b')]=_['intersection'](_0x19fb24[_0x6d30('0x29')],_0x19fb24['query']);_0x27a3b0['attributes']=_[_0x6d30('0x2d')](_0x19fb24['model'],qs[_0x6d30('0x2e')](_0x4036b5[_0x6d30('0x26')][_0x6d30('0x2e')]));_0x27a3b0[_0x6d30('0x2c')]=_0x27a3b0[_0x6d30('0x2c')][_0x6d30('0x2f')]?_0x27a3b0['attributes']:_0x19fb24['model'];_0x27a3b0['order']=qs[_0x6d30('0x53')](_0x4036b5[_0x6d30('0x26')][_0x6d30('0x53')]);_0x27a3b0[_0x6d30('0x24')]=qs[_0x6d30('0x2b')](_['pick'](_0x4036b5[_0x6d30('0x26')],_0x19fb24[_0x6d30('0x2b')]));if(_0x4036b5[_0x6d30('0x26')][_0x6d30('0x46')]){_0x27a3b0[_0x6d30('0x24')]=_[_0x6d30('0x47')](_0x27a3b0[_0x6d30('0x24')],{'$or':_[_0x6d30('0x1e')](_0x27a3b0[_0x6d30('0x2c')],function(_0x1239e5){var _0x1647e8={};_0x1647e8[_0x1239e5]={'$like':'%'+_0x4036b5[_0x6d30('0x26')][_0x6d30('0x46')]+'%'};return _0x1647e8;})});}_0x27a3b0=_['merge']({},_0x27a3b0,_0x4036b5['options']);return _0x5132df['getAgents'](_0x27a3b0);}})[_0x6d30('0x17')](function(_0x5095c8){if(_0x5095c8){_0x264524=_0x5095c8['length'];if(!_0x4036b5[_0x6d30('0x26')][_0x6d30('0x41')](_0x6d30('0x42'))){_0x27a3b0['limit']=qs[_0x6d30('0x12')](_0x4036b5['query'][_0x6d30('0x12')]);_0x27a3b0[_0x6d30('0x14')]=qs[_0x6d30('0x14')](_0x4036b5[_0x6d30('0x26')]['offset']);}return _0x5132df[_0x6d30('0x7a')](_0x27a3b0);}})[_0x6d30('0x17')](function(_0xb5568b){if(_0xb5568b){return _0xb5568b?{'count':_0x264524,'rows':_0xb5568b}:null;}})['then'](respondWithResult(_0x3eba53,null))['catch'](handleError(_0x3eba53,null));};