Built motion from commit 9d1906d1.|2.5.40
[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 _0xfcd1=['OpenchannelQueue','rawAttributes','fieldName','type','key','model','map','keys','query','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','findAll','rows','catch','show','params','fields','includeAll','include','options','find','create','body','user','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','UserOpenchannelQueue','OpenchannelQueueId','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','format','SIP','getTeams','Team','addTeams','ids','User','online','voicePause','interface','Agents','sequelize','transaction','each','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','SELECT','every','TeamId','includes','all','union','value','isEmpty','forEach','addAgents','omit','spread','removeAgents','isArray','userOpenchannelQueue:remove','getAgents','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','get','OpenchannelQueues','UserProfileResource','name','index'];(function(_0x1489a5,_0x1fa1bd){var _0x1350fc=function(_0x2fbbc1){while(--_0x2fbbc1){_0x1489a5['push'](_0x1489a5['shift']());}};_0x1350fc(++_0x1fa1bd);}(_0xfcd1,0xe5));var _0x1fcd=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xfcd1[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1fcd('0x0'));var zipdir=require(_0x1fcd('0x1'));var jsonpatch=require(_0x1fcd('0x2'));var rp=require(_0x1fcd('0x3'));var moment=require(_0x1fcd('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x1fcd('0x5'));var path=require('path');var sox=require(_0x1fcd('0x6'));var csv=require(_0x1fcd('0x7'));var ejs=require(_0x1fcd('0x8'));var fs=require('fs');var fs_extra=require(_0x1fcd('0x9'));var _=require(_0x1fcd('0xa'));var squel=require('squel');var crypto=require(_0x1fcd('0xb'));var jsforce=require(_0x1fcd('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x1fcd('0x7'));var querystring=require(_0x1fcd('0xd'));var Papa=require(_0x1fcd('0xe'));var Redis=require(_0x1fcd('0xf'));var authService=require(_0x1fcd('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x1fcd('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1fcd('0x12'))('api');var utils=require(_0x1fcd('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x1fcd('0x14'));var db=require(_0x1fcd('0x15'))['db'];config[_0x1fcd('0x16')]=_[_0x1fcd('0x17')](config[_0x1fcd('0x16')],{'host':_0x1fcd('0x18'),'port':0x18eb});var socket=require(_0x1fcd('0x19'))(new Redis(config[_0x1fcd('0x16')]));require(_0x1fcd('0x1a'))[_0x1fcd('0x1b')](socket);function respondWithStatusCode(_0x133fdd,_0x3f2f8b){_0x3f2f8b=_0x3f2f8b||0xcc;return function(_0xb5f006){if(_0xb5f006){return _0x133fdd[_0x1fcd('0x1c')](_0x3f2f8b);}return _0x133fdd[_0x1fcd('0x1d')](_0x3f2f8b)[_0x1fcd('0x1e')]();};}function respondWithResult(_0x635915,_0x59c2aa){_0x59c2aa=_0x59c2aa||0xc8;return function(_0x2de088){if(_0x2de088){return _0x635915[_0x1fcd('0x1d')](_0x59c2aa)['json'](_0x2de088);}};}function respondWithFilteredResult(_0x5cbf33,_0x11359f){return function(_0x105d3b){if(_0x105d3b){var _0x63c514=typeof _0x11359f[_0x1fcd('0x1f')]===_0x1fcd('0x20')&&typeof _0x11359f[_0x1fcd('0x21')]===_0x1fcd('0x20');var _0x1027a6=_0x105d3b['count'];var _0x57e455=_0x63c514?0x0:_0x11359f[_0x1fcd('0x1f')];var _0x2c9445=_0x63c514?_0x105d3b[_0x1fcd('0x22')]:_0x11359f['offset']+_0x11359f['limit'];var _0x2d01c5;if(_0x2c9445>=_0x1027a6){_0x2c9445=_0x1027a6;_0x2d01c5=0xc8;}else{_0x2d01c5=0xce;}_0x5cbf33['status'](_0x2d01c5);return _0x5cbf33[_0x1fcd('0x23')](_0x1fcd('0x24'),_0x57e455+'-'+_0x2c9445+'/'+_0x1027a6)[_0x1fcd('0x25')](_0x105d3b);}return null;};}function patchUpdates(_0xfa77c3){return function(_0x5c7b17){try{jsonpatch[_0x1fcd('0x26')](_0x5c7b17,_0xfa77c3,!![]);}catch(_0x562395){return BPromise[_0x1fcd('0x27')](_0x562395);}return _0x5c7b17[_0x1fcd('0x28')]();};}function saveUpdates(_0x2edff9,_0x37aedf){return function(_0x517cc3){if(_0x517cc3){return _0x517cc3[_0x1fcd('0x29')](_0x2edff9)[_0x1fcd('0x2a')](function(_0x2816fe){return _0x2816fe;});}return null;};}function removeEntity(_0x53bfbf,_0xa3e045){return function(_0x3cffc8){if(_0x3cffc8){return _0x3cffc8[_0x1fcd('0x2b')]()[_0x1fcd('0x2a')](function(){var _0x36285c=_0x3cffc8[_0x1fcd('0x2c')]({'plain':!![]});var _0x5302e3=_0x1fcd('0x2d');return db[_0x1fcd('0x2e')][_0x1fcd('0x2b')]({'where':{'type':_0x5302e3,'resourceId':_0x36285c['id']}})[_0x1fcd('0x2a')](function(){return _0x3cffc8;});})[_0x1fcd('0x2a')](function(){_0x53bfbf['status'](0xcc)[_0x1fcd('0x1e')]();});}};}function handleEntityNotFound(_0x119c1a,_0x2f0f0d){return function(_0x466e51){if(!_0x466e51){_0x119c1a['sendStatus'](0x194);}return _0x466e51;};}function handleError(_0x41e2e6,_0xfdbbad){_0xfdbbad=_0xfdbbad||0x1f4;return function(_0x4a8297){logger['error'](_0x4a8297['stack']);if(_0x4a8297['name']){delete _0x4a8297[_0x1fcd('0x2f')];}_0x41e2e6[_0x1fcd('0x1d')](_0xfdbbad)['send'](_0x4a8297);};}exports[_0x1fcd('0x30')]=function(_0x45e72b,_0x2f8aa3){var _0x47180d={},_0x45e9fd={},_0x43edeb={'count':0x0,'rows':[]};var _0x217cf2=_['map'](db[_0x1fcd('0x31')][_0x1fcd('0x32')],function(_0x7be592){return{'name':_0x7be592[_0x1fcd('0x33')],'type':_0x7be592[_0x1fcd('0x34')][_0x1fcd('0x35')]};});_0x45e9fd[_0x1fcd('0x36')]=_[_0x1fcd('0x37')](_0x217cf2,_0x1fcd('0x2f'));_0x45e9fd['query']=_[_0x1fcd('0x38')](_0x45e72b[_0x1fcd('0x39')]);_0x45e9fd[_0x1fcd('0x3a')]=_[_0x1fcd('0x3b')](_0x45e9fd['model'],_0x45e9fd['query']);_0x47180d[_0x1fcd('0x3c')]=_[_0x1fcd('0x3b')](_0x45e9fd['model'],qs['fields'](_0x45e72b['query']['fields']));_0x47180d[_0x1fcd('0x3c')]=_0x47180d[_0x1fcd('0x3c')][_0x1fcd('0x3d')]?_0x47180d['attributes']:_0x45e9fd[_0x1fcd('0x36')];if(!_0x45e72b[_0x1fcd('0x39')][_0x1fcd('0x3e')](_0x1fcd('0x3f'))){_0x47180d[_0x1fcd('0x21')]=qs['limit'](_0x45e72b[_0x1fcd('0x39')]['limit']);_0x47180d[_0x1fcd('0x1f')]=qs[_0x1fcd('0x1f')](_0x45e72b['query']['offset']);}_0x47180d[_0x1fcd('0x40')]=qs['sort'](_0x45e72b[_0x1fcd('0x39')][_0x1fcd('0x41')]);_0x47180d[_0x1fcd('0x42')]=qs['filters'](_[_0x1fcd('0x43')](_0x45e72b[_0x1fcd('0x39')],_0x45e9fd['filters']),_0x217cf2);if(_0x45e72b[_0x1fcd('0x39')]['filter']){_0x47180d[_0x1fcd('0x42')]=_[_0x1fcd('0x44')](_0x47180d[_0x1fcd('0x42')],{'$or':_[_0x1fcd('0x37')](_0x217cf2,function(_0x246443){if(_0x246443[_0x1fcd('0x34')]!=='VIRTUAL'){var _0x1b42df={};_0x1b42df[_0x246443[_0x1fcd('0x2f')]]={'$like':'%'+_0x45e72b['query'][_0x1fcd('0x45')]+'%'};return _0x1b42df;}})});}_0x47180d=_[_0x1fcd('0x44')]({},_0x47180d,_0x45e72b['options']);var _0x214ae8={'where':_0x47180d[_0x1fcd('0x42')]};return db[_0x1fcd('0x31')][_0x1fcd('0x22')](_0x214ae8)[_0x1fcd('0x2a')](function(_0x14e0ca){_0x43edeb['count']=_0x14e0ca;if(_0x45e72b[_0x1fcd('0x39')]['includeAll']){_0x47180d['include']=[{'all':!![]}];}return db[_0x1fcd('0x31')][_0x1fcd('0x46')](_0x47180d);})[_0x1fcd('0x2a')](function(_0x59969d){_0x43edeb[_0x1fcd('0x47')]=_0x59969d;return _0x43edeb;})[_0x1fcd('0x2a')](respondWithFilteredResult(_0x2f8aa3,_0x47180d))[_0x1fcd('0x48')](handleError(_0x2f8aa3,null));};exports[_0x1fcd('0x49')]=function(_0x54824,_0x19b78f){var _0x4a2309={'raw':!![],'where':{'id':_0x54824[_0x1fcd('0x4a')]['id']}},_0xcda0f3={};_0xcda0f3[_0x1fcd('0x36')]=_[_0x1fcd('0x38')](db[_0x1fcd('0x31')]['rawAttributes']);_0xcda0f3[_0x1fcd('0x39')]=_['keys'](_0x54824[_0x1fcd('0x39')]);_0xcda0f3['filters']=_[_0x1fcd('0x3b')](_0xcda0f3[_0x1fcd('0x36')],_0xcda0f3[_0x1fcd('0x39')]);_0x4a2309[_0x1fcd('0x3c')]=_[_0x1fcd('0x3b')](_0xcda0f3['model'],qs[_0x1fcd('0x4b')](_0x54824[_0x1fcd('0x39')][_0x1fcd('0x4b')]));_0x4a2309[_0x1fcd('0x3c')]=_0x4a2309['attributes']['length']?_0x4a2309[_0x1fcd('0x3c')]:_0xcda0f3[_0x1fcd('0x36')];if(_0x54824['query'][_0x1fcd('0x4c')]){_0x4a2309[_0x1fcd('0x4d')]=[{'all':!![]}];}_0x4a2309=_['merge']({},_0x4a2309,_0x54824[_0x1fcd('0x4e')]);return db[_0x1fcd('0x31')][_0x1fcd('0x4f')](_0x4a2309)[_0x1fcd('0x2a')](handleEntityNotFound(_0x19b78f,null))[_0x1fcd('0x2a')](respondWithResult(_0x19b78f,null))['catch'](handleError(_0x19b78f,null));};exports[_0x1fcd('0x50')]=function(_0x4181c7,_0x450fd2){return db[_0x1fcd('0x31')][_0x1fcd('0x50')](_0x4181c7[_0x1fcd('0x51')],{})[_0x1fcd('0x2a')](function(_0x9bba8){var _0x7044b4=_0x4181c7[_0x1fcd('0x52')]['get']({'plain':!![]});if(!_0x7044b4)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x7044b4['role']===_0x1fcd('0x52')){var _0x45890c=_0x9bba8[_0x1fcd('0x2c')]({'plain':!![]});var _0x55e741=_0x1fcd('0x2d');return db['UserProfileSection'][_0x1fcd('0x4f')]({'where':{'name':_0x55e741,'userProfileId':_0x7044b4[_0x1fcd('0x53')]},'raw':!![]})['then'](function(_0x45a0cf){if(_0x45a0cf&&_0x45a0cf[_0x1fcd('0x54')]===0x0){return db[_0x1fcd('0x2e')][_0x1fcd('0x50')]({'name':_0x45890c[_0x1fcd('0x2f')],'resourceId':_0x45890c['id'],'type':_0x45a0cf[_0x1fcd('0x2f')],'sectionId':_0x45a0cf['id']},{})[_0x1fcd('0x2a')](function(){return _0x9bba8;});}else{return _0x9bba8;}})[_0x1fcd('0x48')](function(_0x4d33f3){logger[_0x1fcd('0x55')](_0x1fcd('0x56'),_0x4d33f3);throw _0x4d33f3;});}return _0x9bba8;})[_0x1fcd('0x2a')](respondWithResult(_0x450fd2,0xc9))[_0x1fcd('0x48')](handleError(_0x450fd2,null));};exports['update']=function(_0x12a31c,_0x3677d2){if(_0x12a31c['body']['id']){delete _0x12a31c[_0x1fcd('0x51')]['id'];}return db[_0x1fcd('0x31')][_0x1fcd('0x4f')]({'where':{'id':_0x12a31c[_0x1fcd('0x4a')]['id']}})[_0x1fcd('0x2a')](handleEntityNotFound(_0x3677d2,null))[_0x1fcd('0x2a')](saveUpdates(_0x12a31c[_0x1fcd('0x51')],null))[_0x1fcd('0x2a')](respondWithResult(_0x3677d2,null))[_0x1fcd('0x48')](handleError(_0x3677d2,null));};exports[_0x1fcd('0x2b')]=function(_0x431941,_0x35dd87){return db[_0x1fcd('0x31')][_0x1fcd('0x4f')]({'where':{'id':_0x431941[_0x1fcd('0x4a')]['id']}})['then'](handleEntityNotFound(_0x35dd87,null))['then'](removeEntity(_0x35dd87,null))['catch'](handleError(_0x35dd87,null));};exports['describe']=function(_0x54b197,_0x1e3e83){return db[_0x1fcd('0x31')][_0x1fcd('0x57')]()[_0x1fcd('0x2a')](respondWithResult(_0x1e3e83,null))[_0x1fcd('0x48')](handleError(_0x1e3e83,null));};exports['getMembers']=function(_0x3894d3,_0x5a2b22,_0x4df8a1){var _0x292747={'raw':!![],'where':{}},_0x50e001={},_0x3207dc;return db[_0x1fcd('0x31')][_0x1fcd('0x58')]({'where':{'id':_0x3894d3[_0x1fcd('0x4a')]['id']}})[_0x1fcd('0x2a')](handleEntityNotFound(_0x5a2b22,null))[_0x1fcd('0x2a')](function(_0x2f3151){if(_0x2f3151){_0x3207dc=_0x2f3151[_0x1fcd('0x2c')]({'plain':!![]});_0x50e001['model']=_[_0x1fcd('0x38')](db[_0x1fcd('0x59')]['rawAttributes']);_0x50e001[_0x1fcd('0x39')]=_[_0x1fcd('0x38')](_0x3894d3[_0x1fcd('0x39')]);_0x50e001[_0x1fcd('0x3a')]=_[_0x1fcd('0x3b')](_0x50e001[_0x1fcd('0x36')],_0x50e001[_0x1fcd('0x39')]);_0x292747[_0x1fcd('0x3c')]=_[_0x1fcd('0x3b')](_0x50e001[_0x1fcd('0x36')],qs[_0x1fcd('0x4b')](_0x3894d3[_0x1fcd('0x39')][_0x1fcd('0x4b')]));_0x292747['attributes']=_0x292747[_0x1fcd('0x3c')][_0x1fcd('0x3d')]?_0x292747[_0x1fcd('0x3c')]:_0x50e001['model'];if(!_0x3894d3[_0x1fcd('0x39')][_0x1fcd('0x3e')](_0x1fcd('0x3f'))){_0x292747[_0x1fcd('0x21')]=qs[_0x1fcd('0x21')](_0x3894d3[_0x1fcd('0x39')][_0x1fcd('0x21')]);_0x292747[_0x1fcd('0x1f')]=qs[_0x1fcd('0x1f')](_0x3894d3['query'][_0x1fcd('0x1f')]);}_0x292747[_0x1fcd('0x40')]=qs[_0x1fcd('0x41')](_0x3894d3['query'][_0x1fcd('0x41')]);_0x292747['where']=qs[_0x1fcd('0x3a')](_[_0x1fcd('0x43')](_0x3894d3[_0x1fcd('0x39')],_0x50e001[_0x1fcd('0x3a')]));_0x292747[_0x1fcd('0x42')][_0x1fcd('0x5a')]=_0x2f3151['id'];if(_0x3894d3['query'][_0x1fcd('0x45')]){_0x292747[_0x1fcd('0x42')]=_['merge'](_0x292747[_0x1fcd('0x42')],{'$or':_[_0x1fcd('0x37')](_0x292747[_0x1fcd('0x3c')],function(_0x521189){var _0x5cc50f={};_0x5cc50f[_0x521189]={'$like':'%'+_0x3894d3['query'][_0x1fcd('0x45')]+'%'};return _0x5cc50f;})});}_0x292747=_[_0x1fcd('0x44')]({},_0x292747,_0x3894d3['options']);return db[_0x1fcd('0x59')][_0x1fcd('0x46')](_0x292747);}})['then'](function(_0xdc6378){if(_0xdc6378){return db['User'][_0x1fcd('0x5b')]({'where':{'id':_[_0x1fcd('0x37')](_0xdc6378,_0x1fcd('0x5c')),'role':_0x1fcd('0x5d')},'attributes':['id','name',_0x1fcd('0x5e'),_0x1fcd('0x5f'),_0x1fcd('0x60')]});}})[_0x1fcd('0x2a')](function(_0x5e37c2){if(_0x5e37c2){return{'count':_0x5e37c2['count'],'rows':_[_0x1fcd('0x37')](_0x5e37c2[_0x1fcd('0x47')],function(_0x3b7449){return{'membername':_0x3b7449['name'],'UserId':_0x3b7449['id'],'queue_name':_0x3207dc[_0x1fcd('0x2f')],'OpenchannelQueueId':_0x3207dc['id'],'interface':util[_0x1fcd('0x61')]('%s/%s',_0x1fcd('0x62'),_0x3b7449[_0x1fcd('0x2f')]),'penalty':0x0,'paused':_0x3b7449[_0x1fcd('0x5e')],'createdAt':_0x3b7449[_0x1fcd('0x60')],'updatedAt':_0x3b7449[_0x1fcd('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x5a2b22,_0x292747))[_0x1fcd('0x48')](handleError(_0x5a2b22,null));};exports[_0x1fcd('0x63')]=function(_0x3a343d,_0x4851e7,_0x299e60){var _0x43c96b={};var _0x1bf584={};var _0x4f746e;var _0x245811;return db[_0x1fcd('0x31')]['findOne']({'where':{'id':_0x3a343d['params']['id']}})['then'](handleEntityNotFound(_0x4851e7,null))[_0x1fcd('0x2a')](function(_0x38f859){if(_0x38f859){_0x4f746e=_0x38f859;_0x1bf584[_0x1fcd('0x36')]=_['keys'](db[_0x1fcd('0x64')][_0x1fcd('0x32')]);_0x1bf584[_0x1fcd('0x39')]=_[_0x1fcd('0x38')](_0x3a343d[_0x1fcd('0x39')]);_0x1bf584[_0x1fcd('0x3a')]=_['intersection'](_0x1bf584['model'],_0x1bf584['query']);_0x43c96b[_0x1fcd('0x3c')]=_['intersection'](_0x1bf584[_0x1fcd('0x36')],qs[_0x1fcd('0x4b')](_0x3a343d[_0x1fcd('0x39')][_0x1fcd('0x4b')]));_0x43c96b['attributes']=_0x43c96b['attributes'][_0x1fcd('0x3d')]?_0x43c96b[_0x1fcd('0x3c')]:_0x1bf584['model'];_0x43c96b[_0x1fcd('0x40')]=qs[_0x1fcd('0x41')](_0x3a343d[_0x1fcd('0x39')][_0x1fcd('0x41')]);_0x43c96b[_0x1fcd('0x42')]=qs[_0x1fcd('0x3a')](_['pick'](_0x3a343d[_0x1fcd('0x39')],_0x1bf584[_0x1fcd('0x3a')]));if(_0x3a343d[_0x1fcd('0x39')][_0x1fcd('0x45')]){_0x43c96b[_0x1fcd('0x42')]=_[_0x1fcd('0x44')](_0x43c96b[_0x1fcd('0x42')],{'$or':_['map'](_0x43c96b[_0x1fcd('0x3c')],function(_0x45a6a7){var _0xc11382={};_0xc11382[_0x45a6a7]={'$like':'%'+_0x3a343d[_0x1fcd('0x39')][_0x1fcd('0x45')]+'%'};return _0xc11382;})});}_0x43c96b=_[_0x1fcd('0x44')]({},_0x43c96b,_0x3a343d[_0x1fcd('0x4e')]);return _0x4f746e[_0x1fcd('0x63')](_0x43c96b);}})[_0x1fcd('0x2a')](function(_0x163798){if(_0x163798){_0x245811=_0x163798[_0x1fcd('0x3d')];if(!_0x3a343d[_0x1fcd('0x39')]['hasOwnProperty']('nolimit')){_0x43c96b['limit']=qs[_0x1fcd('0x21')](_0x3a343d[_0x1fcd('0x39')][_0x1fcd('0x21')]);_0x43c96b[_0x1fcd('0x1f')]=qs[_0x1fcd('0x1f')](_0x3a343d['query'][_0x1fcd('0x1f')]);}return _0x4f746e[_0x1fcd('0x63')](_0x43c96b);}})[_0x1fcd('0x2a')](function(_0x20bedc){if(_0x20bedc){return _0x20bedc?{'count':_0x245811,'rows':_0x20bedc}:null;}})['then'](respondWithResult(_0x4851e7,null))['catch'](handleError(_0x4851e7,null));};exports[_0x1fcd('0x65')]=function(_0x3485ce,_0x5c7add,_0xb0325f){var _0x314584=_0x3485ce[_0x1fcd('0x51')][_0x1fcd('0x66')];return db[_0x1fcd('0x64')][_0x1fcd('0x46')]({'where':{'id':_0x314584},'attributes':['id'],'include':[{'model':db[_0x1fcd('0x67')],'as':'Agents','attributes':['id',_0x1fcd('0x2f'),_0x1fcd('0x68'),_0x1fcd('0x69'),_0x1fcd('0x6a')],'raw':!![]}]})[_0x1fcd('0x2a')](function(_0x906079){if(_0x906079){var _0x32f2e0=_['flatMap'](_0x906079,function(_0x39c762){var _0x3964c4=_0x39c762[_0x1fcd('0x2c')]({'plain':!![]});return _0x3964c4[_0x1fcd('0x6b')];});return db['OpenchannelQueue'][_0x1fcd('0x4f')]({'where':{'id':_0x3485ce[_0x1fcd('0x4a')]['id']}})[_0x1fcd('0x2a')](function(_0x503501){return db[_0x1fcd('0x6c')][_0x1fcd('0x6d')](function(_0xff640){return _0x503501[_0x1fcd('0x65')](_0x314584,{'transaction':_0xff640})[_0x1fcd('0x2a')](function(){return BPromise[_0x1fcd('0x6e')](_0x32f2e0,function(_0x40e51a){return db[_0x1fcd('0x59')]['findOrCreate']({'where':{'UserId':_0x40e51a['id'],'OpenchannelQueueId':_0x3485ce[_0x1fcd('0x4a')]['id']},'transaction':_0xff640});});})[_0x1fcd('0x2a')](function(){_0x32f2e0['forEach'](function(_0x378982){socket[_0x1fcd('0x6f')](_0x1fcd('0x70'),{'UserId':_0x378982['id'],'OpenchannelQueueId':_0x503501['id']});});});});});}})[_0x1fcd('0x2a')](respondWithStatusCode(_0x5c7add,null))[_0x1fcd('0x48')](handleError(_0x5c7add,null));};exports[_0x1fcd('0x71')]=function(_0x4963c1,_0x2e9515,_0x165e35){return db[_0x1fcd('0x64')][_0x1fcd('0x46')]({'where':{'id':_0x4963c1['query'][_0x1fcd('0x66')]},'attributes':['id'],'include':[{'model':db[_0x1fcd('0x67')],'as':_0x1fcd('0x6b'),'attributes':['id'],'raw':!![]}]})[_0x1fcd('0x2a')](handleEntityNotFound(_0x2e9515,null))[_0x1fcd('0x2a')](function(_0x4d93d4){var _0x1f3d39=_[_0x1fcd('0x37')](_0x4d93d4,'id');var _0x2e1218=[];var _0x60b053=[];var _0x3f910a=squel[_0x1fcd('0x72')]();_0x3f910a[_0x1fcd('0x73')](_0x1fcd('0x74'))[_0x1fcd('0x75')]('team_has_openchannel_queues','tq')[_0x1fcd('0x76')](_0x1fcd('0x77'),'ut',_0x1fcd('0x78'))[_0x1fcd('0x42')](_0x1fcd('0x79'),_0x4963c1[_0x1fcd('0x4a')]['id']);for(var _0x51d504=0x0;_0x51d504<_0x4d93d4[_0x1fcd('0x3d')];_0x51d504+=0x1){let _0x4fd94d=_0x4d93d4[_0x51d504];for(var _0xfae7e0=0x0;_0xfae7e0<_0x4fd94d['Agents'][_0x1fcd('0x3d')];_0xfae7e0+=0x1){let _0xfe3eab=_0x4fd94d[_0x1fcd('0x6b')][_0xfae7e0];var _0x31c6fc=_0x3f910a[_0x1fcd('0x7a')]();_0x31c6fc['where']('ut.UserId\x20=\x20?',_0xfe3eab['id']);_0x60b053['push'](db[_0x1fcd('0x6c')][_0x1fcd('0x39')](_0x31c6fc['toString'](),{'type':db['sequelize']['QueryTypes'][_0x1fcd('0x7b')]})[_0x1fcd('0x2a')](function(_0xafdc3){if(_0xafdc3['length']===0x1){return _0xfe3eab['id'];}else{var _0x8b6e6b=_[_0x1fcd('0x7c')](_[_0x1fcd('0x37')](_0xafdc3,_0x1fcd('0x7d')),function(_0x4a2d14){return _[_0x1fcd('0x7e')](_0x1f3d39,_0x4a2d14);});if(_0x8b6e6b){return _0xfe3eab['id'];}}}));}}return BPromise[_0x1fcd('0x7f')](_0x60b053)[_0x1fcd('0x2a')](function(_0x3a1b3e){_0x2e1218=_(_0x2e1218)[_0x1fcd('0x80')](_0x3a1b3e)['compact']()[_0x1fcd('0x81')]();return db['OpenchannelQueue'][_0x1fcd('0x4f')]({'where':{'id':_0x4963c1[_0x1fcd('0x4a')]['id']}})['then'](function(_0x57a789){return db['sequelize'][_0x1fcd('0x6d')](function(_0x548099){return _0x57a789[_0x1fcd('0x71')](_0x4963c1[_0x1fcd('0x39')][_0x1fcd('0x66')],{'transaction':_0x548099})[_0x1fcd('0x2a')](function(){if(!_[_0x1fcd('0x82')](_0x2e1218)){return _0x57a789['removeAgents'](_0x2e1218,{'transaction':_0x548099});}})[_0x1fcd('0x2a')](function(){_0x2e1218[_0x1fcd('0x83')](function(_0x52e30f){socket[_0x1fcd('0x6f')]('userOpenchannelQueue:remove',{'UserId':_0x52e30f,'OpenchannelQueueId':_0x57a789['id']});});});});});});})['then'](respondWithStatusCode(_0x2e9515,null))[_0x1fcd('0x48')](handleError(_0x2e9515,null));};exports[_0x1fcd('0x84')]=function(_0x2ba53,_0x2f27f5,_0x20c1ff){return db[_0x1fcd('0x31')][_0x1fcd('0x4f')]({'where':{'id':_0x2ba53['params']['id']}})['then'](handleEntityNotFound(_0x2f27f5,null))[_0x1fcd('0x2a')](function(_0x362e73){if(_0x362e73){return _0x362e73[_0x1fcd('0x84')](_0x2ba53['body'][_0x1fcd('0x66')],_[_0x1fcd('0x85')](_0x2ba53['body'],[_0x1fcd('0x66'),'id'])||{})[_0x1fcd('0x86')](function(_0x1f421a){for(var _0x5a6d1d=0x0;_0x5a6d1d<_0x2ba53[_0x1fcd('0x51')][_0x1fcd('0x66')][_0x1fcd('0x3d')];_0x5a6d1d+=0x1){socket['emit'](_0x1fcd('0x70'),{'UserId':Number(_0x2ba53['body'][_0x1fcd('0x66')][_0x5a6d1d]),'OpenchannelQueueId':Number(_0x2ba53[_0x1fcd('0x4a')]['id'])});}return _0x1f421a;});}})[_0x1fcd('0x2a')](respondWithResult(_0x2f27f5,null))[_0x1fcd('0x48')](handleError(_0x2f27f5,null));};exports[_0x1fcd('0x87')]=function(_0x257484,_0x575515,_0x240e8a){return db[_0x1fcd('0x31')][_0x1fcd('0x4f')]({'where':{'id':_0x257484[_0x1fcd('0x4a')]['id']}})['then'](handleEntityNotFound(_0x575515,null))[_0x1fcd('0x2a')](function(_0x463ad0){if(_0x463ad0){return _0x463ad0['removeAgents'](_0x257484['query'][_0x1fcd('0x66')])[_0x1fcd('0x2a')](function(){if(_[_0x1fcd('0x88')](_0x257484['query'][_0x1fcd('0x66')])){for(var _0x31e23e=0x0;_0x31e23e<_0x257484[_0x1fcd('0x39')][_0x1fcd('0x66')]['length'];_0x31e23e+=0x1){socket[_0x1fcd('0x6f')](_0x1fcd('0x89'),{'UserId':Number(_0x257484['query']['ids'][_0x31e23e]),'OpenchannelQueueId':Number(_0x257484[_0x1fcd('0x4a')]['id'])});}}else{socket[_0x1fcd('0x6f')](_0x1fcd('0x89'),{'UserId':Number(_0x257484[_0x1fcd('0x39')]['ids']),'OpenchannelQueueId':Number(_0x257484['params']['id'])});}});}})[_0x1fcd('0x2a')](respondWithStatusCode(_0x575515,null))[_0x1fcd('0x48')](handleError(_0x575515,null));};exports[_0x1fcd('0x8a')]=function(_0x5a0435,_0x15a13c,_0xfcbea6){var _0x2ce30c={};var _0x1dccdf={};var _0x2a951c;var _0x2b43d2;return db[_0x1fcd('0x31')][_0x1fcd('0x58')]({'where':{'id':_0x5a0435[_0x1fcd('0x4a')]['id']}})[_0x1fcd('0x2a')](handleEntityNotFound(_0x15a13c,null))[_0x1fcd('0x2a')](function(_0x268fb8){if(_0x268fb8){_0x2a951c=_0x268fb8;_0x1dccdf[_0x1fcd('0x36')]=_[_0x1fcd('0x38')](db[_0x1fcd('0x67')][_0x1fcd('0x32')]);_0x1dccdf[_0x1fcd('0x39')]=_[_0x1fcd('0x38')](_0x5a0435['query']);_0x1dccdf['filters']=_[_0x1fcd('0x3b')](_0x1dccdf[_0x1fcd('0x36')],_0x1dccdf[_0x1fcd('0x39')]);_0x2ce30c['attributes']=_[_0x1fcd('0x3b')](_0x1dccdf[_0x1fcd('0x36')],qs[_0x1fcd('0x4b')](_0x5a0435[_0x1fcd('0x39')][_0x1fcd('0x4b')]));_0x2ce30c[_0x1fcd('0x3c')]=_0x2ce30c[_0x1fcd('0x3c')][_0x1fcd('0x3d')]?_0x2ce30c['attributes']:_0x1dccdf['model'];_0x2ce30c[_0x1fcd('0x40')]=qs[_0x1fcd('0x41')](_0x5a0435[_0x1fcd('0x39')][_0x1fcd('0x41')]);_0x2ce30c[_0x1fcd('0x42')]=qs[_0x1fcd('0x3a')](_[_0x1fcd('0x43')](_0x5a0435['query'],_0x1dccdf[_0x1fcd('0x3a')]));if(_0x5a0435['query'][_0x1fcd('0x45')]){_0x2ce30c[_0x1fcd('0x42')]=_[_0x1fcd('0x44')](_0x2ce30c['where'],{'$or':_[_0x1fcd('0x37')](_0x2ce30c[_0x1fcd('0x3c')],function(_0x8c6ab1){var _0x67bb94={};_0x67bb94[_0x8c6ab1]={'$like':'%'+_0x5a0435[_0x1fcd('0x39')]['filter']+'%'};return _0x67bb94;})});}_0x2ce30c=_['merge']({},_0x2ce30c,_0x5a0435[_0x1fcd('0x4e')]);return _0x2a951c['getAgents'](_0x2ce30c);}})['then'](function(_0x1061d2){if(_0x1061d2){_0x2b43d2=_0x1061d2[_0x1fcd('0x3d')];if(!_0x5a0435[_0x1fcd('0x39')][_0x1fcd('0x3e')](_0x1fcd('0x3f'))){_0x2ce30c[_0x1fcd('0x21')]=qs[_0x1fcd('0x21')](_0x5a0435[_0x1fcd('0x39')][_0x1fcd('0x21')]);_0x2ce30c[_0x1fcd('0x1f')]=qs[_0x1fcd('0x1f')](_0x5a0435[_0x1fcd('0x39')][_0x1fcd('0x1f')]);}return _0x2a951c[_0x1fcd('0x8a')](_0x2ce30c);}})[_0x1fcd('0x2a')](function(_0x3f5630){if(_0x3f5630){return _0x3f5630?{'count':_0x2b43d2,'rows':_0x3f5630}:null;}})[_0x1fcd('0x2a')](respondWithResult(_0x15a13c,null))[_0x1fcd('0x48')](handleError(_0x15a13c,null));};