Built motion from commit 3c2ce842.|2.6.31
[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 _0x33fc=['Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','UserOpenchannelQueue','nolimit','order','sort','pick','OpenchannelQueueId','filter','options','findAndCountAll','UserId','openchannelPause','format','SIP','createdAt','getTeams','Team','addTeams','ids','User','Agents','online','voicePause','flatMap','sequelize','transaction','each','forEach','emit','select','team_has_openchannel_queues','join','ut.TeamId\x20=\x20tq.TeamId','clone','QueryTypes','SELECT','every','includes','all','compact','removeTeams','removeAgents','userOpenchannelQueue:remove','addAgents','omit','spread','isArray','getAgents','hasOwnProperty','bluebird','util','lodash','squel','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','update','then','destroy','get','OpenchannelQueues','UserProfileResource','error','name','index','map','OpenchannelQueue','rawAttributes','type','getOptions','where','include','query','findAll','rows','catch','show','params','model','keys','filters','intersection','attributes','fields','length','includeAll','merge','find','create','body','user','UserProfileSection','autoAssociation'];(function(_0x940d80,_0x37300e){var _0xd72077=function(_0xbcd603){while(--_0xbcd603){_0x940d80['push'](_0x940d80['shift']());}};_0xd72077(++_0x37300e);}(_0x33fc,0xa2));var _0xc33f=function(_0x4da03b,_0x3d680d){_0x4da03b=_0x4da03b-0x0;var _0x25144d=_0x33fc[_0x4da03b];return _0x25144d;};'use strict';var BPromise=require(_0xc33f('0x0'));var util=require(_0xc33f('0x1'));var _=require(_0xc33f('0x2'));var squel=require(_0xc33f('0x3'));var Redis=require('ioredis');var qs=require(_0xc33f('0x4'));var logger=require('../../config/logger')(_0xc33f('0x5'));var config=require(_0xc33f('0x6'));var db=require(_0xc33f('0x7'))['db'];config['redis']=_['defaults'](config[_0xc33f('0x8')],{'host':_0xc33f('0x9'),'port':0x18eb});var socket=require(_0xc33f('0xa'))(new Redis(config['redis']));require(_0xc33f('0xb'))[_0xc33f('0xc')](socket);function respondWithStatusCode(_0x27ffae,_0x35f961){_0x35f961=_0x35f961||0xcc;return function(_0x17c27f){if(_0x17c27f){return _0x27ffae[_0xc33f('0xd')](_0x35f961);}return _0x27ffae[_0xc33f('0xe')](_0x35f961)[_0xc33f('0xf')]();};}function respondWithResult(_0x2eaff8,_0x308964){_0x308964=_0x308964||0xc8;return function(_0x236cec){if(_0x236cec){return _0x2eaff8[_0xc33f('0xe')](_0x308964)[_0xc33f('0x10')](_0x236cec);}};}function respondWithFilteredResult(_0x121034,_0x57a7dd){return function(_0x3fd954){if(_0x3fd954){var _0x16954a=typeof _0x57a7dd[_0xc33f('0x11')]===_0xc33f('0x12')&&typeof _0x57a7dd['limit']===_0xc33f('0x12');var _0x48e2f5=_0x3fd954[_0xc33f('0x13')];var _0x2f9a86=_0x16954a?0x0:_0x57a7dd['offset'];var _0x44e8f7=_0x16954a?_0x3fd954[_0xc33f('0x13')]:_0x57a7dd['offset']+_0x57a7dd[_0xc33f('0x14')];var _0x5255da;if(_0x44e8f7>=_0x48e2f5){_0x44e8f7=_0x48e2f5;_0x5255da=0xc8;}else{_0x5255da=0xce;}_0x121034['status'](_0x5255da);return _0x121034[_0xc33f('0x15')](_0xc33f('0x16'),_0x2f9a86+'-'+_0x44e8f7+'/'+_0x48e2f5)['json'](_0x3fd954);}return null;};}function saveUpdates(_0x1a5fa3){return function(_0x33bd61){if(_0x33bd61){return _0x33bd61[_0xc33f('0x17')](_0x1a5fa3)[_0xc33f('0x18')](function(_0x56bc9e){return _0x56bc9e;});}return null;};}function removeEntity(_0x3d2e9a){return function(_0x29ccac){if(_0x29ccac){return _0x29ccac[_0xc33f('0x19')]()['then'](function(){var _0x2f1620=_0x29ccac[_0xc33f('0x1a')]({'plain':!![]});var _0x5dec74=_0xc33f('0x1b');return db[_0xc33f('0x1c')][_0xc33f('0x19')]({'where':{'type':_0x5dec74,'resourceId':_0x2f1620['id']}})['then'](function(){return _0x29ccac;});})[_0xc33f('0x18')](function(){_0x3d2e9a[_0xc33f('0xe')](0xcc)[_0xc33f('0xf')]();});}};}function handleEntityNotFound(_0x47744c){return function(_0x536a92){if(!_0x536a92){_0x47744c['sendStatus'](0x194);}return _0x536a92;};}function handleError(_0x40ad7f,_0x52a05d){_0x52a05d=_0x52a05d||0x1f4;return function(_0x55ea38){logger[_0xc33f('0x1d')](_0x55ea38['stack']);if(_0x55ea38[_0xc33f('0x1e')]){delete _0x55ea38[_0xc33f('0x1e')];}_0x40ad7f[_0xc33f('0xe')](_0x52a05d)['send'](_0x55ea38);};}exports[_0xc33f('0x1f')]=function(_0x2279d8,_0x1c9d41){var _0x34ac9e={};var _0x1ae2f5={'count':0x0,'rows':[]};var _0x15579c=_[_0xc33f('0x20')](db[_0xc33f('0x21')][_0xc33f('0x22')],function(_0x45a9c0){return{'name':_0x45a9c0['fieldName'],'type':_0x45a9c0[_0xc33f('0x23')]['key']};});_0x34ac9e=qs[_0xc33f('0x24')](_0x15579c,_0x2279d8);var _0x142bf1={'where':_0x34ac9e[_0xc33f('0x25')]};return db['OpenchannelQueue'][_0xc33f('0x13')](_0x142bf1)[_0xc33f('0x18')](function(_0x5ca30d){_0x1ae2f5[_0xc33f('0x13')]=_0x5ca30d;_0x34ac9e[_0xc33f('0x26')]=qs[_0xc33f('0x26')](_0x2279d8[_0xc33f('0x27')]);return db[_0xc33f('0x21')][_0xc33f('0x28')](_0x34ac9e);})['then'](function(_0x451c46){_0x1ae2f5[_0xc33f('0x29')]=_0x451c46;return _0x1ae2f5;})[_0xc33f('0x18')](respondWithFilteredResult(_0x1c9d41,_0x34ac9e))[_0xc33f('0x2a')](handleError(_0x1c9d41,null));};exports[_0xc33f('0x2b')]=function(_0x114338,_0x21f6b3){var _0x299051={'raw':!![],'where':{'id':_0x114338[_0xc33f('0x2c')]['id']}},_0x3387c9={};_0x3387c9[_0xc33f('0x2d')]=_[_0xc33f('0x2e')](db['OpenchannelQueue'][_0xc33f('0x22')]);_0x3387c9[_0xc33f('0x27')]=_['keys'](_0x114338[_0xc33f('0x27')]);_0x3387c9[_0xc33f('0x2f')]=_[_0xc33f('0x30')](_0x3387c9[_0xc33f('0x2d')],_0x3387c9[_0xc33f('0x27')]);_0x299051[_0xc33f('0x31')]=_['intersection'](_0x3387c9[_0xc33f('0x2d')],qs[_0xc33f('0x32')](_0x114338[_0xc33f('0x27')]['fields']));_0x299051[_0xc33f('0x31')]=_0x299051[_0xc33f('0x31')][_0xc33f('0x33')]?_0x299051['attributes']:_0x3387c9[_0xc33f('0x2d')];if(_0x114338[_0xc33f('0x27')][_0xc33f('0x34')]){_0x299051['include']=[{'all':!![]}];}_0x299051=_[_0xc33f('0x35')]({},_0x299051,_0x114338['options']);return db[_0xc33f('0x21')][_0xc33f('0x36')](_0x299051)[_0xc33f('0x18')](handleEntityNotFound(_0x21f6b3,null))['then'](respondWithResult(_0x21f6b3,null))[_0xc33f('0x2a')](handleError(_0x21f6b3,null));};exports[_0xc33f('0x37')]=function(_0x27325c,_0x2938b2){return db[_0xc33f('0x21')][_0xc33f('0x37')](_0x27325c[_0xc33f('0x38')],{})[_0xc33f('0x18')](function(_0x2cfe7d){var _0x1a8a27=_0x27325c[_0xc33f('0x39')][_0xc33f('0x1a')]({'plain':!![]});if(!_0x1a8a27)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1a8a27['role']===_0xc33f('0x39')){var _0x1fc513=_0x2cfe7d[_0xc33f('0x1a')]({'plain':!![]});var _0x53e5a5=_0xc33f('0x1b');return db[_0xc33f('0x3a')][_0xc33f('0x36')]({'where':{'name':_0x53e5a5,'userProfileId':_0x1a8a27['userProfileId']},'raw':!![]})[_0xc33f('0x18')](function(_0x425db7){if(_0x425db7&&_0x425db7[_0xc33f('0x3b')]===0x0){return db[_0xc33f('0x1c')][_0xc33f('0x37')]({'name':_0x1fc513['name'],'resourceId':_0x1fc513['id'],'type':_0x425db7[_0xc33f('0x1e')],'sectionId':_0x425db7['id']},{})['then'](function(){return _0x2cfe7d;});}else{return _0x2cfe7d;}})['catch'](function(_0x376dda){logger['error'](_0xc33f('0x3c'),_0x376dda);throw _0x376dda;});}return _0x2cfe7d;})[_0xc33f('0x18')](respondWithResult(_0x2938b2,0xc9))[_0xc33f('0x2a')](handleError(_0x2938b2,null));};exports[_0xc33f('0x17')]=function(_0x340a5c,_0x368e1b){if(_0x340a5c[_0xc33f('0x38')]['id']){delete _0x340a5c[_0xc33f('0x38')]['id'];}return db['OpenchannelQueue'][_0xc33f('0x36')]({'where':{'id':_0x340a5c['params']['id']}})['then'](handleEntityNotFound(_0x368e1b,null))[_0xc33f('0x18')](saveUpdates(_0x340a5c[_0xc33f('0x38')],null))[_0xc33f('0x18')](respondWithResult(_0x368e1b,null))[_0xc33f('0x2a')](handleError(_0x368e1b,null));};exports[_0xc33f('0x19')]=function(_0xe29f80,_0x5eac48){return db[_0xc33f('0x21')][_0xc33f('0x36')]({'where':{'id':_0xe29f80['params']['id']}})[_0xc33f('0x18')](handleEntityNotFound(_0x5eac48,null))[_0xc33f('0x18')](removeEntity(_0x5eac48,null))[_0xc33f('0x2a')](handleError(_0x5eac48,null));};exports[_0xc33f('0x3d')]=function(_0x8edcde,_0x46ddf7){return db[_0xc33f('0x21')][_0xc33f('0x3d')]()[_0xc33f('0x18')](respondWithResult(_0x46ddf7,null))['catch'](handleError(_0x46ddf7,null));};exports['getMembers']=function(_0x58b5a1,_0x4d9b5d){var _0x2da153={'raw':!![],'where':{}},_0xab872e={},_0xc3f244;return db[_0xc33f('0x21')][_0xc33f('0x3e')]({'where':{'id':_0x58b5a1[_0xc33f('0x2c')]['id']}})[_0xc33f('0x18')](handleEntityNotFound(_0x4d9b5d,null))['then'](function(_0x2ac829){if(_0x2ac829){_0xc3f244=_0x2ac829['get']({'plain':!![]});_0xab872e[_0xc33f('0x2d')]=_[_0xc33f('0x2e')](db[_0xc33f('0x3f')]['rawAttributes']);_0xab872e[_0xc33f('0x27')]=_[_0xc33f('0x2e')](_0x58b5a1['query']);_0xab872e[_0xc33f('0x2f')]=_[_0xc33f('0x30')](_0xab872e['model'],_0xab872e[_0xc33f('0x27')]);_0x2da153[_0xc33f('0x31')]=_[_0xc33f('0x30')](_0xab872e[_0xc33f('0x2d')],qs['fields'](_0x58b5a1[_0xc33f('0x27')][_0xc33f('0x32')]));_0x2da153[_0xc33f('0x31')]=_0x2da153['attributes'][_0xc33f('0x33')]?_0x2da153[_0xc33f('0x31')]:_0xab872e[_0xc33f('0x2d')];if(!_0x58b5a1[_0xc33f('0x27')]['hasOwnProperty'](_0xc33f('0x40'))){_0x2da153[_0xc33f('0x14')]=qs[_0xc33f('0x14')](_0x58b5a1[_0xc33f('0x27')][_0xc33f('0x14')]);_0x2da153[_0xc33f('0x11')]=qs[_0xc33f('0x11')](_0x58b5a1[_0xc33f('0x27')]['offset']);}_0x2da153[_0xc33f('0x41')]=qs[_0xc33f('0x42')](_0x58b5a1[_0xc33f('0x27')]['sort']);_0x2da153['where']=qs[_0xc33f('0x2f')](_[_0xc33f('0x43')](_0x58b5a1[_0xc33f('0x27')],_0xab872e[_0xc33f('0x2f')]));_0x2da153[_0xc33f('0x25')][_0xc33f('0x44')]=_0x2ac829['id'];if(_0x58b5a1[_0xc33f('0x27')][_0xc33f('0x45')]){_0x2da153[_0xc33f('0x25')]=_[_0xc33f('0x35')](_0x2da153[_0xc33f('0x25')],{'$or':_[_0xc33f('0x20')](_0x2da153[_0xc33f('0x31')],function(_0x8a1d7a){var _0x3eb1a9={};_0x3eb1a9[_0x8a1d7a]={'$like':'%'+_0x58b5a1['query'][_0xc33f('0x45')]+'%'};return _0x3eb1a9;})});}_0x2da153=_[_0xc33f('0x35')]({},_0x2da153,_0x58b5a1[_0xc33f('0x46')]);return db['UserOpenchannelQueue']['findAll'](_0x2da153);}})[_0xc33f('0x18')](function(_0x24ab7b){if(_0x24ab7b){return db['User'][_0xc33f('0x47')]({'where':{'id':_[_0xc33f('0x20')](_0x24ab7b,_0xc33f('0x48')),'role':'agent'},'attributes':['id',_0xc33f('0x1e'),_0xc33f('0x49'),'updatedAt','createdAt']});}})[_0xc33f('0x18')](function(_0x12f64b){if(_0x12f64b){return{'count':_0x12f64b[_0xc33f('0x13')],'rows':_[_0xc33f('0x20')](_0x12f64b[_0xc33f('0x29')],function(_0x3ab007){return{'membername':_0x3ab007['name'],'UserId':_0x3ab007['id'],'queue_name':_0xc3f244[_0xc33f('0x1e')],'OpenchannelQueueId':_0xc3f244['id'],'interface':util[_0xc33f('0x4a')]('%s/%s',_0xc33f('0x4b'),_0x3ab007[_0xc33f('0x1e')]),'penalty':0x0,'paused':_0x3ab007[_0xc33f('0x49')],'createdAt':_0x3ab007[_0xc33f('0x4c')],'updatedAt':_0x3ab007['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x4d9b5d,_0x2da153))[_0xc33f('0x2a')](handleError(_0x4d9b5d,null));};exports[_0xc33f('0x4d')]=function(_0x591bfa,_0x95fbc8){var _0x2809c2={};var _0x2e53e0={};var _0x10f61d;var _0x48a57d;return db[_0xc33f('0x21')][_0xc33f('0x3e')]({'where':{'id':_0x591bfa[_0xc33f('0x2c')]['id']}})[_0xc33f('0x18')](handleEntityNotFound(_0x95fbc8,null))[_0xc33f('0x18')](function(_0x5c77cf){if(_0x5c77cf){_0x10f61d=_0x5c77cf;_0x2e53e0[_0xc33f('0x2d')]=_[_0xc33f('0x2e')](db[_0xc33f('0x4e')][_0xc33f('0x22')]);_0x2e53e0[_0xc33f('0x27')]=_[_0xc33f('0x2e')](_0x591bfa[_0xc33f('0x27')]);_0x2e53e0[_0xc33f('0x2f')]=_['intersection'](_0x2e53e0[_0xc33f('0x2d')],_0x2e53e0['query']);_0x2809c2[_0xc33f('0x31')]=_[_0xc33f('0x30')](_0x2e53e0['model'],qs[_0xc33f('0x32')](_0x591bfa['query']['fields']));_0x2809c2['attributes']=_0x2809c2['attributes'][_0xc33f('0x33')]?_0x2809c2[_0xc33f('0x31')]:_0x2e53e0[_0xc33f('0x2d')];_0x2809c2[_0xc33f('0x41')]=qs[_0xc33f('0x42')](_0x591bfa['query'][_0xc33f('0x42')]);_0x2809c2[_0xc33f('0x25')]=qs[_0xc33f('0x2f')](_[_0xc33f('0x43')](_0x591bfa[_0xc33f('0x27')],_0x2e53e0[_0xc33f('0x2f')]));if(_0x591bfa['query'][_0xc33f('0x45')]){_0x2809c2[_0xc33f('0x25')]=_[_0xc33f('0x35')](_0x2809c2[_0xc33f('0x25')],{'$or':_[_0xc33f('0x20')](_0x2809c2[_0xc33f('0x31')],function(_0x262ce6){var _0x44d273={};_0x44d273[_0x262ce6]={'$like':'%'+_0x591bfa[_0xc33f('0x27')][_0xc33f('0x45')]+'%'};return _0x44d273;})});}_0x2809c2=_[_0xc33f('0x35')]({},_0x2809c2,_0x591bfa[_0xc33f('0x46')]);return _0x10f61d[_0xc33f('0x4d')](_0x2809c2);}})['then'](function(_0x4fe0e4){if(_0x4fe0e4){_0x48a57d=_0x4fe0e4['length'];if(!_0x591bfa[_0xc33f('0x27')]['hasOwnProperty']('nolimit')){_0x2809c2[_0xc33f('0x14')]=qs[_0xc33f('0x14')](_0x591bfa[_0xc33f('0x27')][_0xc33f('0x14')]);_0x2809c2['offset']=qs['offset'](_0x591bfa[_0xc33f('0x27')][_0xc33f('0x11')]);}return _0x10f61d[_0xc33f('0x4d')](_0x2809c2);}})[_0xc33f('0x18')](function(_0x219ac9){if(_0x219ac9){return _0x219ac9?{'count':_0x48a57d,'rows':_0x219ac9}:null;}})['then'](respondWithResult(_0x95fbc8,null))[_0xc33f('0x2a')](handleError(_0x95fbc8,null));};exports[_0xc33f('0x4f')]=function(_0x328fec,_0x1ee9d2){var _0xdcda9c=_0x328fec[_0xc33f('0x38')][_0xc33f('0x50')];return db['Team']['findAll']({'where':{'id':_0xdcda9c},'attributes':['id'],'include':[{'model':db[_0xc33f('0x51')],'as':_0xc33f('0x52'),'attributes':['id',_0xc33f('0x1e'),_0xc33f('0x53'),_0xc33f('0x54'),'interface'],'raw':!![]}]})[_0xc33f('0x18')](function(_0x40f131){if(_0x40f131){var _0x505e43=_[_0xc33f('0x55')](_0x40f131,function(_0x1567c6){var _0x43bd27=_0x1567c6[_0xc33f('0x1a')]({'plain':!![]});return _0x43bd27['Agents'];});return db[_0xc33f('0x21')][_0xc33f('0x36')]({'where':{'id':_0x328fec[_0xc33f('0x2c')]['id']}})[_0xc33f('0x18')](function(_0x557952){return db[_0xc33f('0x56')][_0xc33f('0x57')](function(_0x211355){return _0x557952['addTeams'](_0xdcda9c,{'transaction':_0x211355})[_0xc33f('0x18')](function(){return BPromise[_0xc33f('0x58')](_0x505e43,function(_0x2dbc17){return db[_0xc33f('0x3f')]['findOrCreate']({'where':{'UserId':_0x2dbc17['id'],'OpenchannelQueueId':_0x328fec['params']['id']},'transaction':_0x211355});});})[_0xc33f('0x18')](function(){_0x505e43[_0xc33f('0x59')](function(_0x3d3665){socket[_0xc33f('0x5a')]('userOpenchannelQueue:save',{'UserId':_0x3d3665['id'],'OpenchannelQueueId':_0x557952['id']});});});});});}})['then'](respondWithStatusCode(_0x1ee9d2,null))[_0xc33f('0x2a')](handleError(_0x1ee9d2,null));};exports['removeTeams']=function(_0x24d7e9,_0x4f27a4){return db[_0xc33f('0x4e')]['findAll']({'where':{'id':_0x24d7e9['query'][_0xc33f('0x50')]},'attributes':['id'],'include':[{'model':db[_0xc33f('0x51')],'as':_0xc33f('0x52'),'attributes':['id'],'raw':!![]}]})[_0xc33f('0x18')](handleEntityNotFound(_0x4f27a4,null))[_0xc33f('0x18')](function(_0x364a7f){var _0x6f1bf6=_[_0xc33f('0x20')](_0x364a7f,'id');var _0x369dcc=[];var _0x4f8e32=[];var _0x4297c2=squel[_0xc33f('0x5b')]();_0x4297c2['field']('tq.TeamId')['from'](_0xc33f('0x5c'),'tq')[_0xc33f('0x5d')]('user_has_teams','ut',_0xc33f('0x5e'))[_0xc33f('0x25')]('OpenchannelQueueId\x20=\x20?',_0x24d7e9[_0xc33f('0x2c')]['id']);for(var _0x3f8b48=0x0;_0x3f8b48<_0x364a7f[_0xc33f('0x33')];_0x3f8b48+=0x1){let _0x9ac47e=_0x364a7f[_0x3f8b48];for(var _0x111550=0x0;_0x111550<_0x9ac47e['Agents']['length'];_0x111550+=0x1){let _0x1e9b94=_0x9ac47e[_0xc33f('0x52')][_0x111550];var _0x5445b6=_0x4297c2[_0xc33f('0x5f')]();_0x5445b6[_0xc33f('0x25')]('ut.UserId\x20=\x20?',_0x1e9b94['id']);_0x4f8e32['push'](db[_0xc33f('0x56')][_0xc33f('0x27')](_0x5445b6['toString'](),{'type':db[_0xc33f('0x56')][_0xc33f('0x60')][_0xc33f('0x61')]})[_0xc33f('0x18')](function(_0x180bfd){if(_0x180bfd[_0xc33f('0x33')]===0x1){return _0x1e9b94['id'];}else{var _0x3870fa=_[_0xc33f('0x62')](_[_0xc33f('0x20')](_0x180bfd,'TeamId'),function(_0x83244){return _[_0xc33f('0x63')](_0x6f1bf6,_0x83244);});if(_0x3870fa){return _0x1e9b94['id'];}}}));}}return BPromise[_0xc33f('0x64')](_0x4f8e32)[_0xc33f('0x18')](function(_0x1f4b4d){_0x369dcc=_(_0x369dcc)['union'](_0x1f4b4d)[_0xc33f('0x65')]()['value']();return db['OpenchannelQueue'][_0xc33f('0x36')]({'where':{'id':_0x24d7e9[_0xc33f('0x2c')]['id']}})[_0xc33f('0x18')](function(_0x5b3cb7){return db[_0xc33f('0x56')][_0xc33f('0x57')](function(_0x5e6d41){return _0x5b3cb7[_0xc33f('0x66')](_0x24d7e9[_0xc33f('0x27')][_0xc33f('0x50')],{'transaction':_0x5e6d41})[_0xc33f('0x18')](function(){if(!_['isEmpty'](_0x369dcc)){return _0x5b3cb7[_0xc33f('0x67')](_0x369dcc,{'transaction':_0x5e6d41});}})[_0xc33f('0x18')](function(){_0x369dcc[_0xc33f('0x59')](function(_0x3c1b24){socket[_0xc33f('0x5a')](_0xc33f('0x68'),{'UserId':_0x3c1b24,'OpenchannelQueueId':_0x5b3cb7['id']});});});});});});})[_0xc33f('0x18')](respondWithStatusCode(_0x4f27a4,null))['catch'](handleError(_0x4f27a4,null));};exports[_0xc33f('0x69')]=function(_0x29780c,_0x589cbe){return db[_0xc33f('0x21')][_0xc33f('0x36')]({'where':{'id':_0x29780c['params']['id']}})[_0xc33f('0x18')](handleEntityNotFound(_0x589cbe,null))[_0xc33f('0x18')](function(_0xc81ce2){if(_0xc81ce2){return _0xc81ce2['addAgents'](_0x29780c[_0xc33f('0x38')][_0xc33f('0x50')],_[_0xc33f('0x6a')](_0x29780c['body'],[_0xc33f('0x50'),'id'])||{})[_0xc33f('0x6b')](function(_0x5d360a){for(var _0x2127b4=0x0;_0x2127b4<_0x29780c['body'][_0xc33f('0x50')][_0xc33f('0x33')];_0x2127b4+=0x1){socket['emit']('userOpenchannelQueue:save',{'UserId':Number(_0x29780c['body'][_0xc33f('0x50')][_0x2127b4]),'OpenchannelQueueId':Number(_0x29780c['params']['id'])});}return _0x5d360a;});}})[_0xc33f('0x18')](respondWithResult(_0x589cbe,null))[_0xc33f('0x2a')](handleError(_0x589cbe,null));};exports['removeAgents']=function(_0x4c2c69,_0x438b6b){return db[_0xc33f('0x21')][_0xc33f('0x36')]({'where':{'id':_0x4c2c69[_0xc33f('0x2c')]['id']}})['then'](handleEntityNotFound(_0x438b6b,null))[_0xc33f('0x18')](function(_0x45c280){if(_0x45c280){return _0x45c280[_0xc33f('0x67')](_0x4c2c69['query'][_0xc33f('0x50')])[_0xc33f('0x18')](function(){if(_[_0xc33f('0x6c')](_0x4c2c69['query']['ids'])){for(var _0x44a766=0x0;_0x44a766<_0x4c2c69[_0xc33f('0x27')]['ids'][_0xc33f('0x33')];_0x44a766+=0x1){socket[_0xc33f('0x5a')]('userOpenchannelQueue:remove',{'UserId':Number(_0x4c2c69['query'][_0xc33f('0x50')][_0x44a766]),'OpenchannelQueueId':Number(_0x4c2c69[_0xc33f('0x2c')]['id'])});}}else{socket[_0xc33f('0x5a')](_0xc33f('0x68'),{'UserId':Number(_0x4c2c69[_0xc33f('0x27')][_0xc33f('0x50')]),'OpenchannelQueueId':Number(_0x4c2c69[_0xc33f('0x2c')]['id'])});}});}})[_0xc33f('0x18')](respondWithStatusCode(_0x438b6b,null))[_0xc33f('0x2a')](handleError(_0x438b6b,null));};exports[_0xc33f('0x6d')]=function(_0x48100d,_0x5e4189){var _0x53f96a={};var _0x58353d={};var _0x6b2361;var _0x31e40b;return db['OpenchannelQueue'][_0xc33f('0x3e')]({'where':{'id':_0x48100d[_0xc33f('0x2c')]['id']}})[_0xc33f('0x18')](handleEntityNotFound(_0x5e4189,null))['then'](function(_0x759968){if(_0x759968){_0x6b2361=_0x759968;_0x58353d[_0xc33f('0x2d')]=_['keys'](db[_0xc33f('0x51')]['rawAttributes']);_0x58353d[_0xc33f('0x27')]=_['keys'](_0x48100d[_0xc33f('0x27')]);_0x58353d[_0xc33f('0x2f')]=_[_0xc33f('0x30')](_0x58353d[_0xc33f('0x2d')],_0x58353d['query']);_0x53f96a['attributes']=_[_0xc33f('0x30')](_0x58353d[_0xc33f('0x2d')],qs[_0xc33f('0x32')](_0x48100d[_0xc33f('0x27')][_0xc33f('0x32')]));_0x53f96a[_0xc33f('0x31')]=_0x53f96a['attributes']['length']?_0x53f96a[_0xc33f('0x31')]:_0x58353d[_0xc33f('0x2d')];_0x53f96a[_0xc33f('0x41')]=qs[_0xc33f('0x42')](_0x48100d[_0xc33f('0x27')][_0xc33f('0x42')]);_0x53f96a[_0xc33f('0x25')]=qs[_0xc33f('0x2f')](_[_0xc33f('0x43')](_0x48100d[_0xc33f('0x27')],_0x58353d[_0xc33f('0x2f')]));if(_0x48100d[_0xc33f('0x27')][_0xc33f('0x45')]){_0x53f96a[_0xc33f('0x25')]=_[_0xc33f('0x35')](_0x53f96a[_0xc33f('0x25')],{'$or':_[_0xc33f('0x20')](_0x53f96a[_0xc33f('0x31')],function(_0x4a474f){var _0x1e8d01={};_0x1e8d01[_0x4a474f]={'$like':'%'+_0x48100d[_0xc33f('0x27')]['filter']+'%'};return _0x1e8d01;})});}_0x53f96a=_[_0xc33f('0x35')]({},_0x53f96a,_0x48100d['options']);return _0x6b2361[_0xc33f('0x6d')](_0x53f96a);}})[_0xc33f('0x18')](function(_0x1f7334){if(_0x1f7334){_0x31e40b=_0x1f7334[_0xc33f('0x33')];if(!_0x48100d[_0xc33f('0x27')][_0xc33f('0x6e')](_0xc33f('0x40'))){_0x53f96a[_0xc33f('0x14')]=qs[_0xc33f('0x14')](_0x48100d[_0xc33f('0x27')][_0xc33f('0x14')]);_0x53f96a[_0xc33f('0x11')]=qs[_0xc33f('0x11')](_0x48100d[_0xc33f('0x27')][_0xc33f('0x11')]);}return _0x6b2361[_0xc33f('0x6d')](_0x53f96a);}})[_0xc33f('0x18')](function(_0x39e357){if(_0x39e357){return _0x39e357?{'count':_0x31e40b,'rows':_0x39e357}:null;}})['then'](respondWithResult(_0x5e4189,null))[_0xc33f('0x2a')](handleError(_0x5e4189,null));};