d6fa01f2ed3e25a3902c578aa649c262b432f901
[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 _0x9688=['join','ut.TeamId\x20=\x20tq.TeamId','clone','toString','QueryTypes','SELECT','includes','all','union','removeAgents','emit','omit','userOpenchannelQueue:save','isArray','userOpenchannelQueue:remove','findOne','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','redis','defaults','socket.io-emitter','register','sendStatus','end','status','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','then','get','UserProfileResource','stack','name','map','OpenchannelQueue','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','include','findAll','show','keys','includeAll','options','find','create','user','OpenchannelQueues','UserProfileSection','userProfileId','autoAssociation','catch','error','body','params','describe','getMembers','UserOpenchannelQueue','order','OpenchannelQueueId','findAndCountAll','UserId','agent','openchannelPause','updatedAt','format','createdAt','getTeams','Team','addTeams','ids','User','voicePause','flatMap','Agents','sequelize','transaction','each','findOrCreate','removeTeams','select','field','from','team_has_openchannel_queues'];(function(_0x53afa6,_0x59e786){var _0x51f86a=function(_0x368385){while(--_0x368385){_0x53afa6['push'](_0x53afa6['shift']());}};_0x51f86a(++_0x59e786);}(_0x9688,0x191));var _0x8968=function(_0xa148b7,_0x2f3eb2){_0xa148b7=_0xa148b7-0x0;var _0x51efd3=_0x9688[_0xa148b7];return _0x51efd3;};'use strict';var pdf=require(_0x8968('0x0'));var emlformat=require(_0x8968('0x1'));var rimraf=require(_0x8968('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8968('0x3'));var rp=require('request-promise');var moment=require(_0x8968('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x8968('0x5'));var util=require('util');var path=require(_0x8968('0x6'));var sox=require(_0x8968('0x7'));var csv=require(_0x8968('0x8'));var ejs=require(_0x8968('0x9'));var fs=require('fs');var _=require(_0x8968('0xa'));var squel=require(_0x8968('0xb'));var crypto=require(_0x8968('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x8968('0xd'));var toCsv=require('to-csv');var querystring=require(_0x8968('0xe'));var Papa=require(_0x8968('0xf'));var Redis=require(_0x8968('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x8968('0x11'));var as=require(_0x8968('0x12'));var hardwareService=require(_0x8968('0x13'));var logger=require('../../config/logger')(_0x8968('0x14'));var utils=require(_0x8968('0x15'));var config=require(_0x8968('0x16'));var db=require('../../mysqldb')['db'];config[_0x8968('0x17')]=_[_0x8968('0x18')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x8968('0x19'))(new Redis(config['redis']));require('./openchannelQueue.socket')[_0x8968('0x1a')](socket);function respondWithStatusCode(_0x1fada6,_0x2b3e1c){_0x2b3e1c=_0x2b3e1c||0xcc;return function(_0x32d45d){if(_0x32d45d){return _0x1fada6[_0x8968('0x1b')](_0x2b3e1c);}return _0x1fada6['status'](_0x2b3e1c)[_0x8968('0x1c')]();};}function respondWithResult(_0x18f155,_0x4e1329){_0x4e1329=_0x4e1329||0xc8;return function(_0x4b93bb){if(_0x4b93bb){return _0x18f155[_0x8968('0x1d')](_0x4e1329)[_0x8968('0x1e')](_0x4b93bb);}};}function respondWithFilteredResult(_0x11980a,_0x14ca85){return function(_0x2edf23){if(_0x2edf23){var _0x5c32e2=_0x2edf23[_0x8968('0x1f')],_0x43198f=_0x14ca85['offset'],_0x1dabfa=_0x14ca85[_0x8968('0x20')]+_0x14ca85[_0x8968('0x21')],_0x1e9e3f;if(_0x1dabfa>=_0x5c32e2){_0x1dabfa=_0x5c32e2;_0x1e9e3f=0xc8;}else{_0x1e9e3f=0xce;}_0x11980a['status'](_0x1e9e3f);return _0x11980a['set'](_0x8968('0x22'),_0x43198f+'-'+_0x1dabfa+'/'+_0x5c32e2)[_0x8968('0x1e')](_0x2edf23);}return null;};}function patchUpdates(_0x51e33e){return function(_0x437d73){try{jsonpatch[_0x8968('0x23')](_0x437d73,_0x51e33e,!![]);}catch(_0x3dbad2){return BPromise[_0x8968('0x24')](_0x3dbad2);}return _0x437d73[_0x8968('0x25')]();};}function saveUpdates(_0x585cb8,_0x22ebd5){return function(_0x4370e0){if(_0x4370e0){return _0x4370e0[_0x8968('0x26')](_0x585cb8)['then'](function(_0x2b2799){return _0x2b2799;});}return null;};}function removeEntity(_0x26e551,_0x354bd3){return function(_0x1b44ec){if(_0x1b44ec){return _0x1b44ec[_0x8968('0x27')]()[_0x8968('0x28')](function(){var _0x3c5d5a=_0x1b44ec[_0x8968('0x29')]({'plain':!![]});var _0x58ba4c='OpenchannelQueues';return db[_0x8968('0x2a')][_0x8968('0x27')]({'where':{'type':_0x58ba4c,'resourceId':_0x3c5d5a['id']}})[_0x8968('0x28')](function(){return _0x1b44ec;});})[_0x8968('0x28')](function(){_0x26e551[_0x8968('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2b6fa9,_0x4de816){return function(_0xc9cd3f){if(!_0xc9cd3f){_0x2b6fa9[_0x8968('0x1b')](0x194);}return _0xc9cd3f;};}function handleError(_0x1f228,_0x5851e5){_0x5851e5=_0x5851e5||0x1f4;return function(_0x191446){logger['error'](_0x191446[_0x8968('0x2b')]);if(_0x191446[_0x8968('0x2c')]){delete _0x191446[_0x8968('0x2c')];}_0x1f228[_0x8968('0x1d')](_0x5851e5)['send'](_0x191446);};}exports['index']=function(_0x11c7ad,_0x9bf333){var _0xe21171={},_0x4644e1={},_0x2f817d={'count':0x0,'rows':[]};var _0x3d1e67=_[_0x8968('0x2d')](db[_0x8968('0x2e')][_0x8968('0x2f')],function(_0xa6aa1c){return{'name':_0xa6aa1c[_0x8968('0x30')],'type':_0xa6aa1c[_0x8968('0x31')][_0x8968('0x32')]};});_0x4644e1[_0x8968('0x33')]=_['map'](_0x3d1e67,_0x8968('0x2c'));_0x4644e1[_0x8968('0x34')]=_['keys'](_0x11c7ad[_0x8968('0x34')]);_0x4644e1[_0x8968('0x35')]=_[_0x8968('0x36')](_0x4644e1[_0x8968('0x33')],_0x4644e1[_0x8968('0x34')]);_0xe21171['attributes']=_[_0x8968('0x36')](_0x4644e1[_0x8968('0x33')],qs['fields'](_0x11c7ad[_0x8968('0x34')][_0x8968('0x37')]));_0xe21171[_0x8968('0x38')]=_0xe21171[_0x8968('0x38')][_0x8968('0x39')]?_0xe21171[_0x8968('0x38')]:_0x4644e1[_0x8968('0x33')];if(!_0x11c7ad['query'][_0x8968('0x3a')](_0x8968('0x3b'))){_0xe21171[_0x8968('0x21')]=qs[_0x8968('0x21')](_0x11c7ad['query'][_0x8968('0x21')]);_0xe21171[_0x8968('0x20')]=qs[_0x8968('0x20')](_0x11c7ad[_0x8968('0x34')][_0x8968('0x20')]);}_0xe21171['order']=qs[_0x8968('0x3c')](_0x11c7ad[_0x8968('0x34')][_0x8968('0x3c')]);_0xe21171[_0x8968('0x3d')]=qs[_0x8968('0x35')](_[_0x8968('0x3e')](_0x11c7ad[_0x8968('0x34')],_0x4644e1[_0x8968('0x35')]),_0x3d1e67);if(_0x11c7ad[_0x8968('0x34')][_0x8968('0x3f')]){_0xe21171[_0x8968('0x3d')]=_[_0x8968('0x40')](_0xe21171['where'],{'$or':_['map'](_0x3d1e67,function(_0x3f39ce){if(_0x3f39ce[_0x8968('0x31')]!=='VIRTUAL'){var _0x28dc15={};_0x28dc15[_0x3f39ce['name']]={'$like':'%'+_0x11c7ad['query'][_0x8968('0x3f')]+'%'};return _0x28dc15;}})});}_0xe21171=_[_0x8968('0x40')]({},_0xe21171,_0x11c7ad['options']);var _0xd673ee={'where':_0xe21171['where']};return db['OpenchannelQueue']['count'](_0xd673ee)['then'](function(_0x20663b){_0x2f817d[_0x8968('0x1f')]=_0x20663b;if(_0x11c7ad[_0x8968('0x34')]['includeAll']){_0xe21171[_0x8968('0x41')]=[{'all':!![]}];}return db[_0x8968('0x2e')][_0x8968('0x42')](_0xe21171);})['then'](function(_0x47f59d){_0x2f817d['rows']=_0x47f59d;return _0x2f817d;})[_0x8968('0x28')](respondWithFilteredResult(_0x9bf333,_0xe21171))['catch'](handleError(_0x9bf333,null));};exports[_0x8968('0x43')]=function(_0x1ee06c,_0x328065){var _0x2f1070={'raw':!![],'where':{'id':_0x1ee06c['params']['id']}},_0x42dc01={};_0x42dc01['model']=_[_0x8968('0x44')](db[_0x8968('0x2e')][_0x8968('0x2f')]);_0x42dc01['query']=_['keys'](_0x1ee06c[_0x8968('0x34')]);_0x42dc01[_0x8968('0x35')]=_['intersection'](_0x42dc01[_0x8968('0x33')],_0x42dc01[_0x8968('0x34')]);_0x2f1070['attributes']=_[_0x8968('0x36')](_0x42dc01[_0x8968('0x33')],qs[_0x8968('0x37')](_0x1ee06c[_0x8968('0x34')]['fields']));_0x2f1070[_0x8968('0x38')]=_0x2f1070['attributes']['length']?_0x2f1070[_0x8968('0x38')]:_0x42dc01[_0x8968('0x33')];if(_0x1ee06c[_0x8968('0x34')][_0x8968('0x45')]){_0x2f1070[_0x8968('0x41')]=[{'all':!![]}];}_0x2f1070=_[_0x8968('0x40')]({},_0x2f1070,_0x1ee06c[_0x8968('0x46')]);return db[_0x8968('0x2e')][_0x8968('0x47')](_0x2f1070)['then'](handleEntityNotFound(_0x328065,null))[_0x8968('0x28')](respondWithResult(_0x328065,null))['catch'](handleError(_0x328065,null));};exports[_0x8968('0x48')]=function(_0xa235c1,_0x516ebb){return db[_0x8968('0x2e')][_0x8968('0x48')](_0xa235c1['body'],{})[_0x8968('0x28')](function(_0x48821c){var _0x38c042=_0xa235c1[_0x8968('0x49')][_0x8968('0x29')]({'plain':!![]});if(!_0x38c042)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x38c042['role']===_0x8968('0x49')){var _0x680870=_0x48821c['get']({'plain':!![]});var _0x2d2a2c=_0x8968('0x4a');return db[_0x8968('0x4b')][_0x8968('0x47')]({'where':{'name':_0x2d2a2c,'userProfileId':_0x38c042[_0x8968('0x4c')]},'raw':!![]})[_0x8968('0x28')](function(_0x2cbd49){if(_0x2cbd49&&_0x2cbd49[_0x8968('0x4d')]===0x0){return db['UserProfileResource']['create']({'name':_0x680870[_0x8968('0x2c')],'resourceId':_0x680870['id'],'type':_0x2cbd49[_0x8968('0x2c')],'sectionId':_0x2cbd49['id']},{})[_0x8968('0x28')](function(){return _0x48821c;});}else{return _0x48821c;}})[_0x8968('0x4e')](function(_0x3492da){logger[_0x8968('0x4f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3492da);throw _0x3492da;});}return _0x48821c;})['then'](respondWithResult(_0x516ebb,0xc9))[_0x8968('0x4e')](handleError(_0x516ebb,null));};exports['update']=function(_0x3adc34,_0xb8b3d6){if(_0x3adc34[_0x8968('0x50')]['id']){delete _0x3adc34[_0x8968('0x50')]['id'];}return db[_0x8968('0x2e')]['find']({'where':{'id':_0x3adc34[_0x8968('0x51')]['id']}})[_0x8968('0x28')](handleEntityNotFound(_0xb8b3d6,null))[_0x8968('0x28')](saveUpdates(_0x3adc34[_0x8968('0x50')],null))[_0x8968('0x28')](respondWithResult(_0xb8b3d6,null))['catch'](handleError(_0xb8b3d6,null));};exports[_0x8968('0x27')]=function(_0x9418dd,_0x482949){return db[_0x8968('0x2e')][_0x8968('0x47')]({'where':{'id':_0x9418dd[_0x8968('0x51')]['id']}})[_0x8968('0x28')](handleEntityNotFound(_0x482949,null))[_0x8968('0x28')](removeEntity(_0x482949,null))['catch'](handleError(_0x482949,null));};exports[_0x8968('0x52')]=function(_0x347f2c,_0x3762f0){return db[_0x8968('0x2e')][_0x8968('0x52')]()[_0x8968('0x28')](respondWithResult(_0x3762f0,null))[_0x8968('0x4e')](handleError(_0x3762f0,null));};exports[_0x8968('0x53')]=function(_0x4ec853,_0x318a97,_0x35a7a5){var _0x23a948={'raw':!![],'where':{}},_0x202a23={},_0x4e060a;return db[_0x8968('0x2e')]['findOne']({'where':{'id':_0x4ec853[_0x8968('0x51')]['id']}})[_0x8968('0x28')](handleEntityNotFound(_0x318a97,null))['then'](function(_0x5415ab){if(_0x5415ab){_0x4e060a=_0x5415ab[_0x8968('0x29')]({'plain':!![]});_0x202a23[_0x8968('0x33')]=_['keys'](db[_0x8968('0x54')][_0x8968('0x2f')]);_0x202a23[_0x8968('0x34')]=_['keys'](_0x4ec853['query']);_0x202a23['filters']=_[_0x8968('0x36')](_0x202a23['model'],_0x202a23[_0x8968('0x34')]);_0x23a948['attributes']=_[_0x8968('0x36')](_0x202a23[_0x8968('0x33')],qs['fields'](_0x4ec853[_0x8968('0x34')][_0x8968('0x37')]));_0x23a948[_0x8968('0x38')]=_0x23a948[_0x8968('0x38')][_0x8968('0x39')]?_0x23a948[_0x8968('0x38')]:_0x202a23[_0x8968('0x33')];if(!_0x4ec853[_0x8968('0x34')]['hasOwnProperty']('nolimit')){_0x23a948[_0x8968('0x21')]=qs[_0x8968('0x21')](_0x4ec853[_0x8968('0x34')][_0x8968('0x21')]);_0x23a948[_0x8968('0x20')]=qs[_0x8968('0x20')](_0x4ec853['query']['offset']);}_0x23a948[_0x8968('0x55')]=qs[_0x8968('0x3c')](_0x4ec853[_0x8968('0x34')][_0x8968('0x3c')]);_0x23a948[_0x8968('0x3d')]=qs[_0x8968('0x35')](_['pick'](_0x4ec853[_0x8968('0x34')],_0x202a23[_0x8968('0x35')]));_0x23a948['where'][_0x8968('0x56')]=_0x5415ab['id'];if(_0x4ec853[_0x8968('0x34')][_0x8968('0x3f')]){_0x23a948[_0x8968('0x3d')]=_[_0x8968('0x40')](_0x23a948[_0x8968('0x3d')],{'$or':_[_0x8968('0x2d')](_0x23a948['attributes'],function(_0xea714c){var _0x2a5938={};_0x2a5938[_0xea714c]={'$like':'%'+_0x4ec853[_0x8968('0x34')]['filter']+'%'};return _0x2a5938;})});}_0x23a948=_[_0x8968('0x40')]({},_0x23a948,_0x4ec853[_0x8968('0x46')]);return db[_0x8968('0x54')]['findAll'](_0x23a948);}})[_0x8968('0x28')](function(_0x289001){if(_0x289001){return db['User'][_0x8968('0x57')]({'where':{'id':_['map'](_0x289001,_0x8968('0x58')),'role':_0x8968('0x59')},'attributes':['id',_0x8968('0x2c'),_0x8968('0x5a'),_0x8968('0x5b'),'createdAt']});}})[_0x8968('0x28')](function(_0x913e2b){if(_0x913e2b){return{'count':_0x913e2b[_0x8968('0x1f')],'rows':_[_0x8968('0x2d')](_0x913e2b['rows'],function(_0x559019){return{'membername':_0x559019[_0x8968('0x2c')],'UserId':_0x559019['id'],'queue_name':_0x4e060a[_0x8968('0x2c')],'OpenchannelQueueId':_0x4e060a['id'],'interface':util[_0x8968('0x5c')]('%s/%s','SIP',_0x559019[_0x8968('0x2c')]),'penalty':0x0,'paused':_0x559019[_0x8968('0x5a')],'createdAt':_0x559019[_0x8968('0x5d')],'updatedAt':_0x559019['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x318a97,_0x23a948))[_0x8968('0x4e')](handleError(_0x318a97,null));};exports[_0x8968('0x5e')]=function(_0x2e5b1a,_0x33d756,_0x4fa10a){var _0x55948e={};var _0x3816e4={};var _0x5a6c83;var _0x56c4d0;return db['OpenchannelQueue']['findOne']({'where':{'id':_0x2e5b1a['params']['id']}})[_0x8968('0x28')](handleEntityNotFound(_0x33d756,null))[_0x8968('0x28')](function(_0x21ab9b){if(_0x21ab9b){_0x5a6c83=_0x21ab9b;_0x3816e4[_0x8968('0x33')]=_[_0x8968('0x44')](db[_0x8968('0x5f')][_0x8968('0x2f')]);_0x3816e4[_0x8968('0x34')]=_[_0x8968('0x44')](_0x2e5b1a[_0x8968('0x34')]);_0x3816e4['filters']=_['intersection'](_0x3816e4[_0x8968('0x33')],_0x3816e4[_0x8968('0x34')]);_0x55948e[_0x8968('0x38')]=_['intersection'](_0x3816e4[_0x8968('0x33')],qs['fields'](_0x2e5b1a[_0x8968('0x34')][_0x8968('0x37')]));_0x55948e['attributes']=_0x55948e[_0x8968('0x38')]['length']?_0x55948e[_0x8968('0x38')]:_0x3816e4[_0x8968('0x33')];_0x55948e['order']=qs[_0x8968('0x3c')](_0x2e5b1a[_0x8968('0x34')]['sort']);_0x55948e[_0x8968('0x3d')]=qs[_0x8968('0x35')](_[_0x8968('0x3e')](_0x2e5b1a[_0x8968('0x34')],_0x3816e4[_0x8968('0x35')]));if(_0x2e5b1a[_0x8968('0x34')][_0x8968('0x3f')]){_0x55948e[_0x8968('0x3d')]=_[_0x8968('0x40')](_0x55948e[_0x8968('0x3d')],{'$or':_[_0x8968('0x2d')](_0x55948e[_0x8968('0x38')],function(_0x428a48){var _0x83dc54={};_0x83dc54[_0x428a48]={'$like':'%'+_0x2e5b1a[_0x8968('0x34')][_0x8968('0x3f')]+'%'};return _0x83dc54;})});}_0x55948e=_['merge']({},_0x55948e,_0x2e5b1a['options']);return _0x5a6c83[_0x8968('0x5e')](_0x55948e);}})[_0x8968('0x28')](function(_0x4e4e21){if(_0x4e4e21){_0x56c4d0=_0x4e4e21[_0x8968('0x39')];if(!_0x2e5b1a['query']['hasOwnProperty'](_0x8968('0x3b'))){_0x55948e[_0x8968('0x21')]=qs[_0x8968('0x21')](_0x2e5b1a[_0x8968('0x34')]['limit']);_0x55948e[_0x8968('0x20')]=qs['offset'](_0x2e5b1a[_0x8968('0x34')][_0x8968('0x20')]);}return _0x5a6c83[_0x8968('0x5e')](_0x55948e);}})[_0x8968('0x28')](function(_0xf6dc93){if(_0xf6dc93){return _0xf6dc93?{'count':_0x56c4d0,'rows':_0xf6dc93}:null;}})[_0x8968('0x28')](respondWithResult(_0x33d756,null))[_0x8968('0x4e')](handleError(_0x33d756,null));};exports[_0x8968('0x60')]=function(_0x48cd34,_0x3faf0b,_0x2f441f){var _0x43ba7a=_0x48cd34['body'][_0x8968('0x61')];return db[_0x8968('0x5f')]['findAll']({'where':{'id':_0x43ba7a},'attributes':['id'],'include':[{'model':db[_0x8968('0x62')],'as':'Agents','attributes':['id','name','online',_0x8968('0x63'),'interface'],'raw':!![]}]})['then'](function(_0x1e2e12){if(_0x1e2e12){var _0x4ea790=_[_0x8968('0x64')](_0x1e2e12,function(_0x45ea73){var _0x389d74=_0x45ea73['get']({'plain':!![]});return _0x389d74[_0x8968('0x65')];});return db[_0x8968('0x2e')][_0x8968('0x47')]({'where':{'id':_0x48cd34[_0x8968('0x51')]['id']}})[_0x8968('0x28')](function(_0x411fd1){return db[_0x8968('0x66')][_0x8968('0x67')](function(_0xaad743){return _0x411fd1[_0x8968('0x60')](_0x43ba7a,{'transaction':_0xaad743})['then'](function(){return BPromise[_0x8968('0x68')](_0x4ea790,function(_0x3038c8){return db[_0x8968('0x54')][_0x8968('0x69')]({'where':{'UserId':_0x3038c8['id'],'OpenchannelQueueId':_0x48cd34['params']['id']},'transaction':_0xaad743});});})[_0x8968('0x28')](function(){_0x4ea790['forEach'](function(_0x494ab7){socket['emit']('userOpenchannelQueue:save',{'UserId':_0x494ab7['id'],'OpenchannelQueueId':_0x411fd1['id']});});});});});}})['then'](respondWithStatusCode(_0x3faf0b,null))[_0x8968('0x4e')](handleError(_0x3faf0b,null));};exports[_0x8968('0x6a')]=function(_0x194ab9,_0x19b9d1,_0x9ec9ce){return db[_0x8968('0x5f')]['findAll']({'where':{'id':_0x194ab9[_0x8968('0x34')][_0x8968('0x61')]},'attributes':['id'],'include':[{'model':db[_0x8968('0x62')],'as':_0x8968('0x65'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x19b9d1,null))[_0x8968('0x28')](function(_0x24ccbe){var _0xf5b3b5=_[_0x8968('0x2d')](_0x24ccbe,'id');var _0x515668=[];var _0x114ffb=[];var _0x53f117=squel[_0x8968('0x6b')]();_0x53f117[_0x8968('0x6c')]('tq.TeamId')[_0x8968('0x6d')](_0x8968('0x6e'),'tq')[_0x8968('0x6f')]('user_has_teams','ut',_0x8968('0x70'))[_0x8968('0x3d')]('OpenchannelQueueId\x20=\x20?',_0x194ab9[_0x8968('0x51')]['id']);for(var _0x555d0a=0x0;_0x555d0a<_0x24ccbe[_0x8968('0x39')];_0x555d0a+=0x1){let _0x483164=_0x24ccbe[_0x555d0a];for(var _0x3cec73=0x0;_0x3cec73<_0x483164[_0x8968('0x65')][_0x8968('0x39')];_0x3cec73+=0x1){let _0x1474bb=_0x483164[_0x8968('0x65')][_0x3cec73];var _0x266d39=_0x53f117[_0x8968('0x71')]();_0x266d39[_0x8968('0x3d')]('ut.UserId\x20=\x20?',_0x1474bb['id']);_0x114ffb['push'](db[_0x8968('0x66')]['query'](_0x266d39[_0x8968('0x72')](),{'type':db['sequelize'][_0x8968('0x73')][_0x8968('0x74')]})['then'](function(_0x584303){if(_0x584303[_0x8968('0x39')]===0x1){return _0x1474bb['id'];}else{var _0x19183c=_['every'](_[_0x8968('0x2d')](_0x584303,'TeamId'),function(_0x36ff0a){return _[_0x8968('0x75')](_0xf5b3b5,_0x36ff0a);});if(_0x19183c){return _0x1474bb['id'];}}}));}}return BPromise[_0x8968('0x76')](_0x114ffb)[_0x8968('0x28')](function(_0x2e4a7e){_0x515668=_(_0x515668)[_0x8968('0x77')](_0x2e4a7e)['compact']()['value']();return db[_0x8968('0x2e')][_0x8968('0x47')]({'where':{'id':_0x194ab9[_0x8968('0x51')]['id']}})[_0x8968('0x28')](function(_0x17a49c){return db['sequelize'][_0x8968('0x67')](function(_0x434e24){return _0x17a49c['removeTeams'](_0x194ab9['query'][_0x8968('0x61')],{'transaction':_0x434e24})[_0x8968('0x28')](function(){if(!_['isEmpty'](_0x515668)){return _0x17a49c[_0x8968('0x78')](_0x515668,{'transaction':_0x434e24});}})['then'](function(){_0x515668['forEach'](function(_0x3d8c5f){socket[_0x8968('0x79')]('userOpenchannelQueue:remove',{'UserId':_0x3d8c5f,'OpenchannelQueueId':_0x17a49c['id']});});});});});});})[_0x8968('0x28')](respondWithStatusCode(_0x19b9d1,null))[_0x8968('0x4e')](handleError(_0x19b9d1,null));};exports['addAgents']=function(_0x3352f1,_0x45dbe0,_0x4d0878){return db['OpenchannelQueue'][_0x8968('0x47')]({'where':{'id':_0x3352f1[_0x8968('0x51')]['id']}})[_0x8968('0x28')](handleEntityNotFound(_0x45dbe0,null))[_0x8968('0x28')](function(_0x237088){if(_0x237088){return _0x237088['addAgents'](_0x3352f1[_0x8968('0x50')][_0x8968('0x61')],_[_0x8968('0x7a')](_0x3352f1['body'],[_0x8968('0x61'),'id'])||{})['spread'](function(_0x2ce373){for(var _0x1e1a5a=0x0;_0x1e1a5a<_0x3352f1[_0x8968('0x50')][_0x8968('0x61')][_0x8968('0x39')];_0x1e1a5a+=0x1){socket[_0x8968('0x79')](_0x8968('0x7b'),{'UserId':_0x3352f1[_0x8968('0x50')]['ids'][_0x1e1a5a],'OpenchannelQueueId':_0x3352f1[_0x8968('0x51')]['id']});}return _0x2ce373;});}})[_0x8968('0x28')](respondWithResult(_0x45dbe0,null))['catch'](handleError(_0x45dbe0,null));};exports[_0x8968('0x78')]=function(_0xe61b3c,_0x2c420e,_0x1a13fb){return db[_0x8968('0x2e')][_0x8968('0x47')]({'where':{'id':_0xe61b3c[_0x8968('0x51')]['id']}})[_0x8968('0x28')](handleEntityNotFound(_0x2c420e,null))[_0x8968('0x28')](function(_0x29ca4f){if(_0x29ca4f){return _0x29ca4f['removeAgents'](_0xe61b3c['query']['ids'])[_0x8968('0x28')](function(){if(_[_0x8968('0x7c')](_0xe61b3c[_0x8968('0x34')][_0x8968('0x61')])){for(var _0x3338c8=0x0;_0x3338c8<_0xe61b3c['query']['ids']['length'];_0x3338c8+=0x1){socket[_0x8968('0x79')](_0x8968('0x7d'),{'UserId':Number(_0xe61b3c[_0x8968('0x34')]['ids'][_0x3338c8]),'OpenchannelQueueId':Number(_0xe61b3c[_0x8968('0x51')]['id'])});}}else{socket[_0x8968('0x79')](_0x8968('0x7d'),{'UserId':Number(_0xe61b3c[_0x8968('0x34')][_0x8968('0x61')]),'OpenchannelQueueId':Number(_0xe61b3c['params']['id'])});}});}})[_0x8968('0x28')](respondWithStatusCode(_0x2c420e,null))[_0x8968('0x4e')](handleError(_0x2c420e,null));};exports['getAgents']=function(_0x541719,_0x90cfc4,_0x5550d2){var _0x2cd3f2={};var _0x560c53={};var _0x384569;var _0x388516;return db[_0x8968('0x2e')][_0x8968('0x7e')]({'where':{'id':_0x541719['params']['id']}})[_0x8968('0x28')](handleEntityNotFound(_0x90cfc4,null))['then'](function(_0x45ce4a){if(_0x45ce4a){_0x384569=_0x45ce4a;_0x560c53[_0x8968('0x33')]=_[_0x8968('0x44')](db[_0x8968('0x62')][_0x8968('0x2f')]);_0x560c53[_0x8968('0x34')]=_[_0x8968('0x44')](_0x541719[_0x8968('0x34')]);_0x560c53[_0x8968('0x35')]=_[_0x8968('0x36')](_0x560c53['model'],_0x560c53[_0x8968('0x34')]);_0x2cd3f2[_0x8968('0x38')]=_['intersection'](_0x560c53[_0x8968('0x33')],qs[_0x8968('0x37')](_0x541719[_0x8968('0x34')]['fields']));_0x2cd3f2[_0x8968('0x38')]=_0x2cd3f2[_0x8968('0x38')][_0x8968('0x39')]?_0x2cd3f2['attributes']:_0x560c53[_0x8968('0x33')];_0x2cd3f2[_0x8968('0x55')]=qs['sort'](_0x541719['query'][_0x8968('0x3c')]);_0x2cd3f2['where']=qs[_0x8968('0x35')](_['pick'](_0x541719['query'],_0x560c53[_0x8968('0x35')]));if(_0x541719[_0x8968('0x34')][_0x8968('0x3f')]){_0x2cd3f2['where']=_['merge'](_0x2cd3f2[_0x8968('0x3d')],{'$or':_[_0x8968('0x2d')](_0x2cd3f2['attributes'],function(_0x12876d){var _0x8f878c={};_0x8f878c[_0x12876d]={'$like':'%'+_0x541719[_0x8968('0x34')][_0x8968('0x3f')]+'%'};return _0x8f878c;})});}_0x2cd3f2=_[_0x8968('0x40')]({},_0x2cd3f2,_0x541719['options']);return _0x384569[_0x8968('0x7f')](_0x2cd3f2);}})['then'](function(_0x33266c){if(_0x33266c){_0x388516=_0x33266c[_0x8968('0x39')];if(!_0x541719['query'][_0x8968('0x3a')](_0x8968('0x3b'))){_0x2cd3f2[_0x8968('0x21')]=qs[_0x8968('0x21')](_0x541719[_0x8968('0x34')]['limit']);_0x2cd3f2[_0x8968('0x20')]=qs[_0x8968('0x20')](_0x541719[_0x8968('0x34')][_0x8968('0x20')]);}return _0x384569[_0x8968('0x7f')](_0x2cd3f2);}})[_0x8968('0x28')](function(_0x433512){if(_0x433512){return _0x433512?{'count':_0x388516,'rows':_0x433512}:null;}})[_0x8968('0x28')](respondWithResult(_0x90cfc4,null))['catch'](handleError(_0x90cfc4,null));};