ec91caad14d42af643579a32d135b423c4407d9b
[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 _0x79c4=['options','OpenchannelQueue','includeAll','include','findAll','rows','show','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','OpenchannelQueues','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','UserOpenchannelQueue','length','OpenchannelQueueId','UserId','agent','openchannelPause','createdAt','%s/%s','updatedAt','getTeams','findOne','Team','hasOwnProperty','addTeams','ids','User','Agents','voicePause','flatMap','sequelize','transaction','each','findOrCreate','forEach','userOpenchannelQueue:save','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','OpenchannelQueueId\x20=\x20?','clone','QueryTypes','SELECT','every','all','compact','value','removeTeams','isEmpty','removeAgents','addAgents','omit','userOpenchannelQueue:remove','emit','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','save','update','destroy','then','error','stack','name','send','map','rawAttributes','fieldName','type','key','keys','filters','intersection','query','model','fields','attributes','nolimit','order','sort','where','pick','filter','merge'];(function(_0xfbe06e,_0x2fb7ab){var _0x24e5b6=function(_0x48569f){while(--_0x48569f){_0xfbe06e['push'](_0xfbe06e['shift']());}};_0x24e5b6(++_0x2fb7ab);}(_0x79c4,0x164));var _0x479c=function(_0x3a085e,_0x141fb2){_0x3a085e=_0x3a085e-0x0;var _0x436b9f=_0x79c4[_0x3a085e];return _0x436b9f;};'use strict';var emlformat=require(_0x479c('0x0'));var rimraf=require(_0x479c('0x1'));var zipdir=require(_0x479c('0x2'));var jsonpatch=require(_0x479c('0x3'));var rp=require(_0x479c('0x4'));var moment=require(_0x479c('0x5'));var BPromise=require(_0x479c('0x6'));var Mustache=require(_0x479c('0x7'));var util=require(_0x479c('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x479c('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x479c('0xa'));var _=require(_0x479c('0xb'));var squel=require(_0x479c('0xc'));var crypto=require('crypto');var jsforce=require(_0x479c('0xd'));var deskjs=require(_0x479c('0xe'));var toCsv=require(_0x479c('0x9'));var querystring=require(_0x479c('0xf'));var Papa=require('papaparse');var Redis=require(_0x479c('0x10'));var authService=require(_0x479c('0x11'));var qs=require(_0x479c('0x12'));var as=require(_0x479c('0x13'));var hardwareService=require(_0x479c('0x14'));var logger=require(_0x479c('0x15'))(_0x479c('0x16'));var utils=require(_0x479c('0x17'));var config=require(_0x479c('0x18'));var licenseUtil=require(_0x479c('0x19'));var db=require(_0x479c('0x1a'))['db'];config[_0x479c('0x1b')]=_[_0x479c('0x1c')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x479c('0x1d'))(new Redis(config[_0x479c('0x1b')]));require(_0x479c('0x1e'))[_0x479c('0x1f')](socket);function respondWithStatusCode(_0x52196c,_0x1af4c8){_0x1af4c8=_0x1af4c8||0xcc;return function(_0x11cf6){if(_0x11cf6){return _0x52196c[_0x479c('0x20')](_0x1af4c8);}return _0x52196c[_0x479c('0x21')](_0x1af4c8)[_0x479c('0x22')]();};}function respondWithResult(_0x3cd27e,_0x1fe865){_0x1fe865=_0x1fe865||0xc8;return function(_0x3da2a4){if(_0x3da2a4){return _0x3cd27e[_0x479c('0x21')](_0x1fe865)[_0x479c('0x23')](_0x3da2a4);}};}function respondWithFilteredResult(_0x11db16,_0x4b476){return function(_0x4da47d){if(_0x4da47d){var _0x392626=typeof _0x4b476['offset']===_0x479c('0x24')&&typeof _0x4b476['limit']===_0x479c('0x24');var _0x5cc62d=_0x4da47d[_0x479c('0x25')];var _0x510224=_0x392626?0x0:_0x4b476[_0x479c('0x26')];var _0x47c46a=_0x392626?_0x4da47d[_0x479c('0x25')]:_0x4b476[_0x479c('0x26')]+_0x4b476[_0x479c('0x27')];var _0x461c7e;if(_0x47c46a>=_0x5cc62d){_0x47c46a=_0x5cc62d;_0x461c7e=0xc8;}else{_0x461c7e=0xce;}_0x11db16[_0x479c('0x21')](_0x461c7e);return _0x11db16[_0x479c('0x28')](_0x479c('0x29'),_0x510224+'-'+_0x47c46a+'/'+_0x5cc62d)[_0x479c('0x23')](_0x4da47d);}return null;};}function patchUpdates(_0x26b1d0){return function(_0x1ffc2c){try{jsonpatch[_0x479c('0x2a')](_0x1ffc2c,_0x26b1d0,!![]);}catch(_0x51e14b){return BPromise['reject'](_0x51e14b);}return _0x1ffc2c[_0x479c('0x2b')]();};}function saveUpdates(_0x2a2824,_0x50046a){return function(_0x1acc5b){if(_0x1acc5b){return _0x1acc5b[_0x479c('0x2c')](_0x2a2824)['then'](function(_0xdfb87c){return _0xdfb87c;});}return null;};}function removeEntity(_0x17f671,_0x181c76){return function(_0xb71b0){if(_0xb71b0){return _0xb71b0['destroy']()['then'](function(){var _0x3d1337=_0xb71b0['get']({'plain':!![]});var _0x5ebf07='OpenchannelQueues';return db['UserProfileResource'][_0x479c('0x2d')]({'where':{'type':_0x5ebf07,'resourceId':_0x3d1337['id']}})[_0x479c('0x2e')](function(){return _0xb71b0;});})['then'](function(){_0x17f671[_0x479c('0x21')](0xcc)[_0x479c('0x22')]();});}};}function handleEntityNotFound(_0x59f122,_0x5d1cce){return function(_0x2ff8e4){if(!_0x2ff8e4){_0x59f122['sendStatus'](0x194);}return _0x2ff8e4;};}function handleError(_0x2ac2f1,_0xae210a){_0xae210a=_0xae210a||0x1f4;return function(_0x250b9f){logger[_0x479c('0x2f')](_0x250b9f[_0x479c('0x30')]);if(_0x250b9f[_0x479c('0x31')]){delete _0x250b9f[_0x479c('0x31')];}_0x2ac2f1[_0x479c('0x21')](_0xae210a)[_0x479c('0x32')](_0x250b9f);};}exports['index']=function(_0x20855e,_0x1d5aca){var _0x218631={},_0x3e96e3={},_0x549d69={'count':0x0,'rows':[]};var _0x30e669=_[_0x479c('0x33')](db['OpenchannelQueue'][_0x479c('0x34')],function(_0xe4bf30){return{'name':_0xe4bf30[_0x479c('0x35')],'type':_0xe4bf30[_0x479c('0x36')][_0x479c('0x37')]};});_0x3e96e3['model']=_[_0x479c('0x33')](_0x30e669,_0x479c('0x31'));_0x3e96e3['query']=_[_0x479c('0x38')](_0x20855e['query']);_0x3e96e3[_0x479c('0x39')]=_[_0x479c('0x3a')](_0x3e96e3['model'],_0x3e96e3[_0x479c('0x3b')]);_0x218631['attributes']=_[_0x479c('0x3a')](_0x3e96e3[_0x479c('0x3c')],qs[_0x479c('0x3d')](_0x20855e[_0x479c('0x3b')][_0x479c('0x3d')]));_0x218631[_0x479c('0x3e')]=_0x218631[_0x479c('0x3e')]['length']?_0x218631[_0x479c('0x3e')]:_0x3e96e3[_0x479c('0x3c')];if(!_0x20855e['query']['hasOwnProperty'](_0x479c('0x3f'))){_0x218631[_0x479c('0x27')]=qs[_0x479c('0x27')](_0x20855e[_0x479c('0x3b')][_0x479c('0x27')]);_0x218631[_0x479c('0x26')]=qs[_0x479c('0x26')](_0x20855e[_0x479c('0x3b')][_0x479c('0x26')]);}_0x218631[_0x479c('0x40')]=qs['sort'](_0x20855e[_0x479c('0x3b')][_0x479c('0x41')]);_0x218631[_0x479c('0x42')]=qs[_0x479c('0x39')](_[_0x479c('0x43')](_0x20855e[_0x479c('0x3b')],_0x3e96e3['filters']),_0x30e669);if(_0x20855e[_0x479c('0x3b')][_0x479c('0x44')]){_0x218631['where']=_[_0x479c('0x45')](_0x218631[_0x479c('0x42')],{'$or':_[_0x479c('0x33')](_0x30e669,function(_0x18e4b6){if(_0x18e4b6[_0x479c('0x36')]!=='VIRTUAL'){var _0x5d3cd1={};_0x5d3cd1[_0x18e4b6['name']]={'$like':'%'+_0x20855e[_0x479c('0x3b')][_0x479c('0x44')]+'%'};return _0x5d3cd1;}})});}_0x218631=_[_0x479c('0x45')]({},_0x218631,_0x20855e[_0x479c('0x46')]);var _0x390820={'where':_0x218631[_0x479c('0x42')]};return db[_0x479c('0x47')][_0x479c('0x25')](_0x390820)[_0x479c('0x2e')](function(_0x1dd683){_0x549d69[_0x479c('0x25')]=_0x1dd683;if(_0x20855e[_0x479c('0x3b')][_0x479c('0x48')]){_0x218631[_0x479c('0x49')]=[{'all':!![]}];}return db[_0x479c('0x47')][_0x479c('0x4a')](_0x218631);})[_0x479c('0x2e')](function(_0x12f562){_0x549d69[_0x479c('0x4b')]=_0x12f562;return _0x549d69;})[_0x479c('0x2e')](respondWithFilteredResult(_0x1d5aca,_0x218631))['catch'](handleError(_0x1d5aca,null));};exports[_0x479c('0x4c')]=function(_0x5ef082,_0x1cc04f){var _0x4a7bc8={'raw':!![],'where':{'id':_0x5ef082['params']['id']}},_0x2bddd7={};_0x2bddd7['model']=_[_0x479c('0x38')](db[_0x479c('0x47')][_0x479c('0x34')]);_0x2bddd7['query']=_['keys'](_0x5ef082[_0x479c('0x3b')]);_0x2bddd7[_0x479c('0x39')]=_['intersection'](_0x2bddd7[_0x479c('0x3c')],_0x2bddd7[_0x479c('0x3b')]);_0x4a7bc8[_0x479c('0x3e')]=_[_0x479c('0x3a')](_0x2bddd7[_0x479c('0x3c')],qs[_0x479c('0x3d')](_0x5ef082[_0x479c('0x3b')][_0x479c('0x3d')]));_0x4a7bc8[_0x479c('0x3e')]=_0x4a7bc8[_0x479c('0x3e')]['length']?_0x4a7bc8[_0x479c('0x3e')]:_0x2bddd7[_0x479c('0x3c')];if(_0x5ef082[_0x479c('0x3b')][_0x479c('0x48')]){_0x4a7bc8[_0x479c('0x49')]=[{'all':!![]}];}_0x4a7bc8=_[_0x479c('0x45')]({},_0x4a7bc8,_0x5ef082[_0x479c('0x46')]);return db[_0x479c('0x47')][_0x479c('0x4d')](_0x4a7bc8)[_0x479c('0x2e')](handleEntityNotFound(_0x1cc04f,null))[_0x479c('0x2e')](respondWithResult(_0x1cc04f,null))[_0x479c('0x4e')](handleError(_0x1cc04f,null));};exports[_0x479c('0x4f')]=function(_0x5555f8,_0x4caa70){return db[_0x479c('0x47')][_0x479c('0x4f')](_0x5555f8[_0x479c('0x50')],{})[_0x479c('0x2e')](function(_0x3101de){var _0x2e0364=_0x5555f8[_0x479c('0x51')][_0x479c('0x52')]({'plain':!![]});if(!_0x2e0364)throw new Error(_0x479c('0x53'));if(_0x2e0364[_0x479c('0x54')]===_0x479c('0x51')){var _0x34e19c=_0x3101de['get']({'plain':!![]});var _0x47fa4d=_0x479c('0x55');return db[_0x479c('0x56')][_0x479c('0x4d')]({'where':{'name':_0x47fa4d,'userProfileId':_0x2e0364[_0x479c('0x57')]},'raw':!![]})['then'](function(_0x4ceeee){if(_0x4ceeee&&_0x4ceeee[_0x479c('0x58')]===0x0){return db[_0x479c('0x59')][_0x479c('0x4f')]({'name':_0x34e19c[_0x479c('0x31')],'resourceId':_0x34e19c['id'],'type':_0x4ceeee[_0x479c('0x31')],'sectionId':_0x4ceeee['id']},{})[_0x479c('0x2e')](function(){return _0x3101de;});}else{return _0x3101de;}})[_0x479c('0x4e')](function(_0x38f749){logger[_0x479c('0x2f')](_0x479c('0x5a'),_0x38f749);throw _0x38f749;});}return _0x3101de;})['then'](respondWithResult(_0x4caa70,0xc9))[_0x479c('0x4e')](handleError(_0x4caa70,null));};exports[_0x479c('0x2c')]=function(_0x3c751e,_0x4dad5e){if(_0x3c751e[_0x479c('0x50')]['id']){delete _0x3c751e[_0x479c('0x50')]['id'];}return db[_0x479c('0x47')]['find']({'where':{'id':_0x3c751e[_0x479c('0x5b')]['id']}})[_0x479c('0x2e')](handleEntityNotFound(_0x4dad5e,null))['then'](saveUpdates(_0x3c751e['body'],null))['then'](respondWithResult(_0x4dad5e,null))['catch'](handleError(_0x4dad5e,null));};exports[_0x479c('0x2d')]=function(_0x26cff,_0x393edf){return db[_0x479c('0x47')][_0x479c('0x4d')]({'where':{'id':_0x26cff[_0x479c('0x5b')]['id']}})[_0x479c('0x2e')](handleEntityNotFound(_0x393edf,null))[_0x479c('0x2e')](removeEntity(_0x393edf,null))[_0x479c('0x4e')](handleError(_0x393edf,null));};exports[_0x479c('0x5c')]=function(_0x39a5d6,_0x1d061d){return db[_0x479c('0x47')][_0x479c('0x5c')]()[_0x479c('0x2e')](respondWithResult(_0x1d061d,null))[_0x479c('0x4e')](handleError(_0x1d061d,null));};exports[_0x479c('0x5d')]=function(_0x2846be,_0x24927a,_0x110ccc){var _0x43c08f={'raw':!![],'where':{}},_0x46bec2={},_0x6820a;return db[_0x479c('0x47')]['findOne']({'where':{'id':_0x2846be[_0x479c('0x5b')]['id']}})['then'](handleEntityNotFound(_0x24927a,null))[_0x479c('0x2e')](function(_0x4e493b){if(_0x4e493b){_0x6820a=_0x4e493b[_0x479c('0x52')]({'plain':!![]});_0x46bec2[_0x479c('0x3c')]=_[_0x479c('0x38')](db[_0x479c('0x5e')][_0x479c('0x34')]);_0x46bec2[_0x479c('0x3b')]=_[_0x479c('0x38')](_0x2846be[_0x479c('0x3b')]);_0x46bec2[_0x479c('0x39')]=_[_0x479c('0x3a')](_0x46bec2[_0x479c('0x3c')],_0x46bec2[_0x479c('0x3b')]);_0x43c08f['attributes']=_[_0x479c('0x3a')](_0x46bec2[_0x479c('0x3c')],qs[_0x479c('0x3d')](_0x2846be[_0x479c('0x3b')][_0x479c('0x3d')]));_0x43c08f[_0x479c('0x3e')]=_0x43c08f[_0x479c('0x3e')][_0x479c('0x5f')]?_0x43c08f[_0x479c('0x3e')]:_0x46bec2[_0x479c('0x3c')];if(!_0x2846be['query']['hasOwnProperty'](_0x479c('0x3f'))){_0x43c08f[_0x479c('0x27')]=qs[_0x479c('0x27')](_0x2846be['query'][_0x479c('0x27')]);_0x43c08f[_0x479c('0x26')]=qs[_0x479c('0x26')](_0x2846be[_0x479c('0x3b')]['offset']);}_0x43c08f[_0x479c('0x40')]=qs[_0x479c('0x41')](_0x2846be[_0x479c('0x3b')][_0x479c('0x41')]);_0x43c08f[_0x479c('0x42')]=qs[_0x479c('0x39')](_[_0x479c('0x43')](_0x2846be[_0x479c('0x3b')],_0x46bec2[_0x479c('0x39')]));_0x43c08f[_0x479c('0x42')][_0x479c('0x60')]=_0x4e493b['id'];if(_0x2846be[_0x479c('0x3b')][_0x479c('0x44')]){_0x43c08f[_0x479c('0x42')]=_[_0x479c('0x45')](_0x43c08f[_0x479c('0x42')],{'$or':_[_0x479c('0x33')](_0x43c08f[_0x479c('0x3e')],function(_0x389296){var _0x5e5942={};_0x5e5942[_0x389296]={'$like':'%'+_0x2846be[_0x479c('0x3b')][_0x479c('0x44')]+'%'};return _0x5e5942;})});}_0x43c08f=_[_0x479c('0x45')]({},_0x43c08f,_0x2846be[_0x479c('0x46')]);return db['UserOpenchannelQueue'][_0x479c('0x4a')](_0x43c08f);}})[_0x479c('0x2e')](function(_0x30c63a){if(_0x30c63a){return db['User']['findAndCountAll']({'where':{'id':_[_0x479c('0x33')](_0x30c63a,_0x479c('0x61')),'role':_0x479c('0x62')},'attributes':['id',_0x479c('0x31'),_0x479c('0x63'),'updatedAt',_0x479c('0x64')]});}})[_0x479c('0x2e')](function(_0x3a573f){if(_0x3a573f){return{'count':_0x3a573f[_0x479c('0x25')],'rows':_[_0x479c('0x33')](_0x3a573f[_0x479c('0x4b')],function(_0x3c024d){return{'membername':_0x3c024d[_0x479c('0x31')],'UserId':_0x3c024d['id'],'queue_name':_0x6820a[_0x479c('0x31')],'OpenchannelQueueId':_0x6820a['id'],'interface':util['format'](_0x479c('0x65'),'SIP',_0x3c024d[_0x479c('0x31')]),'penalty':0x0,'paused':_0x3c024d[_0x479c('0x63')],'createdAt':_0x3c024d[_0x479c('0x64')],'updatedAt':_0x3c024d[_0x479c('0x66')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x479c('0x2e')](respondWithFilteredResult(_0x24927a,_0x43c08f))[_0x479c('0x4e')](handleError(_0x24927a,null));};exports[_0x479c('0x67')]=function(_0x5a164a,_0x2d9817,_0x52114b){var _0x3b30ac={};var _0x514c9f={};var _0x41d7c9;var _0x45c559;return db[_0x479c('0x47')][_0x479c('0x68')]({'where':{'id':_0x5a164a['params']['id']}})[_0x479c('0x2e')](handleEntityNotFound(_0x2d9817,null))[_0x479c('0x2e')](function(_0x3f8c8b){if(_0x3f8c8b){_0x41d7c9=_0x3f8c8b;_0x514c9f[_0x479c('0x3c')]=_[_0x479c('0x38')](db[_0x479c('0x69')][_0x479c('0x34')]);_0x514c9f[_0x479c('0x3b')]=_[_0x479c('0x38')](_0x5a164a[_0x479c('0x3b')]);_0x514c9f['filters']=_[_0x479c('0x3a')](_0x514c9f[_0x479c('0x3c')],_0x514c9f['query']);_0x3b30ac[_0x479c('0x3e')]=_[_0x479c('0x3a')](_0x514c9f[_0x479c('0x3c')],qs[_0x479c('0x3d')](_0x5a164a['query'][_0x479c('0x3d')]));_0x3b30ac[_0x479c('0x3e')]=_0x3b30ac[_0x479c('0x3e')][_0x479c('0x5f')]?_0x3b30ac[_0x479c('0x3e')]:_0x514c9f[_0x479c('0x3c')];_0x3b30ac[_0x479c('0x40')]=qs[_0x479c('0x41')](_0x5a164a[_0x479c('0x3b')][_0x479c('0x41')]);_0x3b30ac[_0x479c('0x42')]=qs[_0x479c('0x39')](_['pick'](_0x5a164a[_0x479c('0x3b')],_0x514c9f[_0x479c('0x39')]));if(_0x5a164a[_0x479c('0x3b')][_0x479c('0x44')]){_0x3b30ac[_0x479c('0x42')]=_[_0x479c('0x45')](_0x3b30ac[_0x479c('0x42')],{'$or':_[_0x479c('0x33')](_0x3b30ac[_0x479c('0x3e')],function(_0x42e89a){var _0x5c6cf9={};_0x5c6cf9[_0x42e89a]={'$like':'%'+_0x5a164a[_0x479c('0x3b')][_0x479c('0x44')]+'%'};return _0x5c6cf9;})});}_0x3b30ac=_[_0x479c('0x45')]({},_0x3b30ac,_0x5a164a['options']);return _0x41d7c9[_0x479c('0x67')](_0x3b30ac);}})[_0x479c('0x2e')](function(_0x2bae85){if(_0x2bae85){_0x45c559=_0x2bae85[_0x479c('0x5f')];if(!_0x5a164a[_0x479c('0x3b')][_0x479c('0x6a')]('nolimit')){_0x3b30ac[_0x479c('0x27')]=qs['limit'](_0x5a164a[_0x479c('0x3b')][_0x479c('0x27')]);_0x3b30ac[_0x479c('0x26')]=qs[_0x479c('0x26')](_0x5a164a[_0x479c('0x3b')]['offset']);}return _0x41d7c9[_0x479c('0x67')](_0x3b30ac);}})[_0x479c('0x2e')](function(_0x29874b){if(_0x29874b){return _0x29874b?{'count':_0x45c559,'rows':_0x29874b}:null;}})[_0x479c('0x2e')](respondWithResult(_0x2d9817,null))['catch'](handleError(_0x2d9817,null));};exports[_0x479c('0x6b')]=function(_0x1a6dfa,_0x43b613,_0x213525){var _0x4f2486=_0x1a6dfa[_0x479c('0x50')][_0x479c('0x6c')];return db[_0x479c('0x69')][_0x479c('0x4a')]({'where':{'id':_0x4f2486},'attributes':['id'],'include':[{'model':db[_0x479c('0x6d')],'as':_0x479c('0x6e'),'attributes':['id',_0x479c('0x31'),'online',_0x479c('0x6f'),'interface'],'raw':!![]}]})['then'](function(_0x45de34){if(_0x45de34){var _0x4db522=_[_0x479c('0x70')](_0x45de34,function(_0x4f6b17){var _0x322395=_0x4f6b17['get']({'plain':!![]});return _0x322395[_0x479c('0x6e')];});return db[_0x479c('0x47')][_0x479c('0x4d')]({'where':{'id':_0x1a6dfa[_0x479c('0x5b')]['id']}})[_0x479c('0x2e')](function(_0x29afa6){return db[_0x479c('0x71')][_0x479c('0x72')](function(_0x34dc57){return _0x29afa6[_0x479c('0x6b')](_0x4f2486,{'transaction':_0x34dc57})[_0x479c('0x2e')](function(){return BPromise[_0x479c('0x73')](_0x4db522,function(_0x42c5bd){return db[_0x479c('0x5e')][_0x479c('0x74')]({'where':{'UserId':_0x42c5bd['id'],'OpenchannelQueueId':_0x1a6dfa[_0x479c('0x5b')]['id']},'transaction':_0x34dc57});});})[_0x479c('0x2e')](function(){_0x4db522[_0x479c('0x75')](function(_0x4b6d28){socket['emit'](_0x479c('0x76'),{'UserId':_0x4b6d28['id'],'OpenchannelQueueId':_0x29afa6['id']});});});});});}})[_0x479c('0x2e')](respondWithStatusCode(_0x43b613,null))[_0x479c('0x4e')](handleError(_0x43b613,null));};exports['removeTeams']=function(_0x2dffc8,_0x1c97b1,_0x1e926e){return db[_0x479c('0x69')][_0x479c('0x4a')]({'where':{'id':_0x2dffc8[_0x479c('0x3b')]['ids']},'attributes':['id'],'include':[{'model':db[_0x479c('0x6d')],'as':_0x479c('0x6e'),'attributes':['id'],'raw':!![]}]})[_0x479c('0x2e')](handleEntityNotFound(_0x1c97b1,null))[_0x479c('0x2e')](function(_0x395a55){var _0x19af26=_['map'](_0x395a55,'id');var _0x2da26a=[];var _0xe0495b=[];var _0x366f6e=squel[_0x479c('0x77')]();_0x366f6e[_0x479c('0x78')](_0x479c('0x79'))[_0x479c('0x7a')](_0x479c('0x7b'),'tq')[_0x479c('0x7c')](_0x479c('0x7d'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x479c('0x42')](_0x479c('0x7e'),_0x2dffc8[_0x479c('0x5b')]['id']);for(var _0x3f323a=0x0;_0x3f323a<_0x395a55[_0x479c('0x5f')];_0x3f323a+=0x1){let _0x5aa95e=_0x395a55[_0x3f323a];for(var _0x23431f=0x0;_0x23431f<_0x5aa95e[_0x479c('0x6e')][_0x479c('0x5f')];_0x23431f+=0x1){let _0x485d10=_0x5aa95e[_0x479c('0x6e')][_0x23431f];var _0x30d6c7=_0x366f6e[_0x479c('0x7f')]();_0x30d6c7[_0x479c('0x42')]('ut.UserId\x20=\x20?',_0x485d10['id']);_0xe0495b['push'](db[_0x479c('0x71')][_0x479c('0x3b')](_0x30d6c7['toString'](),{'type':db['sequelize'][_0x479c('0x80')][_0x479c('0x81')]})['then'](function(_0x5e3cec){if(_0x5e3cec[_0x479c('0x5f')]===0x1){return _0x485d10['id'];}else{var _0x57d823=_[_0x479c('0x82')](_['map'](_0x5e3cec,'TeamId'),function(_0x34edc6){return _['includes'](_0x19af26,_0x34edc6);});if(_0x57d823){return _0x485d10['id'];}}}));}}return BPromise[_0x479c('0x83')](_0xe0495b)[_0x479c('0x2e')](function(_0x598b68){_0x2da26a=_(_0x2da26a)['union'](_0x598b68)[_0x479c('0x84')]()[_0x479c('0x85')]();return db['OpenchannelQueue']['find']({'where':{'id':_0x2dffc8[_0x479c('0x5b')]['id']}})[_0x479c('0x2e')](function(_0x7fd904){return db[_0x479c('0x71')]['transaction'](function(_0x482fff){return _0x7fd904[_0x479c('0x86')](_0x2dffc8[_0x479c('0x3b')][_0x479c('0x6c')],{'transaction':_0x482fff})[_0x479c('0x2e')](function(){if(!_[_0x479c('0x87')](_0x2da26a)){return _0x7fd904[_0x479c('0x88')](_0x2da26a,{'transaction':_0x482fff});}})[_0x479c('0x2e')](function(){_0x2da26a[_0x479c('0x75')](function(_0x50c3d1){socket['emit']('userOpenchannelQueue:remove',{'UserId':_0x50c3d1,'OpenchannelQueueId':_0x7fd904['id']});});});});});});})['then'](respondWithStatusCode(_0x1c97b1,null))[_0x479c('0x4e')](handleError(_0x1c97b1,null));};exports[_0x479c('0x89')]=function(_0x6a46c7,_0x559e62,_0x217158){return db['OpenchannelQueue']['find']({'where':{'id':_0x6a46c7[_0x479c('0x5b')]['id']}})['then'](handleEntityNotFound(_0x559e62,null))[_0x479c('0x2e')](function(_0x566df9){if(_0x566df9){return _0x566df9[_0x479c('0x89')](_0x6a46c7[_0x479c('0x50')][_0x479c('0x6c')],_[_0x479c('0x8a')](_0x6a46c7[_0x479c('0x50')],[_0x479c('0x6c'),'id'])||{})['spread'](function(_0x31ae90){for(var _0x22ed2b=0x0;_0x22ed2b<_0x6a46c7[_0x479c('0x50')][_0x479c('0x6c')][_0x479c('0x5f')];_0x22ed2b+=0x1){socket['emit'](_0x479c('0x76'),{'UserId':Number(_0x6a46c7[_0x479c('0x50')][_0x479c('0x6c')][_0x22ed2b]),'OpenchannelQueueId':Number(_0x6a46c7[_0x479c('0x5b')]['id'])});}return _0x31ae90;});}})[_0x479c('0x2e')](respondWithResult(_0x559e62,null))['catch'](handleError(_0x559e62,null));};exports[_0x479c('0x88')]=function(_0x28a19c,_0x2a2566,_0x38efe1){return db[_0x479c('0x47')][_0x479c('0x4d')]({'where':{'id':_0x28a19c[_0x479c('0x5b')]['id']}})['then'](handleEntityNotFound(_0x2a2566,null))[_0x479c('0x2e')](function(_0x691e76){if(_0x691e76){return _0x691e76['removeAgents'](_0x28a19c['query'][_0x479c('0x6c')])['then'](function(){if(_['isArray'](_0x28a19c[_0x479c('0x3b')][_0x479c('0x6c')])){for(var _0x4c8a1c=0x0;_0x4c8a1c<_0x28a19c[_0x479c('0x3b')]['ids'][_0x479c('0x5f')];_0x4c8a1c+=0x1){socket['emit'](_0x479c('0x8b'),{'UserId':Number(_0x28a19c[_0x479c('0x3b')]['ids'][_0x4c8a1c]),'OpenchannelQueueId':Number(_0x28a19c[_0x479c('0x5b')]['id'])});}}else{socket[_0x479c('0x8c')](_0x479c('0x8b'),{'UserId':Number(_0x28a19c[_0x479c('0x3b')][_0x479c('0x6c')]),'OpenchannelQueueId':Number(_0x28a19c['params']['id'])});}});}})[_0x479c('0x2e')](respondWithStatusCode(_0x2a2566,null))[_0x479c('0x4e')](handleError(_0x2a2566,null));};exports[_0x479c('0x8d')]=function(_0xed87d4,_0x18aea2,_0xab5426){var _0x25d22c={};var _0xa64aa5={};var _0x1835b9;var _0x444d84;return db[_0x479c('0x47')][_0x479c('0x68')]({'where':{'id':_0xed87d4['params']['id']}})[_0x479c('0x2e')](handleEntityNotFound(_0x18aea2,null))[_0x479c('0x2e')](function(_0x2f348e){if(_0x2f348e){_0x1835b9=_0x2f348e;_0xa64aa5[_0x479c('0x3c')]=_['keys'](db[_0x479c('0x6d')]['rawAttributes']);_0xa64aa5['query']=_['keys'](_0xed87d4['query']);_0xa64aa5[_0x479c('0x39')]=_[_0x479c('0x3a')](_0xa64aa5['model'],_0xa64aa5[_0x479c('0x3b')]);_0x25d22c['attributes']=_['intersection'](_0xa64aa5[_0x479c('0x3c')],qs['fields'](_0xed87d4['query']['fields']));_0x25d22c['attributes']=_0x25d22c[_0x479c('0x3e')]['length']?_0x25d22c[_0x479c('0x3e')]:_0xa64aa5[_0x479c('0x3c')];_0x25d22c['order']=qs[_0x479c('0x41')](_0xed87d4[_0x479c('0x3b')][_0x479c('0x41')]);_0x25d22c[_0x479c('0x42')]=qs[_0x479c('0x39')](_[_0x479c('0x43')](_0xed87d4[_0x479c('0x3b')],_0xa64aa5[_0x479c('0x39')]));if(_0xed87d4[_0x479c('0x3b')][_0x479c('0x44')]){_0x25d22c['where']=_[_0x479c('0x45')](_0x25d22c[_0x479c('0x42')],{'$or':_['map'](_0x25d22c[_0x479c('0x3e')],function(_0x5eead3){var _0x4950f5={};_0x4950f5[_0x5eead3]={'$like':'%'+_0xed87d4[_0x479c('0x3b')][_0x479c('0x44')]+'%'};return _0x4950f5;})});}_0x25d22c=_['merge']({},_0x25d22c,_0xed87d4['options']);return _0x1835b9[_0x479c('0x8d')](_0x25d22c);}})[_0x479c('0x2e')](function(_0x2f7f1c){if(_0x2f7f1c){_0x444d84=_0x2f7f1c['length'];if(!_0xed87d4[_0x479c('0x3b')][_0x479c('0x6a')](_0x479c('0x3f'))){_0x25d22c[_0x479c('0x27')]=qs[_0x479c('0x27')](_0xed87d4[_0x479c('0x3b')][_0x479c('0x27')]);_0x25d22c[_0x479c('0x26')]=qs['offset'](_0xed87d4[_0x479c('0x3b')]['offset']);}return _0x1835b9[_0x479c('0x8d')](_0x25d22c);}})[_0x479c('0x2e')](function(_0x203896){if(_0x203896){return _0x203896?{'count':_0x444d84,'rows':_0x203896}:null;}})[_0x479c('0x2e')](respondWithResult(_0x18aea2,null))[_0x479c('0x4e')](handleError(_0x18aea2,null));};