Built motion from commit 85328c08.|2.5.50
[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 _0xd62a=['Team','addTeams','ids','Agents','online','interface','transaction','each','forEach','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','team_has_openchannel_queues','join','user_has_teams','OpenchannelQueueId\x20=\x20?','clone','push','sequelize','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','userOpenchannelQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','end','status','json','offset','limit','undefined','count','set','apply','reject','save','update','then','destroy','OpenchannelQueues','UserProfileResource','error','stack','name','send','index','map','OpenchannelQueue','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','sort','where','pick','filter','merge','includeAll','include','rows','show','keys','options','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','findOne','UserOpenchannelQueue','hasOwnProperty','nolimit','order','OpenchannelQueueId','findAll','User','findAndCountAll','UserId','agent','updatedAt','format','%s/%s','SIP','getTeams'];(function(_0x1e432a,_0x57b467){var _0x4f17a0=function(_0x5111e3){while(--_0x5111e3){_0x1e432a['push'](_0x1e432a['shift']());}};_0x4f17a0(++_0x57b467);}(_0xd62a,0xb0));var _0xad62=function(_0x2f81e9,_0x4c2a9f){_0x2f81e9=_0x2f81e9-0x0;var _0x224d61=_0xd62a[_0x2f81e9];return _0x224d61;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xad62('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0xad62('0x1'));var moment=require(_0xad62('0x2'));var BPromise=require(_0xad62('0x3'));var Mustache=require(_0xad62('0x4'));var util=require(_0xad62('0x5'));var path=require(_0xad62('0x6'));var sox=require('sox');var csv=require(_0xad62('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xad62('0x8'));var _=require(_0xad62('0x9'));var squel=require('squel');var crypto=require(_0xad62('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xad62('0xb'));var toCsv=require('to-csv');var querystring=require(_0xad62('0xc'));var Papa=require('papaparse');var Redis=require(_0xad62('0xd'));var authService=require(_0xad62('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0xad62('0xf'));var hardwareService=require(_0xad62('0x10'));var logger=require('../../config/logger')('api');var utils=require(_0xad62('0x11'));var config=require(_0xad62('0x12'));var licenseUtil=require(_0xad62('0x13'));var db=require(_0xad62('0x14'))['db'];config[_0xad62('0x15')]=_[_0xad62('0x16')](config['redis'],{'host':_0xad62('0x17'),'port':0x18eb});var socket=require(_0xad62('0x18'))(new Redis(config[_0xad62('0x15')]));require(_0xad62('0x19'))[_0xad62('0x1a')](socket);function respondWithStatusCode(_0x3a0d10,_0x1fbbaa){_0x1fbbaa=_0x1fbbaa||0xcc;return function(_0xf9a18){if(_0xf9a18){return _0x3a0d10[_0xad62('0x1b')](_0x1fbbaa);}return _0x3a0d10['status'](_0x1fbbaa)[_0xad62('0x1c')]();};}function respondWithResult(_0x43c1b8,_0x1d361a){_0x1d361a=_0x1d361a||0xc8;return function(_0x3caa4a){if(_0x3caa4a){return _0x43c1b8[_0xad62('0x1d')](_0x1d361a)[_0xad62('0x1e')](_0x3caa4a);}};}function respondWithFilteredResult(_0x2b720f,_0x57bd16){return function(_0xa6d55f){if(_0xa6d55f){var _0x128b8f=typeof _0x57bd16[_0xad62('0x1f')]==='undefined'&&typeof _0x57bd16[_0xad62('0x20')]===_0xad62('0x21');var _0x52be5d=_0xa6d55f[_0xad62('0x22')];var _0x17b943=_0x128b8f?0x0:_0x57bd16[_0xad62('0x1f')];var _0x32ef0e=_0x128b8f?_0xa6d55f['count']:_0x57bd16[_0xad62('0x1f')]+_0x57bd16[_0xad62('0x20')];var _0x54cd93;if(_0x32ef0e>=_0x52be5d){_0x32ef0e=_0x52be5d;_0x54cd93=0xc8;}else{_0x54cd93=0xce;}_0x2b720f[_0xad62('0x1d')](_0x54cd93);return _0x2b720f[_0xad62('0x23')]('Content-Range',_0x17b943+'-'+_0x32ef0e+'/'+_0x52be5d)['json'](_0xa6d55f);}return null;};}function patchUpdates(_0x534a47){return function(_0x405504){try{jsonpatch[_0xad62('0x24')](_0x405504,_0x534a47,!![]);}catch(_0x192532){return BPromise[_0xad62('0x25')](_0x192532);}return _0x405504[_0xad62('0x26')]();};}function saveUpdates(_0x39426b,_0x47f9b4){return function(_0x3ae993){if(_0x3ae993){return _0x3ae993[_0xad62('0x27')](_0x39426b)[_0xad62('0x28')](function(_0x4371c2){return _0x4371c2;});}return null;};}function removeEntity(_0x182132,_0x36593b){return function(_0x5e2baf){if(_0x5e2baf){return _0x5e2baf[_0xad62('0x29')]()['then'](function(){var _0x440b3c=_0x5e2baf['get']({'plain':!![]});var _0x266d30=_0xad62('0x2a');return db[_0xad62('0x2b')][_0xad62('0x29')]({'where':{'type':_0x266d30,'resourceId':_0x440b3c['id']}})['then'](function(){return _0x5e2baf;});})[_0xad62('0x28')](function(){_0x182132['status'](0xcc)[_0xad62('0x1c')]();});}};}function handleEntityNotFound(_0x15ead2,_0x1c1e9f){return function(_0x4874e8){if(!_0x4874e8){_0x15ead2[_0xad62('0x1b')](0x194);}return _0x4874e8;};}function handleError(_0x25576b,_0x101242){_0x101242=_0x101242||0x1f4;return function(_0x32999a){logger[_0xad62('0x2c')](_0x32999a[_0xad62('0x2d')]);if(_0x32999a[_0xad62('0x2e')]){delete _0x32999a[_0xad62('0x2e')];}_0x25576b[_0xad62('0x1d')](_0x101242)[_0xad62('0x2f')](_0x32999a);};}exports[_0xad62('0x30')]=function(_0x565c11,_0x4e09af){var _0x527d57={},_0x35ad64={},_0xe5c4b={'count':0x0,'rows':[]};var _0x1435c9=_[_0xad62('0x31')](db[_0xad62('0x32')][_0xad62('0x33')],function(_0xf18200){return{'name':_0xf18200[_0xad62('0x34')],'type':_0xf18200[_0xad62('0x35')][_0xad62('0x36')]};});_0x35ad64['model']=_['map'](_0x1435c9,'name');_0x35ad64[_0xad62('0x37')]=_['keys'](_0x565c11['query']);_0x35ad64[_0xad62('0x38')]=_[_0xad62('0x39')](_0x35ad64[_0xad62('0x3a')],_0x35ad64['query']);_0x527d57[_0xad62('0x3b')]=_[_0xad62('0x39')](_0x35ad64[_0xad62('0x3a')],qs[_0xad62('0x3c')](_0x565c11[_0xad62('0x37')][_0xad62('0x3c')]));_0x527d57[_0xad62('0x3b')]=_0x527d57['attributes'][_0xad62('0x3d')]?_0x527d57[_0xad62('0x3b')]:_0x35ad64[_0xad62('0x3a')];if(!_0x565c11['query']['hasOwnProperty']('nolimit')){_0x527d57[_0xad62('0x20')]=qs['limit'](_0x565c11[_0xad62('0x37')][_0xad62('0x20')]);_0x527d57[_0xad62('0x1f')]=qs['offset'](_0x565c11[_0xad62('0x37')][_0xad62('0x1f')]);}_0x527d57['order']=qs['sort'](_0x565c11[_0xad62('0x37')][_0xad62('0x3e')]);_0x527d57[_0xad62('0x3f')]=qs[_0xad62('0x38')](_[_0xad62('0x40')](_0x565c11[_0xad62('0x37')],_0x35ad64[_0xad62('0x38')]),_0x1435c9);if(_0x565c11['query'][_0xad62('0x41')]){_0x527d57[_0xad62('0x3f')]=_['merge'](_0x527d57[_0xad62('0x3f')],{'$or':_['map'](_0x1435c9,function(_0x238c81){if(_0x238c81[_0xad62('0x35')]!=='VIRTUAL'){var _0x5d3754={};_0x5d3754[_0x238c81[_0xad62('0x2e')]]={'$like':'%'+_0x565c11[_0xad62('0x37')][_0xad62('0x41')]+'%'};return _0x5d3754;}})});}_0x527d57=_[_0xad62('0x42')]({},_0x527d57,_0x565c11['options']);var _0x5cd037={'where':_0x527d57[_0xad62('0x3f')]};return db[_0xad62('0x32')][_0xad62('0x22')](_0x5cd037)[_0xad62('0x28')](function(_0x5b3646){_0xe5c4b[_0xad62('0x22')]=_0x5b3646;if(_0x565c11['query'][_0xad62('0x43')]){_0x527d57[_0xad62('0x44')]=[{'all':!![]}];}return db[_0xad62('0x32')]['findAll'](_0x527d57);})[_0xad62('0x28')](function(_0x3c2660){_0xe5c4b[_0xad62('0x45')]=_0x3c2660;return _0xe5c4b;})['then'](respondWithFilteredResult(_0x4e09af,_0x527d57))['catch'](handleError(_0x4e09af,null));};exports[_0xad62('0x46')]=function(_0x52978e,_0x66cba8){var _0x401197={'raw':!![],'where':{'id':_0x52978e['params']['id']}},_0x59292f={};_0x59292f[_0xad62('0x3a')]=_[_0xad62('0x47')](db[_0xad62('0x32')][_0xad62('0x33')]);_0x59292f[_0xad62('0x37')]=_['keys'](_0x52978e['query']);_0x59292f['filters']=_[_0xad62('0x39')](_0x59292f[_0xad62('0x3a')],_0x59292f[_0xad62('0x37')]);_0x401197[_0xad62('0x3b')]=_[_0xad62('0x39')](_0x59292f['model'],qs[_0xad62('0x3c')](_0x52978e['query'][_0xad62('0x3c')]));_0x401197[_0xad62('0x3b')]=_0x401197[_0xad62('0x3b')][_0xad62('0x3d')]?_0x401197[_0xad62('0x3b')]:_0x59292f['model'];if(_0x52978e[_0xad62('0x37')][_0xad62('0x43')]){_0x401197[_0xad62('0x44')]=[{'all':!![]}];}_0x401197=_[_0xad62('0x42')]({},_0x401197,_0x52978e[_0xad62('0x48')]);return db[_0xad62('0x32')][_0xad62('0x49')](_0x401197)[_0xad62('0x28')](handleEntityNotFound(_0x66cba8,null))[_0xad62('0x28')](respondWithResult(_0x66cba8,null))[_0xad62('0x4a')](handleError(_0x66cba8,null));};exports[_0xad62('0x4b')]=function(_0x2cc6ef,_0x3f3a54){return db[_0xad62('0x32')][_0xad62('0x4b')](_0x2cc6ef[_0xad62('0x4c')],{})[_0xad62('0x28')](function(_0x22be71){var _0x1bd995=_0x2cc6ef[_0xad62('0x4d')][_0xad62('0x4e')]({'plain':!![]});if(!_0x1bd995)throw new Error(_0xad62('0x4f'));if(_0x1bd995['role']===_0xad62('0x4d')){var _0x467506=_0x22be71[_0xad62('0x4e')]({'plain':!![]});var _0x4f3875=_0xad62('0x2a');return db[_0xad62('0x50')][_0xad62('0x49')]({'where':{'name':_0x4f3875,'userProfileId':_0x1bd995[_0xad62('0x51')]},'raw':!![]})[_0xad62('0x28')](function(_0x540c9b){if(_0x540c9b&&_0x540c9b[_0xad62('0x52')]===0x0){return db['UserProfileResource']['create']({'name':_0x467506[_0xad62('0x2e')],'resourceId':_0x467506['id'],'type':_0x540c9b['name'],'sectionId':_0x540c9b['id']},{})['then'](function(){return _0x22be71;});}else{return _0x22be71;}})[_0xad62('0x4a')](function(_0x159e76){logger[_0xad62('0x2c')](_0xad62('0x53'),_0x159e76);throw _0x159e76;});}return _0x22be71;})[_0xad62('0x28')](respondWithResult(_0x3f3a54,0xc9))[_0xad62('0x4a')](handleError(_0x3f3a54,null));};exports[_0xad62('0x27')]=function(_0x47ca98,_0x5e3687){if(_0x47ca98[_0xad62('0x4c')]['id']){delete _0x47ca98[_0xad62('0x4c')]['id'];}return db[_0xad62('0x32')][_0xad62('0x49')]({'where':{'id':_0x47ca98['params']['id']}})[_0xad62('0x28')](handleEntityNotFound(_0x5e3687,null))[_0xad62('0x28')](saveUpdates(_0x47ca98['body'],null))[_0xad62('0x28')](respondWithResult(_0x5e3687,null))[_0xad62('0x4a')](handleError(_0x5e3687,null));};exports[_0xad62('0x29')]=function(_0x3007cc,_0x43d1ae){return db[_0xad62('0x32')][_0xad62('0x49')]({'where':{'id':_0x3007cc[_0xad62('0x54')]['id']}})[_0xad62('0x28')](handleEntityNotFound(_0x43d1ae,null))['then'](removeEntity(_0x43d1ae,null))[_0xad62('0x4a')](handleError(_0x43d1ae,null));};exports['describe']=function(_0xf34c7f,_0x51d767){return db[_0xad62('0x32')][_0xad62('0x55')]()[_0xad62('0x28')](respondWithResult(_0x51d767,null))[_0xad62('0x4a')](handleError(_0x51d767,null));};exports['getMembers']=function(_0x520242,_0x2b3383,_0x138ceb){var _0x4b046e={'raw':!![],'where':{}},_0x41af8f={},_0x91a7fc;return db[_0xad62('0x32')][_0xad62('0x56')]({'where':{'id':_0x520242['params']['id']}})[_0xad62('0x28')](handleEntityNotFound(_0x2b3383,null))[_0xad62('0x28')](function(_0x18aa9a){if(_0x18aa9a){_0x91a7fc=_0x18aa9a['get']({'plain':!![]});_0x41af8f[_0xad62('0x3a')]=_[_0xad62('0x47')](db[_0xad62('0x57')]['rawAttributes']);_0x41af8f[_0xad62('0x37')]=_[_0xad62('0x47')](_0x520242[_0xad62('0x37')]);_0x41af8f[_0xad62('0x38')]=_[_0xad62('0x39')](_0x41af8f[_0xad62('0x3a')],_0x41af8f[_0xad62('0x37')]);_0x4b046e[_0xad62('0x3b')]=_['intersection'](_0x41af8f['model'],qs['fields'](_0x520242['query']['fields']));_0x4b046e['attributes']=_0x4b046e['attributes'][_0xad62('0x3d')]?_0x4b046e[_0xad62('0x3b')]:_0x41af8f['model'];if(!_0x520242[_0xad62('0x37')][_0xad62('0x58')](_0xad62('0x59'))){_0x4b046e[_0xad62('0x20')]=qs[_0xad62('0x20')](_0x520242['query'][_0xad62('0x20')]);_0x4b046e[_0xad62('0x1f')]=qs[_0xad62('0x1f')](_0x520242[_0xad62('0x37')][_0xad62('0x1f')]);}_0x4b046e[_0xad62('0x5a')]=qs['sort'](_0x520242[_0xad62('0x37')]['sort']);_0x4b046e[_0xad62('0x3f')]=qs[_0xad62('0x38')](_[_0xad62('0x40')](_0x520242[_0xad62('0x37')],_0x41af8f[_0xad62('0x38')]));_0x4b046e[_0xad62('0x3f')][_0xad62('0x5b')]=_0x18aa9a['id'];if(_0x520242[_0xad62('0x37')][_0xad62('0x41')]){_0x4b046e[_0xad62('0x3f')]=_[_0xad62('0x42')](_0x4b046e['where'],{'$or':_[_0xad62('0x31')](_0x4b046e[_0xad62('0x3b')],function(_0x2fc96a){var _0x432f2f={};_0x432f2f[_0x2fc96a]={'$like':'%'+_0x520242[_0xad62('0x37')][_0xad62('0x41')]+'%'};return _0x432f2f;})});}_0x4b046e=_[_0xad62('0x42')]({},_0x4b046e,_0x520242[_0xad62('0x48')]);return db[_0xad62('0x57')][_0xad62('0x5c')](_0x4b046e);}})[_0xad62('0x28')](function(_0xa776d0){if(_0xa776d0){return db[_0xad62('0x5d')][_0xad62('0x5e')]({'where':{'id':_['map'](_0xa776d0,_0xad62('0x5f')),'role':_0xad62('0x60')},'attributes':['id',_0xad62('0x2e'),'openchannelPause',_0xad62('0x61'),'createdAt']});}})[_0xad62('0x28')](function(_0x5333fe){if(_0x5333fe){return{'count':_0x5333fe['count'],'rows':_[_0xad62('0x31')](_0x5333fe[_0xad62('0x45')],function(_0x3c0d25){return{'membername':_0x3c0d25[_0xad62('0x2e')],'UserId':_0x3c0d25['id'],'queue_name':_0x91a7fc[_0xad62('0x2e')],'OpenchannelQueueId':_0x91a7fc['id'],'interface':util[_0xad62('0x62')](_0xad62('0x63'),_0xad62('0x64'),_0x3c0d25['name']),'penalty':0x0,'paused':_0x3c0d25['openchannelPause'],'createdAt':_0x3c0d25['createdAt'],'updatedAt':_0x3c0d25[_0xad62('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xad62('0x28')](respondWithFilteredResult(_0x2b3383,_0x4b046e))[_0xad62('0x4a')](handleError(_0x2b3383,null));};exports[_0xad62('0x65')]=function(_0x3b885d,_0x2742fe,_0x5123b9){var _0x2b71dc={};var _0x52c805={};var _0x5850a1;var _0x16c3c6;return db[_0xad62('0x32')][_0xad62('0x56')]({'where':{'id':_0x3b885d[_0xad62('0x54')]['id']}})[_0xad62('0x28')](handleEntityNotFound(_0x2742fe,null))[_0xad62('0x28')](function(_0x4d8a2e){if(_0x4d8a2e){_0x5850a1=_0x4d8a2e;_0x52c805[_0xad62('0x3a')]=_[_0xad62('0x47')](db[_0xad62('0x66')][_0xad62('0x33')]);_0x52c805[_0xad62('0x37')]=_['keys'](_0x3b885d[_0xad62('0x37')]);_0x52c805[_0xad62('0x38')]=_[_0xad62('0x39')](_0x52c805['model'],_0x52c805[_0xad62('0x37')]);_0x2b71dc[_0xad62('0x3b')]=_[_0xad62('0x39')](_0x52c805[_0xad62('0x3a')],qs[_0xad62('0x3c')](_0x3b885d[_0xad62('0x37')]['fields']));_0x2b71dc['attributes']=_0x2b71dc[_0xad62('0x3b')][_0xad62('0x3d')]?_0x2b71dc['attributes']:_0x52c805[_0xad62('0x3a')];_0x2b71dc[_0xad62('0x5a')]=qs['sort'](_0x3b885d['query'][_0xad62('0x3e')]);_0x2b71dc[_0xad62('0x3f')]=qs['filters'](_[_0xad62('0x40')](_0x3b885d[_0xad62('0x37')],_0x52c805[_0xad62('0x38')]));if(_0x3b885d[_0xad62('0x37')][_0xad62('0x41')]){_0x2b71dc[_0xad62('0x3f')]=_['merge'](_0x2b71dc['where'],{'$or':_[_0xad62('0x31')](_0x2b71dc[_0xad62('0x3b')],function(_0x21b617){var _0x501a1c={};_0x501a1c[_0x21b617]={'$like':'%'+_0x3b885d[_0xad62('0x37')][_0xad62('0x41')]+'%'};return _0x501a1c;})});}_0x2b71dc=_[_0xad62('0x42')]({},_0x2b71dc,_0x3b885d[_0xad62('0x48')]);return _0x5850a1[_0xad62('0x65')](_0x2b71dc);}})[_0xad62('0x28')](function(_0x364887){if(_0x364887){_0x16c3c6=_0x364887[_0xad62('0x3d')];if(!_0x3b885d[_0xad62('0x37')]['hasOwnProperty'](_0xad62('0x59'))){_0x2b71dc[_0xad62('0x20')]=qs[_0xad62('0x20')](_0x3b885d[_0xad62('0x37')][_0xad62('0x20')]);_0x2b71dc[_0xad62('0x1f')]=qs['offset'](_0x3b885d[_0xad62('0x37')]['offset']);}return _0x5850a1[_0xad62('0x65')](_0x2b71dc);}})[_0xad62('0x28')](function(_0x4972b0){if(_0x4972b0){return _0x4972b0?{'count':_0x16c3c6,'rows':_0x4972b0}:null;}})[_0xad62('0x28')](respondWithResult(_0x2742fe,null))[_0xad62('0x4a')](handleError(_0x2742fe,null));};exports[_0xad62('0x67')]=function(_0x21dbfe,_0x16dd9a,_0x1fd269){var _0x257998=_0x21dbfe[_0xad62('0x4c')][_0xad62('0x68')];return db[_0xad62('0x66')][_0xad62('0x5c')]({'where':{'id':_0x257998},'attributes':['id'],'include':[{'model':db['User'],'as':_0xad62('0x69'),'attributes':['id','name',_0xad62('0x6a'),'voicePause',_0xad62('0x6b')],'raw':!![]}]})[_0xad62('0x28')](function(_0x16fa3d){if(_0x16fa3d){var _0x45b9b7=_['flatMap'](_0x16fa3d,function(_0x17feb2){var _0x34dd8b=_0x17feb2[_0xad62('0x4e')]({'plain':!![]});return _0x34dd8b[_0xad62('0x69')];});return db['OpenchannelQueue']['find']({'where':{'id':_0x21dbfe[_0xad62('0x54')]['id']}})[_0xad62('0x28')](function(_0x1f0d14){return db['sequelize'][_0xad62('0x6c')](function(_0xf5f71e){return _0x1f0d14[_0xad62('0x67')](_0x257998,{'transaction':_0xf5f71e})[_0xad62('0x28')](function(){return BPromise[_0xad62('0x6d')](_0x45b9b7,function(_0x4519ba){return db[_0xad62('0x57')]['findOrCreate']({'where':{'UserId':_0x4519ba['id'],'OpenchannelQueueId':_0x21dbfe[_0xad62('0x54')]['id']},'transaction':_0xf5f71e});});})[_0xad62('0x28')](function(){_0x45b9b7[_0xad62('0x6e')](function(_0x527f9a){socket[_0xad62('0x6f')](_0xad62('0x70'),{'UserId':_0x527f9a['id'],'OpenchannelQueueId':_0x1f0d14['id']});});});});});}})['then'](respondWithStatusCode(_0x16dd9a,null))[_0xad62('0x4a')](handleError(_0x16dd9a,null));};exports[_0xad62('0x71')]=function(_0x57e451,_0x4bf010,_0x3f8451){return db[_0xad62('0x66')][_0xad62('0x5c')]({'where':{'id':_0x57e451[_0xad62('0x37')]['ids']},'attributes':['id'],'include':[{'model':db[_0xad62('0x5d')],'as':_0xad62('0x69'),'attributes':['id'],'raw':!![]}]})[_0xad62('0x28')](handleEntityNotFound(_0x4bf010,null))[_0xad62('0x28')](function(_0x5086f1){var _0x2cb8ed=_[_0xad62('0x31')](_0x5086f1,'id');var _0x1096eb=[];var _0x141d0b=[];var _0x359848=squel[_0xad62('0x72')]();_0x359848[_0xad62('0x73')](_0xad62('0x74'))['from'](_0xad62('0x75'),'tq')[_0xad62('0x76')](_0xad62('0x77'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xad62('0x3f')](_0xad62('0x78'),_0x57e451[_0xad62('0x54')]['id']);for(var _0x2277f0=0x0;_0x2277f0<_0x5086f1[_0xad62('0x3d')];_0x2277f0+=0x1){let _0x4d0569=_0x5086f1[_0x2277f0];for(var _0x23ada4=0x0;_0x23ada4<_0x4d0569[_0xad62('0x69')]['length'];_0x23ada4+=0x1){let _0x1e196b=_0x4d0569[_0xad62('0x69')][_0x23ada4];var _0x58ff2b=_0x359848[_0xad62('0x79')]();_0x58ff2b[_0xad62('0x3f')]('ut.UserId\x20=\x20?',_0x1e196b['id']);_0x141d0b[_0xad62('0x7a')](db[_0xad62('0x7b')][_0xad62('0x37')](_0x58ff2b['toString'](),{'type':db[_0xad62('0x7b')][_0xad62('0x7c')][_0xad62('0x7d')]})[_0xad62('0x28')](function(_0x595d68){if(_0x595d68[_0xad62('0x3d')]===0x1){return _0x1e196b['id'];}else{var _0x476f4f=_[_0xad62('0x7e')](_[_0xad62('0x31')](_0x595d68,_0xad62('0x7f')),function(_0x50703b){return _[_0xad62('0x80')](_0x2cb8ed,_0x50703b);});if(_0x476f4f){return _0x1e196b['id'];}}}));}}return BPromise[_0xad62('0x81')](_0x141d0b)[_0xad62('0x28')](function(_0x59520b){_0x1096eb=_(_0x1096eb)[_0xad62('0x82')](_0x59520b)[_0xad62('0x83')]()['value']();return db[_0xad62('0x32')]['find']({'where':{'id':_0x57e451['params']['id']}})[_0xad62('0x28')](function(_0x2c7482){return db[_0xad62('0x7b')]['transaction'](function(_0x3ace4e){return _0x2c7482['removeTeams'](_0x57e451[_0xad62('0x37')]['ids'],{'transaction':_0x3ace4e})[_0xad62('0x28')](function(){if(!_['isEmpty'](_0x1096eb)){return _0x2c7482['removeAgents'](_0x1096eb,{'transaction':_0x3ace4e});}})[_0xad62('0x28')](function(){_0x1096eb[_0xad62('0x6e')](function(_0x27d506){socket[_0xad62('0x6f')](_0xad62('0x84'),{'UserId':_0x27d506,'OpenchannelQueueId':_0x2c7482['id']});});});});});});})[_0xad62('0x28')](respondWithStatusCode(_0x4bf010,null))[_0xad62('0x4a')](handleError(_0x4bf010,null));};exports[_0xad62('0x85')]=function(_0x4bb860,_0x383ab9,_0x446da6){return db['OpenchannelQueue'][_0xad62('0x49')]({'where':{'id':_0x4bb860['params']['id']}})[_0xad62('0x28')](handleEntityNotFound(_0x383ab9,null))[_0xad62('0x28')](function(_0x44af8a){if(_0x44af8a){return _0x44af8a[_0xad62('0x85')](_0x4bb860[_0xad62('0x4c')][_0xad62('0x68')],_[_0xad62('0x86')](_0x4bb860[_0xad62('0x4c')],[_0xad62('0x68'),'id'])||{})[_0xad62('0x87')](function(_0x2f5ac0){for(var _0x18abab=0x0;_0x18abab<_0x4bb860[_0xad62('0x4c')][_0xad62('0x68')][_0xad62('0x3d')];_0x18abab+=0x1){socket[_0xad62('0x6f')](_0xad62('0x70'),{'UserId':Number(_0x4bb860[_0xad62('0x4c')]['ids'][_0x18abab]),'OpenchannelQueueId':Number(_0x4bb860[_0xad62('0x54')]['id'])});}return _0x2f5ac0;});}})[_0xad62('0x28')](respondWithResult(_0x383ab9,null))[_0xad62('0x4a')](handleError(_0x383ab9,null));};exports[_0xad62('0x88')]=function(_0xdb126f,_0xe0c37a,_0x26215c){return db[_0xad62('0x32')][_0xad62('0x49')]({'where':{'id':_0xdb126f[_0xad62('0x54')]['id']}})[_0xad62('0x28')](handleEntityNotFound(_0xe0c37a,null))['then'](function(_0x1303f6){if(_0x1303f6){return _0x1303f6[_0xad62('0x88')](_0xdb126f[_0xad62('0x37')][_0xad62('0x68')])[_0xad62('0x28')](function(){if(_[_0xad62('0x89')](_0xdb126f[_0xad62('0x37')][_0xad62('0x68')])){for(var _0x2901fe=0x0;_0x2901fe<_0xdb126f[_0xad62('0x37')][_0xad62('0x68')][_0xad62('0x3d')];_0x2901fe+=0x1){socket['emit'](_0xad62('0x84'),{'UserId':Number(_0xdb126f[_0xad62('0x37')][_0xad62('0x68')][_0x2901fe]),'OpenchannelQueueId':Number(_0xdb126f[_0xad62('0x54')]['id'])});}}else{socket[_0xad62('0x6f')]('userOpenchannelQueue:remove',{'UserId':Number(_0xdb126f[_0xad62('0x37')][_0xad62('0x68')]),'OpenchannelQueueId':Number(_0xdb126f['params']['id'])});}});}})[_0xad62('0x28')](respondWithStatusCode(_0xe0c37a,null))[_0xad62('0x4a')](handleError(_0xe0c37a,null));};exports[_0xad62('0x8a')]=function(_0x19bbd8,_0x12dcda,_0x482497){var _0x26a1c4={};var _0x617886={};var _0x1c00ee;var _0x401644;return db[_0xad62('0x32')][_0xad62('0x56')]({'where':{'id':_0x19bbd8[_0xad62('0x54')]['id']}})[_0xad62('0x28')](handleEntityNotFound(_0x12dcda,null))[_0xad62('0x28')](function(_0x3d4b00){if(_0x3d4b00){_0x1c00ee=_0x3d4b00;_0x617886[_0xad62('0x3a')]=_[_0xad62('0x47')](db['User'][_0xad62('0x33')]);_0x617886[_0xad62('0x37')]=_['keys'](_0x19bbd8[_0xad62('0x37')]);_0x617886[_0xad62('0x38')]=_['intersection'](_0x617886[_0xad62('0x3a')],_0x617886[_0xad62('0x37')]);_0x26a1c4[_0xad62('0x3b')]=_[_0xad62('0x39')](_0x617886[_0xad62('0x3a')],qs['fields'](_0x19bbd8['query'][_0xad62('0x3c')]));_0x26a1c4['attributes']=_0x26a1c4[_0xad62('0x3b')][_0xad62('0x3d')]?_0x26a1c4[_0xad62('0x3b')]:_0x617886[_0xad62('0x3a')];_0x26a1c4[_0xad62('0x5a')]=qs[_0xad62('0x3e')](_0x19bbd8[_0xad62('0x37')][_0xad62('0x3e')]);_0x26a1c4[_0xad62('0x3f')]=qs[_0xad62('0x38')](_['pick'](_0x19bbd8[_0xad62('0x37')],_0x617886[_0xad62('0x38')]));if(_0x19bbd8[_0xad62('0x37')]['filter']){_0x26a1c4[_0xad62('0x3f')]=_[_0xad62('0x42')](_0x26a1c4[_0xad62('0x3f')],{'$or':_['map'](_0x26a1c4[_0xad62('0x3b')],function(_0x10924a){var _0x53958d={};_0x53958d[_0x10924a]={'$like':'%'+_0x19bbd8[_0xad62('0x37')][_0xad62('0x41')]+'%'};return _0x53958d;})});}_0x26a1c4=_[_0xad62('0x42')]({},_0x26a1c4,_0x19bbd8[_0xad62('0x48')]);return _0x1c00ee[_0xad62('0x8a')](_0x26a1c4);}})[_0xad62('0x28')](function(_0xaef603){if(_0xaef603){_0x401644=_0xaef603[_0xad62('0x3d')];if(!_0x19bbd8[_0xad62('0x37')][_0xad62('0x58')](_0xad62('0x59'))){_0x26a1c4[_0xad62('0x20')]=qs[_0xad62('0x20')](_0x19bbd8[_0xad62('0x37')][_0xad62('0x20')]);_0x26a1c4[_0xad62('0x1f')]=qs[_0xad62('0x1f')](_0x19bbd8[_0xad62('0x37')][_0xad62('0x1f')]);}return _0x1c00ee[_0xad62('0x8a')](_0x26a1c4);}})['then'](function(_0x23d082){if(_0x23d082){return _0x23d082?{'count':_0x401644,'rows':_0x23d082}:null;}})[_0xad62('0x28')](respondWithResult(_0x12dcda,null))['catch'](handleError(_0x12dcda,null));};