Built motion from commit 85328c08.|2.5.50
[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 _0xb6ee=['hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','rows','catch','show','params','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','describe','getMembers','findOne','UserOpenchannelQueue','OpenchannelQueueId','findAll','User','findAndCountAll','agent','openchannelPause','updatedAt','createdAt','format','SIP','getTeams','ids','Team','Agents','interface','flatMap','sequelize','each','findOrCreate','forEach','emit','removeTeams','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?','QueryTypes','SELECT','every','TeamId','includes','all','compact','value','transaction','isEmpty','removeAgents','addAgents','spread','userOpenchannelQueue:save','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelQueue.socket','register','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','then','OpenchannelQueues','UserProfileResource','sendStatus','stack','name','send','index','OpenchannelQueue','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length'];(function(_0x1a450a,_0x4dcb72){var _0x4f8ef4=function(_0x44c6ba){while(--_0x44c6ba){_0x1a450a['push'](_0x1a450a['shift']());}};_0x4f8ef4(++_0x4dcb72);}(_0xb6ee,0x175));var _0xeb6e=function(_0x5eacb4,_0x5a6733){_0x5eacb4=_0x5eacb4-0x0;var _0x34dcbc=_0xb6ee[_0x5eacb4];return _0x34dcbc;};'use strict';var emlformat=require(_0xeb6e('0x0'));var rimraf=require(_0xeb6e('0x1'));var zipdir=require(_0xeb6e('0x2'));var jsonpatch=require(_0xeb6e('0x3'));var rp=require('request-promise');var moment=require(_0xeb6e('0x4'));var BPromise=require(_0xeb6e('0x5'));var Mustache=require(_0xeb6e('0x6'));var util=require(_0xeb6e('0x7'));var path=require(_0xeb6e('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xeb6e('0x9'));var fs=require('fs');var fs_extra=require(_0xeb6e('0xa'));var _=require(_0xeb6e('0xb'));var squel=require(_0xeb6e('0xc'));var crypto=require('crypto');var jsforce=require(_0xeb6e('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xeb6e('0xe'));var querystring=require(_0xeb6e('0xf'));var Papa=require(_0xeb6e('0x10'));var Redis=require(_0xeb6e('0x11'));var authService=require(_0xeb6e('0x12'));var qs=require(_0xeb6e('0x13'));var as=require(_0xeb6e('0x14'));var hardwareService=require(_0xeb6e('0x15'));var logger=require(_0xeb6e('0x16'))(_0xeb6e('0x17'));var utils=require('../../config/utils');var config=require(_0xeb6e('0x18'));var licenseUtil=require(_0xeb6e('0x19'));var db=require(_0xeb6e('0x1a'))['db'];config['redis']=_['defaults'](config[_0xeb6e('0x1b')],{'host':_0xeb6e('0x1c'),'port':0x18eb});var socket=require(_0xeb6e('0x1d'))(new Redis(config[_0xeb6e('0x1b')]));require(_0xeb6e('0x1e'))[_0xeb6e('0x1f')](socket);function respondWithStatusCode(_0x9c4636,_0x126242){_0x126242=_0x126242||0xcc;return function(_0x25d544){if(_0x25d544){return _0x9c4636['sendStatus'](_0x126242);}return _0x9c4636[_0xeb6e('0x20')](_0x126242)[_0xeb6e('0x21')]();};}function respondWithResult(_0x33d6af,_0xc4a3ce){_0xc4a3ce=_0xc4a3ce||0xc8;return function(_0x8f15c3){if(_0x8f15c3){return _0x33d6af[_0xeb6e('0x20')](_0xc4a3ce)[_0xeb6e('0x22')](_0x8f15c3);}};}function respondWithFilteredResult(_0x4f8952,_0x2bcac5){return function(_0x437bc6){if(_0x437bc6){var _0x9dd17=typeof _0x2bcac5['offset']===_0xeb6e('0x23')&&typeof _0x2bcac5[_0xeb6e('0x24')]==='undefined';var _0x1868d6=_0x437bc6[_0xeb6e('0x25')];var _0x15743d=_0x9dd17?0x0:_0x2bcac5[_0xeb6e('0x26')];var _0x47b3b1=_0x9dd17?_0x437bc6['count']:_0x2bcac5['offset']+_0x2bcac5[_0xeb6e('0x24')];var _0x5ce628;if(_0x47b3b1>=_0x1868d6){_0x47b3b1=_0x1868d6;_0x5ce628=0xc8;}else{_0x5ce628=0xce;}_0x4f8952[_0xeb6e('0x20')](_0x5ce628);return _0x4f8952[_0xeb6e('0x27')](_0xeb6e('0x28'),_0x15743d+'-'+_0x47b3b1+'/'+_0x1868d6)[_0xeb6e('0x22')](_0x437bc6);}return null;};}function patchUpdates(_0x348307){return function(_0x268b8c){try{jsonpatch[_0xeb6e('0x29')](_0x268b8c,_0x348307,!![]);}catch(_0x51ac80){return BPromise['reject'](_0x51ac80);}return _0x268b8c[_0xeb6e('0x2a')]();};}function saveUpdates(_0x53c56d,_0x4663be){return function(_0x1ec53f){if(_0x1ec53f){return _0x1ec53f[_0xeb6e('0x2b')](_0x53c56d)[_0xeb6e('0x2c')](function(_0x23d2a3){return _0x23d2a3;});}return null;};}function removeEntity(_0x30f4d1,_0x424398){return function(_0x2bde22){if(_0x2bde22){return _0x2bde22['destroy']()[_0xeb6e('0x2c')](function(){var _0x2901fa=_0x2bde22['get']({'plain':!![]});var _0x21790f=_0xeb6e('0x2d');return db[_0xeb6e('0x2e')]['destroy']({'where':{'type':_0x21790f,'resourceId':_0x2901fa['id']}})[_0xeb6e('0x2c')](function(){return _0x2bde22;});})[_0xeb6e('0x2c')](function(){_0x30f4d1['status'](0xcc)[_0xeb6e('0x21')]();});}};}function handleEntityNotFound(_0x5dba70,_0x2f84fa){return function(_0x15e14d){if(!_0x15e14d){_0x5dba70[_0xeb6e('0x2f')](0x194);}return _0x15e14d;};}function handleError(_0x50ba22,_0x91e9ce){_0x91e9ce=_0x91e9ce||0x1f4;return function(_0x431dd7){logger['error'](_0x431dd7[_0xeb6e('0x30')]);if(_0x431dd7[_0xeb6e('0x31')]){delete _0x431dd7[_0xeb6e('0x31')];}_0x50ba22['status'](_0x91e9ce)[_0xeb6e('0x32')](_0x431dd7);};}exports[_0xeb6e('0x33')]=function(_0x28d177,_0x36402a){var _0x11a598={},_0x47095a={},_0x5c3224={'count':0x0,'rows':[]};var _0xbbdfe8=_['map'](db[_0xeb6e('0x34')][_0xeb6e('0x35')],function(_0x3a89dc){return{'name':_0x3a89dc[_0xeb6e('0x36')],'type':_0x3a89dc['type'][_0xeb6e('0x37')]};});_0x47095a[_0xeb6e('0x38')]=_[_0xeb6e('0x39')](_0xbbdfe8,'name');_0x47095a[_0xeb6e('0x3a')]=_[_0xeb6e('0x3b')](_0x28d177[_0xeb6e('0x3a')]);_0x47095a[_0xeb6e('0x3c')]=_[_0xeb6e('0x3d')](_0x47095a[_0xeb6e('0x38')],_0x47095a[_0xeb6e('0x3a')]);_0x11a598[_0xeb6e('0x3e')]=_[_0xeb6e('0x3d')](_0x47095a[_0xeb6e('0x38')],qs[_0xeb6e('0x3f')](_0x28d177[_0xeb6e('0x3a')]['fields']));_0x11a598[_0xeb6e('0x3e')]=_0x11a598[_0xeb6e('0x3e')][_0xeb6e('0x40')]?_0x11a598[_0xeb6e('0x3e')]:_0x47095a[_0xeb6e('0x38')];if(!_0x28d177['query'][_0xeb6e('0x41')](_0xeb6e('0x42'))){_0x11a598['limit']=qs[_0xeb6e('0x24')](_0x28d177['query'][_0xeb6e('0x24')]);_0x11a598[_0xeb6e('0x26')]=qs[_0xeb6e('0x26')](_0x28d177['query'][_0xeb6e('0x26')]);}_0x11a598[_0xeb6e('0x43')]=qs[_0xeb6e('0x44')](_0x28d177['query'][_0xeb6e('0x44')]);_0x11a598[_0xeb6e('0x45')]=qs[_0xeb6e('0x3c')](_[_0xeb6e('0x46')](_0x28d177[_0xeb6e('0x3a')],_0x47095a[_0xeb6e('0x3c')]),_0xbbdfe8);if(_0x28d177['query'][_0xeb6e('0x47')]){_0x11a598[_0xeb6e('0x45')]=_[_0xeb6e('0x48')](_0x11a598[_0xeb6e('0x45')],{'$or':_[_0xeb6e('0x39')](_0xbbdfe8,function(_0x16d5c2){if(_0x16d5c2[_0xeb6e('0x49')]!==_0xeb6e('0x4a')){var _0x5ebd81={};_0x5ebd81[_0x16d5c2[_0xeb6e('0x31')]]={'$like':'%'+_0x28d177[_0xeb6e('0x3a')][_0xeb6e('0x47')]+'%'};return _0x5ebd81;}})});}_0x11a598=_[_0xeb6e('0x48')]({},_0x11a598,_0x28d177[_0xeb6e('0x4b')]);var _0x44ad56={'where':_0x11a598[_0xeb6e('0x45')]};return db['OpenchannelQueue'][_0xeb6e('0x25')](_0x44ad56)[_0xeb6e('0x2c')](function(_0x1b5dcc){_0x5c3224[_0xeb6e('0x25')]=_0x1b5dcc;if(_0x28d177[_0xeb6e('0x3a')][_0xeb6e('0x4c')]){_0x11a598[_0xeb6e('0x4d')]=[{'all':!![]}];}return db[_0xeb6e('0x34')]['findAll'](_0x11a598);})['then'](function(_0x15a29c){_0x5c3224[_0xeb6e('0x4e')]=_0x15a29c;return _0x5c3224;})['then'](respondWithFilteredResult(_0x36402a,_0x11a598))[_0xeb6e('0x4f')](handleError(_0x36402a,null));};exports[_0xeb6e('0x50')]=function(_0x3abd51,_0x3cc09e){var _0xc2dd1={'raw':!![],'where':{'id':_0x3abd51[_0xeb6e('0x51')]['id']}},_0x500c48={};_0x500c48[_0xeb6e('0x38')]=_[_0xeb6e('0x3b')](db[_0xeb6e('0x34')]['rawAttributes']);_0x500c48[_0xeb6e('0x3a')]=_[_0xeb6e('0x3b')](_0x3abd51[_0xeb6e('0x3a')]);_0x500c48[_0xeb6e('0x3c')]=_[_0xeb6e('0x3d')](_0x500c48[_0xeb6e('0x38')],_0x500c48[_0xeb6e('0x3a')]);_0xc2dd1[_0xeb6e('0x3e')]=_[_0xeb6e('0x3d')](_0x500c48[_0xeb6e('0x38')],qs[_0xeb6e('0x3f')](_0x3abd51[_0xeb6e('0x3a')]['fields']));_0xc2dd1[_0xeb6e('0x3e')]=_0xc2dd1[_0xeb6e('0x3e')][_0xeb6e('0x40')]?_0xc2dd1[_0xeb6e('0x3e')]:_0x500c48[_0xeb6e('0x38')];if(_0x3abd51[_0xeb6e('0x3a')][_0xeb6e('0x4c')]){_0xc2dd1[_0xeb6e('0x4d')]=[{'all':!![]}];}_0xc2dd1=_[_0xeb6e('0x48')]({},_0xc2dd1,_0x3abd51[_0xeb6e('0x4b')]);return db[_0xeb6e('0x34')][_0xeb6e('0x52')](_0xc2dd1)[_0xeb6e('0x2c')](handleEntityNotFound(_0x3cc09e,null))[_0xeb6e('0x2c')](respondWithResult(_0x3cc09e,null))['catch'](handleError(_0x3cc09e,null));};exports[_0xeb6e('0x53')]=function(_0x4e262d,_0x4a6de7){return db[_0xeb6e('0x34')][_0xeb6e('0x53')](_0x4e262d[_0xeb6e('0x54')],{})['then'](function(_0x50deec){var _0x1ab2f1=_0x4e262d[_0xeb6e('0x55')][_0xeb6e('0x56')]({'plain':!![]});if(!_0x1ab2f1)throw new Error(_0xeb6e('0x57'));if(_0x1ab2f1[_0xeb6e('0x58')]===_0xeb6e('0x55')){var _0x42122a=_0x50deec[_0xeb6e('0x56')]({'plain':!![]});var _0x452592=_0xeb6e('0x2d');return db[_0xeb6e('0x59')][_0xeb6e('0x52')]({'where':{'name':_0x452592,'userProfileId':_0x1ab2f1['userProfileId']},'raw':!![]})['then'](function(_0x5940a6){if(_0x5940a6&&_0x5940a6[_0xeb6e('0x5a')]===0x0){return db['UserProfileResource'][_0xeb6e('0x53')]({'name':_0x42122a[_0xeb6e('0x31')],'resourceId':_0x42122a['id'],'type':_0x5940a6['name'],'sectionId':_0x5940a6['id']},{})['then'](function(){return _0x50deec;});}else{return _0x50deec;}})[_0xeb6e('0x4f')](function(_0x496923){logger[_0xeb6e('0x5b')](_0xeb6e('0x5c'),_0x496923);throw _0x496923;});}return _0x50deec;})['then'](respondWithResult(_0x4a6de7,0xc9))['catch'](handleError(_0x4a6de7,null));};exports[_0xeb6e('0x2b')]=function(_0x40528b,_0x5ed6e8){if(_0x40528b[_0xeb6e('0x54')]['id']){delete _0x40528b[_0xeb6e('0x54')]['id'];}return db[_0xeb6e('0x34')][_0xeb6e('0x52')]({'where':{'id':_0x40528b['params']['id']}})[_0xeb6e('0x2c')](handleEntityNotFound(_0x5ed6e8,null))[_0xeb6e('0x2c')](saveUpdates(_0x40528b['body'],null))[_0xeb6e('0x2c')](respondWithResult(_0x5ed6e8,null))[_0xeb6e('0x4f')](handleError(_0x5ed6e8,null));};exports[_0xeb6e('0x5d')]=function(_0x242c9f,_0x4c2737){return db[_0xeb6e('0x34')]['find']({'where':{'id':_0x242c9f[_0xeb6e('0x51')]['id']}})['then'](handleEntityNotFound(_0x4c2737,null))[_0xeb6e('0x2c')](removeEntity(_0x4c2737,null))[_0xeb6e('0x4f')](handleError(_0x4c2737,null));};exports[_0xeb6e('0x5e')]=function(_0x4234da,_0x41cde5){return db[_0xeb6e('0x34')][_0xeb6e('0x5e')]()[_0xeb6e('0x2c')](respondWithResult(_0x41cde5,null))[_0xeb6e('0x4f')](handleError(_0x41cde5,null));};exports[_0xeb6e('0x5f')]=function(_0x287b1b,_0x2bd3c6,_0x5368d7){var _0x420d1f={'raw':!![],'where':{}},_0x112325={},_0x23ea1e;return db[_0xeb6e('0x34')][_0xeb6e('0x60')]({'where':{'id':_0x287b1b['params']['id']}})[_0xeb6e('0x2c')](handleEntityNotFound(_0x2bd3c6,null))[_0xeb6e('0x2c')](function(_0x2484f3){if(_0x2484f3){_0x23ea1e=_0x2484f3['get']({'plain':!![]});_0x112325[_0xeb6e('0x38')]=_['keys'](db[_0xeb6e('0x61')][_0xeb6e('0x35')]);_0x112325[_0xeb6e('0x3a')]=_[_0xeb6e('0x3b')](_0x287b1b[_0xeb6e('0x3a')]);_0x112325[_0xeb6e('0x3c')]=_[_0xeb6e('0x3d')](_0x112325[_0xeb6e('0x38')],_0x112325[_0xeb6e('0x3a')]);_0x420d1f[_0xeb6e('0x3e')]=_['intersection'](_0x112325[_0xeb6e('0x38')],qs[_0xeb6e('0x3f')](_0x287b1b[_0xeb6e('0x3a')][_0xeb6e('0x3f')]));_0x420d1f[_0xeb6e('0x3e')]=_0x420d1f['attributes'][_0xeb6e('0x40')]?_0x420d1f[_0xeb6e('0x3e')]:_0x112325[_0xeb6e('0x38')];if(!_0x287b1b[_0xeb6e('0x3a')][_0xeb6e('0x41')](_0xeb6e('0x42'))){_0x420d1f[_0xeb6e('0x24')]=qs[_0xeb6e('0x24')](_0x287b1b[_0xeb6e('0x3a')]['limit']);_0x420d1f[_0xeb6e('0x26')]=qs[_0xeb6e('0x26')](_0x287b1b['query'][_0xeb6e('0x26')]);}_0x420d1f[_0xeb6e('0x43')]=qs[_0xeb6e('0x44')](_0x287b1b[_0xeb6e('0x3a')]['sort']);_0x420d1f['where']=qs[_0xeb6e('0x3c')](_[_0xeb6e('0x46')](_0x287b1b[_0xeb6e('0x3a')],_0x112325[_0xeb6e('0x3c')]));_0x420d1f[_0xeb6e('0x45')][_0xeb6e('0x62')]=_0x2484f3['id'];if(_0x287b1b[_0xeb6e('0x3a')][_0xeb6e('0x47')]){_0x420d1f[_0xeb6e('0x45')]=_[_0xeb6e('0x48')](_0x420d1f[_0xeb6e('0x45')],{'$or':_['map'](_0x420d1f['attributes'],function(_0x2b62b9){var _0xc054c0={};_0xc054c0[_0x2b62b9]={'$like':'%'+_0x287b1b[_0xeb6e('0x3a')][_0xeb6e('0x47')]+'%'};return _0xc054c0;})});}_0x420d1f=_[_0xeb6e('0x48')]({},_0x420d1f,_0x287b1b['options']);return db['UserOpenchannelQueue'][_0xeb6e('0x63')](_0x420d1f);}})[_0xeb6e('0x2c')](function(_0x2cc1cc){if(_0x2cc1cc){return db[_0xeb6e('0x64')][_0xeb6e('0x65')]({'where':{'id':_['map'](_0x2cc1cc,'UserId'),'role':_0xeb6e('0x66')},'attributes':['id',_0xeb6e('0x31'),_0xeb6e('0x67'),_0xeb6e('0x68'),_0xeb6e('0x69')]});}})[_0xeb6e('0x2c')](function(_0x10464c){if(_0x10464c){return{'count':_0x10464c['count'],'rows':_[_0xeb6e('0x39')](_0x10464c['rows'],function(_0x3f1016){return{'membername':_0x3f1016[_0xeb6e('0x31')],'UserId':_0x3f1016['id'],'queue_name':_0x23ea1e[_0xeb6e('0x31')],'OpenchannelQueueId':_0x23ea1e['id'],'interface':util[_0xeb6e('0x6a')]('%s/%s',_0xeb6e('0x6b'),_0x3f1016[_0xeb6e('0x31')]),'penalty':0x0,'paused':_0x3f1016[_0xeb6e('0x67')],'createdAt':_0x3f1016[_0xeb6e('0x69')],'updatedAt':_0x3f1016[_0xeb6e('0x68')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xeb6e('0x2c')](respondWithFilteredResult(_0x2bd3c6,_0x420d1f))[_0xeb6e('0x4f')](handleError(_0x2bd3c6,null));};exports[_0xeb6e('0x6c')]=function(_0x2b716c,_0xba460c,_0x74a8ca){var _0x2d71e2={};var _0x2b6b7e={};var _0x1f4384;var _0xae05eb;return db['OpenchannelQueue']['findOne']({'where':{'id':_0x2b716c[_0xeb6e('0x51')]['id']}})['then'](handleEntityNotFound(_0xba460c,null))[_0xeb6e('0x2c')](function(_0xf111a0){if(_0xf111a0){_0x1f4384=_0xf111a0;_0x2b6b7e[_0xeb6e('0x38')]=_['keys'](db['Team']['rawAttributes']);_0x2b6b7e['query']=_[_0xeb6e('0x3b')](_0x2b716c[_0xeb6e('0x3a')]);_0x2b6b7e[_0xeb6e('0x3c')]=_[_0xeb6e('0x3d')](_0x2b6b7e[_0xeb6e('0x38')],_0x2b6b7e['query']);_0x2d71e2[_0xeb6e('0x3e')]=_['intersection'](_0x2b6b7e[_0xeb6e('0x38')],qs[_0xeb6e('0x3f')](_0x2b716c['query'][_0xeb6e('0x3f')]));_0x2d71e2[_0xeb6e('0x3e')]=_0x2d71e2[_0xeb6e('0x3e')][_0xeb6e('0x40')]?_0x2d71e2['attributes']:_0x2b6b7e[_0xeb6e('0x38')];_0x2d71e2[_0xeb6e('0x43')]=qs[_0xeb6e('0x44')](_0x2b716c['query'][_0xeb6e('0x44')]);_0x2d71e2[_0xeb6e('0x45')]=qs[_0xeb6e('0x3c')](_[_0xeb6e('0x46')](_0x2b716c['query'],_0x2b6b7e['filters']));if(_0x2b716c[_0xeb6e('0x3a')][_0xeb6e('0x47')]){_0x2d71e2['where']=_['merge'](_0x2d71e2[_0xeb6e('0x45')],{'$or':_[_0xeb6e('0x39')](_0x2d71e2[_0xeb6e('0x3e')],function(_0x168fec){var _0x22db13={};_0x22db13[_0x168fec]={'$like':'%'+_0x2b716c['query'][_0xeb6e('0x47')]+'%'};return _0x22db13;})});}_0x2d71e2=_[_0xeb6e('0x48')]({},_0x2d71e2,_0x2b716c[_0xeb6e('0x4b')]);return _0x1f4384['getTeams'](_0x2d71e2);}})[_0xeb6e('0x2c')](function(_0x2eb2f8){if(_0x2eb2f8){_0xae05eb=_0x2eb2f8[_0xeb6e('0x40')];if(!_0x2b716c['query'][_0xeb6e('0x41')]('nolimit')){_0x2d71e2[_0xeb6e('0x24')]=qs['limit'](_0x2b716c[_0xeb6e('0x3a')][_0xeb6e('0x24')]);_0x2d71e2[_0xeb6e('0x26')]=qs[_0xeb6e('0x26')](_0x2b716c[_0xeb6e('0x3a')][_0xeb6e('0x26')]);}return _0x1f4384[_0xeb6e('0x6c')](_0x2d71e2);}})[_0xeb6e('0x2c')](function(_0x5811d3){if(_0x5811d3){return _0x5811d3?{'count':_0xae05eb,'rows':_0x5811d3}:null;}})[_0xeb6e('0x2c')](respondWithResult(_0xba460c,null))['catch'](handleError(_0xba460c,null));};exports['addTeams']=function(_0x544926,_0x56da12,_0x4b0cb2){var _0x2deaa7=_0x544926[_0xeb6e('0x54')][_0xeb6e('0x6d')];return db[_0xeb6e('0x6e')]['findAll']({'where':{'id':_0x2deaa7},'attributes':['id'],'include':[{'model':db[_0xeb6e('0x64')],'as':_0xeb6e('0x6f'),'attributes':['id',_0xeb6e('0x31'),'online','voicePause',_0xeb6e('0x70')],'raw':!![]}]})[_0xeb6e('0x2c')](function(_0x25bc92){if(_0x25bc92){var _0x1119a7=_[_0xeb6e('0x71')](_0x25bc92,function(_0x576b13){var _0x263b54=_0x576b13[_0xeb6e('0x56')]({'plain':!![]});return _0x263b54['Agents'];});return db['OpenchannelQueue'][_0xeb6e('0x52')]({'where':{'id':_0x544926[_0xeb6e('0x51')]['id']}})['then'](function(_0x1a8374){return db[_0xeb6e('0x72')]['transaction'](function(_0x4fd05f){return _0x1a8374['addTeams'](_0x2deaa7,{'transaction':_0x4fd05f})[_0xeb6e('0x2c')](function(){return BPromise[_0xeb6e('0x73')](_0x1119a7,function(_0x1a0829){return db[_0xeb6e('0x61')][_0xeb6e('0x74')]({'where':{'UserId':_0x1a0829['id'],'OpenchannelQueueId':_0x544926[_0xeb6e('0x51')]['id']},'transaction':_0x4fd05f});});})[_0xeb6e('0x2c')](function(){_0x1119a7[_0xeb6e('0x75')](function(_0xb7d6ec){socket[_0xeb6e('0x76')]('userOpenchannelQueue:save',{'UserId':_0xb7d6ec['id'],'OpenchannelQueueId':_0x1a8374['id']});});});});});}})[_0xeb6e('0x2c')](respondWithStatusCode(_0x56da12,null))[_0xeb6e('0x4f')](handleError(_0x56da12,null));};exports[_0xeb6e('0x77')]=function(_0xda68c,_0x343a6c,_0x27325e){return db[_0xeb6e('0x6e')][_0xeb6e('0x63')]({'where':{'id':_0xda68c[_0xeb6e('0x3a')][_0xeb6e('0x6d')]},'attributes':['id'],'include':[{'model':db[_0xeb6e('0x64')],'as':_0xeb6e('0x6f'),'attributes':['id'],'raw':!![]}]})[_0xeb6e('0x2c')](handleEntityNotFound(_0x343a6c,null))['then'](function(_0x8a47b5){var _0x3f06c0=_[_0xeb6e('0x39')](_0x8a47b5,'id');var _0x4e9177=[];var _0x90c2ae=[];var _0x47489d=squel['select']();_0x47489d[_0xeb6e('0x78')](_0xeb6e('0x79'))[_0xeb6e('0x7a')](_0xeb6e('0x7b'),'tq')[_0xeb6e('0x7c')](_0xeb6e('0x7d'),'ut',_0xeb6e('0x7e'))['where'](_0xeb6e('0x7f'),_0xda68c[_0xeb6e('0x51')]['id']);for(var _0x4b80b4=0x0;_0x4b80b4<_0x8a47b5[_0xeb6e('0x40')];_0x4b80b4+=0x1){let _0x196f57=_0x8a47b5[_0x4b80b4];for(var _0x42213f=0x0;_0x42213f<_0x196f57[_0xeb6e('0x6f')][_0xeb6e('0x40')];_0x42213f+=0x1){let _0x1d649c=_0x196f57['Agents'][_0x42213f];var _0x121c3f=_0x47489d[_0xeb6e('0x80')]();_0x121c3f['where'](_0xeb6e('0x81'),_0x1d649c['id']);_0x90c2ae['push'](db[_0xeb6e('0x72')][_0xeb6e('0x3a')](_0x121c3f['toString'](),{'type':db['sequelize'][_0xeb6e('0x82')][_0xeb6e('0x83')]})['then'](function(_0x2fb407){if(_0x2fb407[_0xeb6e('0x40')]===0x1){return _0x1d649c['id'];}else{var _0x4d359b=_[_0xeb6e('0x84')](_[_0xeb6e('0x39')](_0x2fb407,_0xeb6e('0x85')),function(_0x5c85e3){return _[_0xeb6e('0x86')](_0x3f06c0,_0x5c85e3);});if(_0x4d359b){return _0x1d649c['id'];}}}));}}return BPromise[_0xeb6e('0x87')](_0x90c2ae)[_0xeb6e('0x2c')](function(_0x3c0341){_0x4e9177=_(_0x4e9177)['union'](_0x3c0341)[_0xeb6e('0x88')]()[_0xeb6e('0x89')]();return db[_0xeb6e('0x34')][_0xeb6e('0x52')]({'where':{'id':_0xda68c[_0xeb6e('0x51')]['id']}})[_0xeb6e('0x2c')](function(_0x2828e3){return db[_0xeb6e('0x72')][_0xeb6e('0x8a')](function(_0x3fc9b2){return _0x2828e3[_0xeb6e('0x77')](_0xda68c[_0xeb6e('0x3a')]['ids'],{'transaction':_0x3fc9b2})['then'](function(){if(!_[_0xeb6e('0x8b')](_0x4e9177)){return _0x2828e3[_0xeb6e('0x8c')](_0x4e9177,{'transaction':_0x3fc9b2});}})[_0xeb6e('0x2c')](function(){_0x4e9177[_0xeb6e('0x75')](function(_0x56ae45){socket['emit']('userOpenchannelQueue:remove',{'UserId':_0x56ae45,'OpenchannelQueueId':_0x2828e3['id']});});});});});});})[_0xeb6e('0x2c')](respondWithStatusCode(_0x343a6c,null))[_0xeb6e('0x4f')](handleError(_0x343a6c,null));};exports[_0xeb6e('0x8d')]=function(_0x2d2351,_0x30de46,_0x382f5b){return db[_0xeb6e('0x34')][_0xeb6e('0x52')]({'where':{'id':_0x2d2351[_0xeb6e('0x51')]['id']}})[_0xeb6e('0x2c')](handleEntityNotFound(_0x30de46,null))[_0xeb6e('0x2c')](function(_0x3ec1b4){if(_0x3ec1b4){return _0x3ec1b4['addAgents'](_0x2d2351[_0xeb6e('0x54')][_0xeb6e('0x6d')],_['omit'](_0x2d2351['body'],[_0xeb6e('0x6d'),'id'])||{})[_0xeb6e('0x8e')](function(_0x34d6ed){for(var _0x436609=0x0;_0x436609<_0x2d2351[_0xeb6e('0x54')]['ids'][_0xeb6e('0x40')];_0x436609+=0x1){socket['emit'](_0xeb6e('0x8f'),{'UserId':Number(_0x2d2351['body'][_0xeb6e('0x6d')][_0x436609]),'OpenchannelQueueId':Number(_0x2d2351[_0xeb6e('0x51')]['id'])});}return _0x34d6ed;});}})['then'](respondWithResult(_0x30de46,null))['catch'](handleError(_0x30de46,null));};exports['removeAgents']=function(_0x2a557c,_0x271ea5,_0x1f8ead){return db['OpenchannelQueue']['find']({'where':{'id':_0x2a557c[_0xeb6e('0x51')]['id']}})[_0xeb6e('0x2c')](handleEntityNotFound(_0x271ea5,null))[_0xeb6e('0x2c')](function(_0x47f085){if(_0x47f085){return _0x47f085[_0xeb6e('0x8c')](_0x2a557c[_0xeb6e('0x3a')][_0xeb6e('0x6d')])[_0xeb6e('0x2c')](function(){if(_[_0xeb6e('0x90')](_0x2a557c[_0xeb6e('0x3a')][_0xeb6e('0x6d')])){for(var _0x58dcf3=0x0;_0x58dcf3<_0x2a557c[_0xeb6e('0x3a')][_0xeb6e('0x6d')][_0xeb6e('0x40')];_0x58dcf3+=0x1){socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0x2a557c['query']['ids'][_0x58dcf3]),'OpenchannelQueueId':Number(_0x2a557c[_0xeb6e('0x51')]['id'])});}}else{socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0x2a557c[_0xeb6e('0x3a')][_0xeb6e('0x6d')]),'OpenchannelQueueId':Number(_0x2a557c[_0xeb6e('0x51')]['id'])});}});}})['then'](respondWithStatusCode(_0x271ea5,null))[_0xeb6e('0x4f')](handleError(_0x271ea5,null));};exports[_0xeb6e('0x91')]=function(_0x4341ff,_0x432fdc,_0x5f003d){var _0x5e5e37={};var _0x379c99={};var _0x4aa59e;var _0x1ddbf1;return db[_0xeb6e('0x34')][_0xeb6e('0x60')]({'where':{'id':_0x4341ff[_0xeb6e('0x51')]['id']}})['then'](handleEntityNotFound(_0x432fdc,null))[_0xeb6e('0x2c')](function(_0x1a746d){if(_0x1a746d){_0x4aa59e=_0x1a746d;_0x379c99[_0xeb6e('0x38')]=_[_0xeb6e('0x3b')](db[_0xeb6e('0x64')][_0xeb6e('0x35')]);_0x379c99[_0xeb6e('0x3a')]=_[_0xeb6e('0x3b')](_0x4341ff[_0xeb6e('0x3a')]);_0x379c99[_0xeb6e('0x3c')]=_[_0xeb6e('0x3d')](_0x379c99[_0xeb6e('0x38')],_0x379c99[_0xeb6e('0x3a')]);_0x5e5e37[_0xeb6e('0x3e')]=_[_0xeb6e('0x3d')](_0x379c99[_0xeb6e('0x38')],qs[_0xeb6e('0x3f')](_0x4341ff[_0xeb6e('0x3a')][_0xeb6e('0x3f')]));_0x5e5e37['attributes']=_0x5e5e37[_0xeb6e('0x3e')][_0xeb6e('0x40')]?_0x5e5e37[_0xeb6e('0x3e')]:_0x379c99[_0xeb6e('0x38')];_0x5e5e37[_0xeb6e('0x43')]=qs['sort'](_0x4341ff[_0xeb6e('0x3a')][_0xeb6e('0x44')]);_0x5e5e37[_0xeb6e('0x45')]=qs[_0xeb6e('0x3c')](_[_0xeb6e('0x46')](_0x4341ff['query'],_0x379c99[_0xeb6e('0x3c')]));if(_0x4341ff[_0xeb6e('0x3a')][_0xeb6e('0x47')]){_0x5e5e37[_0xeb6e('0x45')]=_[_0xeb6e('0x48')](_0x5e5e37[_0xeb6e('0x45')],{'$or':_['map'](_0x5e5e37[_0xeb6e('0x3e')],function(_0x29d3d3){var _0x4cbde8={};_0x4cbde8[_0x29d3d3]={'$like':'%'+_0x4341ff[_0xeb6e('0x3a')][_0xeb6e('0x47')]+'%'};return _0x4cbde8;})});}_0x5e5e37=_['merge']({},_0x5e5e37,_0x4341ff[_0xeb6e('0x4b')]);return _0x4aa59e['getAgents'](_0x5e5e37);}})[_0xeb6e('0x2c')](function(_0x47d298){if(_0x47d298){_0x1ddbf1=_0x47d298[_0xeb6e('0x40')];if(!_0x4341ff['query'][_0xeb6e('0x41')](_0xeb6e('0x42'))){_0x5e5e37[_0xeb6e('0x24')]=qs[_0xeb6e('0x24')](_0x4341ff[_0xeb6e('0x3a')]['limit']);_0x5e5e37[_0xeb6e('0x26')]=qs[_0xeb6e('0x26')](_0x4341ff[_0xeb6e('0x3a')]['offset']);}return _0x4aa59e[_0xeb6e('0x91')](_0x5e5e37);}})['then'](function(_0x15770d){if(_0x15770d){return _0x15770d?{'count':_0x1ddbf1,'rows':_0x15770d}:null;}})['then'](respondWithResult(_0x432fdc,null))[_0xeb6e('0x4f')](handleError(_0x432fdc,null));};