a4701ae425add478548ca34a77eead2c452f149b
[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 _0x4d8e=['value','isEmpty','removeAgents','addAgents','omit','isArray','userOpenchannelQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','localhost','socket.io-emitter','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','OpenchannelQueues','UserProfileResource','destroy','stack','name','send','index','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','type','VIRTUAL','filter','merge','options','include','findAll','rows','catch','show','params','rawAttributes','includeAll','OpenchannelQueue','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','order','OpenchannelQueueId','map','UserOpenchannelQueue','User','findAndCountAll','agent','openchannelPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','findOne','Team','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','addTeams','findOrCreate','forEach','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','includes','all','union','compact'];(function(_0x3ab9ee,_0x4a74b8){var _0x82ee88=function(_0x6ccc7e){while(--_0x6ccc7e){_0x3ab9ee['push'](_0x3ab9ee['shift']());}};_0x82ee88(++_0x4a74b8);}(_0x4d8e,0x128));var _0xe4d8=function(_0x1faa02,_0x2b2b65){_0x1faa02=_0x1faa02-0x0;var _0x25b362=_0x4d8e[_0x1faa02];return _0x25b362;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xe4d8('0x0'));var rimraf=require(_0xe4d8('0x1'));var zipdir=require(_0xe4d8('0x2'));var jsonpatch=require(_0xe4d8('0x3'));var rp=require(_0xe4d8('0x4'));var moment=require(_0xe4d8('0x5'));var BPromise=require(_0xe4d8('0x6'));var Mustache=require(_0xe4d8('0x7'));var util=require(_0xe4d8('0x8'));var path=require(_0xe4d8('0x9'));var sox=require(_0xe4d8('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xe4d8('0xb'));var jsforce=require(_0xe4d8('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xe4d8('0xd'));var querystring=require(_0xe4d8('0xe'));var Papa=require(_0xe4d8('0xf'));var Redis=require(_0xe4d8('0x10'));var authService=require(_0xe4d8('0x11'));var qs=require(_0xe4d8('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe4d8('0x13'));var logger=require(_0xe4d8('0x14'))(_0xe4d8('0x15'));var utils=require(_0xe4d8('0x16'));var config=require(_0xe4d8('0x17'));var licenseUtil=require(_0xe4d8('0x18'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xe4d8('0x19')](config[_0xe4d8('0x1a')],{'host':_0xe4d8('0x1b'),'port':0x18eb});var socket=require(_0xe4d8('0x1c'))(new Redis(config[_0xe4d8('0x1a')]));require('./openchannelQueue.socket')['register'](socket);function respondWithStatusCode(_0x4f7448,_0x169842){_0x169842=_0x169842||0xcc;return function(_0x445f42){if(_0x445f42){return _0x4f7448[_0xe4d8('0x1d')](_0x169842);}return _0x4f7448[_0xe4d8('0x1e')](_0x169842)[_0xe4d8('0x1f')]();};}function respondWithResult(_0x59c186,_0x442cae){_0x442cae=_0x442cae||0xc8;return function(_0x469bdd){if(_0x469bdd){return _0x59c186[_0xe4d8('0x1e')](_0x442cae)[_0xe4d8('0x20')](_0x469bdd);}};}function respondWithFilteredResult(_0x4f677e,_0x324c32){return function(_0x46772a){if(_0x46772a){var _0x57ea17=_0x46772a[_0xe4d8('0x21')],_0x32844a=_0x324c32[_0xe4d8('0x22')],_0x4a45fe=_0x324c32[_0xe4d8('0x22')]+_0x324c32[_0xe4d8('0x23')],_0x4c188e;if(_0x4a45fe>=_0x57ea17){_0x4a45fe=_0x57ea17;_0x4c188e=0xc8;}else{_0x4c188e=0xce;}_0x4f677e[_0xe4d8('0x1e')](_0x4c188e);return _0x4f677e[_0xe4d8('0x24')](_0xe4d8('0x25'),_0x32844a+'-'+_0x4a45fe+'/'+_0x57ea17)['json'](_0x46772a);}return null;};}function patchUpdates(_0x6aa63d){return function(_0xfa2357){try{jsonpatch[_0xe4d8('0x26')](_0xfa2357,_0x6aa63d,!![]);}catch(_0x486a35){return BPromise[_0xe4d8('0x27')](_0x486a35);}return _0xfa2357[_0xe4d8('0x28')]();};}function saveUpdates(_0x289e90,_0x1fac1a){return function(_0x1436ae){if(_0x1436ae){return _0x1436ae['update'](_0x289e90)['then'](function(_0x4e3010){return _0x4e3010;});}return null;};}function removeEntity(_0x5f2df3,_0x59d13c){return function(_0x3230e5){if(_0x3230e5){return _0x3230e5['destroy']()[_0xe4d8('0x29')](function(){var _0x53592c=_0x3230e5['get']({'plain':!![]});var _0xc2957b=_0xe4d8('0x2a');return db[_0xe4d8('0x2b')][_0xe4d8('0x2c')]({'where':{'type':_0xc2957b,'resourceId':_0x53592c['id']}})[_0xe4d8('0x29')](function(){return _0x3230e5;});})[_0xe4d8('0x29')](function(){_0x5f2df3[_0xe4d8('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x45f78d,_0x35a424){return function(_0x5ecd63){if(!_0x5ecd63){_0x45f78d[_0xe4d8('0x1d')](0x194);}return _0x5ecd63;};}function handleError(_0xdb1d2e,_0x235f54){_0x235f54=_0x235f54||0x1f4;return function(_0x396524){logger['error'](_0x396524[_0xe4d8('0x2d')]);if(_0x396524[_0xe4d8('0x2e')]){delete _0x396524[_0xe4d8('0x2e')];}_0xdb1d2e['status'](_0x235f54)[_0xe4d8('0x2f')](_0x396524);};}exports[_0xe4d8('0x30')]=function(_0xe5c183,_0x31a6b4){var _0x3d39cb={},_0x5816ca={},_0x27ad97={'count':0x0,'rows':[]};var _0x586d45=_['map'](db['OpenchannelQueue']['rawAttributes'],function(_0x19e34a){return{'name':_0x19e34a['fieldName'],'type':_0x19e34a['type'][_0xe4d8('0x31')]};});_0x5816ca[_0xe4d8('0x32')]=_['map'](_0x586d45,_0xe4d8('0x2e'));_0x5816ca[_0xe4d8('0x33')]=_[_0xe4d8('0x34')](_0xe5c183['query']);_0x5816ca['filters']=_[_0xe4d8('0x35')](_0x5816ca[_0xe4d8('0x32')],_0x5816ca['query']);_0x3d39cb[_0xe4d8('0x36')]=_[_0xe4d8('0x35')](_0x5816ca[_0xe4d8('0x32')],qs[_0xe4d8('0x37')](_0xe5c183[_0xe4d8('0x33')][_0xe4d8('0x37')]));_0x3d39cb[_0xe4d8('0x36')]=_0x3d39cb[_0xe4d8('0x36')][_0xe4d8('0x38')]?_0x3d39cb[_0xe4d8('0x36')]:_0x5816ca[_0xe4d8('0x32')];if(!_0xe5c183[_0xe4d8('0x33')][_0xe4d8('0x39')](_0xe4d8('0x3a'))){_0x3d39cb[_0xe4d8('0x23')]=qs[_0xe4d8('0x23')](_0xe5c183['query'][_0xe4d8('0x23')]);_0x3d39cb[_0xe4d8('0x22')]=qs[_0xe4d8('0x22')](_0xe5c183[_0xe4d8('0x33')][_0xe4d8('0x22')]);}_0x3d39cb['order']=qs[_0xe4d8('0x3b')](_0xe5c183['query'][_0xe4d8('0x3b')]);_0x3d39cb[_0xe4d8('0x3c')]=qs[_0xe4d8('0x3d')](_[_0xe4d8('0x3e')](_0xe5c183[_0xe4d8('0x33')],_0x5816ca['filters']),_0x586d45);if(_0xe5c183[_0xe4d8('0x33')]['filter']){_0x3d39cb[_0xe4d8('0x3c')]=_['merge'](_0x3d39cb[_0xe4d8('0x3c')],{'$or':_['map'](_0x586d45,function(_0x1f1897){if(_0x1f1897[_0xe4d8('0x3f')]!==_0xe4d8('0x40')){var _0x1bb6fd={};_0x1bb6fd[_0x1f1897['name']]={'$like':'%'+_0xe5c183[_0xe4d8('0x33')][_0xe4d8('0x41')]+'%'};return _0x1bb6fd;}})});}_0x3d39cb=_[_0xe4d8('0x42')]({},_0x3d39cb,_0xe5c183[_0xe4d8('0x43')]);var _0x39ef4d={'where':_0x3d39cb[_0xe4d8('0x3c')]};return db['OpenchannelQueue'][_0xe4d8('0x21')](_0x39ef4d)[_0xe4d8('0x29')](function(_0x451bfd){_0x27ad97['count']=_0x451bfd;if(_0xe5c183[_0xe4d8('0x33')]['includeAll']){_0x3d39cb[_0xe4d8('0x44')]=[{'all':!![]}];}return db['OpenchannelQueue'][_0xe4d8('0x45')](_0x3d39cb);})['then'](function(_0x46a4d5){_0x27ad97[_0xe4d8('0x46')]=_0x46a4d5;return _0x27ad97;})[_0xe4d8('0x29')](respondWithFilteredResult(_0x31a6b4,_0x3d39cb))[_0xe4d8('0x47')](handleError(_0x31a6b4,null));};exports[_0xe4d8('0x48')]=function(_0xff5d7a,_0x2035cd){var _0x8ab037={'raw':!![],'where':{'id':_0xff5d7a[_0xe4d8('0x49')]['id']}},_0x33c954={};_0x33c954[_0xe4d8('0x32')]=_[_0xe4d8('0x34')](db['OpenchannelQueue'][_0xe4d8('0x4a')]);_0x33c954[_0xe4d8('0x33')]=_[_0xe4d8('0x34')](_0xff5d7a['query']);_0x33c954[_0xe4d8('0x3d')]=_[_0xe4d8('0x35')](_0x33c954['model'],_0x33c954[_0xe4d8('0x33')]);_0x8ab037[_0xe4d8('0x36')]=_[_0xe4d8('0x35')](_0x33c954[_0xe4d8('0x32')],qs[_0xe4d8('0x37')](_0xff5d7a[_0xe4d8('0x33')][_0xe4d8('0x37')]));_0x8ab037[_0xe4d8('0x36')]=_0x8ab037[_0xe4d8('0x36')][_0xe4d8('0x38')]?_0x8ab037[_0xe4d8('0x36')]:_0x33c954[_0xe4d8('0x32')];if(_0xff5d7a[_0xe4d8('0x33')][_0xe4d8('0x4b')]){_0x8ab037[_0xe4d8('0x44')]=[{'all':!![]}];}_0x8ab037=_[_0xe4d8('0x42')]({},_0x8ab037,_0xff5d7a[_0xe4d8('0x43')]);return db[_0xe4d8('0x4c')][_0xe4d8('0x4d')](_0x8ab037)[_0xe4d8('0x29')](handleEntityNotFound(_0x2035cd,null))[_0xe4d8('0x29')](respondWithResult(_0x2035cd,null))[_0xe4d8('0x47')](handleError(_0x2035cd,null));};exports[_0xe4d8('0x4e')]=function(_0xc33c9a,_0x293446){return db['OpenchannelQueue'][_0xe4d8('0x4e')](_0xc33c9a[_0xe4d8('0x4f')],{})[_0xe4d8('0x29')](function(_0x1c5ca0){var _0x2ea119=_0xc33c9a[_0xe4d8('0x50')]['get']({'plain':!![]});if(!_0x2ea119)throw new Error(_0xe4d8('0x51'));if(_0x2ea119[_0xe4d8('0x52')]===_0xe4d8('0x50')){var _0x30d1a8=_0x1c5ca0[_0xe4d8('0x53')]({'plain':!![]});var _0xde734e=_0xe4d8('0x2a');return db[_0xe4d8('0x54')][_0xe4d8('0x4d')]({'where':{'name':_0xde734e,'userProfileId':_0x2ea119[_0xe4d8('0x55')]},'raw':!![]})[_0xe4d8('0x29')](function(_0x484073){if(_0x484073&&_0x484073[_0xe4d8('0x56')]===0x0){return db[_0xe4d8('0x2b')]['create']({'name':_0x30d1a8[_0xe4d8('0x2e')],'resourceId':_0x30d1a8['id'],'type':_0x484073['name'],'sectionId':_0x484073['id']},{})[_0xe4d8('0x29')](function(){return _0x1c5ca0;});}else{return _0x1c5ca0;}})[_0xe4d8('0x47')](function(_0x1f88ef){logger[_0xe4d8('0x57')](_0xe4d8('0x58'),_0x1f88ef);throw _0x1f88ef;});}return _0x1c5ca0;})['then'](respondWithResult(_0x293446,0xc9))[_0xe4d8('0x47')](handleError(_0x293446,null));};exports['update']=function(_0x4edbee,_0x188b2c){if(_0x4edbee[_0xe4d8('0x4f')]['id']){delete _0x4edbee[_0xe4d8('0x4f')]['id'];}return db[_0xe4d8('0x4c')]['find']({'where':{'id':_0x4edbee['params']['id']}})[_0xe4d8('0x29')](handleEntityNotFound(_0x188b2c,null))[_0xe4d8('0x29')](saveUpdates(_0x4edbee[_0xe4d8('0x4f')],null))[_0xe4d8('0x29')](respondWithResult(_0x188b2c,null))['catch'](handleError(_0x188b2c,null));};exports['destroy']=function(_0x4971b4,_0x2ea9a9){return db['OpenchannelQueue'][_0xe4d8('0x4d')]({'where':{'id':_0x4971b4[_0xe4d8('0x49')]['id']}})['then'](handleEntityNotFound(_0x2ea9a9,null))[_0xe4d8('0x29')](removeEntity(_0x2ea9a9,null))[_0xe4d8('0x47')](handleError(_0x2ea9a9,null));};exports[_0xe4d8('0x59')]=function(_0x172b5c,_0x32e83d){return db[_0xe4d8('0x4c')][_0xe4d8('0x59')]()[_0xe4d8('0x29')](respondWithResult(_0x32e83d,null))['catch'](handleError(_0x32e83d,null));};exports['getMembers']=function(_0x110067,_0x336ae9,_0x8b2dea){var _0x491797={'raw':!![],'where':{}},_0x5b9333={},_0x5c0e24;return db[_0xe4d8('0x4c')]['findOne']({'where':{'id':_0x110067[_0xe4d8('0x49')]['id']}})['then'](handleEntityNotFound(_0x336ae9,null))['then'](function(_0x2910e7){if(_0x2910e7){_0x5c0e24=_0x2910e7[_0xe4d8('0x53')]({'plain':!![]});_0x5b9333['model']=_[_0xe4d8('0x34')](db['UserOpenchannelQueue']['rawAttributes']);_0x5b9333['query']=_[_0xe4d8('0x34')](_0x110067[_0xe4d8('0x33')]);_0x5b9333[_0xe4d8('0x3d')]=_['intersection'](_0x5b9333['model'],_0x5b9333[_0xe4d8('0x33')]);_0x491797[_0xe4d8('0x36')]=_[_0xe4d8('0x35')](_0x5b9333[_0xe4d8('0x32')],qs[_0xe4d8('0x37')](_0x110067[_0xe4d8('0x33')][_0xe4d8('0x37')]));_0x491797[_0xe4d8('0x36')]=_0x491797[_0xe4d8('0x36')][_0xe4d8('0x38')]?_0x491797[_0xe4d8('0x36')]:_0x5b9333[_0xe4d8('0x32')];if(!_0x110067[_0xe4d8('0x33')][_0xe4d8('0x39')](_0xe4d8('0x3a'))){_0x491797[_0xe4d8('0x23')]=qs[_0xe4d8('0x23')](_0x110067[_0xe4d8('0x33')]['limit']);_0x491797[_0xe4d8('0x22')]=qs['offset'](_0x110067[_0xe4d8('0x33')][_0xe4d8('0x22')]);}_0x491797[_0xe4d8('0x5a')]=qs[_0xe4d8('0x3b')](_0x110067[_0xe4d8('0x33')][_0xe4d8('0x3b')]);_0x491797[_0xe4d8('0x3c')]=qs[_0xe4d8('0x3d')](_[_0xe4d8('0x3e')](_0x110067[_0xe4d8('0x33')],_0x5b9333[_0xe4d8('0x3d')]));_0x491797[_0xe4d8('0x3c')][_0xe4d8('0x5b')]=_0x2910e7['id'];if(_0x110067[_0xe4d8('0x33')][_0xe4d8('0x41')]){_0x491797[_0xe4d8('0x3c')]=_['merge'](_0x491797[_0xe4d8('0x3c')],{'$or':_[_0xe4d8('0x5c')](_0x491797[_0xe4d8('0x36')],function(_0x1be6d1){var _0x260f32={};_0x260f32[_0x1be6d1]={'$like':'%'+_0x110067[_0xe4d8('0x33')][_0xe4d8('0x41')]+'%'};return _0x260f32;})});}_0x491797=_[_0xe4d8('0x42')]({},_0x491797,_0x110067['options']);return db[_0xe4d8('0x5d')][_0xe4d8('0x45')](_0x491797);}})[_0xe4d8('0x29')](function(_0x5f2f59){if(_0x5f2f59){return db[_0xe4d8('0x5e')][_0xe4d8('0x5f')]({'where':{'id':_[_0xe4d8('0x5c')](_0x5f2f59,'UserId'),'role':_0xe4d8('0x60')},'attributes':['id',_0xe4d8('0x2e'),_0xe4d8('0x61'),_0xe4d8('0x62'),_0xe4d8('0x63')]});}})['then'](function(_0x4a7b00){if(_0x4a7b00){return{'count':_0x4a7b00[_0xe4d8('0x21')],'rows':_[_0xe4d8('0x5c')](_0x4a7b00[_0xe4d8('0x46')],function(_0x1d5f37){return{'membername':_0x1d5f37[_0xe4d8('0x2e')],'UserId':_0x1d5f37['id'],'queue_name':_0x5c0e24[_0xe4d8('0x2e')],'OpenchannelQueueId':_0x5c0e24['id'],'interface':util[_0xe4d8('0x64')](_0xe4d8('0x65'),_0xe4d8('0x66'),_0x1d5f37['name']),'penalty':0x0,'paused':_0x1d5f37['openchannelPause'],'createdAt':_0x1d5f37[_0xe4d8('0x63')],'updatedAt':_0x1d5f37[_0xe4d8('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xe4d8('0x29')](respondWithFilteredResult(_0x336ae9,_0x491797))[_0xe4d8('0x47')](handleError(_0x336ae9,null));};exports[_0xe4d8('0x67')]=function(_0x586fdf,_0x37671e,_0x55ad5a){var _0xfb12eb={};var _0x799362={};var _0x1b45be;var _0x1d3bbf;return db[_0xe4d8('0x4c')][_0xe4d8('0x68')]({'where':{'id':_0x586fdf[_0xe4d8('0x49')]['id']}})[_0xe4d8('0x29')](handleEntityNotFound(_0x37671e,null))['then'](function(_0x50f352){if(_0x50f352){_0x1b45be=_0x50f352;_0x799362[_0xe4d8('0x32')]=_[_0xe4d8('0x34')](db[_0xe4d8('0x69')][_0xe4d8('0x4a')]);_0x799362[_0xe4d8('0x33')]=_[_0xe4d8('0x34')](_0x586fdf[_0xe4d8('0x33')]);_0x799362['filters']=_['intersection'](_0x799362['model'],_0x799362['query']);_0xfb12eb[_0xe4d8('0x36')]=_[_0xe4d8('0x35')](_0x799362[_0xe4d8('0x32')],qs[_0xe4d8('0x37')](_0x586fdf[_0xe4d8('0x33')]['fields']));_0xfb12eb[_0xe4d8('0x36')]=_0xfb12eb[_0xe4d8('0x36')][_0xe4d8('0x38')]?_0xfb12eb['attributes']:_0x799362['model'];_0xfb12eb['order']=qs[_0xe4d8('0x3b')](_0x586fdf[_0xe4d8('0x33')][_0xe4d8('0x3b')]);_0xfb12eb[_0xe4d8('0x3c')]=qs['filters'](_[_0xe4d8('0x3e')](_0x586fdf['query'],_0x799362['filters']));if(_0x586fdf[_0xe4d8('0x33')][_0xe4d8('0x41')]){_0xfb12eb[_0xe4d8('0x3c')]=_[_0xe4d8('0x42')](_0xfb12eb[_0xe4d8('0x3c')],{'$or':_['map'](_0xfb12eb[_0xe4d8('0x36')],function(_0x568d50){var _0x364167={};_0x364167[_0x568d50]={'$like':'%'+_0x586fdf[_0xe4d8('0x33')][_0xe4d8('0x41')]+'%'};return _0x364167;})});}_0xfb12eb=_[_0xe4d8('0x42')]({},_0xfb12eb,_0x586fdf[_0xe4d8('0x43')]);return _0x1b45be[_0xe4d8('0x67')](_0xfb12eb);}})['then'](function(_0x439ddd){if(_0x439ddd){_0x1d3bbf=_0x439ddd[_0xe4d8('0x38')];if(!_0x586fdf[_0xe4d8('0x33')][_0xe4d8('0x39')]('nolimit')){_0xfb12eb[_0xe4d8('0x23')]=qs[_0xe4d8('0x23')](_0x586fdf[_0xe4d8('0x33')][_0xe4d8('0x23')]);_0xfb12eb['offset']=qs[_0xe4d8('0x22')](_0x586fdf[_0xe4d8('0x33')][_0xe4d8('0x22')]);}return _0x1b45be[_0xe4d8('0x67')](_0xfb12eb);}})['then'](function(_0x5eaefb){if(_0x5eaefb){return _0x5eaefb?{'count':_0x1d3bbf,'rows':_0x5eaefb}:null;}})[_0xe4d8('0x29')](respondWithResult(_0x37671e,null))[_0xe4d8('0x47')](handleError(_0x37671e,null));};exports['addTeams']=function(_0x5258e6,_0x4f9df5,_0x5b20bd){var _0x54dcde=_0x5258e6[_0xe4d8('0x4f')][_0xe4d8('0x6a')];return db[_0xe4d8('0x69')][_0xe4d8('0x45')]({'where':{'id':_0x54dcde},'attributes':['id'],'include':[{'model':db['User'],'as':_0xe4d8('0x6b'),'attributes':['id',_0xe4d8('0x2e'),_0xe4d8('0x6c'),_0xe4d8('0x6d'),_0xe4d8('0x6e')],'raw':!![]}]})['then'](function(_0x53cc48){if(_0x53cc48){var _0x427a9c=_[_0xe4d8('0x6f')](_0x53cc48,function(_0x3ab535){var _0x1193d8=_0x3ab535[_0xe4d8('0x53')]({'plain':!![]});return _0x1193d8[_0xe4d8('0x6b')];});return db[_0xe4d8('0x4c')][_0xe4d8('0x4d')]({'where':{'id':_0x5258e6['params']['id']}})[_0xe4d8('0x29')](function(_0x5014f5){return db[_0xe4d8('0x70')][_0xe4d8('0x71')](function(_0x2a0f87){return _0x5014f5[_0xe4d8('0x72')](_0x54dcde,{'transaction':_0x2a0f87})[_0xe4d8('0x29')](function(){return BPromise['each'](_0x427a9c,function(_0x5e4574){return db[_0xe4d8('0x5d')][_0xe4d8('0x73')]({'where':{'UserId':_0x5e4574['id'],'OpenchannelQueueId':_0x5258e6[_0xe4d8('0x49')]['id']},'transaction':_0x2a0f87});});})[_0xe4d8('0x29')](function(){_0x427a9c[_0xe4d8('0x74')](function(_0xedfa8e){socket[_0xe4d8('0x75')](_0xe4d8('0x76'),{'UserId':_0xedfa8e['id'],'OpenchannelQueueId':_0x5014f5['id']});});});});});}})['then'](respondWithStatusCode(_0x4f9df5,null))[_0xe4d8('0x47')](handleError(_0x4f9df5,null));};exports[_0xe4d8('0x77')]=function(_0x38c9fb,_0x43f768,_0x2c11aa){return db['Team'][_0xe4d8('0x45')]({'where':{'id':_0x38c9fb['query'][_0xe4d8('0x6a')]},'attributes':['id'],'include':[{'model':db[_0xe4d8('0x5e')],'as':_0xe4d8('0x6b'),'attributes':['id'],'raw':!![]}]})[_0xe4d8('0x29')](handleEntityNotFound(_0x43f768,null))[_0xe4d8('0x29')](function(_0x5be62e){var _0x2f20c0=_[_0xe4d8('0x5c')](_0x5be62e,'id');var _0x1a7e76=[];var _0x480a07=[];var _0x19beca=squel[_0xe4d8('0x78')]();_0x19beca[_0xe4d8('0x79')](_0xe4d8('0x7a'))[_0xe4d8('0x7b')](_0xe4d8('0x7c'),'tq')['join']('user_has_teams','ut',_0xe4d8('0x7d'))['where'](_0xe4d8('0x7e'),_0x38c9fb[_0xe4d8('0x49')]['id']);for(var _0x3eb455=0x0;_0x3eb455<_0x5be62e['length'];_0x3eb455+=0x1){let _0x3dd959=_0x5be62e[_0x3eb455];for(var _0x503877=0x0;_0x503877<_0x3dd959[_0xe4d8('0x6b')]['length'];_0x503877+=0x1){let _0x3ea000=_0x3dd959['Agents'][_0x503877];var _0x1b973e=_0x19beca[_0xe4d8('0x7f')]();_0x1b973e[_0xe4d8('0x3c')](_0xe4d8('0x80'),_0x3ea000['id']);_0x480a07['push'](db[_0xe4d8('0x70')]['query'](_0x1b973e[_0xe4d8('0x81')](),{'type':db[_0xe4d8('0x70')][_0xe4d8('0x82')][_0xe4d8('0x83')]})['then'](function(_0x51485e){if(_0x51485e[_0xe4d8('0x38')]===0x1){return _0x3ea000['id'];}else{var _0x579ba8=_['every'](_[_0xe4d8('0x5c')](_0x51485e,'TeamId'),function(_0x5450ad){return _[_0xe4d8('0x84')](_0x2f20c0,_0x5450ad);});if(_0x579ba8){return _0x3ea000['id'];}}}));}}return BPromise[_0xe4d8('0x85')](_0x480a07)['then'](function(_0x586a17){_0x1a7e76=_(_0x1a7e76)[_0xe4d8('0x86')](_0x586a17)[_0xe4d8('0x87')]()[_0xe4d8('0x88')]();return db[_0xe4d8('0x4c')][_0xe4d8('0x4d')]({'where':{'id':_0x38c9fb[_0xe4d8('0x49')]['id']}})[_0xe4d8('0x29')](function(_0x1d3f79){return db[_0xe4d8('0x70')]['transaction'](function(_0x3c99f3){return _0x1d3f79['removeTeams'](_0x38c9fb[_0xe4d8('0x33')][_0xe4d8('0x6a')],{'transaction':_0x3c99f3})[_0xe4d8('0x29')](function(){if(!_[_0xe4d8('0x89')](_0x1a7e76)){return _0x1d3f79[_0xe4d8('0x8a')](_0x1a7e76,{'transaction':_0x3c99f3});}})[_0xe4d8('0x29')](function(){_0x1a7e76[_0xe4d8('0x74')](function(_0x59a220){socket[_0xe4d8('0x75')]('userOpenchannelQueue:remove',{'UserId':_0x59a220,'OpenchannelQueueId':_0x1d3f79['id']});});});});});});})[_0xe4d8('0x29')](respondWithStatusCode(_0x43f768,null))[_0xe4d8('0x47')](handleError(_0x43f768,null));};exports[_0xe4d8('0x8b')]=function(_0x5ab494,_0x33e2ef,_0x3b3c21){return db[_0xe4d8('0x4c')][_0xe4d8('0x4d')]({'where':{'id':_0x5ab494[_0xe4d8('0x49')]['id']}})[_0xe4d8('0x29')](handleEntityNotFound(_0x33e2ef,null))['then'](function(_0xd6a1f3){if(_0xd6a1f3){return _0xd6a1f3['addAgents'](_0x5ab494[_0xe4d8('0x4f')][_0xe4d8('0x6a')],_[_0xe4d8('0x8c')](_0x5ab494[_0xe4d8('0x4f')],[_0xe4d8('0x6a'),'id'])||{})['spread'](function(_0x3aabda){for(var _0x254599=0x0;_0x254599<_0x5ab494[_0xe4d8('0x4f')][_0xe4d8('0x6a')][_0xe4d8('0x38')];_0x254599+=0x1){socket[_0xe4d8('0x75')]('userOpenchannelQueue:save',{'UserId':_0x5ab494[_0xe4d8('0x4f')][_0xe4d8('0x6a')][_0x254599],'OpenchannelQueueId':_0x5ab494['params']['id']});}return _0x3aabda;});}})[_0xe4d8('0x29')](respondWithResult(_0x33e2ef,null))[_0xe4d8('0x47')](handleError(_0x33e2ef,null));};exports[_0xe4d8('0x8a')]=function(_0xceab2b,_0x4f0d41,_0x1fc4f2){return db[_0xe4d8('0x4c')]['find']({'where':{'id':_0xceab2b[_0xe4d8('0x49')]['id']}})['then'](handleEntityNotFound(_0x4f0d41,null))[_0xe4d8('0x29')](function(_0x224292){if(_0x224292){return _0x224292[_0xe4d8('0x8a')](_0xceab2b['query'][_0xe4d8('0x6a')])[_0xe4d8('0x29')](function(){if(_[_0xe4d8('0x8d')](_0xceab2b[_0xe4d8('0x33')]['ids'])){for(var _0x183723=0x0;_0x183723<_0xceab2b[_0xe4d8('0x33')][_0xe4d8('0x6a')][_0xe4d8('0x38')];_0x183723+=0x1){socket[_0xe4d8('0x75')](_0xe4d8('0x8e'),{'UserId':Number(_0xceab2b[_0xe4d8('0x33')][_0xe4d8('0x6a')][_0x183723]),'OpenchannelQueueId':Number(_0xceab2b[_0xe4d8('0x49')]['id'])});}}else{socket[_0xe4d8('0x75')]('userOpenchannelQueue:remove',{'UserId':Number(_0xceab2b[_0xe4d8('0x33')][_0xe4d8('0x6a')]),'OpenchannelQueueId':Number(_0xceab2b[_0xe4d8('0x49')]['id'])});}});}})['then'](respondWithStatusCode(_0x4f0d41,null))['catch'](handleError(_0x4f0d41,null));};exports[_0xe4d8('0x8f')]=function(_0x5a03b9,_0x593aff,_0x53e460){var _0x2432b7={};var _0xd8f5ed={};var _0xfdfa5b;var _0x6c0785;return db[_0xe4d8('0x4c')][_0xe4d8('0x68')]({'where':{'id':_0x5a03b9[_0xe4d8('0x49')]['id']}})[_0xe4d8('0x29')](handleEntityNotFound(_0x593aff,null))[_0xe4d8('0x29')](function(_0x492d12){if(_0x492d12){_0xfdfa5b=_0x492d12;_0xd8f5ed[_0xe4d8('0x32')]=_['keys'](db[_0xe4d8('0x5e')][_0xe4d8('0x4a')]);_0xd8f5ed[_0xe4d8('0x33')]=_['keys'](_0x5a03b9['query']);_0xd8f5ed[_0xe4d8('0x3d')]=_[_0xe4d8('0x35')](_0xd8f5ed[_0xe4d8('0x32')],_0xd8f5ed[_0xe4d8('0x33')]);_0x2432b7[_0xe4d8('0x36')]=_[_0xe4d8('0x35')](_0xd8f5ed[_0xe4d8('0x32')],qs[_0xe4d8('0x37')](_0x5a03b9['query'][_0xe4d8('0x37')]));_0x2432b7[_0xe4d8('0x36')]=_0x2432b7[_0xe4d8('0x36')][_0xe4d8('0x38')]?_0x2432b7['attributes']:_0xd8f5ed[_0xe4d8('0x32')];_0x2432b7[_0xe4d8('0x5a')]=qs[_0xe4d8('0x3b')](_0x5a03b9[_0xe4d8('0x33')][_0xe4d8('0x3b')]);_0x2432b7[_0xe4d8('0x3c')]=qs[_0xe4d8('0x3d')](_[_0xe4d8('0x3e')](_0x5a03b9[_0xe4d8('0x33')],_0xd8f5ed['filters']));if(_0x5a03b9[_0xe4d8('0x33')][_0xe4d8('0x41')]){_0x2432b7[_0xe4d8('0x3c')]=_[_0xe4d8('0x42')](_0x2432b7[_0xe4d8('0x3c')],{'$or':_[_0xe4d8('0x5c')](_0x2432b7['attributes'],function(_0x58a9b2){var _0x371dd6={};_0x371dd6[_0x58a9b2]={'$like':'%'+_0x5a03b9[_0xe4d8('0x33')][_0xe4d8('0x41')]+'%'};return _0x371dd6;})});}_0x2432b7=_[_0xe4d8('0x42')]({},_0x2432b7,_0x5a03b9[_0xe4d8('0x43')]);return _0xfdfa5b['getAgents'](_0x2432b7);}})[_0xe4d8('0x29')](function(_0x250059){if(_0x250059){_0x6c0785=_0x250059['length'];if(!_0x5a03b9[_0xe4d8('0x33')][_0xe4d8('0x39')](_0xe4d8('0x3a'))){_0x2432b7[_0xe4d8('0x23')]=qs[_0xe4d8('0x23')](_0x5a03b9[_0xe4d8('0x33')]['limit']);_0x2432b7[_0xe4d8('0x22')]=qs[_0xe4d8('0x22')](_0x5a03b9[_0xe4d8('0x33')][_0xe4d8('0x22')]);}return _0xfdfa5b[_0xe4d8('0x8f')](_0x2432b7);}})['then'](function(_0x3c4e68){if(_0x3c4e68){return _0x3c4e68?{'count':_0x6c0785,'rows':_0x3c4e68}:null;}})[_0xe4d8('0x29')](respondWithResult(_0x593aff,null))[_0xe4d8('0x47')](handleError(_0x593aff,null));};