dadd39942927c84da8925c04a097dc8097fed3af
[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 _0x1813=['UserId','agent','updatedAt','createdAt','format','%s/%s','SIP','openchannelPause','getTeams','Team','order','nolimit','addTeams','ids','User','Agents','voicePause','interface','flatMap','sequelize','each','findOrCreate','forEach','emit','userOpenchannelQueue:save','select','field','from','team_has_openchannel_queues','join','user_has_teams','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','includes','union','compact','transaction','removeTeams','isEmpty','removeAgents','userOpenchannelQueue:remove','addAgents','spread','isArray','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','localhost','socket.io-emitter','sendStatus','status','end','offset','undefined','limit','count','set','apply','save','update','then','destroy','get','UserProfileResource','error','name','send','index','OpenchannelQueue','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll','include','rows','show','keys','rawAttributes','catch','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','OpenchannelQueues','UserProfileSection','userProfileId','autoAssociation','body','find','params','describe','getMembers','findOne','UserOpenchannelQueue','OpenchannelQueueId','findAll','findAndCountAll'];(function(_0x3e99ee,_0x268a2e){var _0x816dc3=function(_0x5ac2d4){while(--_0x5ac2d4){_0x3e99ee['push'](_0x3e99ee['shift']());}};_0x816dc3(++_0x268a2e);}(_0x1813,0x147));var _0x3181=function(_0xc50dc,_0x262dc7){_0xc50dc=_0xc50dc-0x0;var _0x1eb7b8=_0x1813[_0xc50dc];return _0x1eb7b8;};'use strict';var emlformat=require(_0x3181('0x0'));var rimraf=require(_0x3181('0x1'));var zipdir=require(_0x3181('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3181('0x3'));var moment=require(_0x3181('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x3181('0x5'));var util=require(_0x3181('0x6'));var path=require('path');var sox=require(_0x3181('0x7'));var csv=require(_0x3181('0x8'));var ejs=require(_0x3181('0x9'));var fs=require('fs');var fs_extra=require(_0x3181('0xa'));var _=require(_0x3181('0xb'));var squel=require('squel');var crypto=require(_0x3181('0xc'));var jsforce=require(_0x3181('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x3181('0x8'));var querystring=require(_0x3181('0xe'));var Papa=require(_0x3181('0xf'));var Redis=require(_0x3181('0x10'));var authService=require(_0x3181('0x11'));var qs=require(_0x3181('0x12'));var as=require(_0x3181('0x13'));var hardwareService=require(_0x3181('0x14'));var logger=require(_0x3181('0x15'))(_0x3181('0x16'));var utils=require(_0x3181('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x3181('0x18'))['db'];config[_0x3181('0x19')]=_['defaults'](config['redis'],{'host':_0x3181('0x1a'),'port':0x18eb});var socket=require(_0x3181('0x1b'))(new Redis(config['redis']));require('./openchannelQueue.socket')['register'](socket);function respondWithStatusCode(_0x496840,_0x2d3585){_0x2d3585=_0x2d3585||0xcc;return function(_0xe89605){if(_0xe89605){return _0x496840[_0x3181('0x1c')](_0x2d3585);}return _0x496840[_0x3181('0x1d')](_0x2d3585)[_0x3181('0x1e')]();};}function respondWithResult(_0x1e9c5f,_0x272437){_0x272437=_0x272437||0xc8;return function(_0x25ab59){if(_0x25ab59){return _0x1e9c5f[_0x3181('0x1d')](_0x272437)['json'](_0x25ab59);}};}function respondWithFilteredResult(_0x5f4b13,_0x15348d){return function(_0xe4f558){if(_0xe4f558){var _0x27e1f6=typeof _0x15348d[_0x3181('0x1f')]===_0x3181('0x20')&&typeof _0x15348d[_0x3181('0x21')]==='undefined';var _0x28ed87=_0xe4f558[_0x3181('0x22')];var _0x102f08=_0x27e1f6?0x0:_0x15348d[_0x3181('0x1f')];var _0x21af04=_0x27e1f6?_0xe4f558[_0x3181('0x22')]:_0x15348d[_0x3181('0x1f')]+_0x15348d[_0x3181('0x21')];var _0xe5e371;if(_0x21af04>=_0x28ed87){_0x21af04=_0x28ed87;_0xe5e371=0xc8;}else{_0xe5e371=0xce;}_0x5f4b13[_0x3181('0x1d')](_0xe5e371);return _0x5f4b13[_0x3181('0x23')]('Content-Range',_0x102f08+'-'+_0x21af04+'/'+_0x28ed87)['json'](_0xe4f558);}return null;};}function patchUpdates(_0x201b47){return function(_0x438950){try{jsonpatch[_0x3181('0x24')](_0x438950,_0x201b47,!![]);}catch(_0x2f4335){return BPromise['reject'](_0x2f4335);}return _0x438950[_0x3181('0x25')]();};}function saveUpdates(_0x4c85b9,_0x425f35){return function(_0x4e3376){if(_0x4e3376){return _0x4e3376[_0x3181('0x26')](_0x4c85b9)[_0x3181('0x27')](function(_0x376614){return _0x376614;});}return null;};}function removeEntity(_0x4d7b61,_0xc202d9){return function(_0x50fd89){if(_0x50fd89){return _0x50fd89[_0x3181('0x28')]()['then'](function(){var _0x2cf5c9=_0x50fd89[_0x3181('0x29')]({'plain':!![]});var _0x5a6ad3='OpenchannelQueues';return db[_0x3181('0x2a')]['destroy']({'where':{'type':_0x5a6ad3,'resourceId':_0x2cf5c9['id']}})[_0x3181('0x27')](function(){return _0x50fd89;});})[_0x3181('0x27')](function(){_0x4d7b61[_0x3181('0x1d')](0xcc)[_0x3181('0x1e')]();});}};}function handleEntityNotFound(_0x19fda8,_0x264931){return function(_0x540dc9){if(!_0x540dc9){_0x19fda8[_0x3181('0x1c')](0x194);}return _0x540dc9;};}function handleError(_0x4f12b3,_0x5f0ffd){_0x5f0ffd=_0x5f0ffd||0x1f4;return function(_0x54e14c){logger[_0x3181('0x2b')](_0x54e14c['stack']);if(_0x54e14c[_0x3181('0x2c')]){delete _0x54e14c['name'];}_0x4f12b3['status'](_0x5f0ffd)[_0x3181('0x2d')](_0x54e14c);};}exports[_0x3181('0x2e')]=function(_0x563e62,_0x5bbd0c){var _0x51e86e={},_0x568b02={},_0x3347f0={'count':0x0,'rows':[]};var _0x4c8678=_['map'](db[_0x3181('0x2f')]['rawAttributes'],function(_0x1b360c){return{'name':_0x1b360c[_0x3181('0x30')],'type':_0x1b360c[_0x3181('0x31')][_0x3181('0x32')]};});_0x568b02[_0x3181('0x33')]=_[_0x3181('0x34')](_0x4c8678,_0x3181('0x2c'));_0x568b02[_0x3181('0x35')]=_['keys'](_0x563e62['query']);_0x568b02[_0x3181('0x36')]=_[_0x3181('0x37')](_0x568b02[_0x3181('0x33')],_0x568b02[_0x3181('0x35')]);_0x51e86e[_0x3181('0x38')]=_['intersection'](_0x568b02[_0x3181('0x33')],qs[_0x3181('0x39')](_0x563e62['query'][_0x3181('0x39')]));_0x51e86e[_0x3181('0x38')]=_0x51e86e['attributes'][_0x3181('0x3a')]?_0x51e86e[_0x3181('0x38')]:_0x568b02['model'];if(!_0x563e62[_0x3181('0x35')][_0x3181('0x3b')]('nolimit')){_0x51e86e[_0x3181('0x21')]=qs['limit'](_0x563e62['query']['limit']);_0x51e86e[_0x3181('0x1f')]=qs[_0x3181('0x1f')](_0x563e62[_0x3181('0x35')][_0x3181('0x1f')]);}_0x51e86e['order']=qs[_0x3181('0x3c')](_0x563e62['query'][_0x3181('0x3c')]);_0x51e86e[_0x3181('0x3d')]=qs[_0x3181('0x36')](_[_0x3181('0x3e')](_0x563e62[_0x3181('0x35')],_0x568b02[_0x3181('0x36')]),_0x4c8678);if(_0x563e62[_0x3181('0x35')]['filter']){_0x51e86e[_0x3181('0x3d')]=_['merge'](_0x51e86e['where'],{'$or':_[_0x3181('0x34')](_0x4c8678,function(_0x1f9f4b){if(_0x1f9f4b['type']!=='VIRTUAL'){var _0x13481d={};_0x13481d[_0x1f9f4b[_0x3181('0x2c')]]={'$like':'%'+_0x563e62['query'][_0x3181('0x3f')]+'%'};return _0x13481d;}})});}_0x51e86e=_[_0x3181('0x40')]({},_0x51e86e,_0x563e62[_0x3181('0x41')]);var _0x4ed592={'where':_0x51e86e[_0x3181('0x3d')]};return db[_0x3181('0x2f')][_0x3181('0x22')](_0x4ed592)[_0x3181('0x27')](function(_0x4871f1){_0x3347f0['count']=_0x4871f1;if(_0x563e62[_0x3181('0x35')][_0x3181('0x42')]){_0x51e86e[_0x3181('0x43')]=[{'all':!![]}];}return db[_0x3181('0x2f')]['findAll'](_0x51e86e);})[_0x3181('0x27')](function(_0x5d8456){_0x3347f0[_0x3181('0x44')]=_0x5d8456;return _0x3347f0;})[_0x3181('0x27')](respondWithFilteredResult(_0x5bbd0c,_0x51e86e))['catch'](handleError(_0x5bbd0c,null));};exports[_0x3181('0x45')]=function(_0x346336,_0x5ea7e7){var _0x19b428={'raw':!![],'where':{'id':_0x346336['params']['id']}},_0x147579={};_0x147579[_0x3181('0x33')]=_[_0x3181('0x46')](db[_0x3181('0x2f')][_0x3181('0x47')]);_0x147579[_0x3181('0x35')]=_[_0x3181('0x46')](_0x346336[_0x3181('0x35')]);_0x147579[_0x3181('0x36')]=_[_0x3181('0x37')](_0x147579[_0x3181('0x33')],_0x147579[_0x3181('0x35')]);_0x19b428[_0x3181('0x38')]=_[_0x3181('0x37')](_0x147579[_0x3181('0x33')],qs[_0x3181('0x39')](_0x346336[_0x3181('0x35')][_0x3181('0x39')]));_0x19b428['attributes']=_0x19b428[_0x3181('0x38')][_0x3181('0x3a')]?_0x19b428[_0x3181('0x38')]:_0x147579['model'];if(_0x346336[_0x3181('0x35')][_0x3181('0x42')]){_0x19b428[_0x3181('0x43')]=[{'all':!![]}];}_0x19b428=_[_0x3181('0x40')]({},_0x19b428,_0x346336['options']);return db[_0x3181('0x2f')]['find'](_0x19b428)[_0x3181('0x27')](handleEntityNotFound(_0x5ea7e7,null))['then'](respondWithResult(_0x5ea7e7,null))[_0x3181('0x48')](handleError(_0x5ea7e7,null));};exports[_0x3181('0x49')]=function(_0x399070,_0x58a065){return db[_0x3181('0x2f')][_0x3181('0x49')](_0x399070['body'],{})[_0x3181('0x27')](function(_0x48b1c8){var _0x399af1=_0x399070['user'][_0x3181('0x29')]({'plain':!![]});if(!_0x399af1)throw new Error(_0x3181('0x4a'));if(_0x399af1[_0x3181('0x4b')]==='user'){var _0x21fb3f=_0x48b1c8['get']({'plain':!![]});var _0x17933e=_0x3181('0x4c');return db[_0x3181('0x4d')]['find']({'where':{'name':_0x17933e,'userProfileId':_0x399af1[_0x3181('0x4e')]},'raw':!![]})[_0x3181('0x27')](function(_0x31056e){if(_0x31056e&&_0x31056e[_0x3181('0x4f')]===0x0){return db['UserProfileResource']['create']({'name':_0x21fb3f['name'],'resourceId':_0x21fb3f['id'],'type':_0x31056e[_0x3181('0x2c')],'sectionId':_0x31056e['id']},{})[_0x3181('0x27')](function(){return _0x48b1c8;});}else{return _0x48b1c8;}})[_0x3181('0x48')](function(_0x5dc4e5){logger[_0x3181('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5dc4e5);throw _0x5dc4e5;});}return _0x48b1c8;})[_0x3181('0x27')](respondWithResult(_0x58a065,0xc9))[_0x3181('0x48')](handleError(_0x58a065,null));};exports['update']=function(_0x3286dc,_0x106ea4){if(_0x3286dc[_0x3181('0x50')]['id']){delete _0x3286dc['body']['id'];}return db['OpenchannelQueue'][_0x3181('0x51')]({'where':{'id':_0x3286dc['params']['id']}})[_0x3181('0x27')](handleEntityNotFound(_0x106ea4,null))['then'](saveUpdates(_0x3286dc['body'],null))['then'](respondWithResult(_0x106ea4,null))[_0x3181('0x48')](handleError(_0x106ea4,null));};exports[_0x3181('0x28')]=function(_0x3d9ef1,_0x5f21d3){return db[_0x3181('0x2f')][_0x3181('0x51')]({'where':{'id':_0x3d9ef1[_0x3181('0x52')]['id']}})[_0x3181('0x27')](handleEntityNotFound(_0x5f21d3,null))[_0x3181('0x27')](removeEntity(_0x5f21d3,null))[_0x3181('0x48')](handleError(_0x5f21d3,null));};exports['describe']=function(_0x4ba958,_0x266718){return db[_0x3181('0x2f')][_0x3181('0x53')]()[_0x3181('0x27')](respondWithResult(_0x266718,null))[_0x3181('0x48')](handleError(_0x266718,null));};exports[_0x3181('0x54')]=function(_0x23d9fb,_0x43454e,_0x38303d){var _0x5b7cc9={'raw':!![],'where':{}},_0x242a20={},_0x1139f6;return db['OpenchannelQueue'][_0x3181('0x55')]({'where':{'id':_0x23d9fb[_0x3181('0x52')]['id']}})[_0x3181('0x27')](handleEntityNotFound(_0x43454e,null))['then'](function(_0x252573){if(_0x252573){_0x1139f6=_0x252573[_0x3181('0x29')]({'plain':!![]});_0x242a20[_0x3181('0x33')]=_[_0x3181('0x46')](db[_0x3181('0x56')][_0x3181('0x47')]);_0x242a20['query']=_['keys'](_0x23d9fb['query']);_0x242a20[_0x3181('0x36')]=_[_0x3181('0x37')](_0x242a20[_0x3181('0x33')],_0x242a20['query']);_0x5b7cc9[_0x3181('0x38')]=_[_0x3181('0x37')](_0x242a20[_0x3181('0x33')],qs[_0x3181('0x39')](_0x23d9fb[_0x3181('0x35')]['fields']));_0x5b7cc9[_0x3181('0x38')]=_0x5b7cc9[_0x3181('0x38')]['length']?_0x5b7cc9[_0x3181('0x38')]:_0x242a20[_0x3181('0x33')];if(!_0x23d9fb[_0x3181('0x35')][_0x3181('0x3b')]('nolimit')){_0x5b7cc9[_0x3181('0x21')]=qs[_0x3181('0x21')](_0x23d9fb[_0x3181('0x35')][_0x3181('0x21')]);_0x5b7cc9['offset']=qs[_0x3181('0x1f')](_0x23d9fb[_0x3181('0x35')][_0x3181('0x1f')]);}_0x5b7cc9['order']=qs[_0x3181('0x3c')](_0x23d9fb[_0x3181('0x35')]['sort']);_0x5b7cc9[_0x3181('0x3d')]=qs['filters'](_[_0x3181('0x3e')](_0x23d9fb[_0x3181('0x35')],_0x242a20[_0x3181('0x36')]));_0x5b7cc9[_0x3181('0x3d')][_0x3181('0x57')]=_0x252573['id'];if(_0x23d9fb['query']['filter']){_0x5b7cc9['where']=_[_0x3181('0x40')](_0x5b7cc9[_0x3181('0x3d')],{'$or':_['map'](_0x5b7cc9[_0x3181('0x38')],function(_0x4b71cb){var _0x4c8d36={};_0x4c8d36[_0x4b71cb]={'$like':'%'+_0x23d9fb[_0x3181('0x35')]['filter']+'%'};return _0x4c8d36;})});}_0x5b7cc9=_['merge']({},_0x5b7cc9,_0x23d9fb[_0x3181('0x41')]);return db[_0x3181('0x56')][_0x3181('0x58')](_0x5b7cc9);}})[_0x3181('0x27')](function(_0x3a4e25){if(_0x3a4e25){return db['User'][_0x3181('0x59')]({'where':{'id':_[_0x3181('0x34')](_0x3a4e25,_0x3181('0x5a')),'role':_0x3181('0x5b')},'attributes':['id',_0x3181('0x2c'),'openchannelPause',_0x3181('0x5c'),_0x3181('0x5d')]});}})['then'](function(_0x4de7e0){if(_0x4de7e0){return{'count':_0x4de7e0[_0x3181('0x22')],'rows':_[_0x3181('0x34')](_0x4de7e0[_0x3181('0x44')],function(_0x27fb25){return{'membername':_0x27fb25[_0x3181('0x2c')],'UserId':_0x27fb25['id'],'queue_name':_0x1139f6['name'],'OpenchannelQueueId':_0x1139f6['id'],'interface':util[_0x3181('0x5e')](_0x3181('0x5f'),_0x3181('0x60'),_0x27fb25[_0x3181('0x2c')]),'penalty':0x0,'paused':_0x27fb25[_0x3181('0x61')],'createdAt':_0x27fb25[_0x3181('0x5d')],'updatedAt':_0x27fb25[_0x3181('0x5c')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x3181('0x27')](respondWithFilteredResult(_0x43454e,_0x5b7cc9))[_0x3181('0x48')](handleError(_0x43454e,null));};exports[_0x3181('0x62')]=function(_0x7200cd,_0x3d4913,_0x493c14){var _0x182491={};var _0x1e0f15={};var _0x4aca6a;var _0x2556ec;return db[_0x3181('0x2f')][_0x3181('0x55')]({'where':{'id':_0x7200cd[_0x3181('0x52')]['id']}})[_0x3181('0x27')](handleEntityNotFound(_0x3d4913,null))[_0x3181('0x27')](function(_0x1b4310){if(_0x1b4310){_0x4aca6a=_0x1b4310;_0x1e0f15[_0x3181('0x33')]=_[_0x3181('0x46')](db[_0x3181('0x63')][_0x3181('0x47')]);_0x1e0f15[_0x3181('0x35')]=_[_0x3181('0x46')](_0x7200cd[_0x3181('0x35')]);_0x1e0f15[_0x3181('0x36')]=_['intersection'](_0x1e0f15[_0x3181('0x33')],_0x1e0f15['query']);_0x182491[_0x3181('0x38')]=_[_0x3181('0x37')](_0x1e0f15[_0x3181('0x33')],qs[_0x3181('0x39')](_0x7200cd['query']['fields']));_0x182491[_0x3181('0x38')]=_0x182491[_0x3181('0x38')][_0x3181('0x3a')]?_0x182491['attributes']:_0x1e0f15[_0x3181('0x33')];_0x182491[_0x3181('0x64')]=qs[_0x3181('0x3c')](_0x7200cd[_0x3181('0x35')][_0x3181('0x3c')]);_0x182491['where']=qs['filters'](_[_0x3181('0x3e')](_0x7200cd['query'],_0x1e0f15[_0x3181('0x36')]));if(_0x7200cd[_0x3181('0x35')][_0x3181('0x3f')]){_0x182491[_0x3181('0x3d')]=_['merge'](_0x182491['where'],{'$or':_[_0x3181('0x34')](_0x182491['attributes'],function(_0x47ba64){var _0x15510d={};_0x15510d[_0x47ba64]={'$like':'%'+_0x7200cd[_0x3181('0x35')]['filter']+'%'};return _0x15510d;})});}_0x182491=_['merge']({},_0x182491,_0x7200cd[_0x3181('0x41')]);return _0x4aca6a['getTeams'](_0x182491);}})[_0x3181('0x27')](function(_0x1297e3){if(_0x1297e3){_0x2556ec=_0x1297e3[_0x3181('0x3a')];if(!_0x7200cd['query'][_0x3181('0x3b')](_0x3181('0x65'))){_0x182491['limit']=qs[_0x3181('0x21')](_0x7200cd[_0x3181('0x35')][_0x3181('0x21')]);_0x182491[_0x3181('0x1f')]=qs[_0x3181('0x1f')](_0x7200cd[_0x3181('0x35')][_0x3181('0x1f')]);}return _0x4aca6a[_0x3181('0x62')](_0x182491);}})[_0x3181('0x27')](function(_0x749085){if(_0x749085){return _0x749085?{'count':_0x2556ec,'rows':_0x749085}:null;}})['then'](respondWithResult(_0x3d4913,null))[_0x3181('0x48')](handleError(_0x3d4913,null));};exports[_0x3181('0x66')]=function(_0x43fcc0,_0x411541,_0x33956e){var _0x106a3f=_0x43fcc0[_0x3181('0x50')][_0x3181('0x67')];return db[_0x3181('0x63')][_0x3181('0x58')]({'where':{'id':_0x106a3f},'attributes':['id'],'include':[{'model':db[_0x3181('0x68')],'as':_0x3181('0x69'),'attributes':['id','name','online',_0x3181('0x6a'),_0x3181('0x6b')],'raw':!![]}]})[_0x3181('0x27')](function(_0x43425a){if(_0x43425a){var _0x2759f3=_[_0x3181('0x6c')](_0x43425a,function(_0x490e91){var _0x5395e4=_0x490e91[_0x3181('0x29')]({'plain':!![]});return _0x5395e4[_0x3181('0x69')];});return db[_0x3181('0x2f')][_0x3181('0x51')]({'where':{'id':_0x43fcc0['params']['id']}})[_0x3181('0x27')](function(_0x319867){return db[_0x3181('0x6d')]['transaction'](function(_0xbdea6b){return _0x319867['addTeams'](_0x106a3f,{'transaction':_0xbdea6b})[_0x3181('0x27')](function(){return BPromise[_0x3181('0x6e')](_0x2759f3,function(_0x15ba20){return db[_0x3181('0x56')][_0x3181('0x6f')]({'where':{'UserId':_0x15ba20['id'],'OpenchannelQueueId':_0x43fcc0[_0x3181('0x52')]['id']},'transaction':_0xbdea6b});});})[_0x3181('0x27')](function(){_0x2759f3[_0x3181('0x70')](function(_0x541528){socket[_0x3181('0x71')](_0x3181('0x72'),{'UserId':_0x541528['id'],'OpenchannelQueueId':_0x319867['id']});});});});});}})[_0x3181('0x27')](respondWithStatusCode(_0x411541,null))['catch'](handleError(_0x411541,null));};exports['removeTeams']=function(_0x330802,_0x5746e7,_0x567cca){return db[_0x3181('0x63')]['findAll']({'where':{'id':_0x330802[_0x3181('0x35')][_0x3181('0x67')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x3181('0x69'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x5746e7,null))['then'](function(_0x32f63c){var _0x5f5bb3=_[_0x3181('0x34')](_0x32f63c,'id');var _0xddc996=[];var _0x20270d=[];var _0x2aa1d5=squel[_0x3181('0x73')]();_0x2aa1d5[_0x3181('0x74')]('tq.TeamId')[_0x3181('0x75')](_0x3181('0x76'),'tq')[_0x3181('0x77')](_0x3181('0x78'),'ut','ut.TeamId\x20=\x20tq.TeamId')['where']('OpenchannelQueueId\x20=\x20?',_0x330802[_0x3181('0x52')]['id']);for(var _0x4e86d9=0x0;_0x4e86d9<_0x32f63c[_0x3181('0x3a')];_0x4e86d9+=0x1){let _0x201c37=_0x32f63c[_0x4e86d9];for(var _0x3d3abb=0x0;_0x3d3abb<_0x201c37[_0x3181('0x69')][_0x3181('0x3a')];_0x3d3abb+=0x1){let _0x10d958=_0x201c37['Agents'][_0x3d3abb];var _0x42a45e=_0x2aa1d5[_0x3181('0x79')]();_0x42a45e[_0x3181('0x3d')](_0x3181('0x7a'),_0x10d958['id']);_0x20270d[_0x3181('0x7b')](db[_0x3181('0x6d')][_0x3181('0x35')](_0x42a45e[_0x3181('0x7c')](),{'type':db[_0x3181('0x6d')]['QueryTypes'][_0x3181('0x7d')]})['then'](function(_0x282db7){if(_0x282db7[_0x3181('0x3a')]===0x1){return _0x10d958['id'];}else{var _0x88bc47=_[_0x3181('0x7e')](_['map'](_0x282db7,'TeamId'),function(_0x5677a2){return _[_0x3181('0x7f')](_0x5f5bb3,_0x5677a2);});if(_0x88bc47){return _0x10d958['id'];}}}));}}return BPromise['all'](_0x20270d)[_0x3181('0x27')](function(_0x3d7fc7){_0xddc996=_(_0xddc996)[_0x3181('0x80')](_0x3d7fc7)[_0x3181('0x81')]()['value']();return db['OpenchannelQueue'][_0x3181('0x51')]({'where':{'id':_0x330802['params']['id']}})[_0x3181('0x27')](function(_0x1fe153){return db[_0x3181('0x6d')][_0x3181('0x82')](function(_0x2584d3){return _0x1fe153[_0x3181('0x83')](_0x330802[_0x3181('0x35')]['ids'],{'transaction':_0x2584d3})['then'](function(){if(!_[_0x3181('0x84')](_0xddc996)){return _0x1fe153[_0x3181('0x85')](_0xddc996,{'transaction':_0x2584d3});}})[_0x3181('0x27')](function(){_0xddc996[_0x3181('0x70')](function(_0x52c237){socket[_0x3181('0x71')](_0x3181('0x86'),{'UserId':_0x52c237,'OpenchannelQueueId':_0x1fe153['id']});});});});});});})['then'](respondWithStatusCode(_0x5746e7,null))[_0x3181('0x48')](handleError(_0x5746e7,null));};exports[_0x3181('0x87')]=function(_0x39d295,_0x46b4b0,_0x4c9779){return db[_0x3181('0x2f')][_0x3181('0x51')]({'where':{'id':_0x39d295[_0x3181('0x52')]['id']}})[_0x3181('0x27')](handleEntityNotFound(_0x46b4b0,null))[_0x3181('0x27')](function(_0x270eac){if(_0x270eac){return _0x270eac[_0x3181('0x87')](_0x39d295['body'][_0x3181('0x67')],_['omit'](_0x39d295[_0x3181('0x50')],[_0x3181('0x67'),'id'])||{})[_0x3181('0x88')](function(_0x153fcf){for(var _0x153490=0x0;_0x153490<_0x39d295['body']['ids'][_0x3181('0x3a')];_0x153490+=0x1){socket[_0x3181('0x71')](_0x3181('0x72'),{'UserId':Number(_0x39d295[_0x3181('0x50')][_0x3181('0x67')][_0x153490]),'OpenchannelQueueId':Number(_0x39d295[_0x3181('0x52')]['id'])});}return _0x153fcf;});}})[_0x3181('0x27')](respondWithResult(_0x46b4b0,null))[_0x3181('0x48')](handleError(_0x46b4b0,null));};exports[_0x3181('0x85')]=function(_0x594b6e,_0x211baf,_0x2d5e75){return db[_0x3181('0x2f')][_0x3181('0x51')]({'where':{'id':_0x594b6e[_0x3181('0x52')]['id']}})[_0x3181('0x27')](handleEntityNotFound(_0x211baf,null))[_0x3181('0x27')](function(_0x34db1d){if(_0x34db1d){return _0x34db1d[_0x3181('0x85')](_0x594b6e[_0x3181('0x35')][_0x3181('0x67')])[_0x3181('0x27')](function(){if(_[_0x3181('0x89')](_0x594b6e['query'][_0x3181('0x67')])){for(var _0x3fd06f=0x0;_0x3fd06f<_0x594b6e[_0x3181('0x35')][_0x3181('0x67')][_0x3181('0x3a')];_0x3fd06f+=0x1){socket[_0x3181('0x71')](_0x3181('0x86'),{'UserId':Number(_0x594b6e[_0x3181('0x35')][_0x3181('0x67')][_0x3fd06f]),'OpenchannelQueueId':Number(_0x594b6e[_0x3181('0x52')]['id'])});}}else{socket[_0x3181('0x71')](_0x3181('0x86'),{'UserId':Number(_0x594b6e[_0x3181('0x35')][_0x3181('0x67')]),'OpenchannelQueueId':Number(_0x594b6e[_0x3181('0x52')]['id'])});}});}})[_0x3181('0x27')](respondWithStatusCode(_0x211baf,null))[_0x3181('0x48')](handleError(_0x211baf,null));};exports[_0x3181('0x8a')]=function(_0x367802,_0x4ed486,_0x2fbe00){var _0x521587={};var _0x396980={};var _0x548c57;var _0x191610;return db[_0x3181('0x2f')][_0x3181('0x55')]({'where':{'id':_0x367802['params']['id']}})['then'](handleEntityNotFound(_0x4ed486,null))[_0x3181('0x27')](function(_0x433975){if(_0x433975){_0x548c57=_0x433975;_0x396980[_0x3181('0x33')]=_[_0x3181('0x46')](db[_0x3181('0x68')][_0x3181('0x47')]);_0x396980[_0x3181('0x35')]=_[_0x3181('0x46')](_0x367802[_0x3181('0x35')]);_0x396980['filters']=_[_0x3181('0x37')](_0x396980[_0x3181('0x33')],_0x396980['query']);_0x521587[_0x3181('0x38')]=_[_0x3181('0x37')](_0x396980[_0x3181('0x33')],qs[_0x3181('0x39')](_0x367802[_0x3181('0x35')]['fields']));_0x521587[_0x3181('0x38')]=_0x521587[_0x3181('0x38')][_0x3181('0x3a')]?_0x521587[_0x3181('0x38')]:_0x396980[_0x3181('0x33')];_0x521587[_0x3181('0x64')]=qs['sort'](_0x367802['query'][_0x3181('0x3c')]);_0x521587[_0x3181('0x3d')]=qs[_0x3181('0x36')](_[_0x3181('0x3e')](_0x367802[_0x3181('0x35')],_0x396980[_0x3181('0x36')]));if(_0x367802[_0x3181('0x35')]['filter']){_0x521587['where']=_[_0x3181('0x40')](_0x521587[_0x3181('0x3d')],{'$or':_[_0x3181('0x34')](_0x521587['attributes'],function(_0x317d7f){var _0x330d32={};_0x330d32[_0x317d7f]={'$like':'%'+_0x367802[_0x3181('0x35')][_0x3181('0x3f')]+'%'};return _0x330d32;})});}_0x521587=_[_0x3181('0x40')]({},_0x521587,_0x367802[_0x3181('0x41')]);return _0x548c57[_0x3181('0x8a')](_0x521587);}})[_0x3181('0x27')](function(_0x548163){if(_0x548163){_0x191610=_0x548163[_0x3181('0x3a')];if(!_0x367802[_0x3181('0x35')]['hasOwnProperty'](_0x3181('0x65'))){_0x521587[_0x3181('0x21')]=qs[_0x3181('0x21')](_0x367802[_0x3181('0x35')][_0x3181('0x21')]);_0x521587[_0x3181('0x1f')]=qs[_0x3181('0x1f')](_0x367802[_0x3181('0x35')][_0x3181('0x1f')]);}return _0x548c57[_0x3181('0x8a')](_0x521587);}})[_0x3181('0x27')](function(_0x43d97b){if(_0x43d97b){return _0x43d97b?{'count':_0x191610,'rows':_0x43d97b}:null;}})['then'](respondWithResult(_0x4ed486,null))['catch'](handleError(_0x4ed486,null));};