Built motion from commit e0fa946e.|2.6.5
[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 _0x2a09=['openchannelPause','updatedAt','createdAt','format','SIP','getTeams','findOne','Team','options','ids','Agents','online','voicePause','flatMap','sequelize','transaction','addTeams','each','findOrCreate','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','every','includes','compact','isEmpty','removeAgents','forEach','addAgents','omit','isArray','userOpenchannelQueue:remove','getAgents','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','./openchannelQueue.socket','register','status','json','offset','undefined','limit','count','Content-Range','save','then','destroy','get','UserProfileResource','end','sendStatus','error','stack','name','index','map','OpenchannelQueue','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','include','findAll','catch','rawAttributes','filters','includeAll','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','getMembers','UserOpenchannelQueue','OpenchannelQueueId','User','findAndCountAll','UserId','agent'];(function(_0x59f0ff,_0x2b9d67){var _0x28e782=function(_0x437e09){while(--_0x437e09){_0x59f0ff['push'](_0x59f0ff['shift']());}};_0x28e782(++_0x2b9d67);}(_0x2a09,0xbb));var _0x92a0=function(_0x2ece17,_0x5a6e72){_0x2ece17=_0x2ece17-0x0;var _0xdd322f=_0x2a09[_0x2ece17];return _0xdd322f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x92a0('0x0'));var zipdir=require(_0x92a0('0x1'));var jsonpatch=require(_0x92a0('0x2'));var rp=require(_0x92a0('0x3'));var moment=require(_0x92a0('0x4'));var BPromise=require(_0x92a0('0x5'));var Mustache=require(_0x92a0('0x6'));var util=require(_0x92a0('0x7'));var path=require(_0x92a0('0x8'));var sox=require(_0x92a0('0x9'));var csv=require(_0x92a0('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x92a0('0xb'));var _=require('lodash');var squel=require(_0x92a0('0xc'));var crypto=require('crypto');var jsforce=require(_0x92a0('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x92a0('0xe'));var Papa=require('papaparse');var Redis=require(_0x92a0('0xf'));var authService=require(_0x92a0('0x10'));var qs=require(_0x92a0('0x11'));var as=require(_0x92a0('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x92a0('0x13'));var utils=require(_0x92a0('0x14'));var config=require(_0x92a0('0x15'));var licenseUtil=require(_0x92a0('0x16'));var db=require(_0x92a0('0x17'))['db'];config[_0x92a0('0x18')]=_['defaults'](config[_0x92a0('0x18')],{'host':_0x92a0('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x92a0('0x1a'))[_0x92a0('0x1b')](socket);function respondWithStatusCode(_0x1a0181,_0x178f7a){_0x178f7a=_0x178f7a||0xcc;return function(_0x235352){if(_0x235352){return _0x1a0181['sendStatus'](_0x178f7a);}return _0x1a0181[_0x92a0('0x1c')](_0x178f7a)['end']();};}function respondWithResult(_0x16adef,_0x37120f){_0x37120f=_0x37120f||0xc8;return function(_0x3572cf){if(_0x3572cf){return _0x16adef[_0x92a0('0x1c')](_0x37120f)[_0x92a0('0x1d')](_0x3572cf);}};}function respondWithFilteredResult(_0x1b6f5a,_0x20d474){return function(_0x4cc124){if(_0x4cc124){var _0x5667ac=typeof _0x20d474[_0x92a0('0x1e')]===_0x92a0('0x1f')&&typeof _0x20d474[_0x92a0('0x20')]==='undefined';var _0x12a1e5=_0x4cc124[_0x92a0('0x21')];var _0x57170b=_0x5667ac?0x0:_0x20d474[_0x92a0('0x1e')];var _0xc47bd=_0x5667ac?_0x4cc124['count']:_0x20d474[_0x92a0('0x1e')]+_0x20d474['limit'];var _0x555b69;if(_0xc47bd>=_0x12a1e5){_0xc47bd=_0x12a1e5;_0x555b69=0xc8;}else{_0x555b69=0xce;}_0x1b6f5a[_0x92a0('0x1c')](_0x555b69);return _0x1b6f5a['set'](_0x92a0('0x22'),_0x57170b+'-'+_0xc47bd+'/'+_0x12a1e5)[_0x92a0('0x1d')](_0x4cc124);}return null;};}function patchUpdates(_0x3de9e7){return function(_0x3ef9a2){try{jsonpatch['apply'](_0x3ef9a2,_0x3de9e7,!![]);}catch(_0x12ba88){return BPromise['reject'](_0x12ba88);}return _0x3ef9a2[_0x92a0('0x23')]();};}function saveUpdates(_0xd86e2a,_0x49155a){return function(_0x4bab4f){if(_0x4bab4f){return _0x4bab4f['update'](_0xd86e2a)[_0x92a0('0x24')](function(_0x248d82){return _0x248d82;});}return null;};}function removeEntity(_0x1b2b05,_0x142554){return function(_0x295ce2){if(_0x295ce2){return _0x295ce2[_0x92a0('0x25')]()[_0x92a0('0x24')](function(){var _0xfe3b8e=_0x295ce2[_0x92a0('0x26')]({'plain':!![]});var _0x5ac136='OpenchannelQueues';return db[_0x92a0('0x27')][_0x92a0('0x25')]({'where':{'type':_0x5ac136,'resourceId':_0xfe3b8e['id']}})[_0x92a0('0x24')](function(){return _0x295ce2;});})['then'](function(){_0x1b2b05['status'](0xcc)[_0x92a0('0x28')]();});}};}function handleEntityNotFound(_0x20e914,_0x1ab5ab){return function(_0x1e00fe){if(!_0x1e00fe){_0x20e914[_0x92a0('0x29')](0x194);}return _0x1e00fe;};}function handleError(_0x368425,_0x1dbe01){_0x1dbe01=_0x1dbe01||0x1f4;return function(_0x369566){logger[_0x92a0('0x2a')](_0x369566[_0x92a0('0x2b')]);if(_0x369566[_0x92a0('0x2c')]){delete _0x369566[_0x92a0('0x2c')];}_0x368425['status'](_0x1dbe01)['send'](_0x369566);};}exports[_0x92a0('0x2d')]=function(_0x434b6b,_0x1cc505){var _0x313e11={},_0x5b7596={},_0x1e1f39={'count':0x0,'rows':[]};var _0x90d469=_[_0x92a0('0x2e')](db[_0x92a0('0x2f')]['rawAttributes'],function(_0x57108a){return{'name':_0x57108a[_0x92a0('0x30')],'type':_0x57108a[_0x92a0('0x31')][_0x92a0('0x32')]};});_0x5b7596[_0x92a0('0x33')]=_[_0x92a0('0x2e')](_0x90d469,_0x92a0('0x2c'));_0x5b7596[_0x92a0('0x34')]=_[_0x92a0('0x35')](_0x434b6b[_0x92a0('0x34')]);_0x5b7596['filters']=_[_0x92a0('0x36')](_0x5b7596[_0x92a0('0x33')],_0x5b7596[_0x92a0('0x34')]);_0x313e11[_0x92a0('0x37')]=_[_0x92a0('0x36')](_0x5b7596[_0x92a0('0x33')],qs[_0x92a0('0x38')](_0x434b6b[_0x92a0('0x34')][_0x92a0('0x38')]));_0x313e11[_0x92a0('0x37')]=_0x313e11['attributes'][_0x92a0('0x39')]?_0x313e11[_0x92a0('0x37')]:_0x5b7596[_0x92a0('0x33')];if(!_0x434b6b[_0x92a0('0x34')][_0x92a0('0x3a')](_0x92a0('0x3b'))){_0x313e11[_0x92a0('0x20')]=qs[_0x92a0('0x20')](_0x434b6b[_0x92a0('0x34')][_0x92a0('0x20')]);_0x313e11[_0x92a0('0x1e')]=qs[_0x92a0('0x1e')](_0x434b6b['query'][_0x92a0('0x1e')]);}_0x313e11[_0x92a0('0x3c')]=qs[_0x92a0('0x3d')](_0x434b6b['query']['sort']);_0x313e11[_0x92a0('0x3e')]=qs['filters'](_[_0x92a0('0x3f')](_0x434b6b[_0x92a0('0x34')],_0x5b7596['filters']),_0x90d469);if(_0x434b6b[_0x92a0('0x34')][_0x92a0('0x40')]){_0x313e11[_0x92a0('0x3e')]=_[_0x92a0('0x41')](_0x313e11[_0x92a0('0x3e')],{'$or':_[_0x92a0('0x2e')](_0x90d469,function(_0x54a87e){if(_0x54a87e[_0x92a0('0x31')]!==_0x92a0('0x42')){var _0x5e3e46={};_0x5e3e46[_0x54a87e[_0x92a0('0x2c')]]={'$like':'%'+_0x434b6b[_0x92a0('0x34')][_0x92a0('0x40')]+'%'};return _0x5e3e46;}})});}_0x313e11=_['merge']({},_0x313e11,_0x434b6b['options']);var _0xcffac8={'where':_0x313e11['where']};return db[_0x92a0('0x2f')][_0x92a0('0x21')](_0xcffac8)[_0x92a0('0x24')](function(_0x3ed417){_0x1e1f39[_0x92a0('0x21')]=_0x3ed417;if(_0x434b6b['query']['includeAll']){_0x313e11[_0x92a0('0x43')]=[{'all':!![]}];}return db[_0x92a0('0x2f')][_0x92a0('0x44')](_0x313e11);})[_0x92a0('0x24')](function(_0xc9df7d){_0x1e1f39['rows']=_0xc9df7d;return _0x1e1f39;})[_0x92a0('0x24')](respondWithFilteredResult(_0x1cc505,_0x313e11))[_0x92a0('0x45')](handleError(_0x1cc505,null));};exports['show']=function(_0x17f5f0,_0xd43e7a){var _0x3a232d={'raw':!![],'where':{'id':_0x17f5f0['params']['id']}},_0x1275e2={};_0x1275e2['model']=_[_0x92a0('0x35')](db[_0x92a0('0x2f')][_0x92a0('0x46')]);_0x1275e2[_0x92a0('0x34')]=_[_0x92a0('0x35')](_0x17f5f0['query']);_0x1275e2[_0x92a0('0x47')]=_[_0x92a0('0x36')](_0x1275e2[_0x92a0('0x33')],_0x1275e2['query']);_0x3a232d[_0x92a0('0x37')]=_['intersection'](_0x1275e2['model'],qs[_0x92a0('0x38')](_0x17f5f0[_0x92a0('0x34')][_0x92a0('0x38')]));_0x3a232d['attributes']=_0x3a232d[_0x92a0('0x37')][_0x92a0('0x39')]?_0x3a232d[_0x92a0('0x37')]:_0x1275e2[_0x92a0('0x33')];if(_0x17f5f0[_0x92a0('0x34')][_0x92a0('0x48')]){_0x3a232d[_0x92a0('0x43')]=[{'all':!![]}];}_0x3a232d=_['merge']({},_0x3a232d,_0x17f5f0['options']);return db[_0x92a0('0x2f')][_0x92a0('0x49')](_0x3a232d)[_0x92a0('0x24')](handleEntityNotFound(_0xd43e7a,null))[_0x92a0('0x24')](respondWithResult(_0xd43e7a,null))['catch'](handleError(_0xd43e7a,null));};exports['create']=function(_0x4a2f66,_0x59c090){return db['OpenchannelQueue']['create'](_0x4a2f66[_0x92a0('0x4a')],{})['then'](function(_0x471006){var _0x2d76dd=_0x4a2f66[_0x92a0('0x4b')][_0x92a0('0x26')]({'plain':!![]});if(!_0x2d76dd)throw new Error(_0x92a0('0x4c'));if(_0x2d76dd[_0x92a0('0x4d')]===_0x92a0('0x4b')){var _0x272c6f=_0x471006[_0x92a0('0x26')]({'plain':!![]});var _0x516e99='OpenchannelQueues';return db[_0x92a0('0x4e')][_0x92a0('0x49')]({'where':{'name':_0x516e99,'userProfileId':_0x2d76dd[_0x92a0('0x4f')]},'raw':!![]})[_0x92a0('0x24')](function(_0x2a1731){if(_0x2a1731&&_0x2a1731[_0x92a0('0x50')]===0x0){return db['UserProfileResource'][_0x92a0('0x51')]({'name':_0x272c6f['name'],'resourceId':_0x272c6f['id'],'type':_0x2a1731[_0x92a0('0x2c')],'sectionId':_0x2a1731['id']},{})[_0x92a0('0x24')](function(){return _0x471006;});}else{return _0x471006;}})[_0x92a0('0x45')](function(_0x3d333e){logger['error'](_0x92a0('0x52'),_0x3d333e);throw _0x3d333e;});}return _0x471006;})[_0x92a0('0x24')](respondWithResult(_0x59c090,0xc9))[_0x92a0('0x45')](handleError(_0x59c090,null));};exports[_0x92a0('0x53')]=function(_0x58ee5b,_0x2acf2d){if(_0x58ee5b[_0x92a0('0x4a')]['id']){delete _0x58ee5b['body']['id'];}return db[_0x92a0('0x2f')]['find']({'where':{'id':_0x58ee5b['params']['id']}})[_0x92a0('0x24')](handleEntityNotFound(_0x2acf2d,null))[_0x92a0('0x24')](saveUpdates(_0x58ee5b[_0x92a0('0x4a')],null))[_0x92a0('0x24')](respondWithResult(_0x2acf2d,null))[_0x92a0('0x45')](handleError(_0x2acf2d,null));};exports[_0x92a0('0x25')]=function(_0x14a27d,_0x524341){return db['OpenchannelQueue'][_0x92a0('0x49')]({'where':{'id':_0x14a27d[_0x92a0('0x54')]['id']}})['then'](handleEntityNotFound(_0x524341,null))[_0x92a0('0x24')](removeEntity(_0x524341,null))['catch'](handleError(_0x524341,null));};exports[_0x92a0('0x55')]=function(_0x12239f,_0x468368){return db[_0x92a0('0x2f')][_0x92a0('0x55')]()[_0x92a0('0x24')](respondWithResult(_0x468368,null))[_0x92a0('0x45')](handleError(_0x468368,null));};exports[_0x92a0('0x56')]=function(_0x2aa107,_0x2853ed,_0x4384ba){var _0x79f20f={'raw':!![],'where':{}},_0x399167={},_0x5a05b1;return db[_0x92a0('0x2f')]['findOne']({'where':{'id':_0x2aa107[_0x92a0('0x54')]['id']}})['then'](handleEntityNotFound(_0x2853ed,null))[_0x92a0('0x24')](function(_0x9c8ec0){if(_0x9c8ec0){_0x5a05b1=_0x9c8ec0[_0x92a0('0x26')]({'plain':!![]});_0x399167['model']=_['keys'](db[_0x92a0('0x57')][_0x92a0('0x46')]);_0x399167[_0x92a0('0x34')]=_[_0x92a0('0x35')](_0x2aa107[_0x92a0('0x34')]);_0x399167[_0x92a0('0x47')]=_[_0x92a0('0x36')](_0x399167[_0x92a0('0x33')],_0x399167['query']);_0x79f20f[_0x92a0('0x37')]=_['intersection'](_0x399167[_0x92a0('0x33')],qs['fields'](_0x2aa107['query'][_0x92a0('0x38')]));_0x79f20f['attributes']=_0x79f20f[_0x92a0('0x37')][_0x92a0('0x39')]?_0x79f20f[_0x92a0('0x37')]:_0x399167[_0x92a0('0x33')];if(!_0x2aa107['query']['hasOwnProperty'](_0x92a0('0x3b'))){_0x79f20f[_0x92a0('0x20')]=qs[_0x92a0('0x20')](_0x2aa107[_0x92a0('0x34')][_0x92a0('0x20')]);_0x79f20f[_0x92a0('0x1e')]=qs[_0x92a0('0x1e')](_0x2aa107[_0x92a0('0x34')][_0x92a0('0x1e')]);}_0x79f20f[_0x92a0('0x3c')]=qs['sort'](_0x2aa107['query'][_0x92a0('0x3d')]);_0x79f20f[_0x92a0('0x3e')]=qs['filters'](_[_0x92a0('0x3f')](_0x2aa107[_0x92a0('0x34')],_0x399167[_0x92a0('0x47')]));_0x79f20f[_0x92a0('0x3e')][_0x92a0('0x58')]=_0x9c8ec0['id'];if(_0x2aa107[_0x92a0('0x34')][_0x92a0('0x40')]){_0x79f20f[_0x92a0('0x3e')]=_['merge'](_0x79f20f[_0x92a0('0x3e')],{'$or':_[_0x92a0('0x2e')](_0x79f20f[_0x92a0('0x37')],function(_0x11b9a4){var _0x520641={};_0x520641[_0x11b9a4]={'$like':'%'+_0x2aa107[_0x92a0('0x34')]['filter']+'%'};return _0x520641;})});}_0x79f20f=_[_0x92a0('0x41')]({},_0x79f20f,_0x2aa107['options']);return db[_0x92a0('0x57')][_0x92a0('0x44')](_0x79f20f);}})[_0x92a0('0x24')](function(_0x24c911){if(_0x24c911){return db[_0x92a0('0x59')][_0x92a0('0x5a')]({'where':{'id':_[_0x92a0('0x2e')](_0x24c911,_0x92a0('0x5b')),'role':_0x92a0('0x5c')},'attributes':['id',_0x92a0('0x2c'),_0x92a0('0x5d'),_0x92a0('0x5e'),_0x92a0('0x5f')]});}})[_0x92a0('0x24')](function(_0x43c644){if(_0x43c644){return{'count':_0x43c644['count'],'rows':_['map'](_0x43c644['rows'],function(_0x4a9f1c){return{'membername':_0x4a9f1c[_0x92a0('0x2c')],'UserId':_0x4a9f1c['id'],'queue_name':_0x5a05b1[_0x92a0('0x2c')],'OpenchannelQueueId':_0x5a05b1['id'],'interface':util[_0x92a0('0x60')]('%s/%s',_0x92a0('0x61'),_0x4a9f1c['name']),'penalty':0x0,'paused':_0x4a9f1c[_0x92a0('0x5d')],'createdAt':_0x4a9f1c[_0x92a0('0x5f')],'updatedAt':_0x4a9f1c[_0x92a0('0x5e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x92a0('0x24')](respondWithFilteredResult(_0x2853ed,_0x79f20f))[_0x92a0('0x45')](handleError(_0x2853ed,null));};exports[_0x92a0('0x62')]=function(_0x2310aa,_0xf732d,_0x589d70){var _0x1d0ff5={};var _0x733dcb={};var _0x606926;var _0x52a9c5;return db[_0x92a0('0x2f')][_0x92a0('0x63')]({'where':{'id':_0x2310aa[_0x92a0('0x54')]['id']}})[_0x92a0('0x24')](handleEntityNotFound(_0xf732d,null))[_0x92a0('0x24')](function(_0x55c108){if(_0x55c108){_0x606926=_0x55c108;_0x733dcb[_0x92a0('0x33')]=_[_0x92a0('0x35')](db[_0x92a0('0x64')]['rawAttributes']);_0x733dcb[_0x92a0('0x34')]=_[_0x92a0('0x35')](_0x2310aa[_0x92a0('0x34')]);_0x733dcb[_0x92a0('0x47')]=_[_0x92a0('0x36')](_0x733dcb['model'],_0x733dcb[_0x92a0('0x34')]);_0x1d0ff5[_0x92a0('0x37')]=_['intersection'](_0x733dcb[_0x92a0('0x33')],qs[_0x92a0('0x38')](_0x2310aa['query']['fields']));_0x1d0ff5[_0x92a0('0x37')]=_0x1d0ff5[_0x92a0('0x37')][_0x92a0('0x39')]?_0x1d0ff5[_0x92a0('0x37')]:_0x733dcb[_0x92a0('0x33')];_0x1d0ff5[_0x92a0('0x3c')]=qs['sort'](_0x2310aa[_0x92a0('0x34')]['sort']);_0x1d0ff5[_0x92a0('0x3e')]=qs[_0x92a0('0x47')](_['pick'](_0x2310aa['query'],_0x733dcb[_0x92a0('0x47')]));if(_0x2310aa['query'][_0x92a0('0x40')]){_0x1d0ff5[_0x92a0('0x3e')]=_[_0x92a0('0x41')](_0x1d0ff5[_0x92a0('0x3e')],{'$or':_[_0x92a0('0x2e')](_0x1d0ff5[_0x92a0('0x37')],function(_0x243199){var _0x23a004={};_0x23a004[_0x243199]={'$like':'%'+_0x2310aa[_0x92a0('0x34')][_0x92a0('0x40')]+'%'};return _0x23a004;})});}_0x1d0ff5=_[_0x92a0('0x41')]({},_0x1d0ff5,_0x2310aa[_0x92a0('0x65')]);return _0x606926[_0x92a0('0x62')](_0x1d0ff5);}})[_0x92a0('0x24')](function(_0x2399d1){if(_0x2399d1){_0x52a9c5=_0x2399d1['length'];if(!_0x2310aa[_0x92a0('0x34')][_0x92a0('0x3a')](_0x92a0('0x3b'))){_0x1d0ff5['limit']=qs[_0x92a0('0x20')](_0x2310aa[_0x92a0('0x34')][_0x92a0('0x20')]);_0x1d0ff5[_0x92a0('0x1e')]=qs[_0x92a0('0x1e')](_0x2310aa[_0x92a0('0x34')][_0x92a0('0x1e')]);}return _0x606926[_0x92a0('0x62')](_0x1d0ff5);}})[_0x92a0('0x24')](function(_0x25a229){if(_0x25a229){return _0x25a229?{'count':_0x52a9c5,'rows':_0x25a229}:null;}})[_0x92a0('0x24')](respondWithResult(_0xf732d,null))['catch'](handleError(_0xf732d,null));};exports['addTeams']=function(_0x14e176,_0x518749,_0x2d8ace){var _0x1dc0c5=_0x14e176['body'][_0x92a0('0x66')];return db[_0x92a0('0x64')][_0x92a0('0x44')]({'where':{'id':_0x1dc0c5},'attributes':['id'],'include':[{'model':db[_0x92a0('0x59')],'as':_0x92a0('0x67'),'attributes':['id',_0x92a0('0x2c'),_0x92a0('0x68'),_0x92a0('0x69'),'interface'],'raw':!![]}]})[_0x92a0('0x24')](function(_0x4c63e1){if(_0x4c63e1){var _0x32aa92=_[_0x92a0('0x6a')](_0x4c63e1,function(_0x2c3713){var _0x2d0d82=_0x2c3713[_0x92a0('0x26')]({'plain':!![]});return _0x2d0d82[_0x92a0('0x67')];});return db[_0x92a0('0x2f')][_0x92a0('0x49')]({'where':{'id':_0x14e176[_0x92a0('0x54')]['id']}})['then'](function(_0x1c7d7a){return db[_0x92a0('0x6b')][_0x92a0('0x6c')](function(_0x1ce511){return _0x1c7d7a[_0x92a0('0x6d')](_0x1dc0c5,{'transaction':_0x1ce511})[_0x92a0('0x24')](function(){return BPromise[_0x92a0('0x6e')](_0x32aa92,function(_0xb80102){return db['UserOpenchannelQueue'][_0x92a0('0x6f')]({'where':{'UserId':_0xb80102['id'],'OpenchannelQueueId':_0x14e176[_0x92a0('0x54')]['id']},'transaction':_0x1ce511});});})[_0x92a0('0x24')](function(){_0x32aa92['forEach'](function(_0x484f0f){socket[_0x92a0('0x70')](_0x92a0('0x71'),{'UserId':_0x484f0f['id'],'OpenchannelQueueId':_0x1c7d7a['id']});});});});});}})['then'](respondWithStatusCode(_0x518749,null))[_0x92a0('0x45')](handleError(_0x518749,null));};exports[_0x92a0('0x72')]=function(_0x1c1a08,_0x38cdf0,_0x14bf19){return db[_0x92a0('0x64')][_0x92a0('0x44')]({'where':{'id':_0x1c1a08[_0x92a0('0x34')][_0x92a0('0x66')]},'attributes':['id'],'include':[{'model':db[_0x92a0('0x59')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x92a0('0x24')](handleEntityNotFound(_0x38cdf0,null))[_0x92a0('0x24')](function(_0xfc608e){var _0x384899=_[_0x92a0('0x2e')](_0xfc608e,'id');var _0x1cd6e6=[];var _0xc0241f=[];var _0x2a381d=squel[_0x92a0('0x73')]();_0x2a381d[_0x92a0('0x74')](_0x92a0('0x75'))[_0x92a0('0x76')](_0x92a0('0x77'),'tq')[_0x92a0('0x78')](_0x92a0('0x79'),'ut',_0x92a0('0x7a'))[_0x92a0('0x3e')](_0x92a0('0x7b'),_0x1c1a08['params']['id']);for(var _0x1598fd=0x0;_0x1598fd<_0xfc608e[_0x92a0('0x39')];_0x1598fd+=0x1){let _0x241eed=_0xfc608e[_0x1598fd];for(var _0x50ef4c=0x0;_0x50ef4c<_0x241eed[_0x92a0('0x67')][_0x92a0('0x39')];_0x50ef4c+=0x1){let _0x33dfa2=_0x241eed[_0x92a0('0x67')][_0x50ef4c];var _0x209534=_0x2a381d[_0x92a0('0x7c')]();_0x209534[_0x92a0('0x3e')](_0x92a0('0x7d'),_0x33dfa2['id']);_0xc0241f['push'](db[_0x92a0('0x6b')][_0x92a0('0x34')](_0x209534[_0x92a0('0x7e')](),{'type':db[_0x92a0('0x6b')][_0x92a0('0x7f')][_0x92a0('0x80')]})[_0x92a0('0x24')](function(_0x5a0292){if(_0x5a0292[_0x92a0('0x39')]===0x1){return _0x33dfa2['id'];}else{var _0x3bf3b4=_[_0x92a0('0x81')](_['map'](_0x5a0292,'TeamId'),function(_0x170ad2){return _[_0x92a0('0x82')](_0x384899,_0x170ad2);});if(_0x3bf3b4){return _0x33dfa2['id'];}}}));}}return BPromise['all'](_0xc0241f)[_0x92a0('0x24')](function(_0x133eb7){_0x1cd6e6=_(_0x1cd6e6)['union'](_0x133eb7)[_0x92a0('0x83')]()['value']();return db['OpenchannelQueue']['find']({'where':{'id':_0x1c1a08[_0x92a0('0x54')]['id']}})[_0x92a0('0x24')](function(_0x156c63){return db[_0x92a0('0x6b')][_0x92a0('0x6c')](function(_0x5e56b6){return _0x156c63[_0x92a0('0x72')](_0x1c1a08[_0x92a0('0x34')][_0x92a0('0x66')],{'transaction':_0x5e56b6})[_0x92a0('0x24')](function(){if(!_[_0x92a0('0x84')](_0x1cd6e6)){return _0x156c63[_0x92a0('0x85')](_0x1cd6e6,{'transaction':_0x5e56b6});}})[_0x92a0('0x24')](function(){_0x1cd6e6[_0x92a0('0x86')](function(_0x2dd9fb){socket[_0x92a0('0x70')]('userOpenchannelQueue:remove',{'UserId':_0x2dd9fb,'OpenchannelQueueId':_0x156c63['id']});});});});});});})[_0x92a0('0x24')](respondWithStatusCode(_0x38cdf0,null))[_0x92a0('0x45')](handleError(_0x38cdf0,null));};exports[_0x92a0('0x87')]=function(_0x21566e,_0x5bf0e6,_0xf5f999){return db[_0x92a0('0x2f')]['find']({'where':{'id':_0x21566e[_0x92a0('0x54')]['id']}})[_0x92a0('0x24')](handleEntityNotFound(_0x5bf0e6,null))[_0x92a0('0x24')](function(_0x363732){if(_0x363732){return _0x363732[_0x92a0('0x87')](_0x21566e[_0x92a0('0x4a')][_0x92a0('0x66')],_[_0x92a0('0x88')](_0x21566e['body'],[_0x92a0('0x66'),'id'])||{})['spread'](function(_0x25a230){for(var _0x50ff23=0x0;_0x50ff23<_0x21566e['body'][_0x92a0('0x66')][_0x92a0('0x39')];_0x50ff23+=0x1){socket[_0x92a0('0x70')](_0x92a0('0x71'),{'UserId':Number(_0x21566e[_0x92a0('0x4a')][_0x92a0('0x66')][_0x50ff23]),'OpenchannelQueueId':Number(_0x21566e[_0x92a0('0x54')]['id'])});}return _0x25a230;});}})[_0x92a0('0x24')](respondWithResult(_0x5bf0e6,null))[_0x92a0('0x45')](handleError(_0x5bf0e6,null));};exports[_0x92a0('0x85')]=function(_0x23ee59,_0xe294e1,_0x1160d9){return db[_0x92a0('0x2f')][_0x92a0('0x49')]({'where':{'id':_0x23ee59[_0x92a0('0x54')]['id']}})[_0x92a0('0x24')](handleEntityNotFound(_0xe294e1,null))[_0x92a0('0x24')](function(_0x3c0648){if(_0x3c0648){return _0x3c0648['removeAgents'](_0x23ee59[_0x92a0('0x34')]['ids'])[_0x92a0('0x24')](function(){if(_[_0x92a0('0x89')](_0x23ee59[_0x92a0('0x34')][_0x92a0('0x66')])){for(var _0x18d5b0=0x0;_0x18d5b0<_0x23ee59[_0x92a0('0x34')]['ids']['length'];_0x18d5b0+=0x1){socket[_0x92a0('0x70')](_0x92a0('0x8a'),{'UserId':Number(_0x23ee59['query'][_0x92a0('0x66')][_0x18d5b0]),'OpenchannelQueueId':Number(_0x23ee59[_0x92a0('0x54')]['id'])});}}else{socket[_0x92a0('0x70')](_0x92a0('0x8a'),{'UserId':Number(_0x23ee59[_0x92a0('0x34')][_0x92a0('0x66')]),'OpenchannelQueueId':Number(_0x23ee59['params']['id'])});}});}})[_0x92a0('0x24')](respondWithStatusCode(_0xe294e1,null))[_0x92a0('0x45')](handleError(_0xe294e1,null));};exports['getAgents']=function(_0x49cb25,_0x923676,_0x4682e7){var _0xc8cb94={};var _0x47f902={};var _0x22fb0c;var _0x31a79f;return db[_0x92a0('0x2f')]['findOne']({'where':{'id':_0x49cb25['params']['id']}})[_0x92a0('0x24')](handleEntityNotFound(_0x923676,null))[_0x92a0('0x24')](function(_0x1a3836){if(_0x1a3836){_0x22fb0c=_0x1a3836;_0x47f902['model']=_[_0x92a0('0x35')](db[_0x92a0('0x59')][_0x92a0('0x46')]);_0x47f902[_0x92a0('0x34')]=_[_0x92a0('0x35')](_0x49cb25[_0x92a0('0x34')]);_0x47f902[_0x92a0('0x47')]=_[_0x92a0('0x36')](_0x47f902['model'],_0x47f902[_0x92a0('0x34')]);_0xc8cb94[_0x92a0('0x37')]=_[_0x92a0('0x36')](_0x47f902[_0x92a0('0x33')],qs[_0x92a0('0x38')](_0x49cb25[_0x92a0('0x34')][_0x92a0('0x38')]));_0xc8cb94[_0x92a0('0x37')]=_0xc8cb94['attributes'][_0x92a0('0x39')]?_0xc8cb94[_0x92a0('0x37')]:_0x47f902[_0x92a0('0x33')];_0xc8cb94[_0x92a0('0x3c')]=qs['sort'](_0x49cb25[_0x92a0('0x34')]['sort']);_0xc8cb94['where']=qs[_0x92a0('0x47')](_[_0x92a0('0x3f')](_0x49cb25[_0x92a0('0x34')],_0x47f902[_0x92a0('0x47')]));if(_0x49cb25['query'][_0x92a0('0x40')]){_0xc8cb94[_0x92a0('0x3e')]=_[_0x92a0('0x41')](_0xc8cb94[_0x92a0('0x3e')],{'$or':_[_0x92a0('0x2e')](_0xc8cb94['attributes'],function(_0x4e1208){var _0x149f0d={};_0x149f0d[_0x4e1208]={'$like':'%'+_0x49cb25[_0x92a0('0x34')][_0x92a0('0x40')]+'%'};return _0x149f0d;})});}_0xc8cb94=_[_0x92a0('0x41')]({},_0xc8cb94,_0x49cb25['options']);return _0x22fb0c[_0x92a0('0x8b')](_0xc8cb94);}})[_0x92a0('0x24')](function(_0x570cde){if(_0x570cde){_0x31a79f=_0x570cde['length'];if(!_0x49cb25['query'][_0x92a0('0x3a')](_0x92a0('0x3b'))){_0xc8cb94[_0x92a0('0x20')]=qs[_0x92a0('0x20')](_0x49cb25[_0x92a0('0x34')]['limit']);_0xc8cb94['offset']=qs[_0x92a0('0x1e')](_0x49cb25[_0x92a0('0x34')][_0x92a0('0x1e')]);}return _0x22fb0c[_0x92a0('0x8b')](_0xc8cb94);}})[_0x92a0('0x24')](function(_0xc498ad){if(_0xc498ad){return _0xc498ad?{'count':_0x31a79f,'rows':_0xc498ad}:null;}})['then'](respondWithResult(_0x923676,null))[_0x92a0('0x45')](handleError(_0x923676,null));};