Built motion from commit 5ae82ce5.|2.6.7
[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 _0xda38=['path','sox','ejs','fs-extra','lodash','squel','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','register','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','reject','save','update','then','destroy','get','OpenchannelQueues','name','send','index','map','OpenchannelQueue','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','include','findAll','rows','catch','show','params','includeAll','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','getMembers','findOne','UserOpenchannelQueue','pick','OpenchannelQueueId','User','findAndCountAll','agent','createdAt','%s/%s','SIP','updatedAt','Team','getTeams','addTeams','Agents','voicePause','flatMap','sequelize','transaction','each','forEach','userOpenchannelQueue:save','removeTeams','ids','field','tq.TeamId','team_has_openchannel_queues','join','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','toString','QueryTypes','SELECT','every','TeamId','union','compact','value','removeAgents','emit','userOpenchannelQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util'];(function(_0x4503df,_0xfec122){var _0x3f1b2b=function(_0x32b1de){while(--_0x32b1de){_0x4503df['push'](_0x4503df['shift']());}};_0x3f1b2b(++_0xfec122);}(_0xda38,0x105));var _0x8da3=function(_0x24ccd7,_0x2eeca9){_0x24ccd7=_0x24ccd7-0x0;var _0x26aa79=_0xda38[_0x24ccd7];return _0x26aa79;};'use strict';var emlformat=require(_0x8da3('0x0'));var rimraf=require(_0x8da3('0x1'));var zipdir=require(_0x8da3('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8da3('0x3'));var moment=require(_0x8da3('0x4'));var BPromise=require(_0x8da3('0x5'));var Mustache=require('mustache');var util=require(_0x8da3('0x6'));var path=require(_0x8da3('0x7'));var sox=require(_0x8da3('0x8'));var csv=require('to-csv');var ejs=require(_0x8da3('0x9'));var fs=require('fs');var fs_extra=require(_0x8da3('0xa'));var _=require(_0x8da3('0xb'));var squel=require(_0x8da3('0xc'));var crypto=require(_0x8da3('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x8da3('0xe'));var querystring=require(_0x8da3('0xf'));var Papa=require(_0x8da3('0x10'));var Redis=require(_0x8da3('0x11'));var authService=require(_0x8da3('0x12'));var qs=require(_0x8da3('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x8da3('0x14'));var utils=require('../../config/utils');var config=require(_0x8da3('0x15'));var licenseUtil=require(_0x8da3('0x16'));var db=require(_0x8da3('0x17'))['db'];config[_0x8da3('0x18')]=_['defaults'](config[_0x8da3('0x18')],{'host':_0x8da3('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x8da3('0x18')]));require('./openchannelQueue.socket')[_0x8da3('0x1a')](socket);function respondWithStatusCode(_0x2524b5,_0xaf18ff){_0xaf18ff=_0xaf18ff||0xcc;return function(_0x376bb8){if(_0x376bb8){return _0x2524b5[_0x8da3('0x1b')](_0xaf18ff);}return _0x2524b5[_0x8da3('0x1c')](_0xaf18ff)[_0x8da3('0x1d')]();};}function respondWithResult(_0x300821,_0x57fac9){_0x57fac9=_0x57fac9||0xc8;return function(_0x3bd35d){if(_0x3bd35d){return _0x300821[_0x8da3('0x1c')](_0x57fac9)[_0x8da3('0x1e')](_0x3bd35d);}};}function respondWithFilteredResult(_0x2a3b4e,_0x443871){return function(_0x41455c){if(_0x41455c){var _0x4ee54a=typeof _0x443871['offset']===_0x8da3('0x1f')&&typeof _0x443871[_0x8da3('0x20')]===_0x8da3('0x1f');var _0x578087=_0x41455c[_0x8da3('0x21')];var _0x599dce=_0x4ee54a?0x0:_0x443871['offset'];var _0x3209d5=_0x4ee54a?_0x41455c[_0x8da3('0x21')]:_0x443871[_0x8da3('0x22')]+_0x443871['limit'];var _0x48bce3;if(_0x3209d5>=_0x578087){_0x3209d5=_0x578087;_0x48bce3=0xc8;}else{_0x48bce3=0xce;}_0x2a3b4e[_0x8da3('0x1c')](_0x48bce3);return _0x2a3b4e['set'](_0x8da3('0x23'),_0x599dce+'-'+_0x3209d5+'/'+_0x578087)[_0x8da3('0x1e')](_0x41455c);}return null;};}function patchUpdates(_0xe1ffbd){return function(_0x3a118f){try{jsonpatch['apply'](_0x3a118f,_0xe1ffbd,!![]);}catch(_0x584dc3){return BPromise[_0x8da3('0x24')](_0x584dc3);}return _0x3a118f[_0x8da3('0x25')]();};}function saveUpdates(_0x189bac,_0x309dbe){return function(_0x4ad979){if(_0x4ad979){return _0x4ad979[_0x8da3('0x26')](_0x189bac)[_0x8da3('0x27')](function(_0x201b69){return _0x201b69;});}return null;};}function removeEntity(_0xbb236c,_0x1c97b7){return function(_0x493324){if(_0x493324){return _0x493324[_0x8da3('0x28')]()[_0x8da3('0x27')](function(){var _0x48496f=_0x493324[_0x8da3('0x29')]({'plain':!![]});var _0x571f05=_0x8da3('0x2a');return db['UserProfileResource'][_0x8da3('0x28')]({'where':{'type':_0x571f05,'resourceId':_0x48496f['id']}})[_0x8da3('0x27')](function(){return _0x493324;});})['then'](function(){_0xbb236c[_0x8da3('0x1c')](0xcc)[_0x8da3('0x1d')]();});}};}function handleEntityNotFound(_0x3872b1,_0x2fe16d){return function(_0x4f8027){if(!_0x4f8027){_0x3872b1[_0x8da3('0x1b')](0x194);}return _0x4f8027;};}function handleError(_0x5b0b90,_0x26ffa2){_0x26ffa2=_0x26ffa2||0x1f4;return function(_0x454ca9){logger['error'](_0x454ca9['stack']);if(_0x454ca9[_0x8da3('0x2b')]){delete _0x454ca9[_0x8da3('0x2b')];}_0x5b0b90[_0x8da3('0x1c')](_0x26ffa2)[_0x8da3('0x2c')](_0x454ca9);};}exports[_0x8da3('0x2d')]=function(_0x55f3d6,_0x4c6ee5){var _0x18eb39={},_0x949a01={},_0x3b61de={'count':0x0,'rows':[]};var _0x31c976=_[_0x8da3('0x2e')](db[_0x8da3('0x2f')][_0x8da3('0x30')],function(_0x3ea86e){return{'name':_0x3ea86e[_0x8da3('0x31')],'type':_0x3ea86e[_0x8da3('0x32')][_0x8da3('0x33')]};});_0x949a01['model']=_[_0x8da3('0x2e')](_0x31c976,_0x8da3('0x2b'));_0x949a01[_0x8da3('0x34')]=_[_0x8da3('0x35')](_0x55f3d6[_0x8da3('0x34')]);_0x949a01[_0x8da3('0x36')]=_[_0x8da3('0x37')](_0x949a01[_0x8da3('0x38')],_0x949a01[_0x8da3('0x34')]);_0x18eb39[_0x8da3('0x39')]=_['intersection'](_0x949a01[_0x8da3('0x38')],qs[_0x8da3('0x3a')](_0x55f3d6['query'][_0x8da3('0x3a')]));_0x18eb39['attributes']=_0x18eb39[_0x8da3('0x39')][_0x8da3('0x3b')]?_0x18eb39[_0x8da3('0x39')]:_0x949a01['model'];if(!_0x55f3d6[_0x8da3('0x34')][_0x8da3('0x3c')](_0x8da3('0x3d'))){_0x18eb39[_0x8da3('0x20')]=qs['limit'](_0x55f3d6['query'][_0x8da3('0x20')]);_0x18eb39['offset']=qs[_0x8da3('0x22')](_0x55f3d6[_0x8da3('0x34')][_0x8da3('0x22')]);}_0x18eb39[_0x8da3('0x3e')]=qs[_0x8da3('0x3f')](_0x55f3d6[_0x8da3('0x34')]['sort']);_0x18eb39[_0x8da3('0x40')]=qs[_0x8da3('0x36')](_['pick'](_0x55f3d6[_0x8da3('0x34')],_0x949a01[_0x8da3('0x36')]),_0x31c976);if(_0x55f3d6[_0x8da3('0x34')]['filter']){_0x18eb39[_0x8da3('0x40')]=_[_0x8da3('0x41')](_0x18eb39['where'],{'$or':_['map'](_0x31c976,function(_0x316e60){if(_0x316e60['type']!==_0x8da3('0x42')){var _0x45a16e={};_0x45a16e[_0x316e60[_0x8da3('0x2b')]]={'$like':'%'+_0x55f3d6[_0x8da3('0x34')][_0x8da3('0x43')]+'%'};return _0x45a16e;}})});}_0x18eb39=_['merge']({},_0x18eb39,_0x55f3d6['options']);var _0x36ea66={'where':_0x18eb39[_0x8da3('0x40')]};return db[_0x8da3('0x2f')][_0x8da3('0x21')](_0x36ea66)['then'](function(_0x59c279){_0x3b61de['count']=_0x59c279;if(_0x55f3d6[_0x8da3('0x34')]['includeAll']){_0x18eb39[_0x8da3('0x44')]=[{'all':!![]}];}return db[_0x8da3('0x2f')][_0x8da3('0x45')](_0x18eb39);})['then'](function(_0x2bbf5f){_0x3b61de[_0x8da3('0x46')]=_0x2bbf5f;return _0x3b61de;})[_0x8da3('0x27')](respondWithFilteredResult(_0x4c6ee5,_0x18eb39))[_0x8da3('0x47')](handleError(_0x4c6ee5,null));};exports[_0x8da3('0x48')]=function(_0x329394,_0x58cd02){var _0x55df6d={'raw':!![],'where':{'id':_0x329394[_0x8da3('0x49')]['id']}},_0x2a29a1={};_0x2a29a1[_0x8da3('0x38')]=_[_0x8da3('0x35')](db[_0x8da3('0x2f')][_0x8da3('0x30')]);_0x2a29a1[_0x8da3('0x34')]=_[_0x8da3('0x35')](_0x329394[_0x8da3('0x34')]);_0x2a29a1[_0x8da3('0x36')]=_[_0x8da3('0x37')](_0x2a29a1[_0x8da3('0x38')],_0x2a29a1[_0x8da3('0x34')]);_0x55df6d[_0x8da3('0x39')]=_[_0x8da3('0x37')](_0x2a29a1[_0x8da3('0x38')],qs[_0x8da3('0x3a')](_0x329394[_0x8da3('0x34')]['fields']));_0x55df6d[_0x8da3('0x39')]=_0x55df6d['attributes'][_0x8da3('0x3b')]?_0x55df6d[_0x8da3('0x39')]:_0x2a29a1[_0x8da3('0x38')];if(_0x329394['query'][_0x8da3('0x4a')]){_0x55df6d[_0x8da3('0x44')]=[{'all':!![]}];}_0x55df6d=_[_0x8da3('0x41')]({},_0x55df6d,_0x329394[_0x8da3('0x4b')]);return db[_0x8da3('0x2f')]['find'](_0x55df6d)[_0x8da3('0x27')](handleEntityNotFound(_0x58cd02,null))[_0x8da3('0x27')](respondWithResult(_0x58cd02,null))['catch'](handleError(_0x58cd02,null));};exports[_0x8da3('0x4c')]=function(_0x4d73e2,_0x52e6ff){return db['OpenchannelQueue'][_0x8da3('0x4c')](_0x4d73e2[_0x8da3('0x4d')],{})[_0x8da3('0x27')](function(_0x5828f8){var _0x407f0e=_0x4d73e2[_0x8da3('0x4e')][_0x8da3('0x29')]({'plain':!![]});if(!_0x407f0e)throw new Error(_0x8da3('0x4f'));if(_0x407f0e[_0x8da3('0x50')]===_0x8da3('0x4e')){var _0xe92f3b=_0x5828f8[_0x8da3('0x29')]({'plain':!![]});var _0x11f854=_0x8da3('0x2a');return db[_0x8da3('0x51')]['find']({'where':{'name':_0x11f854,'userProfileId':_0x407f0e[_0x8da3('0x52')]},'raw':!![]})[_0x8da3('0x27')](function(_0x538425){if(_0x538425&&_0x538425['autoAssociation']===0x0){return db[_0x8da3('0x53')][_0x8da3('0x4c')]({'name':_0xe92f3b[_0x8da3('0x2b')],'resourceId':_0xe92f3b['id'],'type':_0x538425[_0x8da3('0x2b')],'sectionId':_0x538425['id']},{})['then'](function(){return _0x5828f8;});}else{return _0x5828f8;}})[_0x8da3('0x47')](function(_0x4f2b77){logger['error'](_0x8da3('0x54'),_0x4f2b77);throw _0x4f2b77;});}return _0x5828f8;})[_0x8da3('0x27')](respondWithResult(_0x52e6ff,0xc9))[_0x8da3('0x47')](handleError(_0x52e6ff,null));};exports[_0x8da3('0x26')]=function(_0x1d3cb3,_0x4f7821){if(_0x1d3cb3['body']['id']){delete _0x1d3cb3[_0x8da3('0x4d')]['id'];}return db[_0x8da3('0x2f')][_0x8da3('0x55')]({'where':{'id':_0x1d3cb3[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](handleEntityNotFound(_0x4f7821,null))[_0x8da3('0x27')](saveUpdates(_0x1d3cb3[_0x8da3('0x4d')],null))['then'](respondWithResult(_0x4f7821,null))[_0x8da3('0x47')](handleError(_0x4f7821,null));};exports[_0x8da3('0x28')]=function(_0x5caa01,_0x4f17b2){return db['OpenchannelQueue'][_0x8da3('0x55')]({'where':{'id':_0x5caa01[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](handleEntityNotFound(_0x4f17b2,null))[_0x8da3('0x27')](removeEntity(_0x4f17b2,null))['catch'](handleError(_0x4f17b2,null));};exports['describe']=function(_0x3ce91e,_0x1c4d07){return db['OpenchannelQueue']['describe']()[_0x8da3('0x27')](respondWithResult(_0x1c4d07,null))['catch'](handleError(_0x1c4d07,null));};exports[_0x8da3('0x56')]=function(_0xff7997,_0xe61eba,_0x53d946){var _0x1d7ddc={'raw':!![],'where':{}},_0x5a03d5={},_0x212505;return db[_0x8da3('0x2f')][_0x8da3('0x57')]({'where':{'id':_0xff7997[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](handleEntityNotFound(_0xe61eba,null))[_0x8da3('0x27')](function(_0x1c7b8a){if(_0x1c7b8a){_0x212505=_0x1c7b8a[_0x8da3('0x29')]({'plain':!![]});_0x5a03d5['model']=_[_0x8da3('0x35')](db[_0x8da3('0x58')]['rawAttributes']);_0x5a03d5[_0x8da3('0x34')]=_[_0x8da3('0x35')](_0xff7997[_0x8da3('0x34')]);_0x5a03d5[_0x8da3('0x36')]=_['intersection'](_0x5a03d5['model'],_0x5a03d5['query']);_0x1d7ddc['attributes']=_[_0x8da3('0x37')](_0x5a03d5['model'],qs[_0x8da3('0x3a')](_0xff7997['query'][_0x8da3('0x3a')]));_0x1d7ddc[_0x8da3('0x39')]=_0x1d7ddc[_0x8da3('0x39')][_0x8da3('0x3b')]?_0x1d7ddc['attributes']:_0x5a03d5[_0x8da3('0x38')];if(!_0xff7997[_0x8da3('0x34')]['hasOwnProperty']('nolimit')){_0x1d7ddc['limit']=qs[_0x8da3('0x20')](_0xff7997[_0x8da3('0x34')]['limit']);_0x1d7ddc[_0x8da3('0x22')]=qs[_0x8da3('0x22')](_0xff7997[_0x8da3('0x34')]['offset']);}_0x1d7ddc[_0x8da3('0x3e')]=qs[_0x8da3('0x3f')](_0xff7997['query'][_0x8da3('0x3f')]);_0x1d7ddc[_0x8da3('0x40')]=qs[_0x8da3('0x36')](_[_0x8da3('0x59')](_0xff7997[_0x8da3('0x34')],_0x5a03d5[_0x8da3('0x36')]));_0x1d7ddc['where'][_0x8da3('0x5a')]=_0x1c7b8a['id'];if(_0xff7997['query'][_0x8da3('0x43')]){_0x1d7ddc[_0x8da3('0x40')]=_[_0x8da3('0x41')](_0x1d7ddc[_0x8da3('0x40')],{'$or':_[_0x8da3('0x2e')](_0x1d7ddc['attributes'],function(_0x5211bc){var _0x32d395={};_0x32d395[_0x5211bc]={'$like':'%'+_0xff7997[_0x8da3('0x34')]['filter']+'%'};return _0x32d395;})});}_0x1d7ddc=_[_0x8da3('0x41')]({},_0x1d7ddc,_0xff7997[_0x8da3('0x4b')]);return db[_0x8da3('0x58')][_0x8da3('0x45')](_0x1d7ddc);}})[_0x8da3('0x27')](function(_0x592b9c){if(_0x592b9c){return db[_0x8da3('0x5b')][_0x8da3('0x5c')]({'where':{'id':_[_0x8da3('0x2e')](_0x592b9c,'UserId'),'role':_0x8da3('0x5d')},'attributes':['id',_0x8da3('0x2b'),'openchannelPause','updatedAt',_0x8da3('0x5e')]});}})[_0x8da3('0x27')](function(_0x8b2cd){if(_0x8b2cd){return{'count':_0x8b2cd[_0x8da3('0x21')],'rows':_[_0x8da3('0x2e')](_0x8b2cd[_0x8da3('0x46')],function(_0x1785fc){return{'membername':_0x1785fc[_0x8da3('0x2b')],'UserId':_0x1785fc['id'],'queue_name':_0x212505[_0x8da3('0x2b')],'OpenchannelQueueId':_0x212505['id'],'interface':util['format'](_0x8da3('0x5f'),_0x8da3('0x60'),_0x1785fc[_0x8da3('0x2b')]),'penalty':0x0,'paused':_0x1785fc['openchannelPause'],'createdAt':_0x1785fc[_0x8da3('0x5e')],'updatedAt':_0x1785fc[_0x8da3('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x8da3('0x27')](respondWithFilteredResult(_0xe61eba,_0x1d7ddc))[_0x8da3('0x47')](handleError(_0xe61eba,null));};exports['getTeams']=function(_0x205218,_0x5cad4d,_0x3c31bc){var _0x5e813d={};var _0x2d67f3={};var _0x2deb72;var _0x5d8627;return db[_0x8da3('0x2f')]['findOne']({'where':{'id':_0x205218[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](handleEntityNotFound(_0x5cad4d,null))[_0x8da3('0x27')](function(_0x1a7609){if(_0x1a7609){_0x2deb72=_0x1a7609;_0x2d67f3[_0x8da3('0x38')]=_[_0x8da3('0x35')](db[_0x8da3('0x62')][_0x8da3('0x30')]);_0x2d67f3[_0x8da3('0x34')]=_['keys'](_0x205218[_0x8da3('0x34')]);_0x2d67f3[_0x8da3('0x36')]=_['intersection'](_0x2d67f3[_0x8da3('0x38')],_0x2d67f3[_0x8da3('0x34')]);_0x5e813d['attributes']=_[_0x8da3('0x37')](_0x2d67f3[_0x8da3('0x38')],qs['fields'](_0x205218['query'][_0x8da3('0x3a')]));_0x5e813d[_0x8da3('0x39')]=_0x5e813d[_0x8da3('0x39')][_0x8da3('0x3b')]?_0x5e813d[_0x8da3('0x39')]:_0x2d67f3[_0x8da3('0x38')];_0x5e813d['order']=qs[_0x8da3('0x3f')](_0x205218[_0x8da3('0x34')]['sort']);_0x5e813d['where']=qs[_0x8da3('0x36')](_[_0x8da3('0x59')](_0x205218[_0x8da3('0x34')],_0x2d67f3['filters']));if(_0x205218[_0x8da3('0x34')][_0x8da3('0x43')]){_0x5e813d['where']=_[_0x8da3('0x41')](_0x5e813d['where'],{'$or':_[_0x8da3('0x2e')](_0x5e813d['attributes'],function(_0xf3fe28){var _0x3b9d83={};_0x3b9d83[_0xf3fe28]={'$like':'%'+_0x205218[_0x8da3('0x34')]['filter']+'%'};return _0x3b9d83;})});}_0x5e813d=_[_0x8da3('0x41')]({},_0x5e813d,_0x205218[_0x8da3('0x4b')]);return _0x2deb72['getTeams'](_0x5e813d);}})[_0x8da3('0x27')](function(_0x11dcd3){if(_0x11dcd3){_0x5d8627=_0x11dcd3[_0x8da3('0x3b')];if(!_0x205218[_0x8da3('0x34')]['hasOwnProperty'](_0x8da3('0x3d'))){_0x5e813d['limit']=qs[_0x8da3('0x20')](_0x205218[_0x8da3('0x34')][_0x8da3('0x20')]);_0x5e813d[_0x8da3('0x22')]=qs['offset'](_0x205218['query'][_0x8da3('0x22')]);}return _0x2deb72[_0x8da3('0x63')](_0x5e813d);}})[_0x8da3('0x27')](function(_0x25ae68){if(_0x25ae68){return _0x25ae68?{'count':_0x5d8627,'rows':_0x25ae68}:null;}})[_0x8da3('0x27')](respondWithResult(_0x5cad4d,null))['catch'](handleError(_0x5cad4d,null));};exports[_0x8da3('0x64')]=function(_0x882a1,_0x1b77e5,_0x302ef4){var _0x13ecf3=_0x882a1[_0x8da3('0x4d')]['ids'];return db[_0x8da3('0x62')][_0x8da3('0x45')]({'where':{'id':_0x13ecf3},'attributes':['id'],'include':[{'model':db[_0x8da3('0x5b')],'as':_0x8da3('0x65'),'attributes':['id','name','online',_0x8da3('0x66'),'interface'],'raw':!![]}]})[_0x8da3('0x27')](function(_0x4233fb){if(_0x4233fb){var _0x415d0f=_[_0x8da3('0x67')](_0x4233fb,function(_0x295a2d){var _0x491e85=_0x295a2d[_0x8da3('0x29')]({'plain':!![]});return _0x491e85[_0x8da3('0x65')];});return db[_0x8da3('0x2f')][_0x8da3('0x55')]({'where':{'id':_0x882a1[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](function(_0x46fdc7){return db[_0x8da3('0x68')][_0x8da3('0x69')](function(_0x17829e){return _0x46fdc7[_0x8da3('0x64')](_0x13ecf3,{'transaction':_0x17829e})[_0x8da3('0x27')](function(){return BPromise[_0x8da3('0x6a')](_0x415d0f,function(_0x3588f1){return db[_0x8da3('0x58')]['findOrCreate']({'where':{'UserId':_0x3588f1['id'],'OpenchannelQueueId':_0x882a1[_0x8da3('0x49')]['id']},'transaction':_0x17829e});});})[_0x8da3('0x27')](function(){_0x415d0f[_0x8da3('0x6b')](function(_0x58c4d1){socket['emit'](_0x8da3('0x6c'),{'UserId':_0x58c4d1['id'],'OpenchannelQueueId':_0x46fdc7['id']});});});});});}})[_0x8da3('0x27')](respondWithStatusCode(_0x1b77e5,null))['catch'](handleError(_0x1b77e5,null));};exports[_0x8da3('0x6d')]=function(_0x372f49,_0x215249,_0x56abcd){return db[_0x8da3('0x62')][_0x8da3('0x45')]({'where':{'id':_0x372f49['query'][_0x8da3('0x6e')]},'attributes':['id'],'include':[{'model':db[_0x8da3('0x5b')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x8da3('0x27')](handleEntityNotFound(_0x215249,null))[_0x8da3('0x27')](function(_0x3747ba){var _0x376d74=_[_0x8da3('0x2e')](_0x3747ba,'id');var _0x2ed956=[];var _0x31b281=[];var _0x3162c1=squel['select']();_0x3162c1[_0x8da3('0x6f')](_0x8da3('0x70'))['from'](_0x8da3('0x71'),'tq')[_0x8da3('0x72')]('user_has_teams','ut',_0x8da3('0x73'))[_0x8da3('0x40')](_0x8da3('0x74'),_0x372f49[_0x8da3('0x49')]['id']);for(var _0x554f43=0x0;_0x554f43<_0x3747ba[_0x8da3('0x3b')];_0x554f43+=0x1){let _0x4b5134=_0x3747ba[_0x554f43];for(var _0x4d075b=0x0;_0x4d075b<_0x4b5134[_0x8da3('0x65')][_0x8da3('0x3b')];_0x4d075b+=0x1){let _0x16052c=_0x4b5134[_0x8da3('0x65')][_0x4d075b];var _0x370144=_0x3162c1[_0x8da3('0x75')]();_0x370144['where']('ut.UserId\x20=\x20?',_0x16052c['id']);_0x31b281['push'](db[_0x8da3('0x68')][_0x8da3('0x34')](_0x370144[_0x8da3('0x76')](),{'type':db['sequelize'][_0x8da3('0x77')][_0x8da3('0x78')]})[_0x8da3('0x27')](function(_0x3ab172){if(_0x3ab172[_0x8da3('0x3b')]===0x1){return _0x16052c['id'];}else{var _0x3b8330=_[_0x8da3('0x79')](_[_0x8da3('0x2e')](_0x3ab172,_0x8da3('0x7a')),function(_0x562b0f){return _['includes'](_0x376d74,_0x562b0f);});if(_0x3b8330){return _0x16052c['id'];}}}));}}return BPromise['all'](_0x31b281)[_0x8da3('0x27')](function(_0x14b813){_0x2ed956=_(_0x2ed956)[_0x8da3('0x7b')](_0x14b813)[_0x8da3('0x7c')]()[_0x8da3('0x7d')]();return db['OpenchannelQueue'][_0x8da3('0x55')]({'where':{'id':_0x372f49[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](function(_0x232d13){return db['sequelize'][_0x8da3('0x69')](function(_0x137454){return _0x232d13['removeTeams'](_0x372f49[_0x8da3('0x34')][_0x8da3('0x6e')],{'transaction':_0x137454})[_0x8da3('0x27')](function(){if(!_['isEmpty'](_0x2ed956)){return _0x232d13[_0x8da3('0x7e')](_0x2ed956,{'transaction':_0x137454});}})[_0x8da3('0x27')](function(){_0x2ed956[_0x8da3('0x6b')](function(_0x406d33){socket[_0x8da3('0x7f')](_0x8da3('0x80'),{'UserId':_0x406d33,'OpenchannelQueueId':_0x232d13['id']});});});});});});})['then'](respondWithStatusCode(_0x215249,null))[_0x8da3('0x47')](handleError(_0x215249,null));};exports[_0x8da3('0x81')]=function(_0x3b06fd,_0x1df1aa,_0x3aab38){return db[_0x8da3('0x2f')]['find']({'where':{'id':_0x3b06fd[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](handleEntityNotFound(_0x1df1aa,null))['then'](function(_0x260ee9){if(_0x260ee9){return _0x260ee9[_0x8da3('0x81')](_0x3b06fd[_0x8da3('0x4d')][_0x8da3('0x6e')],_[_0x8da3('0x82')](_0x3b06fd[_0x8da3('0x4d')],['ids','id'])||{})[_0x8da3('0x83')](function(_0xe48de3){for(var _0x55387e=0x0;_0x55387e<_0x3b06fd[_0x8da3('0x4d')][_0x8da3('0x6e')]['length'];_0x55387e+=0x1){socket[_0x8da3('0x7f')](_0x8da3('0x6c'),{'UserId':Number(_0x3b06fd[_0x8da3('0x4d')][_0x8da3('0x6e')][_0x55387e]),'OpenchannelQueueId':Number(_0x3b06fd['params']['id'])});}return _0xe48de3;});}})[_0x8da3('0x27')](respondWithResult(_0x1df1aa,null))[_0x8da3('0x47')](handleError(_0x1df1aa,null));};exports[_0x8da3('0x7e')]=function(_0x25dc35,_0x2300ee,_0x4a48af){return db[_0x8da3('0x2f')][_0x8da3('0x55')]({'where':{'id':_0x25dc35['params']['id']}})[_0x8da3('0x27')](handleEntityNotFound(_0x2300ee,null))[_0x8da3('0x27')](function(_0x499b18){if(_0x499b18){return _0x499b18['removeAgents'](_0x25dc35[_0x8da3('0x34')][_0x8da3('0x6e')])[_0x8da3('0x27')](function(){if(_[_0x8da3('0x84')](_0x25dc35[_0x8da3('0x34')][_0x8da3('0x6e')])){for(var _0x8a3a24=0x0;_0x8a3a24<_0x25dc35['query'][_0x8da3('0x6e')][_0x8da3('0x3b')];_0x8a3a24+=0x1){socket[_0x8da3('0x7f')](_0x8da3('0x80'),{'UserId':Number(_0x25dc35[_0x8da3('0x34')][_0x8da3('0x6e')][_0x8a3a24]),'OpenchannelQueueId':Number(_0x25dc35['params']['id'])});}}else{socket[_0x8da3('0x7f')]('userOpenchannelQueue:remove',{'UserId':Number(_0x25dc35[_0x8da3('0x34')]['ids']),'OpenchannelQueueId':Number(_0x25dc35[_0x8da3('0x49')]['id'])});}});}})[_0x8da3('0x27')](respondWithStatusCode(_0x2300ee,null))[_0x8da3('0x47')](handleError(_0x2300ee,null));};exports[_0x8da3('0x85')]=function(_0x44be7b,_0xf5fa55,_0x3adafc){var _0x5d5dd8={};var _0x14eeb2={};var _0x2c0fec;var _0x36a16b;return db[_0x8da3('0x2f')][_0x8da3('0x57')]({'where':{'id':_0x44be7b[_0x8da3('0x49')]['id']}})[_0x8da3('0x27')](handleEntityNotFound(_0xf5fa55,null))[_0x8da3('0x27')](function(_0x57f2db){if(_0x57f2db){_0x2c0fec=_0x57f2db;_0x14eeb2[_0x8da3('0x38')]=_[_0x8da3('0x35')](db[_0x8da3('0x5b')][_0x8da3('0x30')]);_0x14eeb2[_0x8da3('0x34')]=_['keys'](_0x44be7b[_0x8da3('0x34')]);_0x14eeb2[_0x8da3('0x36')]=_[_0x8da3('0x37')](_0x14eeb2[_0x8da3('0x38')],_0x14eeb2[_0x8da3('0x34')]);_0x5d5dd8[_0x8da3('0x39')]=_[_0x8da3('0x37')](_0x14eeb2[_0x8da3('0x38')],qs['fields'](_0x44be7b[_0x8da3('0x34')]['fields']));_0x5d5dd8[_0x8da3('0x39')]=_0x5d5dd8[_0x8da3('0x39')][_0x8da3('0x3b')]?_0x5d5dd8['attributes']:_0x14eeb2[_0x8da3('0x38')];_0x5d5dd8[_0x8da3('0x3e')]=qs[_0x8da3('0x3f')](_0x44be7b['query'][_0x8da3('0x3f')]);_0x5d5dd8[_0x8da3('0x40')]=qs['filters'](_[_0x8da3('0x59')](_0x44be7b['query'],_0x14eeb2[_0x8da3('0x36')]));if(_0x44be7b['query'][_0x8da3('0x43')]){_0x5d5dd8[_0x8da3('0x40')]=_[_0x8da3('0x41')](_0x5d5dd8['where'],{'$or':_[_0x8da3('0x2e')](_0x5d5dd8[_0x8da3('0x39')],function(_0x3c3700){var _0x512274={};_0x512274[_0x3c3700]={'$like':'%'+_0x44be7b[_0x8da3('0x34')][_0x8da3('0x43')]+'%'};return _0x512274;})});}_0x5d5dd8=_[_0x8da3('0x41')]({},_0x5d5dd8,_0x44be7b[_0x8da3('0x4b')]);return _0x2c0fec[_0x8da3('0x85')](_0x5d5dd8);}})[_0x8da3('0x27')](function(_0x856c8d){if(_0x856c8d){_0x36a16b=_0x856c8d['length'];if(!_0x44be7b[_0x8da3('0x34')][_0x8da3('0x3c')](_0x8da3('0x3d'))){_0x5d5dd8[_0x8da3('0x20')]=qs[_0x8da3('0x20')](_0x44be7b['query'][_0x8da3('0x20')]);_0x5d5dd8[_0x8da3('0x22')]=qs[_0x8da3('0x22')](_0x44be7b[_0x8da3('0x34')]['offset']);}return _0x2c0fec[_0x8da3('0x85')](_0x5d5dd8);}})[_0x8da3('0x27')](function(_0x3db61b){if(_0x3db61b){return _0x3db61b?{'count':_0x36a16b,'rows':_0x3db61b}:null;}})[_0x8da3('0x27')](respondWithResult(_0xf5fa55,null))[_0x8da3('0x47')](handleError(_0xf5fa55,null));};