4c1435364ad48444e59740b4c5701af81e27e10e
[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 _0xb1b0=['compact','value','isEmpty','addAgents','spread','removeAgents','isArray','userOpenchannelQueue:remove','getAgents','options','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','status','end','json','undefined','offset','count','set','Content-Range','apply','save','update','then','destroy','OpenchannelQueues','UserProfileResource','error','stack','name','send','index','OpenchannelQueue','rawAttributes','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','sort','pick','filter','merge','where','type','VIRTUAL','includeAll','include','findAll','rows','catch','params','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','order','UserOpenchannelQueue','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','ids','Team','User','Agents','online','interface','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','team_has_openchannel_queues','join','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','every','includes','all','union'];(function(_0x3f68ed,_0x15ebf2){var _0x5dc3b2=function(_0x36530b){while(--_0x36530b){_0x3f68ed['push'](_0x3f68ed['shift']());}};_0x5dc3b2(++_0x15ebf2);}(_0xb1b0,0x126));var _0x0b1b=function(_0x4a9fb1,_0x273043){_0x4a9fb1=_0x4a9fb1-0x0;var _0x348672=_0xb1b0[_0x4a9fb1];return _0x348672;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0b1b('0x0'));var zipdir=require(_0x0b1b('0x1'));var jsonpatch=require(_0x0b1b('0x2'));var rp=require('request-promise');var moment=require(_0x0b1b('0x3'));var BPromise=require(_0x0b1b('0x4'));var Mustache=require(_0x0b1b('0x5'));var util=require(_0x0b1b('0x6'));var path=require(_0x0b1b('0x7'));var sox=require(_0x0b1b('0x8'));var csv=require('to-csv');var ejs=require(_0x0b1b('0x9'));var fs=require('fs');var fs_extra=require(_0x0b1b('0xa'));var _=require(_0x0b1b('0xb'));var squel=require(_0x0b1b('0xc'));var crypto=require(_0x0b1b('0xd'));var jsforce=require(_0x0b1b('0xe'));var deskjs=require(_0x0b1b('0xf'));var toCsv=require(_0x0b1b('0x10'));var querystring=require(_0x0b1b('0x11'));var Papa=require(_0x0b1b('0x12'));var Redis=require(_0x0b1b('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x0b1b('0x14'));var as=require(_0x0b1b('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0b1b('0x16'))(_0x0b1b('0x17'));var utils=require(_0x0b1b('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x0b1b('0x19'));var db=require(_0x0b1b('0x1a'))['db'];config[_0x0b1b('0x1b')]=_[_0x0b1b('0x1c')](config[_0x0b1b('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x0b1b('0x1d'))(new Redis(config[_0x0b1b('0x1b')]));require('./openchannelQueue.socket')['register'](socket);function respondWithStatusCode(_0x2b6343,_0x2fbb39){_0x2fbb39=_0x2fbb39||0xcc;return function(_0x4f3e3b){if(_0x4f3e3b){return _0x2b6343['sendStatus'](_0x2fbb39);}return _0x2b6343[_0x0b1b('0x1e')](_0x2fbb39)[_0x0b1b('0x1f')]();};}function respondWithResult(_0x5cf416,_0x2d07f7){_0x2d07f7=_0x2d07f7||0xc8;return function(_0x5afa0d){if(_0x5afa0d){return _0x5cf416[_0x0b1b('0x1e')](_0x2d07f7)[_0x0b1b('0x20')](_0x5afa0d);}};}function respondWithFilteredResult(_0x2bb211,_0x35e3d7){return function(_0x217ee6){if(_0x217ee6){var _0x4ec2d1=typeof _0x35e3d7['offset']===_0x0b1b('0x21')&&typeof _0x35e3d7['limit']===_0x0b1b('0x21');var _0x3d1b4c=_0x217ee6['count'];var _0x1589a1=_0x4ec2d1?0x0:_0x35e3d7[_0x0b1b('0x22')];var _0x1cabb7=_0x4ec2d1?_0x217ee6[_0x0b1b('0x23')]:_0x35e3d7[_0x0b1b('0x22')]+_0x35e3d7['limit'];var _0x2c032d;if(_0x1cabb7>=_0x3d1b4c){_0x1cabb7=_0x3d1b4c;_0x2c032d=0xc8;}else{_0x2c032d=0xce;}_0x2bb211['status'](_0x2c032d);return _0x2bb211[_0x0b1b('0x24')](_0x0b1b('0x25'),_0x1589a1+'-'+_0x1cabb7+'/'+_0x3d1b4c)[_0x0b1b('0x20')](_0x217ee6);}return null;};}function patchUpdates(_0x1eb1c7){return function(_0x557619){try{jsonpatch[_0x0b1b('0x26')](_0x557619,_0x1eb1c7,!![]);}catch(_0xe4f1df){return BPromise['reject'](_0xe4f1df);}return _0x557619[_0x0b1b('0x27')]();};}function saveUpdates(_0x540973,_0x3e444d){return function(_0x337496){if(_0x337496){return _0x337496[_0x0b1b('0x28')](_0x540973)[_0x0b1b('0x29')](function(_0x3d1706){return _0x3d1706;});}return null;};}function removeEntity(_0x114f05,_0x318609){return function(_0x1ab322){if(_0x1ab322){return _0x1ab322[_0x0b1b('0x2a')]()[_0x0b1b('0x29')](function(){var _0x2601f4=_0x1ab322['get']({'plain':!![]});var _0x1fe2cf=_0x0b1b('0x2b');return db[_0x0b1b('0x2c')][_0x0b1b('0x2a')]({'where':{'type':_0x1fe2cf,'resourceId':_0x2601f4['id']}})['then'](function(){return _0x1ab322;});})[_0x0b1b('0x29')](function(){_0x114f05[_0x0b1b('0x1e')](0xcc)[_0x0b1b('0x1f')]();});}};}function handleEntityNotFound(_0x43c151,_0x4db4cb){return function(_0x5aea20){if(!_0x5aea20){_0x43c151['sendStatus'](0x194);}return _0x5aea20;};}function handleError(_0x47b7cb,_0x287b72){_0x287b72=_0x287b72||0x1f4;return function(_0x49d241){logger[_0x0b1b('0x2d')](_0x49d241[_0x0b1b('0x2e')]);if(_0x49d241[_0x0b1b('0x2f')]){delete _0x49d241[_0x0b1b('0x2f')];}_0x47b7cb[_0x0b1b('0x1e')](_0x287b72)[_0x0b1b('0x30')](_0x49d241);};}exports[_0x0b1b('0x31')]=function(_0x1a0770,_0x5e17bc){var _0x2d69a3={},_0x11bff7={},_0x13353c={'count':0x0,'rows':[]};var _0xfef1ea=_['map'](db[_0x0b1b('0x32')][_0x0b1b('0x33')],function(_0x41ca72){return{'name':_0x41ca72['fieldName'],'type':_0x41ca72['type'][_0x0b1b('0x34')]};});_0x11bff7[_0x0b1b('0x35')]=_[_0x0b1b('0x36')](_0xfef1ea,'name');_0x11bff7[_0x0b1b('0x37')]=_[_0x0b1b('0x38')](_0x1a0770['query']);_0x11bff7[_0x0b1b('0x39')]=_[_0x0b1b('0x3a')](_0x11bff7[_0x0b1b('0x35')],_0x11bff7['query']);_0x2d69a3['attributes']=_[_0x0b1b('0x3a')](_0x11bff7[_0x0b1b('0x35')],qs['fields'](_0x1a0770['query'][_0x0b1b('0x3b')]));_0x2d69a3[_0x0b1b('0x3c')]=_0x2d69a3[_0x0b1b('0x3c')][_0x0b1b('0x3d')]?_0x2d69a3[_0x0b1b('0x3c')]:_0x11bff7['model'];if(!_0x1a0770[_0x0b1b('0x37')][_0x0b1b('0x3e')](_0x0b1b('0x3f'))){_0x2d69a3[_0x0b1b('0x40')]=qs[_0x0b1b('0x40')](_0x1a0770[_0x0b1b('0x37')]['limit']);_0x2d69a3[_0x0b1b('0x22')]=qs[_0x0b1b('0x22')](_0x1a0770['query'][_0x0b1b('0x22')]);}_0x2d69a3['order']=qs['sort'](_0x1a0770['query'][_0x0b1b('0x41')]);_0x2d69a3['where']=qs[_0x0b1b('0x39')](_[_0x0b1b('0x42')](_0x1a0770[_0x0b1b('0x37')],_0x11bff7[_0x0b1b('0x39')]),_0xfef1ea);if(_0x1a0770[_0x0b1b('0x37')][_0x0b1b('0x43')]){_0x2d69a3['where']=_[_0x0b1b('0x44')](_0x2d69a3[_0x0b1b('0x45')],{'$or':_['map'](_0xfef1ea,function(_0x15b850){if(_0x15b850[_0x0b1b('0x46')]!==_0x0b1b('0x47')){var _0x257ce7={};_0x257ce7[_0x15b850[_0x0b1b('0x2f')]]={'$like':'%'+_0x1a0770[_0x0b1b('0x37')][_0x0b1b('0x43')]+'%'};return _0x257ce7;}})});}_0x2d69a3=_[_0x0b1b('0x44')]({},_0x2d69a3,_0x1a0770['options']);var _0x35b5f0={'where':_0x2d69a3['where']};return db['OpenchannelQueue'][_0x0b1b('0x23')](_0x35b5f0)[_0x0b1b('0x29')](function(_0x4accab){_0x13353c[_0x0b1b('0x23')]=_0x4accab;if(_0x1a0770['query'][_0x0b1b('0x48')]){_0x2d69a3[_0x0b1b('0x49')]=[{'all':!![]}];}return db[_0x0b1b('0x32')][_0x0b1b('0x4a')](_0x2d69a3);})[_0x0b1b('0x29')](function(_0x4ff4ea){_0x13353c[_0x0b1b('0x4b')]=_0x4ff4ea;return _0x13353c;})[_0x0b1b('0x29')](respondWithFilteredResult(_0x5e17bc,_0x2d69a3))[_0x0b1b('0x4c')](handleError(_0x5e17bc,null));};exports['show']=function(_0x288789,_0xedfbc3){var _0x2c88f5={'raw':!![],'where':{'id':_0x288789[_0x0b1b('0x4d')]['id']}},_0x113617={};_0x113617[_0x0b1b('0x35')]=_[_0x0b1b('0x38')](db[_0x0b1b('0x32')][_0x0b1b('0x33')]);_0x113617[_0x0b1b('0x37')]=_[_0x0b1b('0x38')](_0x288789['query']);_0x113617[_0x0b1b('0x39')]=_['intersection'](_0x113617[_0x0b1b('0x35')],_0x113617['query']);_0x2c88f5[_0x0b1b('0x3c')]=_['intersection'](_0x113617[_0x0b1b('0x35')],qs[_0x0b1b('0x3b')](_0x288789['query'][_0x0b1b('0x3b')]));_0x2c88f5[_0x0b1b('0x3c')]=_0x2c88f5[_0x0b1b('0x3c')][_0x0b1b('0x3d')]?_0x2c88f5[_0x0b1b('0x3c')]:_0x113617[_0x0b1b('0x35')];if(_0x288789['query']['includeAll']){_0x2c88f5[_0x0b1b('0x49')]=[{'all':!![]}];}_0x2c88f5=_[_0x0b1b('0x44')]({},_0x2c88f5,_0x288789['options']);return db[_0x0b1b('0x32')]['find'](_0x2c88f5)[_0x0b1b('0x29')](handleEntityNotFound(_0xedfbc3,null))['then'](respondWithResult(_0xedfbc3,null))[_0x0b1b('0x4c')](handleError(_0xedfbc3,null));};exports[_0x0b1b('0x4e')]=function(_0x13bdac,_0x7553fe){return db['OpenchannelQueue'][_0x0b1b('0x4e')](_0x13bdac[_0x0b1b('0x4f')],{})[_0x0b1b('0x29')](function(_0x156397){var _0x15c68d=_0x13bdac[_0x0b1b('0x50')][_0x0b1b('0x51')]({'plain':!![]});if(!_0x15c68d)throw new Error(_0x0b1b('0x52'));if(_0x15c68d[_0x0b1b('0x53')]===_0x0b1b('0x50')){var _0x233dd2=_0x156397[_0x0b1b('0x51')]({'plain':!![]});var _0x5d6d11=_0x0b1b('0x2b');return db['UserProfileSection'][_0x0b1b('0x54')]({'where':{'name':_0x5d6d11,'userProfileId':_0x15c68d[_0x0b1b('0x55')]},'raw':!![]})[_0x0b1b('0x29')](function(_0x564499){if(_0x564499&&_0x564499[_0x0b1b('0x56')]===0x0){return db[_0x0b1b('0x2c')][_0x0b1b('0x4e')]({'name':_0x233dd2[_0x0b1b('0x2f')],'resourceId':_0x233dd2['id'],'type':_0x564499[_0x0b1b('0x2f')],'sectionId':_0x564499['id']},{})['then'](function(){return _0x156397;});}else{return _0x156397;}})[_0x0b1b('0x4c')](function(_0x59e52d){logger[_0x0b1b('0x2d')](_0x0b1b('0x57'),_0x59e52d);throw _0x59e52d;});}return _0x156397;})[_0x0b1b('0x29')](respondWithResult(_0x7553fe,0xc9))['catch'](handleError(_0x7553fe,null));};exports[_0x0b1b('0x28')]=function(_0x4e3e13,_0x4cdeb2){if(_0x4e3e13[_0x0b1b('0x4f')]['id']){delete _0x4e3e13[_0x0b1b('0x4f')]['id'];}return db[_0x0b1b('0x32')][_0x0b1b('0x54')]({'where':{'id':_0x4e3e13[_0x0b1b('0x4d')]['id']}})[_0x0b1b('0x29')](handleEntityNotFound(_0x4cdeb2,null))['then'](saveUpdates(_0x4e3e13[_0x0b1b('0x4f')],null))[_0x0b1b('0x29')](respondWithResult(_0x4cdeb2,null))['catch'](handleError(_0x4cdeb2,null));};exports[_0x0b1b('0x2a')]=function(_0x3cff1d,_0x2a8092){return db[_0x0b1b('0x32')]['find']({'where':{'id':_0x3cff1d['params']['id']}})[_0x0b1b('0x29')](handleEntityNotFound(_0x2a8092,null))[_0x0b1b('0x29')](removeEntity(_0x2a8092,null))[_0x0b1b('0x4c')](handleError(_0x2a8092,null));};exports[_0x0b1b('0x58')]=function(_0x1a2570,_0x28e760){return db[_0x0b1b('0x32')][_0x0b1b('0x58')]()['then'](respondWithResult(_0x28e760,null))[_0x0b1b('0x4c')](handleError(_0x28e760,null));};exports['getMembers']=function(_0x40fc70,_0x392aee,_0x121404){var _0x4d35e5={'raw':!![],'where':{}},_0x28a9b6={},_0x238564;return db[_0x0b1b('0x32')][_0x0b1b('0x59')]({'where':{'id':_0x40fc70[_0x0b1b('0x4d')]['id']}})[_0x0b1b('0x29')](handleEntityNotFound(_0x392aee,null))[_0x0b1b('0x29')](function(_0x4b302b){if(_0x4b302b){_0x238564=_0x4b302b[_0x0b1b('0x51')]({'plain':!![]});_0x28a9b6['model']=_[_0x0b1b('0x38')](db['UserOpenchannelQueue']['rawAttributes']);_0x28a9b6[_0x0b1b('0x37')]=_['keys'](_0x40fc70['query']);_0x28a9b6[_0x0b1b('0x39')]=_[_0x0b1b('0x3a')](_0x28a9b6['model'],_0x28a9b6[_0x0b1b('0x37')]);_0x4d35e5[_0x0b1b('0x3c')]=_[_0x0b1b('0x3a')](_0x28a9b6[_0x0b1b('0x35')],qs[_0x0b1b('0x3b')](_0x40fc70[_0x0b1b('0x37')][_0x0b1b('0x3b')]));_0x4d35e5[_0x0b1b('0x3c')]=_0x4d35e5['attributes'][_0x0b1b('0x3d')]?_0x4d35e5[_0x0b1b('0x3c')]:_0x28a9b6['model'];if(!_0x40fc70[_0x0b1b('0x37')]['hasOwnProperty'](_0x0b1b('0x3f'))){_0x4d35e5[_0x0b1b('0x40')]=qs['limit'](_0x40fc70['query'][_0x0b1b('0x40')]);_0x4d35e5[_0x0b1b('0x22')]=qs[_0x0b1b('0x22')](_0x40fc70[_0x0b1b('0x37')]['offset']);}_0x4d35e5[_0x0b1b('0x5a')]=qs[_0x0b1b('0x41')](_0x40fc70[_0x0b1b('0x37')]['sort']);_0x4d35e5[_0x0b1b('0x45')]=qs[_0x0b1b('0x39')](_['pick'](_0x40fc70[_0x0b1b('0x37')],_0x28a9b6['filters']));_0x4d35e5[_0x0b1b('0x45')]['OpenchannelQueueId']=_0x4b302b['id'];if(_0x40fc70[_0x0b1b('0x37')][_0x0b1b('0x43')]){_0x4d35e5[_0x0b1b('0x45')]=_['merge'](_0x4d35e5[_0x0b1b('0x45')],{'$or':_['map'](_0x4d35e5[_0x0b1b('0x3c')],function(_0x524e0e){var _0x16ec0d={};_0x16ec0d[_0x524e0e]={'$like':'%'+_0x40fc70[_0x0b1b('0x37')][_0x0b1b('0x43')]+'%'};return _0x16ec0d;})});}_0x4d35e5=_[_0x0b1b('0x44')]({},_0x4d35e5,_0x40fc70['options']);return db[_0x0b1b('0x5b')][_0x0b1b('0x4a')](_0x4d35e5);}})[_0x0b1b('0x29')](function(_0x2ee86f){if(_0x2ee86f){return db['User'][_0x0b1b('0x5c')]({'where':{'id':_[_0x0b1b('0x36')](_0x2ee86f,_0x0b1b('0x5d')),'role':_0x0b1b('0x5e')},'attributes':['id',_0x0b1b('0x2f'),_0x0b1b('0x5f'),_0x0b1b('0x60'),_0x0b1b('0x61')]});}})[_0x0b1b('0x29')](function(_0x35518f){if(_0x35518f){return{'count':_0x35518f['count'],'rows':_[_0x0b1b('0x36')](_0x35518f['rows'],function(_0xe2e367){return{'membername':_0xe2e367[_0x0b1b('0x2f')],'UserId':_0xe2e367['id'],'queue_name':_0x238564[_0x0b1b('0x2f')],'OpenchannelQueueId':_0x238564['id'],'interface':util[_0x0b1b('0x62')](_0x0b1b('0x63'),_0x0b1b('0x64'),_0xe2e367[_0x0b1b('0x2f')]),'penalty':0x0,'paused':_0xe2e367[_0x0b1b('0x5f')],'createdAt':_0xe2e367['createdAt'],'updatedAt':_0xe2e367[_0x0b1b('0x60')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x0b1b('0x29')](respondWithFilteredResult(_0x392aee,_0x4d35e5))[_0x0b1b('0x4c')](handleError(_0x392aee,null));};exports[_0x0b1b('0x65')]=function(_0xf44f17,_0x4a57f8,_0x2aff4a){var _0x4f9361={};var _0x3b591a={};var _0x2afd65;var _0x4144db;return db[_0x0b1b('0x32')][_0x0b1b('0x59')]({'where':{'id':_0xf44f17['params']['id']}})[_0x0b1b('0x29')](handleEntityNotFound(_0x4a57f8,null))[_0x0b1b('0x29')](function(_0x5247dc){if(_0x5247dc){_0x2afd65=_0x5247dc;_0x3b591a[_0x0b1b('0x35')]=_[_0x0b1b('0x38')](db['Team'][_0x0b1b('0x33')]);_0x3b591a['query']=_[_0x0b1b('0x38')](_0xf44f17[_0x0b1b('0x37')]);_0x3b591a[_0x0b1b('0x39')]=_[_0x0b1b('0x3a')](_0x3b591a['model'],_0x3b591a['query']);_0x4f9361[_0x0b1b('0x3c')]=_[_0x0b1b('0x3a')](_0x3b591a[_0x0b1b('0x35')],qs[_0x0b1b('0x3b')](_0xf44f17['query'][_0x0b1b('0x3b')]));_0x4f9361[_0x0b1b('0x3c')]=_0x4f9361[_0x0b1b('0x3c')][_0x0b1b('0x3d')]?_0x4f9361[_0x0b1b('0x3c')]:_0x3b591a[_0x0b1b('0x35')];_0x4f9361['order']=qs[_0x0b1b('0x41')](_0xf44f17['query'][_0x0b1b('0x41')]);_0x4f9361['where']=qs['filters'](_[_0x0b1b('0x42')](_0xf44f17[_0x0b1b('0x37')],_0x3b591a['filters']));if(_0xf44f17[_0x0b1b('0x37')][_0x0b1b('0x43')]){_0x4f9361[_0x0b1b('0x45')]=_['merge'](_0x4f9361[_0x0b1b('0x45')],{'$or':_['map'](_0x4f9361['attributes'],function(_0x169218){var _0x43c76e={};_0x43c76e[_0x169218]={'$like':'%'+_0xf44f17[_0x0b1b('0x37')][_0x0b1b('0x43')]+'%'};return _0x43c76e;})});}_0x4f9361=_['merge']({},_0x4f9361,_0xf44f17['options']);return _0x2afd65[_0x0b1b('0x65')](_0x4f9361);}})[_0x0b1b('0x29')](function(_0x1046ef){if(_0x1046ef){_0x4144db=_0x1046ef['length'];if(!_0xf44f17[_0x0b1b('0x37')]['hasOwnProperty'](_0x0b1b('0x3f'))){_0x4f9361[_0x0b1b('0x40')]=qs[_0x0b1b('0x40')](_0xf44f17[_0x0b1b('0x37')][_0x0b1b('0x40')]);_0x4f9361[_0x0b1b('0x22')]=qs[_0x0b1b('0x22')](_0xf44f17['query']['offset']);}return _0x2afd65[_0x0b1b('0x65')](_0x4f9361);}})[_0x0b1b('0x29')](function(_0x5ecc95){if(_0x5ecc95){return _0x5ecc95?{'count':_0x4144db,'rows':_0x5ecc95}:null;}})[_0x0b1b('0x29')](respondWithResult(_0x4a57f8,null))[_0x0b1b('0x4c')](handleError(_0x4a57f8,null));};exports['addTeams']=function(_0x2a1f01,_0x534300,_0x572a9f){var _0x366f8e=_0x2a1f01['body'][_0x0b1b('0x66')];return db[_0x0b1b('0x67')][_0x0b1b('0x4a')]({'where':{'id':_0x366f8e},'attributes':['id'],'include':[{'model':db[_0x0b1b('0x68')],'as':_0x0b1b('0x69'),'attributes':['id','name',_0x0b1b('0x6a'),'voicePause',_0x0b1b('0x6b')],'raw':!![]}]})['then'](function(_0x55c1e2){if(_0x55c1e2){var _0x42f556=_['flatMap'](_0x55c1e2,function(_0x3bc96f){var _0x5473cf=_0x3bc96f[_0x0b1b('0x51')]({'plain':!![]});return _0x5473cf[_0x0b1b('0x69')];});return db['OpenchannelQueue'][_0x0b1b('0x54')]({'where':{'id':_0x2a1f01[_0x0b1b('0x4d')]['id']}})['then'](function(_0xbd44eb){return db[_0x0b1b('0x6c')][_0x0b1b('0x6d')](function(_0x2920f7){return _0xbd44eb[_0x0b1b('0x6e')](_0x366f8e,{'transaction':_0x2920f7})[_0x0b1b('0x29')](function(){return BPromise[_0x0b1b('0x6f')](_0x42f556,function(_0x3be6bd){return db[_0x0b1b('0x5b')][_0x0b1b('0x70')]({'where':{'UserId':_0x3be6bd['id'],'OpenchannelQueueId':_0x2a1f01['params']['id']},'transaction':_0x2920f7});});})[_0x0b1b('0x29')](function(){_0x42f556[_0x0b1b('0x71')](function(_0x1f11a2){socket[_0x0b1b('0x72')](_0x0b1b('0x73'),{'UserId':_0x1f11a2['id'],'OpenchannelQueueId':_0xbd44eb['id']});});});});});}})[_0x0b1b('0x29')](respondWithStatusCode(_0x534300,null))['catch'](handleError(_0x534300,null));};exports[_0x0b1b('0x74')]=function(_0x3028f0,_0x525bcd,_0x4f7916){return db[_0x0b1b('0x67')][_0x0b1b('0x4a')]({'where':{'id':_0x3028f0['query'][_0x0b1b('0x66')]},'attributes':['id'],'include':[{'model':db[_0x0b1b('0x68')],'as':_0x0b1b('0x69'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x525bcd,null))[_0x0b1b('0x29')](function(_0x1c880e){var _0x37831b=_[_0x0b1b('0x36')](_0x1c880e,'id');var _0x397bc1=[];var _0x38d6f5=[];var _0x12f0a2=squel[_0x0b1b('0x75')]();_0x12f0a2[_0x0b1b('0x76')](_0x0b1b('0x77'))['from'](_0x0b1b('0x78'),'tq')[_0x0b1b('0x79')]('user_has_teams','ut',_0x0b1b('0x7a'))[_0x0b1b('0x45')](_0x0b1b('0x7b'),_0x3028f0['params']['id']);for(var _0x2d5b89=0x0;_0x2d5b89<_0x1c880e[_0x0b1b('0x3d')];_0x2d5b89+=0x1){let _0x563d80=_0x1c880e[_0x2d5b89];for(var _0x1595db=0x0;_0x1595db<_0x563d80['Agents']['length'];_0x1595db+=0x1){let _0x4e05d0=_0x563d80[_0x0b1b('0x69')][_0x1595db];var _0x109b9a=_0x12f0a2[_0x0b1b('0x7c')]();_0x109b9a[_0x0b1b('0x45')](_0x0b1b('0x7d'),_0x4e05d0['id']);_0x38d6f5[_0x0b1b('0x7e')](db['sequelize'][_0x0b1b('0x37')](_0x109b9a[_0x0b1b('0x7f')](),{'type':db['sequelize']['QueryTypes']['SELECT']})['then'](function(_0x415117){if(_0x415117[_0x0b1b('0x3d')]===0x1){return _0x4e05d0['id'];}else{var _0x3aecd8=_[_0x0b1b('0x80')](_[_0x0b1b('0x36')](_0x415117,'TeamId'),function(_0x475ade){return _[_0x0b1b('0x81')](_0x37831b,_0x475ade);});if(_0x3aecd8){return _0x4e05d0['id'];}}}));}}return BPromise[_0x0b1b('0x82')](_0x38d6f5)[_0x0b1b('0x29')](function(_0x240e0d){_0x397bc1=_(_0x397bc1)[_0x0b1b('0x83')](_0x240e0d)[_0x0b1b('0x84')]()[_0x0b1b('0x85')]();return db[_0x0b1b('0x32')][_0x0b1b('0x54')]({'where':{'id':_0x3028f0['params']['id']}})[_0x0b1b('0x29')](function(_0x6aa7ad){return db[_0x0b1b('0x6c')]['transaction'](function(_0x21a797){return _0x6aa7ad[_0x0b1b('0x74')](_0x3028f0[_0x0b1b('0x37')][_0x0b1b('0x66')],{'transaction':_0x21a797})[_0x0b1b('0x29')](function(){if(!_[_0x0b1b('0x86')](_0x397bc1)){return _0x6aa7ad['removeAgents'](_0x397bc1,{'transaction':_0x21a797});}})[_0x0b1b('0x29')](function(){_0x397bc1[_0x0b1b('0x71')](function(_0x5126c2){socket[_0x0b1b('0x72')]('userOpenchannelQueue:remove',{'UserId':_0x5126c2,'OpenchannelQueueId':_0x6aa7ad['id']});});});});});});})['then'](respondWithStatusCode(_0x525bcd,null))[_0x0b1b('0x4c')](handleError(_0x525bcd,null));};exports[_0x0b1b('0x87')]=function(_0x90cfa5,_0x42ef7a,_0x1b2434){return db[_0x0b1b('0x32')][_0x0b1b('0x54')]({'where':{'id':_0x90cfa5[_0x0b1b('0x4d')]['id']}})[_0x0b1b('0x29')](handleEntityNotFound(_0x42ef7a,null))['then'](function(_0x1d27db){if(_0x1d27db){return _0x1d27db[_0x0b1b('0x87')](_0x90cfa5['body'][_0x0b1b('0x66')],_['omit'](_0x90cfa5[_0x0b1b('0x4f')],[_0x0b1b('0x66'),'id'])||{})[_0x0b1b('0x88')](function(_0x55d529){for(var _0x9dbd3f=0x0;_0x9dbd3f<_0x90cfa5['body'][_0x0b1b('0x66')][_0x0b1b('0x3d')];_0x9dbd3f+=0x1){socket[_0x0b1b('0x72')]('userOpenchannelQueue:save',{'UserId':_0x90cfa5['body'][_0x0b1b('0x66')][_0x9dbd3f],'OpenchannelQueueId':_0x90cfa5['params']['id']});}return _0x55d529;});}})[_0x0b1b('0x29')](respondWithResult(_0x42ef7a,null))['catch'](handleError(_0x42ef7a,null));};exports['removeAgents']=function(_0x3f7952,_0x3082d8,_0xebe9d8){return db[_0x0b1b('0x32')][_0x0b1b('0x54')]({'where':{'id':_0x3f7952[_0x0b1b('0x4d')]['id']}})[_0x0b1b('0x29')](handleEntityNotFound(_0x3082d8,null))['then'](function(_0x2f1cd1){if(_0x2f1cd1){return _0x2f1cd1[_0x0b1b('0x89')](_0x3f7952['query']['ids'])[_0x0b1b('0x29')](function(){if(_[_0x0b1b('0x8a')](_0x3f7952['query'][_0x0b1b('0x66')])){for(var _0x1b9c0b=0x0;_0x1b9c0b<_0x3f7952[_0x0b1b('0x37')]['ids']['length'];_0x1b9c0b+=0x1){socket[_0x0b1b('0x72')](_0x0b1b('0x8b'),{'UserId':Number(_0x3f7952['query'][_0x0b1b('0x66')][_0x1b9c0b]),'OpenchannelQueueId':Number(_0x3f7952[_0x0b1b('0x4d')]['id'])});}}else{socket['emit'](_0x0b1b('0x8b'),{'UserId':Number(_0x3f7952[_0x0b1b('0x37')][_0x0b1b('0x66')]),'OpenchannelQueueId':Number(_0x3f7952[_0x0b1b('0x4d')]['id'])});}});}})[_0x0b1b('0x29')](respondWithStatusCode(_0x3082d8,null))[_0x0b1b('0x4c')](handleError(_0x3082d8,null));};exports[_0x0b1b('0x8c')]=function(_0x26cbab,_0x10a9e1,_0x187b7d){var _0x2c02c7={};var _0x1c6a4c={};var _0x2ef78c;var _0x193ddd;return db[_0x0b1b('0x32')][_0x0b1b('0x59')]({'where':{'id':_0x26cbab['params']['id']}})[_0x0b1b('0x29')](handleEntityNotFound(_0x10a9e1,null))[_0x0b1b('0x29')](function(_0x367e1b){if(_0x367e1b){_0x2ef78c=_0x367e1b;_0x1c6a4c[_0x0b1b('0x35')]=_['keys'](db[_0x0b1b('0x68')][_0x0b1b('0x33')]);_0x1c6a4c[_0x0b1b('0x37')]=_[_0x0b1b('0x38')](_0x26cbab['query']);_0x1c6a4c[_0x0b1b('0x39')]=_['intersection'](_0x1c6a4c['model'],_0x1c6a4c[_0x0b1b('0x37')]);_0x2c02c7['attributes']=_[_0x0b1b('0x3a')](_0x1c6a4c[_0x0b1b('0x35')],qs[_0x0b1b('0x3b')](_0x26cbab[_0x0b1b('0x37')]['fields']));_0x2c02c7[_0x0b1b('0x3c')]=_0x2c02c7[_0x0b1b('0x3c')]['length']?_0x2c02c7[_0x0b1b('0x3c')]:_0x1c6a4c[_0x0b1b('0x35')];_0x2c02c7[_0x0b1b('0x5a')]=qs['sort'](_0x26cbab[_0x0b1b('0x37')][_0x0b1b('0x41')]);_0x2c02c7[_0x0b1b('0x45')]=qs[_0x0b1b('0x39')](_[_0x0b1b('0x42')](_0x26cbab['query'],_0x1c6a4c[_0x0b1b('0x39')]));if(_0x26cbab[_0x0b1b('0x37')]['filter']){_0x2c02c7[_0x0b1b('0x45')]=_[_0x0b1b('0x44')](_0x2c02c7[_0x0b1b('0x45')],{'$or':_[_0x0b1b('0x36')](_0x2c02c7[_0x0b1b('0x3c')],function(_0x58ab52){var _0x2a4a70={};_0x2a4a70[_0x58ab52]={'$like':'%'+_0x26cbab[_0x0b1b('0x37')][_0x0b1b('0x43')]+'%'};return _0x2a4a70;})});}_0x2c02c7=_[_0x0b1b('0x44')]({},_0x2c02c7,_0x26cbab[_0x0b1b('0x8d')]);return _0x2ef78c[_0x0b1b('0x8c')](_0x2c02c7);}})[_0x0b1b('0x29')](function(_0x2473cd){if(_0x2473cd){_0x193ddd=_0x2473cd[_0x0b1b('0x3d')];if(!_0x26cbab[_0x0b1b('0x37')][_0x0b1b('0x3e')](_0x0b1b('0x3f'))){_0x2c02c7[_0x0b1b('0x40')]=qs[_0x0b1b('0x40')](_0x26cbab[_0x0b1b('0x37')][_0x0b1b('0x40')]);_0x2c02c7['offset']=qs['offset'](_0x26cbab[_0x0b1b('0x37')][_0x0b1b('0x22')]);}return _0x2ef78c['getAgents'](_0x2c02c7);}})[_0x0b1b('0x29')](function(_0x32b26b){if(_0x32b26b){return _0x32b26b?{'count':_0x193ddd,'rows':_0x32b26b}:null;}})[_0x0b1b('0x29')](respondWithResult(_0x10a9e1,null))[_0x0b1b('0x4c')](handleError(_0x10a9e1,null));};