Built motion from commit 5b761a7b.|2.5.36
[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 _0xbef9=['team_has_openchannel_queues','user_has_teams','OpenchannelQueueId\x20=\x20?','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','removeTeams','isEmpty','removeAgents','forEach','userOpenchannelQueue:remove','addAgents','omit','spread','isArray','getAgents','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','end','status','json','offset','undefined','count','apply','save','update','then','destroy','get','OpenchannelQueues','error','stack','name','send','index','map','rawAttributes','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','sort','where','pick','filter','merge','type','VIRTUAL','options','include','OpenchannelQueue','findAll','rows','show','params','keys','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','catch','describe','OpenchannelQueueId','UserOpenchannelQueue','User','findAndCountAll','UserId','openchannelPause','updatedAt','createdAt','format','%s/%s','SIP','Team','order','getTeams','nolimit','online','voicePause','interface','flatMap','Agents','sequelize','transaction','addTeams','each','findOrCreate','emit','userOpenchannelQueue:save','ids','select','field','tq.TeamId'];(function(_0xbb091,_0x3fe7ee){var _0x467a04=function(_0x3a978d){while(--_0x3a978d){_0xbb091['push'](_0xbb091['shift']());}};_0x467a04(++_0x3fe7ee);}(_0xbef9,0x127));var _0x9bef=function(_0x2e55fb,_0x1a5ea5){_0x2e55fb=_0x2e55fb-0x0;var _0x8dc095=_0xbef9[_0x2e55fb];return _0x8dc095;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9bef('0x0'));var zipdir=require(_0x9bef('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9bef('0x2'));var moment=require(_0x9bef('0x3'));var BPromise=require(_0x9bef('0x4'));var Mustache=require(_0x9bef('0x5'));var util=require('util');var path=require(_0x9bef('0x6'));var sox=require(_0x9bef('0x7'));var csv=require(_0x9bef('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9bef('0x9'));var _=require('lodash');var squel=require(_0x9bef('0xa'));var crypto=require(_0x9bef('0xb'));var jsforce=require(_0x9bef('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9bef('0xd'));var Papa=require('papaparse');var Redis=require(_0x9bef('0xe'));var authService=require(_0x9bef('0xf'));var qs=require(_0x9bef('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x9bef('0x11'));var config=require(_0x9bef('0x12'));var licenseUtil=require(_0x9bef('0x13'));var db=require('../../mysqldb')['db'];config[_0x9bef('0x14')]=_[_0x9bef('0x15')](config[_0x9bef('0x14')],{'host':_0x9bef('0x16'),'port':0x18eb});var socket=require(_0x9bef('0x17'))(new Redis(config[_0x9bef('0x14')]));require(_0x9bef('0x18'))[_0x9bef('0x19')](socket);function respondWithStatusCode(_0x3c03b6,_0x4d17c3){_0x4d17c3=_0x4d17c3||0xcc;return function(_0x2ddaed){if(_0x2ddaed){return _0x3c03b6[_0x9bef('0x1a')](_0x4d17c3);}return _0x3c03b6['status'](_0x4d17c3)[_0x9bef('0x1b')]();};}function respondWithResult(_0x380148,_0x29db74){_0x29db74=_0x29db74||0xc8;return function(_0x1ff4f7){if(_0x1ff4f7){return _0x380148[_0x9bef('0x1c')](_0x29db74)[_0x9bef('0x1d')](_0x1ff4f7);}};}function respondWithFilteredResult(_0xf1f317,_0x2ec792){return function(_0x568237){if(_0x568237){var _0x1ba73f=typeof _0x2ec792[_0x9bef('0x1e')]===_0x9bef('0x1f')&&typeof _0x2ec792['limit']==='undefined';var _0x1a7c52=_0x568237['count'];var _0x3bc7f9=_0x1ba73f?0x0:_0x2ec792[_0x9bef('0x1e')];var _0x5e1406=_0x1ba73f?_0x568237[_0x9bef('0x20')]:_0x2ec792[_0x9bef('0x1e')]+_0x2ec792['limit'];var _0x3fcfb1;if(_0x5e1406>=_0x1a7c52){_0x5e1406=_0x1a7c52;_0x3fcfb1=0xc8;}else{_0x3fcfb1=0xce;}_0xf1f317[_0x9bef('0x1c')](_0x3fcfb1);return _0xf1f317['set']('Content-Range',_0x3bc7f9+'-'+_0x5e1406+'/'+_0x1a7c52)['json'](_0x568237);}return null;};}function patchUpdates(_0x1812f4){return function(_0x3949c6){try{jsonpatch[_0x9bef('0x21')](_0x3949c6,_0x1812f4,!![]);}catch(_0x16a94a){return BPromise['reject'](_0x16a94a);}return _0x3949c6[_0x9bef('0x22')]();};}function saveUpdates(_0x558a8b,_0x4d8aab){return function(_0x45882e){if(_0x45882e){return _0x45882e[_0x9bef('0x23')](_0x558a8b)[_0x9bef('0x24')](function(_0x20b5b6){return _0x20b5b6;});}return null;};}function removeEntity(_0x12fb15,_0x28f38a){return function(_0x57e9d7){if(_0x57e9d7){return _0x57e9d7[_0x9bef('0x25')]()[_0x9bef('0x24')](function(){var _0x2c1759=_0x57e9d7[_0x9bef('0x26')]({'plain':!![]});var _0x1bec9e=_0x9bef('0x27');return db['UserProfileResource']['destroy']({'where':{'type':_0x1bec9e,'resourceId':_0x2c1759['id']}})[_0x9bef('0x24')](function(){return _0x57e9d7;});})['then'](function(){_0x12fb15[_0x9bef('0x1c')](0xcc)[_0x9bef('0x1b')]();});}};}function handleEntityNotFound(_0x3817b3,_0x3856c7){return function(_0x508ab5){if(!_0x508ab5){_0x3817b3[_0x9bef('0x1a')](0x194);}return _0x508ab5;};}function handleError(_0x5cff7a,_0xe80efa){_0xe80efa=_0xe80efa||0x1f4;return function(_0x2269f5){logger[_0x9bef('0x28')](_0x2269f5[_0x9bef('0x29')]);if(_0x2269f5[_0x9bef('0x2a')]){delete _0x2269f5['name'];}_0x5cff7a['status'](_0xe80efa)[_0x9bef('0x2b')](_0x2269f5);};}exports[_0x9bef('0x2c')]=function(_0x1fdd4b,_0x4345b9){var _0x359fbd={},_0x599fd7={},_0x49f8b6={'count':0x0,'rows':[]};var _0x2d9dae=_[_0x9bef('0x2d')](db['OpenchannelQueue'][_0x9bef('0x2e')],function(_0x38d01c){return{'name':_0x38d01c['fieldName'],'type':_0x38d01c['type']['key']};});_0x599fd7[_0x9bef('0x2f')]=_[_0x9bef('0x2d')](_0x2d9dae,_0x9bef('0x2a'));_0x599fd7['query']=_['keys'](_0x1fdd4b[_0x9bef('0x30')]);_0x599fd7[_0x9bef('0x31')]=_[_0x9bef('0x32')](_0x599fd7[_0x9bef('0x2f')],_0x599fd7[_0x9bef('0x30')]);_0x359fbd[_0x9bef('0x33')]=_[_0x9bef('0x32')](_0x599fd7['model'],qs[_0x9bef('0x34')](_0x1fdd4b[_0x9bef('0x30')][_0x9bef('0x34')]));_0x359fbd[_0x9bef('0x33')]=_0x359fbd['attributes'][_0x9bef('0x35')]?_0x359fbd[_0x9bef('0x33')]:_0x599fd7['model'];if(!_0x1fdd4b['query'][_0x9bef('0x36')]('nolimit')){_0x359fbd['limit']=qs[_0x9bef('0x37')](_0x1fdd4b['query']['limit']);_0x359fbd[_0x9bef('0x1e')]=qs[_0x9bef('0x1e')](_0x1fdd4b[_0x9bef('0x30')][_0x9bef('0x1e')]);}_0x359fbd['order']=qs[_0x9bef('0x38')](_0x1fdd4b['query']['sort']);_0x359fbd[_0x9bef('0x39')]=qs[_0x9bef('0x31')](_[_0x9bef('0x3a')](_0x1fdd4b[_0x9bef('0x30')],_0x599fd7[_0x9bef('0x31')]),_0x2d9dae);if(_0x1fdd4b['query'][_0x9bef('0x3b')]){_0x359fbd['where']=_[_0x9bef('0x3c')](_0x359fbd['where'],{'$or':_[_0x9bef('0x2d')](_0x2d9dae,function(_0x59de7b){if(_0x59de7b[_0x9bef('0x3d')]!==_0x9bef('0x3e')){var _0x56c46c={};_0x56c46c[_0x59de7b['name']]={'$like':'%'+_0x1fdd4b[_0x9bef('0x30')]['filter']+'%'};return _0x56c46c;}})});}_0x359fbd=_[_0x9bef('0x3c')]({},_0x359fbd,_0x1fdd4b[_0x9bef('0x3f')]);var _0x5e29aa={'where':_0x359fbd[_0x9bef('0x39')]};return db['OpenchannelQueue'][_0x9bef('0x20')](_0x5e29aa)[_0x9bef('0x24')](function(_0x23fa8e){_0x49f8b6['count']=_0x23fa8e;if(_0x1fdd4b[_0x9bef('0x30')]['includeAll']){_0x359fbd[_0x9bef('0x40')]=[{'all':!![]}];}return db[_0x9bef('0x41')][_0x9bef('0x42')](_0x359fbd);})[_0x9bef('0x24')](function(_0x22b619){_0x49f8b6[_0x9bef('0x43')]=_0x22b619;return _0x49f8b6;})['then'](respondWithFilteredResult(_0x4345b9,_0x359fbd))['catch'](handleError(_0x4345b9,null));};exports[_0x9bef('0x44')]=function(_0x113109,_0x1353ca){var _0x1df79b={'raw':!![],'where':{'id':_0x113109[_0x9bef('0x45')]['id']}},_0x33c55a={};_0x33c55a[_0x9bef('0x2f')]=_[_0x9bef('0x46')](db[_0x9bef('0x41')][_0x9bef('0x2e')]);_0x33c55a['query']=_[_0x9bef('0x46')](_0x113109[_0x9bef('0x30')]);_0x33c55a[_0x9bef('0x31')]=_['intersection'](_0x33c55a[_0x9bef('0x2f')],_0x33c55a[_0x9bef('0x30')]);_0x1df79b[_0x9bef('0x33')]=_[_0x9bef('0x32')](_0x33c55a['model'],qs[_0x9bef('0x34')](_0x113109['query']['fields']));_0x1df79b[_0x9bef('0x33')]=_0x1df79b[_0x9bef('0x33')][_0x9bef('0x35')]?_0x1df79b[_0x9bef('0x33')]:_0x33c55a[_0x9bef('0x2f')];if(_0x113109['query']['includeAll']){_0x1df79b['include']=[{'all':!![]}];}_0x1df79b=_[_0x9bef('0x3c')]({},_0x1df79b,_0x113109['options']);return db[_0x9bef('0x41')][_0x9bef('0x47')](_0x1df79b)['then'](handleEntityNotFound(_0x1353ca,null))[_0x9bef('0x24')](respondWithResult(_0x1353ca,null))['catch'](handleError(_0x1353ca,null));};exports[_0x9bef('0x48')]=function(_0x49f71b,_0x1b5a64){return db[_0x9bef('0x41')]['create'](_0x49f71b[_0x9bef('0x49')],{})[_0x9bef('0x24')](function(_0x1b3fe6){var _0x1cca3e=_0x49f71b['user'][_0x9bef('0x26')]({'plain':!![]});if(!_0x1cca3e)throw new Error(_0x9bef('0x4a'));if(_0x1cca3e[_0x9bef('0x4b')]==='user'){var _0x16c2c0=_0x1b3fe6[_0x9bef('0x26')]({'plain':!![]});var _0x57ef14=_0x9bef('0x27');return db[_0x9bef('0x4c')][_0x9bef('0x47')]({'where':{'name':_0x57ef14,'userProfileId':_0x1cca3e[_0x9bef('0x4d')]},'raw':!![]})[_0x9bef('0x24')](function(_0x2e57e2){if(_0x2e57e2&&_0x2e57e2[_0x9bef('0x4e')]===0x0){return db[_0x9bef('0x4f')][_0x9bef('0x48')]({'name':_0x16c2c0[_0x9bef('0x2a')],'resourceId':_0x16c2c0['id'],'type':_0x2e57e2[_0x9bef('0x2a')],'sectionId':_0x2e57e2['id']},{})[_0x9bef('0x24')](function(){return _0x1b3fe6;});}else{return _0x1b3fe6;}})['catch'](function(_0x2c9ace){logger[_0x9bef('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2c9ace);throw _0x2c9ace;});}return _0x1b3fe6;})[_0x9bef('0x24')](respondWithResult(_0x1b5a64,0xc9))[_0x9bef('0x50')](handleError(_0x1b5a64,null));};exports[_0x9bef('0x23')]=function(_0x1bc4fc,_0x3857a8){if(_0x1bc4fc[_0x9bef('0x49')]['id']){delete _0x1bc4fc['body']['id'];}return db[_0x9bef('0x41')][_0x9bef('0x47')]({'where':{'id':_0x1bc4fc['params']['id']}})['then'](handleEntityNotFound(_0x3857a8,null))['then'](saveUpdates(_0x1bc4fc[_0x9bef('0x49')],null))[_0x9bef('0x24')](respondWithResult(_0x3857a8,null))[_0x9bef('0x50')](handleError(_0x3857a8,null));};exports[_0x9bef('0x25')]=function(_0x159795,_0x29dbcd){return db['OpenchannelQueue'][_0x9bef('0x47')]({'where':{'id':_0x159795['params']['id']}})[_0x9bef('0x24')](handleEntityNotFound(_0x29dbcd,null))[_0x9bef('0x24')](removeEntity(_0x29dbcd,null))['catch'](handleError(_0x29dbcd,null));};exports[_0x9bef('0x51')]=function(_0x4b1ef6,_0x5da917){return db[_0x9bef('0x41')]['describe']()[_0x9bef('0x24')](respondWithResult(_0x5da917,null))[_0x9bef('0x50')](handleError(_0x5da917,null));};exports['getMembers']=function(_0x3060bc,_0x4ab93a,_0x5addc3){var _0x255ae1={'raw':!![],'where':{}},_0x196ecb={},_0x30d307;return db[_0x9bef('0x41')]['findOne']({'where':{'id':_0x3060bc[_0x9bef('0x45')]['id']}})[_0x9bef('0x24')](handleEntityNotFound(_0x4ab93a,null))[_0x9bef('0x24')](function(_0x309bc6){if(_0x309bc6){_0x30d307=_0x309bc6[_0x9bef('0x26')]({'plain':!![]});_0x196ecb[_0x9bef('0x2f')]=_[_0x9bef('0x46')](db['UserOpenchannelQueue'][_0x9bef('0x2e')]);_0x196ecb[_0x9bef('0x30')]=_[_0x9bef('0x46')](_0x3060bc['query']);_0x196ecb[_0x9bef('0x31')]=_[_0x9bef('0x32')](_0x196ecb[_0x9bef('0x2f')],_0x196ecb[_0x9bef('0x30')]);_0x255ae1['attributes']=_['intersection'](_0x196ecb['model'],qs[_0x9bef('0x34')](_0x3060bc[_0x9bef('0x30')][_0x9bef('0x34')]));_0x255ae1[_0x9bef('0x33')]=_0x255ae1[_0x9bef('0x33')][_0x9bef('0x35')]?_0x255ae1[_0x9bef('0x33')]:_0x196ecb[_0x9bef('0x2f')];if(!_0x3060bc[_0x9bef('0x30')][_0x9bef('0x36')]('nolimit')){_0x255ae1[_0x9bef('0x37')]=qs[_0x9bef('0x37')](_0x3060bc[_0x9bef('0x30')][_0x9bef('0x37')]);_0x255ae1[_0x9bef('0x1e')]=qs[_0x9bef('0x1e')](_0x3060bc['query']['offset']);}_0x255ae1['order']=qs[_0x9bef('0x38')](_0x3060bc[_0x9bef('0x30')][_0x9bef('0x38')]);_0x255ae1[_0x9bef('0x39')]=qs[_0x9bef('0x31')](_[_0x9bef('0x3a')](_0x3060bc[_0x9bef('0x30')],_0x196ecb[_0x9bef('0x31')]));_0x255ae1[_0x9bef('0x39')][_0x9bef('0x52')]=_0x309bc6['id'];if(_0x3060bc[_0x9bef('0x30')][_0x9bef('0x3b')]){_0x255ae1[_0x9bef('0x39')]=_[_0x9bef('0x3c')](_0x255ae1[_0x9bef('0x39')],{'$or':_['map'](_0x255ae1[_0x9bef('0x33')],function(_0x43d890){var _0x2fc40a={};_0x2fc40a[_0x43d890]={'$like':'%'+_0x3060bc[_0x9bef('0x30')][_0x9bef('0x3b')]+'%'};return _0x2fc40a;})});}_0x255ae1=_[_0x9bef('0x3c')]({},_0x255ae1,_0x3060bc[_0x9bef('0x3f')]);return db[_0x9bef('0x53')][_0x9bef('0x42')](_0x255ae1);}})[_0x9bef('0x24')](function(_0x51550e){if(_0x51550e){return db[_0x9bef('0x54')][_0x9bef('0x55')]({'where':{'id':_[_0x9bef('0x2d')](_0x51550e,_0x9bef('0x56')),'role':'agent'},'attributes':['id',_0x9bef('0x2a'),_0x9bef('0x57'),_0x9bef('0x58'),_0x9bef('0x59')]});}})[_0x9bef('0x24')](function(_0x2d41de){if(_0x2d41de){return{'count':_0x2d41de[_0x9bef('0x20')],'rows':_[_0x9bef('0x2d')](_0x2d41de[_0x9bef('0x43')],function(_0x21bf3a){return{'membername':_0x21bf3a[_0x9bef('0x2a')],'UserId':_0x21bf3a['id'],'queue_name':_0x30d307[_0x9bef('0x2a')],'OpenchannelQueueId':_0x30d307['id'],'interface':util[_0x9bef('0x5a')](_0x9bef('0x5b'),_0x9bef('0x5c'),_0x21bf3a[_0x9bef('0x2a')]),'penalty':0x0,'paused':_0x21bf3a[_0x9bef('0x57')],'createdAt':_0x21bf3a['createdAt'],'updatedAt':_0x21bf3a['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x9bef('0x24')](respondWithFilteredResult(_0x4ab93a,_0x255ae1))[_0x9bef('0x50')](handleError(_0x4ab93a,null));};exports['getTeams']=function(_0x33c20c,_0x12deef,_0x57c5cf){var _0x5e9933={};var _0x472565={};var _0x57a9bb;var _0xb5c00c;return db[_0x9bef('0x41')]['findOne']({'where':{'id':_0x33c20c[_0x9bef('0x45')]['id']}})[_0x9bef('0x24')](handleEntityNotFound(_0x12deef,null))[_0x9bef('0x24')](function(_0x1be910){if(_0x1be910){_0x57a9bb=_0x1be910;_0x472565[_0x9bef('0x2f')]=_[_0x9bef('0x46')](db[_0x9bef('0x5d')][_0x9bef('0x2e')]);_0x472565[_0x9bef('0x30')]=_[_0x9bef('0x46')](_0x33c20c[_0x9bef('0x30')]);_0x472565[_0x9bef('0x31')]=_[_0x9bef('0x32')](_0x472565['model'],_0x472565[_0x9bef('0x30')]);_0x5e9933[_0x9bef('0x33')]=_[_0x9bef('0x32')](_0x472565[_0x9bef('0x2f')],qs[_0x9bef('0x34')](_0x33c20c[_0x9bef('0x30')]['fields']));_0x5e9933[_0x9bef('0x33')]=_0x5e9933['attributes'][_0x9bef('0x35')]?_0x5e9933[_0x9bef('0x33')]:_0x472565['model'];_0x5e9933[_0x9bef('0x5e')]=qs[_0x9bef('0x38')](_0x33c20c['query'][_0x9bef('0x38')]);_0x5e9933[_0x9bef('0x39')]=qs['filters'](_[_0x9bef('0x3a')](_0x33c20c['query'],_0x472565[_0x9bef('0x31')]));if(_0x33c20c[_0x9bef('0x30')][_0x9bef('0x3b')]){_0x5e9933[_0x9bef('0x39')]=_[_0x9bef('0x3c')](_0x5e9933['where'],{'$or':_[_0x9bef('0x2d')](_0x5e9933['attributes'],function(_0x5af046){var _0x5e06c9={};_0x5e06c9[_0x5af046]={'$like':'%'+_0x33c20c[_0x9bef('0x30')][_0x9bef('0x3b')]+'%'};return _0x5e06c9;})});}_0x5e9933=_[_0x9bef('0x3c')]({},_0x5e9933,_0x33c20c['options']);return _0x57a9bb[_0x9bef('0x5f')](_0x5e9933);}})[_0x9bef('0x24')](function(_0x4d0bcb){if(_0x4d0bcb){_0xb5c00c=_0x4d0bcb['length'];if(!_0x33c20c[_0x9bef('0x30')][_0x9bef('0x36')](_0x9bef('0x60'))){_0x5e9933['limit']=qs[_0x9bef('0x37')](_0x33c20c[_0x9bef('0x30')]['limit']);_0x5e9933['offset']=qs[_0x9bef('0x1e')](_0x33c20c['query'][_0x9bef('0x1e')]);}return _0x57a9bb[_0x9bef('0x5f')](_0x5e9933);}})[_0x9bef('0x24')](function(_0x31880b){if(_0x31880b){return _0x31880b?{'count':_0xb5c00c,'rows':_0x31880b}:null;}})[_0x9bef('0x24')](respondWithResult(_0x12deef,null))['catch'](handleError(_0x12deef,null));};exports['addTeams']=function(_0x178b25,_0x3ac09a,_0x3c21ef){var _0xc77df1=_0x178b25[_0x9bef('0x49')]['ids'];return db[_0x9bef('0x5d')]['findAll']({'where':{'id':_0xc77df1},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id','name',_0x9bef('0x61'),_0x9bef('0x62'),_0x9bef('0x63')],'raw':!![]}]})[_0x9bef('0x24')](function(_0x3e073e){if(_0x3e073e){var _0x30e0bd=_[_0x9bef('0x64')](_0x3e073e,function(_0x5a3df4){var _0x1e5553=_0x5a3df4[_0x9bef('0x26')]({'plain':!![]});return _0x1e5553[_0x9bef('0x65')];});return db[_0x9bef('0x41')][_0x9bef('0x47')]({'where':{'id':_0x178b25[_0x9bef('0x45')]['id']}})['then'](function(_0x4d2259){return db[_0x9bef('0x66')][_0x9bef('0x67')](function(_0x3a1b6b){return _0x4d2259[_0x9bef('0x68')](_0xc77df1,{'transaction':_0x3a1b6b})['then'](function(){return BPromise[_0x9bef('0x69')](_0x30e0bd,function(_0x5d27e4){return db[_0x9bef('0x53')][_0x9bef('0x6a')]({'where':{'UserId':_0x5d27e4['id'],'OpenchannelQueueId':_0x178b25[_0x9bef('0x45')]['id']},'transaction':_0x3a1b6b});});})[_0x9bef('0x24')](function(){_0x30e0bd['forEach'](function(_0x58db26){socket[_0x9bef('0x6b')](_0x9bef('0x6c'),{'UserId':_0x58db26['id'],'OpenchannelQueueId':_0x4d2259['id']});});});});});}})[_0x9bef('0x24')](respondWithStatusCode(_0x3ac09a,null))['catch'](handleError(_0x3ac09a,null));};exports['removeTeams']=function(_0x404278,_0xe69ad9,_0x25dddf){return db[_0x9bef('0x5d')][_0x9bef('0x42')]({'where':{'id':_0x404278[_0x9bef('0x30')][_0x9bef('0x6d')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0xe69ad9,null))[_0x9bef('0x24')](function(_0x34a374){var _0x11d322=_[_0x9bef('0x2d')](_0x34a374,'id');var _0x14c4af=[];var _0xd5083f=[];var _0x5d8f0b=squel[_0x9bef('0x6e')]();_0x5d8f0b[_0x9bef('0x6f')](_0x9bef('0x70'))['from'](_0x9bef('0x71'),'tq')['join'](_0x9bef('0x72'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x9bef('0x39')](_0x9bef('0x73'),_0x404278[_0x9bef('0x45')]['id']);for(var _0x4ddb33=0x0;_0x4ddb33<_0x34a374[_0x9bef('0x35')];_0x4ddb33+=0x1){let _0x56343f=_0x34a374[_0x4ddb33];for(var _0x3015ee=0x0;_0x3015ee<_0x56343f[_0x9bef('0x65')]['length'];_0x3015ee+=0x1){let _0x57c83e=_0x56343f[_0x9bef('0x65')][_0x3015ee];var _0x143586=_0x5d8f0b['clone']();_0x143586[_0x9bef('0x39')](_0x9bef('0x74'),_0x57c83e['id']);_0xd5083f['push'](db[_0x9bef('0x66')][_0x9bef('0x30')](_0x143586[_0x9bef('0x75')](),{'type':db[_0x9bef('0x66')][_0x9bef('0x76')][_0x9bef('0x77')]})[_0x9bef('0x24')](function(_0x591c53){if(_0x591c53['length']===0x1){return _0x57c83e['id'];}else{var _0x804bfe=_[_0x9bef('0x78')](_[_0x9bef('0x2d')](_0x591c53,_0x9bef('0x79')),function(_0x2a7630){return _[_0x9bef('0x7a')](_0x11d322,_0x2a7630);});if(_0x804bfe){return _0x57c83e['id'];}}}));}}return BPromise[_0x9bef('0x7b')](_0xd5083f)[_0x9bef('0x24')](function(_0x4d3a91){_0x14c4af=_(_0x14c4af)[_0x9bef('0x7c')](_0x4d3a91)[_0x9bef('0x7d')]()['value']();return db[_0x9bef('0x41')][_0x9bef('0x47')]({'where':{'id':_0x404278[_0x9bef('0x45')]['id']}})[_0x9bef('0x24')](function(_0x51a334){return db[_0x9bef('0x66')][_0x9bef('0x67')](function(_0x2569f9){return _0x51a334[_0x9bef('0x7e')](_0x404278[_0x9bef('0x30')][_0x9bef('0x6d')],{'transaction':_0x2569f9})[_0x9bef('0x24')](function(){if(!_[_0x9bef('0x7f')](_0x14c4af)){return _0x51a334[_0x9bef('0x80')](_0x14c4af,{'transaction':_0x2569f9});}})[_0x9bef('0x24')](function(){_0x14c4af[_0x9bef('0x81')](function(_0x5380c7){socket[_0x9bef('0x6b')](_0x9bef('0x82'),{'UserId':_0x5380c7,'OpenchannelQueueId':_0x51a334['id']});});});});});});})[_0x9bef('0x24')](respondWithStatusCode(_0xe69ad9,null))[_0x9bef('0x50')](handleError(_0xe69ad9,null));};exports[_0x9bef('0x83')]=function(_0x3cba30,_0x33b2a5,_0x427170){return db['OpenchannelQueue']['find']({'where':{'id':_0x3cba30[_0x9bef('0x45')]['id']}})[_0x9bef('0x24')](handleEntityNotFound(_0x33b2a5,null))[_0x9bef('0x24')](function(_0x5e3b47){if(_0x5e3b47){return _0x5e3b47[_0x9bef('0x83')](_0x3cba30['body'][_0x9bef('0x6d')],_[_0x9bef('0x84')](_0x3cba30[_0x9bef('0x49')],[_0x9bef('0x6d'),'id'])||{})[_0x9bef('0x85')](function(_0x496f9f){for(var _0x4ca95d=0x0;_0x4ca95d<_0x3cba30[_0x9bef('0x49')][_0x9bef('0x6d')][_0x9bef('0x35')];_0x4ca95d+=0x1){socket[_0x9bef('0x6b')]('userOpenchannelQueue:save',{'UserId':Number(_0x3cba30[_0x9bef('0x49')][_0x9bef('0x6d')][_0x4ca95d]),'OpenchannelQueueId':Number(_0x3cba30['params']['id'])});}return _0x496f9f;});}})[_0x9bef('0x24')](respondWithResult(_0x33b2a5,null))[_0x9bef('0x50')](handleError(_0x33b2a5,null));};exports[_0x9bef('0x80')]=function(_0x31c1fd,_0x13da19,_0x1f7b53){return db['OpenchannelQueue'][_0x9bef('0x47')]({'where':{'id':_0x31c1fd[_0x9bef('0x45')]['id']}})['then'](handleEntityNotFound(_0x13da19,null))[_0x9bef('0x24')](function(_0x5a3e80){if(_0x5a3e80){return _0x5a3e80[_0x9bef('0x80')](_0x31c1fd[_0x9bef('0x30')][_0x9bef('0x6d')])['then'](function(){if(_[_0x9bef('0x86')](_0x31c1fd[_0x9bef('0x30')]['ids'])){for(var _0x42faf9=0x0;_0x42faf9<_0x31c1fd[_0x9bef('0x30')]['ids'][_0x9bef('0x35')];_0x42faf9+=0x1){socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0x31c1fd[_0x9bef('0x30')][_0x9bef('0x6d')][_0x42faf9]),'OpenchannelQueueId':Number(_0x31c1fd[_0x9bef('0x45')]['id'])});}}else{socket[_0x9bef('0x6b')]('userOpenchannelQueue:remove',{'UserId':Number(_0x31c1fd['query'][_0x9bef('0x6d')]),'OpenchannelQueueId':Number(_0x31c1fd['params']['id'])});}});}})['then'](respondWithStatusCode(_0x13da19,null))[_0x9bef('0x50')](handleError(_0x13da19,null));};exports[_0x9bef('0x87')]=function(_0x4d5216,_0x339d24,_0x27fe51){var _0x504292={};var _0x37c5e0={};var _0x23a049;var _0x1579f6;return db[_0x9bef('0x41')]['findOne']({'where':{'id':_0x4d5216[_0x9bef('0x45')]['id']}})[_0x9bef('0x24')](handleEntityNotFound(_0x339d24,null))['then'](function(_0x405d41){if(_0x405d41){_0x23a049=_0x405d41;_0x37c5e0['model']=_[_0x9bef('0x46')](db['User'][_0x9bef('0x2e')]);_0x37c5e0['query']=_[_0x9bef('0x46')](_0x4d5216[_0x9bef('0x30')]);_0x37c5e0[_0x9bef('0x31')]=_[_0x9bef('0x32')](_0x37c5e0[_0x9bef('0x2f')],_0x37c5e0[_0x9bef('0x30')]);_0x504292['attributes']=_[_0x9bef('0x32')](_0x37c5e0[_0x9bef('0x2f')],qs[_0x9bef('0x34')](_0x4d5216['query'][_0x9bef('0x34')]));_0x504292[_0x9bef('0x33')]=_0x504292[_0x9bef('0x33')][_0x9bef('0x35')]?_0x504292[_0x9bef('0x33')]:_0x37c5e0['model'];_0x504292[_0x9bef('0x5e')]=qs[_0x9bef('0x38')](_0x4d5216[_0x9bef('0x30')][_0x9bef('0x38')]);_0x504292[_0x9bef('0x39')]=qs[_0x9bef('0x31')](_['pick'](_0x4d5216[_0x9bef('0x30')],_0x37c5e0[_0x9bef('0x31')]));if(_0x4d5216['query'][_0x9bef('0x3b')]){_0x504292[_0x9bef('0x39')]=_[_0x9bef('0x3c')](_0x504292['where'],{'$or':_['map'](_0x504292[_0x9bef('0x33')],function(_0xf73b3e){var _0x36ae9c={};_0x36ae9c[_0xf73b3e]={'$like':'%'+_0x4d5216[_0x9bef('0x30')][_0x9bef('0x3b')]+'%'};return _0x36ae9c;})});}_0x504292=_[_0x9bef('0x3c')]({},_0x504292,_0x4d5216[_0x9bef('0x3f')]);return _0x23a049[_0x9bef('0x87')](_0x504292);}})[_0x9bef('0x24')](function(_0x1f044c){if(_0x1f044c){_0x1579f6=_0x1f044c[_0x9bef('0x35')];if(!_0x4d5216[_0x9bef('0x30')]['hasOwnProperty'](_0x9bef('0x60'))){_0x504292[_0x9bef('0x37')]=qs[_0x9bef('0x37')](_0x4d5216[_0x9bef('0x30')][_0x9bef('0x37')]);_0x504292['offset']=qs[_0x9bef('0x1e')](_0x4d5216['query'][_0x9bef('0x1e')]);}return _0x23a049[_0x9bef('0x87')](_0x504292);}})[_0x9bef('0x24')](function(_0x19a14b){if(_0x19a14b){return _0x19a14b?{'count':_0x1579f6,'rows':_0x19a14b}:null;}})[_0x9bef('0x24')](respondWithResult(_0x339d24,null))['catch'](handleError(_0x339d24,null));};