Built motion from commit 3e059bc2.|2.5.32
[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 _0xd644=['moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','desk.js','querystring','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','register','status','end','json','offset','undefined','set','Content-Range','apply','reject','save','update','then','destroy','get','OpenchannelQueues','UserProfileResource','sendStatus','error','stack','name','send','index','map','OpenchannelQueue','fieldName','key','keys','query','filters','model','attributes','intersection','hasOwnProperty','limit','order','sort','where','pick','filter','VIRTUAL','merge','options','count','includeAll','include','findAll','params','rawAttributes','fields','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','describe','getMembers','findOne','length','nolimit','OpenchannelQueueId','UserOpenchannelQueue','User','findAndCountAll','openchannelPause','rows','format','%s/%s','SIP','createdAt','updatedAt','Team','getTeams','addTeams','ids','Agents','online','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','isEmpty','removeAgents','forEach','userOpenchannelQueue:remove','omit','spread','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x16b042,_0x359da8){var _0x23dd5b=function(_0x5b74d1){while(--_0x5b74d1){_0x16b042['push'](_0x16b042['shift']());}};_0x23dd5b(++_0x359da8);}(_0xd644,0x8b));var _0x4d64=function(_0xa8504f,_0x2a9506){_0xa8504f=_0xa8504f-0x0;var _0x4173a8=_0xd644[_0xa8504f];return _0x4173a8;};'use strict';var emlformat=require(_0x4d64('0x0'));var rimraf=require(_0x4d64('0x1'));var zipdir=require(_0x4d64('0x2'));var jsonpatch=require(_0x4d64('0x3'));var rp=require(_0x4d64('0x4'));var moment=require(_0x4d64('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4d64('0x6'));var util=require(_0x4d64('0x7'));var path=require(_0x4d64('0x8'));var sox=require(_0x4d64('0x9'));var csv=require(_0x4d64('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4d64('0xb'));var _=require('lodash');var squel=require(_0x4d64('0xc'));var crypto=require(_0x4d64('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x4d64('0xe'));var toCsv=require(_0x4d64('0xa'));var querystring=require(_0x4d64('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4d64('0x10'));var hardwareService=require(_0x4d64('0x11'));var logger=require(_0x4d64('0x12'))(_0x4d64('0x13'));var utils=require(_0x4d64('0x14'));var config=require(_0x4d64('0x15'));var licenseUtil=require(_0x4d64('0x16'));var db=require(_0x4d64('0x17'))['db'];config[_0x4d64('0x18')]=_['defaults'](config[_0x4d64('0x18')],{'host':_0x4d64('0x19'),'port':0x18eb});var socket=require(_0x4d64('0x1a'))(new Redis(config[_0x4d64('0x18')]));require('./openchannelQueue.socket')[_0x4d64('0x1b')](socket);function respondWithStatusCode(_0x1186da,_0x430c0f){_0x430c0f=_0x430c0f||0xcc;return function(_0x2f1149){if(_0x2f1149){return _0x1186da['sendStatus'](_0x430c0f);}return _0x1186da[_0x4d64('0x1c')](_0x430c0f)[_0x4d64('0x1d')]();};}function respondWithResult(_0x961c35,_0x36d2a3){_0x36d2a3=_0x36d2a3||0xc8;return function(_0x398927){if(_0x398927){return _0x961c35[_0x4d64('0x1c')](_0x36d2a3)[_0x4d64('0x1e')](_0x398927);}};}function respondWithFilteredResult(_0x174f8b,_0x2a0930){return function(_0x35c5ae){if(_0x35c5ae){var _0x207144=typeof _0x2a0930[_0x4d64('0x1f')]===_0x4d64('0x20')&&typeof _0x2a0930['limit']===_0x4d64('0x20');var _0x3dc24b=_0x35c5ae['count'];var _0x13617d=_0x207144?0x0:_0x2a0930[_0x4d64('0x1f')];var _0x1cb77e=_0x207144?_0x35c5ae['count']:_0x2a0930[_0x4d64('0x1f')]+_0x2a0930['limit'];var _0x238af9;if(_0x1cb77e>=_0x3dc24b){_0x1cb77e=_0x3dc24b;_0x238af9=0xc8;}else{_0x238af9=0xce;}_0x174f8b[_0x4d64('0x1c')](_0x238af9);return _0x174f8b[_0x4d64('0x21')](_0x4d64('0x22'),_0x13617d+'-'+_0x1cb77e+'/'+_0x3dc24b)['json'](_0x35c5ae);}return null;};}function patchUpdates(_0x5e0fe3){return function(_0x127f91){try{jsonpatch[_0x4d64('0x23')](_0x127f91,_0x5e0fe3,!![]);}catch(_0x27b698){return BPromise[_0x4d64('0x24')](_0x27b698);}return _0x127f91[_0x4d64('0x25')]();};}function saveUpdates(_0x3062bc,_0xf95a5b){return function(_0x1413f0){if(_0x1413f0){return _0x1413f0[_0x4d64('0x26')](_0x3062bc)[_0x4d64('0x27')](function(_0xaecfe3){return _0xaecfe3;});}return null;};}function removeEntity(_0x30f71c,_0x1bad0d){return function(_0x2bdb02){if(_0x2bdb02){return _0x2bdb02[_0x4d64('0x28')]()['then'](function(){var _0x4b30da=_0x2bdb02[_0x4d64('0x29')]({'plain':!![]});var _0x1c1b4c=_0x4d64('0x2a');return db[_0x4d64('0x2b')][_0x4d64('0x28')]({'where':{'type':_0x1c1b4c,'resourceId':_0x4b30da['id']}})[_0x4d64('0x27')](function(){return _0x2bdb02;});})['then'](function(){_0x30f71c[_0x4d64('0x1c')](0xcc)[_0x4d64('0x1d')]();});}};}function handleEntityNotFound(_0x438403,_0x267f6c){return function(_0x51ddc5){if(!_0x51ddc5){_0x438403[_0x4d64('0x2c')](0x194);}return _0x51ddc5;};}function handleError(_0x5458d5,_0xdfde55){_0xdfde55=_0xdfde55||0x1f4;return function(_0x2f1140){logger[_0x4d64('0x2d')](_0x2f1140[_0x4d64('0x2e')]);if(_0x2f1140[_0x4d64('0x2f')]){delete _0x2f1140[_0x4d64('0x2f')];}_0x5458d5['status'](_0xdfde55)[_0x4d64('0x30')](_0x2f1140);};}exports[_0x4d64('0x31')]=function(_0x503720,_0x1ba14d){var _0x523279={},_0x36d82a={},_0x2e5e70={'count':0x0,'rows':[]};var _0x547a5b=_[_0x4d64('0x32')](db[_0x4d64('0x33')]['rawAttributes'],function(_0x53f5b1){return{'name':_0x53f5b1[_0x4d64('0x34')],'type':_0x53f5b1['type'][_0x4d64('0x35')]};});_0x36d82a['model']=_[_0x4d64('0x32')](_0x547a5b,_0x4d64('0x2f'));_0x36d82a['query']=_[_0x4d64('0x36')](_0x503720[_0x4d64('0x37')]);_0x36d82a[_0x4d64('0x38')]=_['intersection'](_0x36d82a[_0x4d64('0x39')],_0x36d82a[_0x4d64('0x37')]);_0x523279[_0x4d64('0x3a')]=_[_0x4d64('0x3b')](_0x36d82a[_0x4d64('0x39')],qs['fields'](_0x503720[_0x4d64('0x37')]['fields']));_0x523279['attributes']=_0x523279[_0x4d64('0x3a')]['length']?_0x523279['attributes']:_0x36d82a[_0x4d64('0x39')];if(!_0x503720[_0x4d64('0x37')][_0x4d64('0x3c')]('nolimit')){_0x523279[_0x4d64('0x3d')]=qs[_0x4d64('0x3d')](_0x503720[_0x4d64('0x37')]['limit']);_0x523279[_0x4d64('0x1f')]=qs[_0x4d64('0x1f')](_0x503720[_0x4d64('0x37')]['offset']);}_0x523279[_0x4d64('0x3e')]=qs[_0x4d64('0x3f')](_0x503720[_0x4d64('0x37')][_0x4d64('0x3f')]);_0x523279[_0x4d64('0x40')]=qs[_0x4d64('0x38')](_[_0x4d64('0x41')](_0x503720[_0x4d64('0x37')],_0x36d82a[_0x4d64('0x38')]),_0x547a5b);if(_0x503720[_0x4d64('0x37')][_0x4d64('0x42')]){_0x523279[_0x4d64('0x40')]=_['merge'](_0x523279[_0x4d64('0x40')],{'$or':_[_0x4d64('0x32')](_0x547a5b,function(_0x2381de){if(_0x2381de['type']!==_0x4d64('0x43')){var _0x34e2e0={};_0x34e2e0[_0x2381de[_0x4d64('0x2f')]]={'$like':'%'+_0x503720['query']['filter']+'%'};return _0x34e2e0;}})});}_0x523279=_[_0x4d64('0x44')]({},_0x523279,_0x503720[_0x4d64('0x45')]);var _0x5ad3c7={'where':_0x523279[_0x4d64('0x40')]};return db[_0x4d64('0x33')][_0x4d64('0x46')](_0x5ad3c7)['then'](function(_0x342978){_0x2e5e70[_0x4d64('0x46')]=_0x342978;if(_0x503720[_0x4d64('0x37')][_0x4d64('0x47')]){_0x523279[_0x4d64('0x48')]=[{'all':!![]}];}return db[_0x4d64('0x33')][_0x4d64('0x49')](_0x523279);})['then'](function(_0x43a3a6){_0x2e5e70['rows']=_0x43a3a6;return _0x2e5e70;})[_0x4d64('0x27')](respondWithFilteredResult(_0x1ba14d,_0x523279))['catch'](handleError(_0x1ba14d,null));};exports['show']=function(_0x451457,_0x38c5f5){var _0x5e0eec={'raw':!![],'where':{'id':_0x451457[_0x4d64('0x4a')]['id']}},_0x2b6fb7={};_0x2b6fb7[_0x4d64('0x39')]=_[_0x4d64('0x36')](db[_0x4d64('0x33')][_0x4d64('0x4b')]);_0x2b6fb7[_0x4d64('0x37')]=_['keys'](_0x451457[_0x4d64('0x37')]);_0x2b6fb7[_0x4d64('0x38')]=_['intersection'](_0x2b6fb7['model'],_0x2b6fb7[_0x4d64('0x37')]);_0x5e0eec[_0x4d64('0x3a')]=_[_0x4d64('0x3b')](_0x2b6fb7['model'],qs[_0x4d64('0x4c')](_0x451457[_0x4d64('0x37')]['fields']));_0x5e0eec[_0x4d64('0x3a')]=_0x5e0eec[_0x4d64('0x3a')]['length']?_0x5e0eec[_0x4d64('0x3a')]:_0x2b6fb7[_0x4d64('0x39')];if(_0x451457[_0x4d64('0x37')]['includeAll']){_0x5e0eec[_0x4d64('0x48')]=[{'all':!![]}];}_0x5e0eec=_['merge']({},_0x5e0eec,_0x451457[_0x4d64('0x45')]);return db['OpenchannelQueue']['find'](_0x5e0eec)[_0x4d64('0x27')](handleEntityNotFound(_0x38c5f5,null))[_0x4d64('0x27')](respondWithResult(_0x38c5f5,null))[_0x4d64('0x4d')](handleError(_0x38c5f5,null));};exports['create']=function(_0x1b76f1,_0xa86592){return db[_0x4d64('0x33')][_0x4d64('0x4e')](_0x1b76f1[_0x4d64('0x4f')],{})[_0x4d64('0x27')](function(_0x2a902f){var _0x5fd359=_0x1b76f1[_0x4d64('0x50')][_0x4d64('0x29')]({'plain':!![]});if(!_0x5fd359)throw new Error(_0x4d64('0x51'));if(_0x5fd359[_0x4d64('0x52')]===_0x4d64('0x50')){var _0x3c1009=_0x2a902f[_0x4d64('0x29')]({'plain':!![]});var _0x5d3b39='OpenchannelQueues';return db[_0x4d64('0x53')][_0x4d64('0x54')]({'where':{'name':_0x5d3b39,'userProfileId':_0x5fd359['userProfileId']},'raw':!![]})[_0x4d64('0x27')](function(_0x11fda3){if(_0x11fda3&&_0x11fda3['autoAssociation']===0x0){return db['UserProfileResource'][_0x4d64('0x4e')]({'name':_0x3c1009[_0x4d64('0x2f')],'resourceId':_0x3c1009['id'],'type':_0x11fda3['name'],'sectionId':_0x11fda3['id']},{})[_0x4d64('0x27')](function(){return _0x2a902f;});}else{return _0x2a902f;}})[_0x4d64('0x4d')](function(_0x3b5143){logger[_0x4d64('0x2d')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3b5143);throw _0x3b5143;});}return _0x2a902f;})[_0x4d64('0x27')](respondWithResult(_0xa86592,0xc9))['catch'](handleError(_0xa86592,null));};exports[_0x4d64('0x26')]=function(_0x28da4e,_0x582117){if(_0x28da4e[_0x4d64('0x4f')]['id']){delete _0x28da4e['body']['id'];}return db[_0x4d64('0x33')][_0x4d64('0x54')]({'where':{'id':_0x28da4e[_0x4d64('0x4a')]['id']}})[_0x4d64('0x27')](handleEntityNotFound(_0x582117,null))['then'](saveUpdates(_0x28da4e[_0x4d64('0x4f')],null))['then'](respondWithResult(_0x582117,null))[_0x4d64('0x4d')](handleError(_0x582117,null));};exports['destroy']=function(_0x42cad4,_0x117b26){return db['OpenchannelQueue'][_0x4d64('0x54')]({'where':{'id':_0x42cad4[_0x4d64('0x4a')]['id']}})[_0x4d64('0x27')](handleEntityNotFound(_0x117b26,null))[_0x4d64('0x27')](removeEntity(_0x117b26,null))['catch'](handleError(_0x117b26,null));};exports[_0x4d64('0x55')]=function(_0x5ab8a5,_0x180206){return db[_0x4d64('0x33')][_0x4d64('0x55')]()[_0x4d64('0x27')](respondWithResult(_0x180206,null))[_0x4d64('0x4d')](handleError(_0x180206,null));};exports[_0x4d64('0x56')]=function(_0x2358ca,_0x5b9291,_0x9ccfd8){var _0x2b736f={'raw':!![],'where':{}},_0x3ab923={},_0x5c73e5;return db[_0x4d64('0x33')][_0x4d64('0x57')]({'where':{'id':_0x2358ca['params']['id']}})[_0x4d64('0x27')](handleEntityNotFound(_0x5b9291,null))[_0x4d64('0x27')](function(_0x482b7d){if(_0x482b7d){_0x5c73e5=_0x482b7d[_0x4d64('0x29')]({'plain':!![]});_0x3ab923[_0x4d64('0x39')]=_[_0x4d64('0x36')](db['UserOpenchannelQueue']['rawAttributes']);_0x3ab923['query']=_['keys'](_0x2358ca['query']);_0x3ab923[_0x4d64('0x38')]=_[_0x4d64('0x3b')](_0x3ab923[_0x4d64('0x39')],_0x3ab923[_0x4d64('0x37')]);_0x2b736f[_0x4d64('0x3a')]=_[_0x4d64('0x3b')](_0x3ab923[_0x4d64('0x39')],qs[_0x4d64('0x4c')](_0x2358ca[_0x4d64('0x37')]['fields']));_0x2b736f[_0x4d64('0x3a')]=_0x2b736f[_0x4d64('0x3a')][_0x4d64('0x58')]?_0x2b736f[_0x4d64('0x3a')]:_0x3ab923[_0x4d64('0x39')];if(!_0x2358ca['query'][_0x4d64('0x3c')](_0x4d64('0x59'))){_0x2b736f[_0x4d64('0x3d')]=qs['limit'](_0x2358ca[_0x4d64('0x37')][_0x4d64('0x3d')]);_0x2b736f['offset']=qs['offset'](_0x2358ca[_0x4d64('0x37')]['offset']);}_0x2b736f[_0x4d64('0x3e')]=qs[_0x4d64('0x3f')](_0x2358ca[_0x4d64('0x37')]['sort']);_0x2b736f['where']=qs[_0x4d64('0x38')](_['pick'](_0x2358ca[_0x4d64('0x37')],_0x3ab923[_0x4d64('0x38')]));_0x2b736f['where'][_0x4d64('0x5a')]=_0x482b7d['id'];if(_0x2358ca['query'][_0x4d64('0x42')]){_0x2b736f[_0x4d64('0x40')]=_[_0x4d64('0x44')](_0x2b736f[_0x4d64('0x40')],{'$or':_['map'](_0x2b736f[_0x4d64('0x3a')],function(_0xd998fe){var _0x328897={};_0x328897[_0xd998fe]={'$like':'%'+_0x2358ca['query'][_0x4d64('0x42')]+'%'};return _0x328897;})});}_0x2b736f=_['merge']({},_0x2b736f,_0x2358ca['options']);return db[_0x4d64('0x5b')][_0x4d64('0x49')](_0x2b736f);}})[_0x4d64('0x27')](function(_0x27736b){if(_0x27736b){return db[_0x4d64('0x5c')][_0x4d64('0x5d')]({'where':{'id':_[_0x4d64('0x32')](_0x27736b,'UserId'),'role':'agent'},'attributes':['id','name',_0x4d64('0x5e'),'updatedAt','createdAt']});}})[_0x4d64('0x27')](function(_0x337709){if(_0x337709){return{'count':_0x337709['count'],'rows':_[_0x4d64('0x32')](_0x337709[_0x4d64('0x5f')],function(_0x18359e){return{'membername':_0x18359e[_0x4d64('0x2f')],'UserId':_0x18359e['id'],'queue_name':_0x5c73e5[_0x4d64('0x2f')],'OpenchannelQueueId':_0x5c73e5['id'],'interface':util[_0x4d64('0x60')](_0x4d64('0x61'),_0x4d64('0x62'),_0x18359e[_0x4d64('0x2f')]),'penalty':0x0,'paused':_0x18359e[_0x4d64('0x5e')],'createdAt':_0x18359e[_0x4d64('0x63')],'updatedAt':_0x18359e[_0x4d64('0x64')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x4d64('0x27')](respondWithFilteredResult(_0x5b9291,_0x2b736f))[_0x4d64('0x4d')](handleError(_0x5b9291,null));};exports['getTeams']=function(_0x3faa55,_0x3e6b37,_0x3fd284){var _0xde870c={};var _0x1b2321={};var _0x292dd5;var _0x45d5e3;return db[_0x4d64('0x33')][_0x4d64('0x57')]({'where':{'id':_0x3faa55['params']['id']}})[_0x4d64('0x27')](handleEntityNotFound(_0x3e6b37,null))[_0x4d64('0x27')](function(_0x1f4aab){if(_0x1f4aab){_0x292dd5=_0x1f4aab;_0x1b2321['model']=_[_0x4d64('0x36')](db[_0x4d64('0x65')][_0x4d64('0x4b')]);_0x1b2321['query']=_[_0x4d64('0x36')](_0x3faa55[_0x4d64('0x37')]);_0x1b2321[_0x4d64('0x38')]=_['intersection'](_0x1b2321['model'],_0x1b2321[_0x4d64('0x37')]);_0xde870c[_0x4d64('0x3a')]=_['intersection'](_0x1b2321[_0x4d64('0x39')],qs[_0x4d64('0x4c')](_0x3faa55[_0x4d64('0x37')][_0x4d64('0x4c')]));_0xde870c['attributes']=_0xde870c['attributes'][_0x4d64('0x58')]?_0xde870c[_0x4d64('0x3a')]:_0x1b2321[_0x4d64('0x39')];_0xde870c[_0x4d64('0x3e')]=qs[_0x4d64('0x3f')](_0x3faa55[_0x4d64('0x37')][_0x4d64('0x3f')]);_0xde870c[_0x4d64('0x40')]=qs['filters'](_['pick'](_0x3faa55['query'],_0x1b2321[_0x4d64('0x38')]));if(_0x3faa55[_0x4d64('0x37')][_0x4d64('0x42')]){_0xde870c[_0x4d64('0x40')]=_['merge'](_0xde870c['where'],{'$or':_[_0x4d64('0x32')](_0xde870c[_0x4d64('0x3a')],function(_0xe361fc){var _0x405fc9={};_0x405fc9[_0xe361fc]={'$like':'%'+_0x3faa55[_0x4d64('0x37')][_0x4d64('0x42')]+'%'};return _0x405fc9;})});}_0xde870c=_[_0x4d64('0x44')]({},_0xde870c,_0x3faa55[_0x4d64('0x45')]);return _0x292dd5[_0x4d64('0x66')](_0xde870c);}})[_0x4d64('0x27')](function(_0x1a3ffe){if(_0x1a3ffe){_0x45d5e3=_0x1a3ffe[_0x4d64('0x58')];if(!_0x3faa55[_0x4d64('0x37')]['hasOwnProperty'](_0x4d64('0x59'))){_0xde870c['limit']=qs['limit'](_0x3faa55['query']['limit']);_0xde870c['offset']=qs['offset'](_0x3faa55[_0x4d64('0x37')][_0x4d64('0x1f')]);}return _0x292dd5[_0x4d64('0x66')](_0xde870c);}})[_0x4d64('0x27')](function(_0x10c26d){if(_0x10c26d){return _0x10c26d?{'count':_0x45d5e3,'rows':_0x10c26d}:null;}})[_0x4d64('0x27')](respondWithResult(_0x3e6b37,null))[_0x4d64('0x4d')](handleError(_0x3e6b37,null));};exports[_0x4d64('0x67')]=function(_0xd8c8d2,_0x111406,_0x3959b9){var _0x5ba9cc=_0xd8c8d2[_0x4d64('0x4f')][_0x4d64('0x68')];return db[_0x4d64('0x65')][_0x4d64('0x49')]({'where':{'id':_0x5ba9cc},'attributes':['id'],'include':[{'model':db[_0x4d64('0x5c')],'as':_0x4d64('0x69'),'attributes':['id',_0x4d64('0x2f'),_0x4d64('0x6a'),'voicePause',_0x4d64('0x6b')],'raw':!![]}]})[_0x4d64('0x27')](function(_0x570919){if(_0x570919){var _0x5410db=_[_0x4d64('0x6c')](_0x570919,function(_0x4e209a){var _0x467e47=_0x4e209a[_0x4d64('0x29')]({'plain':!![]});return _0x467e47[_0x4d64('0x69')];});return db[_0x4d64('0x33')][_0x4d64('0x54')]({'where':{'id':_0xd8c8d2['params']['id']}})['then'](function(_0x4d3842){return db[_0x4d64('0x6d')][_0x4d64('0x6e')](function(_0x50edc4){return _0x4d3842[_0x4d64('0x67')](_0x5ba9cc,{'transaction':_0x50edc4})[_0x4d64('0x27')](function(){return BPromise[_0x4d64('0x6f')](_0x5410db,function(_0xb931e5){return db['UserOpenchannelQueue'][_0x4d64('0x70')]({'where':{'UserId':_0xb931e5['id'],'OpenchannelQueueId':_0xd8c8d2['params']['id']},'transaction':_0x50edc4});});})[_0x4d64('0x27')](function(){_0x5410db['forEach'](function(_0x298ec4){socket[_0x4d64('0x71')](_0x4d64('0x72'),{'UserId':_0x298ec4['id'],'OpenchannelQueueId':_0x4d3842['id']});});});});});}})['then'](respondWithStatusCode(_0x111406,null))[_0x4d64('0x4d')](handleError(_0x111406,null));};exports[_0x4d64('0x73')]=function(_0x11e95b,_0x2e1e20,_0x5d893c){return db['Team']['findAll']({'where':{'id':_0x11e95b[_0x4d64('0x37')][_0x4d64('0x68')]},'attributes':['id'],'include':[{'model':db[_0x4d64('0x5c')],'as':_0x4d64('0x69'),'attributes':['id'],'raw':!![]}]})[_0x4d64('0x27')](handleEntityNotFound(_0x2e1e20,null))[_0x4d64('0x27')](function(_0x157d35){var _0x3ed2f6=_[_0x4d64('0x32')](_0x157d35,'id');var _0x34e3a7=[];var _0x5d235e=[];var _0x519fa3=squel[_0x4d64('0x74')]();_0x519fa3[_0x4d64('0x75')](_0x4d64('0x76'))[_0x4d64('0x77')](_0x4d64('0x78'),'tq')[_0x4d64('0x79')](_0x4d64('0x7a'),'ut',_0x4d64('0x7b'))[_0x4d64('0x40')](_0x4d64('0x7c'),_0x11e95b[_0x4d64('0x4a')]['id']);for(var _0x14094f=0x0;_0x14094f<_0x157d35[_0x4d64('0x58')];_0x14094f+=0x1){let _0x4a7145=_0x157d35[_0x14094f];for(var _0x348381=0x0;_0x348381<_0x4a7145[_0x4d64('0x69')][_0x4d64('0x58')];_0x348381+=0x1){let _0x415243=_0x4a7145[_0x4d64('0x69')][_0x348381];var _0x425384=_0x519fa3[_0x4d64('0x7d')]();_0x425384[_0x4d64('0x40')](_0x4d64('0x7e'),_0x415243['id']);_0x5d235e[_0x4d64('0x7f')](db[_0x4d64('0x6d')]['query'](_0x425384[_0x4d64('0x80')](),{'type':db[_0x4d64('0x6d')][_0x4d64('0x81')][_0x4d64('0x82')]})[_0x4d64('0x27')](function(_0x4d736e){if(_0x4d736e['length']===0x1){return _0x415243['id'];}else{var _0x29bfbf=_[_0x4d64('0x83')](_[_0x4d64('0x32')](_0x4d736e,_0x4d64('0x84')),function(_0x34d907){return _[_0x4d64('0x85')](_0x3ed2f6,_0x34d907);});if(_0x29bfbf){return _0x415243['id'];}}}));}}return BPromise[_0x4d64('0x86')](_0x5d235e)[_0x4d64('0x27')](function(_0x556de5){_0x34e3a7=_(_0x34e3a7)[_0x4d64('0x87')](_0x556de5)[_0x4d64('0x88')]()['value']();return db[_0x4d64('0x33')]['find']({'where':{'id':_0x11e95b[_0x4d64('0x4a')]['id']}})['then'](function(_0x355fbf){return db[_0x4d64('0x6d')][_0x4d64('0x6e')](function(_0x67f7b0){return _0x355fbf['removeTeams'](_0x11e95b[_0x4d64('0x37')][_0x4d64('0x68')],{'transaction':_0x67f7b0})[_0x4d64('0x27')](function(){if(!_[_0x4d64('0x89')](_0x34e3a7)){return _0x355fbf[_0x4d64('0x8a')](_0x34e3a7,{'transaction':_0x67f7b0});}})[_0x4d64('0x27')](function(){_0x34e3a7[_0x4d64('0x8b')](function(_0x546231){socket[_0x4d64('0x71')](_0x4d64('0x8c'),{'UserId':_0x546231,'OpenchannelQueueId':_0x355fbf['id']});});});});});});})[_0x4d64('0x27')](respondWithStatusCode(_0x2e1e20,null))[_0x4d64('0x4d')](handleError(_0x2e1e20,null));};exports['addAgents']=function(_0x384c2e,_0x2dedd1,_0x37dfa5){return db[_0x4d64('0x33')][_0x4d64('0x54')]({'where':{'id':_0x384c2e[_0x4d64('0x4a')]['id']}})[_0x4d64('0x27')](handleEntityNotFound(_0x2dedd1,null))[_0x4d64('0x27')](function(_0x6e9668){if(_0x6e9668){return _0x6e9668['addAgents'](_0x384c2e[_0x4d64('0x4f')][_0x4d64('0x68')],_[_0x4d64('0x8d')](_0x384c2e[_0x4d64('0x4f')],[_0x4d64('0x68'),'id'])||{})[_0x4d64('0x8e')](function(_0x21d5ec){for(var _0x5c078c=0x0;_0x5c078c<_0x384c2e[_0x4d64('0x4f')]['ids'][_0x4d64('0x58')];_0x5c078c+=0x1){socket[_0x4d64('0x71')](_0x4d64('0x72'),{'UserId':Number(_0x384c2e[_0x4d64('0x4f')][_0x4d64('0x68')][_0x5c078c]),'OpenchannelQueueId':Number(_0x384c2e[_0x4d64('0x4a')]['id'])});}return _0x21d5ec;});}})[_0x4d64('0x27')](respondWithResult(_0x2dedd1,null))['catch'](handleError(_0x2dedd1,null));};exports[_0x4d64('0x8a')]=function(_0x14d351,_0xce5e84,_0x2e83d8){return db[_0x4d64('0x33')]['find']({'where':{'id':_0x14d351[_0x4d64('0x4a')]['id']}})[_0x4d64('0x27')](handleEntityNotFound(_0xce5e84,null))[_0x4d64('0x27')](function(_0x1fe6d5){if(_0x1fe6d5){return _0x1fe6d5[_0x4d64('0x8a')](_0x14d351[_0x4d64('0x37')][_0x4d64('0x68')])[_0x4d64('0x27')](function(){if(_['isArray'](_0x14d351[_0x4d64('0x37')][_0x4d64('0x68')])){for(var _0x3dfd73=0x0;_0x3dfd73<_0x14d351[_0x4d64('0x37')]['ids']['length'];_0x3dfd73+=0x1){socket[_0x4d64('0x71')]('userOpenchannelQueue:remove',{'UserId':Number(_0x14d351['query'][_0x4d64('0x68')][_0x3dfd73]),'OpenchannelQueueId':Number(_0x14d351[_0x4d64('0x4a')]['id'])});}}else{socket[_0x4d64('0x71')](_0x4d64('0x8c'),{'UserId':Number(_0x14d351[_0x4d64('0x37')][_0x4d64('0x68')]),'OpenchannelQueueId':Number(_0x14d351[_0x4d64('0x4a')]['id'])});}});}})[_0x4d64('0x27')](respondWithStatusCode(_0xce5e84,null))[_0x4d64('0x4d')](handleError(_0xce5e84,null));};exports[_0x4d64('0x8f')]=function(_0x17d766,_0x5a6310,_0x58e2f5){var _0x395b47={};var _0x153913={};var _0x77a53f;var _0x176bd3;return db['OpenchannelQueue'][_0x4d64('0x57')]({'where':{'id':_0x17d766[_0x4d64('0x4a')]['id']}})[_0x4d64('0x27')](handleEntityNotFound(_0x5a6310,null))[_0x4d64('0x27')](function(_0x1af160){if(_0x1af160){_0x77a53f=_0x1af160;_0x153913['model']=_[_0x4d64('0x36')](db[_0x4d64('0x5c')][_0x4d64('0x4b')]);_0x153913[_0x4d64('0x37')]=_[_0x4d64('0x36')](_0x17d766[_0x4d64('0x37')]);_0x153913['filters']=_[_0x4d64('0x3b')](_0x153913[_0x4d64('0x39')],_0x153913['query']);_0x395b47[_0x4d64('0x3a')]=_[_0x4d64('0x3b')](_0x153913[_0x4d64('0x39')],qs[_0x4d64('0x4c')](_0x17d766['query'][_0x4d64('0x4c')]));_0x395b47[_0x4d64('0x3a')]=_0x395b47[_0x4d64('0x3a')]['length']?_0x395b47[_0x4d64('0x3a')]:_0x153913[_0x4d64('0x39')];_0x395b47[_0x4d64('0x3e')]=qs[_0x4d64('0x3f')](_0x17d766['query']['sort']);_0x395b47[_0x4d64('0x40')]=qs[_0x4d64('0x38')](_['pick'](_0x17d766[_0x4d64('0x37')],_0x153913[_0x4d64('0x38')]));if(_0x17d766[_0x4d64('0x37')]['filter']){_0x395b47[_0x4d64('0x40')]=_[_0x4d64('0x44')](_0x395b47['where'],{'$or':_['map'](_0x395b47['attributes'],function(_0x48feb3){var _0x569d69={};_0x569d69[_0x48feb3]={'$like':'%'+_0x17d766['query'][_0x4d64('0x42')]+'%'};return _0x569d69;})});}_0x395b47=_[_0x4d64('0x44')]({},_0x395b47,_0x17d766['options']);return _0x77a53f['getAgents'](_0x395b47);}})[_0x4d64('0x27')](function(_0x3b781e){if(_0x3b781e){_0x176bd3=_0x3b781e[_0x4d64('0x58')];if(!_0x17d766[_0x4d64('0x37')][_0x4d64('0x3c')]('nolimit')){_0x395b47[_0x4d64('0x3d')]=qs[_0x4d64('0x3d')](_0x17d766[_0x4d64('0x37')][_0x4d64('0x3d')]);_0x395b47[_0x4d64('0x1f')]=qs[_0x4d64('0x1f')](_0x17d766[_0x4d64('0x37')]['offset']);}return _0x77a53f[_0x4d64('0x8f')](_0x395b47);}})[_0x4d64('0x27')](function(_0x1b9bef){if(_0x1b9bef){return _0x1b9bef?{'count':_0x176bd3,'rows':_0x1b9bef}:null;}})[_0x4d64('0x27')](respondWithResult(_0x5a6310,null))[_0x4d64('0x4d')](handleError(_0x5a6310,null));};