8c664d48fb9ac893d245ebd1f9b7e62f7debadbb
[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 _0x389d=['name','keys','filters','intersection','attributes','fields','query','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','rows','show','params','include','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','hasOwnProperty','findAll','User','agent','openchannelPause','updatedAt','createdAt','SIP','addTeams','Team','online','voicePause','interface','flatMap','Agents','sequelize','transaction','UserOpenchannelQueue','forEach','userOpenchannelQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_openchannel_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','ut.UserId\x20=\x20?','toString','QueryTypes','every','includes','all','union','compact','value','isEmpty','emit','userOpenchannelQueue:remove','addAgents','omit','removeAgents','isArray','getAgents','eml-format','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','get','OpenchannelQueues','error','stack','index','OpenchannelQueue','rawAttributes','type','key','model','map'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x389d,0x1ea));var _0xd389=function(_0x3778d8,_0x5ce417){_0x3778d8=_0x3778d8-0x0;var _0x45a1b3=_0x389d[_0x3778d8];return _0x45a1b3;};'use strict';var emlformat=require(_0xd389('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd389('0x1'));var jsonpatch=require(_0xd389('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xd389('0x3'));var util=require(_0xd389('0x4'));var path=require(_0xd389('0x5'));var sox=require(_0xd389('0x6'));var csv=require(_0xd389('0x7'));var ejs=require(_0xd389('0x8'));var fs=require('fs');var fs_extra=require(_0xd389('0x9'));var _=require(_0xd389('0xa'));var squel=require('squel');var crypto=require(_0xd389('0xb'));var jsforce=require(_0xd389('0xc'));var deskjs=require(_0xd389('0xd'));var toCsv=require(_0xd389('0x7'));var querystring=require(_0xd389('0xe'));var Papa=require('papaparse');var Redis=require(_0xd389('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd389('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd389('0x11'))(_0xd389('0x12'));var utils=require('../../config/utils');var config=require(_0xd389('0x13'));var licenseUtil=require(_0xd389('0x14'));var db=require(_0xd389('0x15'))['db'];config[_0xd389('0x16')]=_[_0xd389('0x17')](config['redis'],{'host':_0xd389('0x18'),'port':0x18eb});var socket=require(_0xd389('0x19'))(new Redis(config['redis']));require(_0xd389('0x1a'))[_0xd389('0x1b')](socket);function respondWithStatusCode(_0x942945,_0x476e4f){_0x476e4f=_0x476e4f||0xcc;return function(_0x5d4847){if(_0x5d4847){return _0x942945[_0xd389('0x1c')](_0x476e4f);}return _0x942945[_0xd389('0x1d')](_0x476e4f)[_0xd389('0x1e')]();};}function respondWithResult(_0x9e3869,_0x1d7453){_0x1d7453=_0x1d7453||0xc8;return function(_0x211d4c){if(_0x211d4c){return _0x9e3869[_0xd389('0x1d')](_0x1d7453)[_0xd389('0x1f')](_0x211d4c);}};}function respondWithFilteredResult(_0x5a9b09,_0x3624d9){return function(_0x155cdc){if(_0x155cdc){var _0x1429d6=typeof _0x3624d9[_0xd389('0x20')]===_0xd389('0x21')&&typeof _0x3624d9['limit']===_0xd389('0x21');var _0x59e0b8=_0x155cdc[_0xd389('0x22')];var _0x897ed8=_0x1429d6?0x0:_0x3624d9['offset'];var _0x3a3f8a=_0x1429d6?_0x155cdc['count']:_0x3624d9[_0xd389('0x20')]+_0x3624d9[_0xd389('0x23')];var _0x484a1a;if(_0x3a3f8a>=_0x59e0b8){_0x3a3f8a=_0x59e0b8;_0x484a1a=0xc8;}else{_0x484a1a=0xce;}_0x5a9b09[_0xd389('0x1d')](_0x484a1a);return _0x5a9b09[_0xd389('0x24')](_0xd389('0x25'),_0x897ed8+'-'+_0x3a3f8a+'/'+_0x59e0b8)[_0xd389('0x1f')](_0x155cdc);}return null;};}function patchUpdates(_0x780580){return function(_0x3c6ca2){try{jsonpatch['apply'](_0x3c6ca2,_0x780580,!![]);}catch(_0x321964){return BPromise[_0xd389('0x26')](_0x321964);}return _0x3c6ca2[_0xd389('0x27')]();};}function saveUpdates(_0x484c1b,_0x4dba4c){return function(_0x4e241e){if(_0x4e241e){return _0x4e241e[_0xd389('0x28')](_0x484c1b)[_0xd389('0x29')](function(_0x443b63){return _0x443b63;});}return null;};}function removeEntity(_0x494a0c,_0x4a4bce){return function(_0x898510){if(_0x898510){return _0x898510[_0xd389('0x2a')]()[_0xd389('0x29')](function(){var _0xf7219e=_0x898510[_0xd389('0x2b')]({'plain':!![]});var _0x319edf=_0xd389('0x2c');return db['UserProfileResource']['destroy']({'where':{'type':_0x319edf,'resourceId':_0xf7219e['id']}})[_0xd389('0x29')](function(){return _0x898510;});})[_0xd389('0x29')](function(){_0x494a0c['status'](0xcc)[_0xd389('0x1e')]();});}};}function handleEntityNotFound(_0x4f0633,_0x3cafca){return function(_0x4b1a9d){if(!_0x4b1a9d){_0x4f0633['sendStatus'](0x194);}return _0x4b1a9d;};}function handleError(_0x3914cd,_0x5a2792){_0x5a2792=_0x5a2792||0x1f4;return function(_0x395f16){logger[_0xd389('0x2d')](_0x395f16[_0xd389('0x2e')]);if(_0x395f16['name']){delete _0x395f16['name'];}_0x3914cd[_0xd389('0x1d')](_0x5a2792)['send'](_0x395f16);};}exports[_0xd389('0x2f')]=function(_0x1fad89,_0x1e23f3){var _0x477d36={},_0x489602={},_0x1c957d={'count':0x0,'rows':[]};var _0xea05ad=_['map'](db[_0xd389('0x30')][_0xd389('0x31')],function(_0x419a7b){return{'name':_0x419a7b['fieldName'],'type':_0x419a7b[_0xd389('0x32')][_0xd389('0x33')]};});_0x489602[_0xd389('0x34')]=_[_0xd389('0x35')](_0xea05ad,_0xd389('0x36'));_0x489602['query']=_[_0xd389('0x37')](_0x1fad89['query']);_0x489602[_0xd389('0x38')]=_[_0xd389('0x39')](_0x489602[_0xd389('0x34')],_0x489602['query']);_0x477d36[_0xd389('0x3a')]=_[_0xd389('0x39')](_0x489602[_0xd389('0x34')],qs[_0xd389('0x3b')](_0x1fad89[_0xd389('0x3c')][_0xd389('0x3b')]));_0x477d36[_0xd389('0x3a')]=_0x477d36['attributes'][_0xd389('0x3d')]?_0x477d36[_0xd389('0x3a')]:_0x489602[_0xd389('0x34')];if(!_0x1fad89[_0xd389('0x3c')]['hasOwnProperty'](_0xd389('0x3e'))){_0x477d36['limit']=qs[_0xd389('0x23')](_0x1fad89[_0xd389('0x3c')][_0xd389('0x23')]);_0x477d36[_0xd389('0x20')]=qs[_0xd389('0x20')](_0x1fad89[_0xd389('0x3c')]['offset']);}_0x477d36[_0xd389('0x3f')]=qs[_0xd389('0x40')](_0x1fad89['query'][_0xd389('0x40')]);_0x477d36['where']=qs[_0xd389('0x38')](_[_0xd389('0x41')](_0x1fad89[_0xd389('0x3c')],_0x489602[_0xd389('0x38')]),_0xea05ad);if(_0x1fad89[_0xd389('0x3c')][_0xd389('0x42')]){_0x477d36[_0xd389('0x43')]=_[_0xd389('0x44')](_0x477d36['where'],{'$or':_['map'](_0xea05ad,function(_0x77e382){if(_0x77e382[_0xd389('0x32')]!==_0xd389('0x45')){var _0x12f14b={};_0x12f14b[_0x77e382[_0xd389('0x36')]]={'$like':'%'+_0x1fad89[_0xd389('0x3c')][_0xd389('0x42')]+'%'};return _0x12f14b;}})});}_0x477d36=_[_0xd389('0x44')]({},_0x477d36,_0x1fad89[_0xd389('0x46')]);var _0x552d32={'where':_0x477d36[_0xd389('0x43')]};return db['OpenchannelQueue']['count'](_0x552d32)['then'](function(_0x3f576a){_0x1c957d[_0xd389('0x22')]=_0x3f576a;if(_0x1fad89[_0xd389('0x3c')][_0xd389('0x47')]){_0x477d36['include']=[{'all':!![]}];}return db[_0xd389('0x30')]['findAll'](_0x477d36);})[_0xd389('0x29')](function(_0x1a3a96){_0x1c957d[_0xd389('0x48')]=_0x1a3a96;return _0x1c957d;})[_0xd389('0x29')](respondWithFilteredResult(_0x1e23f3,_0x477d36))['catch'](handleError(_0x1e23f3,null));};exports[_0xd389('0x49')]=function(_0x3cc5aa,_0x146a31){var _0x428c65={'raw':!![],'where':{'id':_0x3cc5aa[_0xd389('0x4a')]['id']}},_0x4f2abc={};_0x4f2abc[_0xd389('0x34')]=_[_0xd389('0x37')](db[_0xd389('0x30')][_0xd389('0x31')]);_0x4f2abc['query']=_[_0xd389('0x37')](_0x3cc5aa[_0xd389('0x3c')]);_0x4f2abc[_0xd389('0x38')]=_[_0xd389('0x39')](_0x4f2abc[_0xd389('0x34')],_0x4f2abc[_0xd389('0x3c')]);_0x428c65[_0xd389('0x3a')]=_[_0xd389('0x39')](_0x4f2abc[_0xd389('0x34')],qs[_0xd389('0x3b')](_0x3cc5aa['query'][_0xd389('0x3b')]));_0x428c65[_0xd389('0x3a')]=_0x428c65[_0xd389('0x3a')][_0xd389('0x3d')]?_0x428c65[_0xd389('0x3a')]:_0x4f2abc[_0xd389('0x34')];if(_0x3cc5aa[_0xd389('0x3c')][_0xd389('0x47')]){_0x428c65[_0xd389('0x4b')]=[{'all':!![]}];}_0x428c65=_['merge']({},_0x428c65,_0x3cc5aa[_0xd389('0x46')]);return db[_0xd389('0x30')]['find'](_0x428c65)[_0xd389('0x29')](handleEntityNotFound(_0x146a31,null))['then'](respondWithResult(_0x146a31,null))[_0xd389('0x4c')](handleError(_0x146a31,null));};exports[_0xd389('0x4d')]=function(_0x5ae22b,_0x3b94b2){return db[_0xd389('0x30')][_0xd389('0x4d')](_0x5ae22b['body'],{})[_0xd389('0x29')](function(_0xbdbaa8){var _0x4cb74e=_0x5ae22b[_0xd389('0x4e')]['get']({'plain':!![]});if(!_0x4cb74e)throw new Error(_0xd389('0x4f'));if(_0x4cb74e[_0xd389('0x50')]===_0xd389('0x4e')){var _0x4e312c=_0xbdbaa8[_0xd389('0x2b')]({'plain':!![]});var _0x4aab85='OpenchannelQueues';return db[_0xd389('0x51')][_0xd389('0x52')]({'where':{'name':_0x4aab85,'userProfileId':_0x4cb74e['userProfileId']},'raw':!![]})['then'](function(_0x406062){if(_0x406062&&_0x406062[_0xd389('0x53')]===0x0){return db[_0xd389('0x54')]['create']({'name':_0x4e312c[_0xd389('0x36')],'resourceId':_0x4e312c['id'],'type':_0x406062[_0xd389('0x36')],'sectionId':_0x406062['id']},{})[_0xd389('0x29')](function(){return _0xbdbaa8;});}else{return _0xbdbaa8;}})[_0xd389('0x4c')](function(_0x7afa){logger[_0xd389('0x2d')](_0xd389('0x55'),_0x7afa);throw _0x7afa;});}return _0xbdbaa8;})[_0xd389('0x29')](respondWithResult(_0x3b94b2,0xc9))[_0xd389('0x4c')](handleError(_0x3b94b2,null));};exports[_0xd389('0x28')]=function(_0xa95223,_0x4058b4){if(_0xa95223['body']['id']){delete _0xa95223[_0xd389('0x56')]['id'];}return db[_0xd389('0x30')][_0xd389('0x52')]({'where':{'id':_0xa95223[_0xd389('0x4a')]['id']}})[_0xd389('0x29')](handleEntityNotFound(_0x4058b4,null))[_0xd389('0x29')](saveUpdates(_0xa95223[_0xd389('0x56')],null))[_0xd389('0x29')](respondWithResult(_0x4058b4,null))[_0xd389('0x4c')](handleError(_0x4058b4,null));};exports[_0xd389('0x2a')]=function(_0x59d49d,_0x1fe5bd){return db[_0xd389('0x30')][_0xd389('0x52')]({'where':{'id':_0x59d49d[_0xd389('0x4a')]['id']}})['then'](handleEntityNotFound(_0x1fe5bd,null))[_0xd389('0x29')](removeEntity(_0x1fe5bd,null))[_0xd389('0x4c')](handleError(_0x1fe5bd,null));};exports[_0xd389('0x57')]=function(_0x12183a,_0x2970ed){return db[_0xd389('0x30')][_0xd389('0x57')]()['then'](respondWithResult(_0x2970ed,null))[_0xd389('0x4c')](handleError(_0x2970ed,null));};exports[_0xd389('0x58')]=function(_0x30beff,_0x5e150f,_0x55c2c3){var _0x5adf3e={'raw':!![],'where':{}},_0x539f5f={},_0x31ab00;return db[_0xd389('0x30')]['findOne']({'where':{'id':_0x30beff[_0xd389('0x4a')]['id']}})['then'](handleEntityNotFound(_0x5e150f,null))['then'](function(_0x3939e9){if(_0x3939e9){_0x31ab00=_0x3939e9[_0xd389('0x2b')]({'plain':!![]});_0x539f5f['model']=_[_0xd389('0x37')](db['UserOpenchannelQueue'][_0xd389('0x31')]);_0x539f5f[_0xd389('0x3c')]=_[_0xd389('0x37')](_0x30beff[_0xd389('0x3c')]);_0x539f5f[_0xd389('0x38')]=_[_0xd389('0x39')](_0x539f5f[_0xd389('0x34')],_0x539f5f[_0xd389('0x3c')]);_0x5adf3e[_0xd389('0x3a')]=_[_0xd389('0x39')](_0x539f5f['model'],qs[_0xd389('0x3b')](_0x30beff[_0xd389('0x3c')][_0xd389('0x3b')]));_0x5adf3e[_0xd389('0x3a')]=_0x5adf3e[_0xd389('0x3a')][_0xd389('0x3d')]?_0x5adf3e[_0xd389('0x3a')]:_0x539f5f[_0xd389('0x34')];if(!_0x30beff['query'][_0xd389('0x59')]('nolimit')){_0x5adf3e[_0xd389('0x23')]=qs[_0xd389('0x23')](_0x30beff[_0xd389('0x3c')][_0xd389('0x23')]);_0x5adf3e[_0xd389('0x20')]=qs[_0xd389('0x20')](_0x30beff[_0xd389('0x3c')][_0xd389('0x20')]);}_0x5adf3e['order']=qs[_0xd389('0x40')](_0x30beff[_0xd389('0x3c')][_0xd389('0x40')]);_0x5adf3e[_0xd389('0x43')]=qs[_0xd389('0x38')](_[_0xd389('0x41')](_0x30beff['query'],_0x539f5f[_0xd389('0x38')]));_0x5adf3e[_0xd389('0x43')]['OpenchannelQueueId']=_0x3939e9['id'];if(_0x30beff[_0xd389('0x3c')]['filter']){_0x5adf3e[_0xd389('0x43')]=_[_0xd389('0x44')](_0x5adf3e[_0xd389('0x43')],{'$or':_['map'](_0x5adf3e[_0xd389('0x3a')],function(_0x38872b){var _0x297103={};_0x297103[_0x38872b]={'$like':'%'+_0x30beff[_0xd389('0x3c')][_0xd389('0x42')]+'%'};return _0x297103;})});}_0x5adf3e=_[_0xd389('0x44')]({},_0x5adf3e,_0x30beff[_0xd389('0x46')]);return db['UserOpenchannelQueue'][_0xd389('0x5a')](_0x5adf3e);}})[_0xd389('0x29')](function(_0x244f0c){if(_0x244f0c){return db[_0xd389('0x5b')]['findAndCountAll']({'where':{'id':_[_0xd389('0x35')](_0x244f0c,'UserId'),'role':_0xd389('0x5c')},'attributes':['id','name',_0xd389('0x5d'),_0xd389('0x5e'),_0xd389('0x5f')]});}})[_0xd389('0x29')](function(_0x186ee2){if(_0x186ee2){return{'count':_0x186ee2[_0xd389('0x22')],'rows':_['map'](_0x186ee2[_0xd389('0x48')],function(_0x199071){return{'membername':_0x199071[_0xd389('0x36')],'UserId':_0x199071['id'],'queue_name':_0x31ab00[_0xd389('0x36')],'OpenchannelQueueId':_0x31ab00['id'],'interface':util['format']('%s/%s',_0xd389('0x60'),_0x199071[_0xd389('0x36')]),'penalty':0x0,'paused':_0x199071[_0xd389('0x5d')],'createdAt':_0x199071[_0xd389('0x5f')],'updatedAt':_0x199071[_0xd389('0x5e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xd389('0x29')](respondWithFilteredResult(_0x5e150f,_0x5adf3e))[_0xd389('0x4c')](handleError(_0x5e150f,null));};exports['getTeams']=function(_0x2f75ef,_0x25d726,_0x3de7ae){var _0x1df7ea={};var _0x4d023e={};var _0x22e496;var _0x48562b;return db['OpenchannelQueue']['findOne']({'where':{'id':_0x2f75ef[_0xd389('0x4a')]['id']}})['then'](handleEntityNotFound(_0x25d726,null))['then'](function(_0x176034){if(_0x176034){_0x22e496=_0x176034;_0x4d023e[_0xd389('0x34')]=_['keys'](db['Team'][_0xd389('0x31')]);_0x4d023e['query']=_[_0xd389('0x37')](_0x2f75ef[_0xd389('0x3c')]);_0x4d023e[_0xd389('0x38')]=_[_0xd389('0x39')](_0x4d023e['model'],_0x4d023e[_0xd389('0x3c')]);_0x1df7ea[_0xd389('0x3a')]=_[_0xd389('0x39')](_0x4d023e[_0xd389('0x34')],qs[_0xd389('0x3b')](_0x2f75ef[_0xd389('0x3c')][_0xd389('0x3b')]));_0x1df7ea['attributes']=_0x1df7ea[_0xd389('0x3a')][_0xd389('0x3d')]?_0x1df7ea[_0xd389('0x3a')]:_0x4d023e[_0xd389('0x34')];_0x1df7ea[_0xd389('0x3f')]=qs[_0xd389('0x40')](_0x2f75ef['query'][_0xd389('0x40')]);_0x1df7ea[_0xd389('0x43')]=qs['filters'](_[_0xd389('0x41')](_0x2f75ef['query'],_0x4d023e[_0xd389('0x38')]));if(_0x2f75ef[_0xd389('0x3c')]['filter']){_0x1df7ea[_0xd389('0x43')]=_[_0xd389('0x44')](_0x1df7ea[_0xd389('0x43')],{'$or':_[_0xd389('0x35')](_0x1df7ea[_0xd389('0x3a')],function(_0x4e428a){var _0x19c9ca={};_0x19c9ca[_0x4e428a]={'$like':'%'+_0x2f75ef[_0xd389('0x3c')][_0xd389('0x42')]+'%'};return _0x19c9ca;})});}_0x1df7ea=_[_0xd389('0x44')]({},_0x1df7ea,_0x2f75ef[_0xd389('0x46')]);return _0x22e496['getTeams'](_0x1df7ea);}})[_0xd389('0x29')](function(_0x492f55){if(_0x492f55){_0x48562b=_0x492f55[_0xd389('0x3d')];if(!_0x2f75ef[_0xd389('0x3c')][_0xd389('0x59')](_0xd389('0x3e'))){_0x1df7ea[_0xd389('0x23')]=qs[_0xd389('0x23')](_0x2f75ef[_0xd389('0x3c')][_0xd389('0x23')]);_0x1df7ea['offset']=qs[_0xd389('0x20')](_0x2f75ef[_0xd389('0x3c')][_0xd389('0x20')]);}return _0x22e496['getTeams'](_0x1df7ea);}})['then'](function(_0x32a847){if(_0x32a847){return _0x32a847?{'count':_0x48562b,'rows':_0x32a847}:null;}})[_0xd389('0x29')](respondWithResult(_0x25d726,null))[_0xd389('0x4c')](handleError(_0x25d726,null));};exports[_0xd389('0x61')]=function(_0x4f0d75,_0x20be10,_0x299143){var _0x15ef7e=_0x4f0d75[_0xd389('0x56')]['ids'];return db[_0xd389('0x62')][_0xd389('0x5a')]({'where':{'id':_0x15ef7e},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0xd389('0x36'),_0xd389('0x63'),_0xd389('0x64'),_0xd389('0x65')],'raw':!![]}]})[_0xd389('0x29')](function(_0x46bd03){if(_0x46bd03){var _0x2ce826=_[_0xd389('0x66')](_0x46bd03,function(_0x471561){var _0x240ae0=_0x471561[_0xd389('0x2b')]({'plain':!![]});return _0x240ae0[_0xd389('0x67')];});return db[_0xd389('0x30')][_0xd389('0x52')]({'where':{'id':_0x4f0d75[_0xd389('0x4a')]['id']}})[_0xd389('0x29')](function(_0x5c65e1){return db[_0xd389('0x68')][_0xd389('0x69')](function(_0x1132cb){return _0x5c65e1[_0xd389('0x61')](_0x15ef7e,{'transaction':_0x1132cb})[_0xd389('0x29')](function(){return BPromise['each'](_0x2ce826,function(_0xd2f812){return db[_0xd389('0x6a')]['findOrCreate']({'where':{'UserId':_0xd2f812['id'],'OpenchannelQueueId':_0x4f0d75[_0xd389('0x4a')]['id']},'transaction':_0x1132cb});});})[_0xd389('0x29')](function(){_0x2ce826[_0xd389('0x6b')](function(_0x54f8c1){socket['emit'](_0xd389('0x6c'),{'UserId':_0x54f8c1['id'],'OpenchannelQueueId':_0x5c65e1['id']});});});});});}})[_0xd389('0x29')](respondWithStatusCode(_0x20be10,null))[_0xd389('0x4c')](handleError(_0x20be10,null));};exports[_0xd389('0x6d')]=function(_0x226410,_0x4c808c,_0x2ae278){return db['Team'][_0xd389('0x5a')]({'where':{'id':_0x226410[_0xd389('0x3c')][_0xd389('0x6e')]},'attributes':['id'],'include':[{'model':db[_0xd389('0x5b')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x4c808c,null))[_0xd389('0x29')](function(_0x26671c){var _0x413558=_[_0xd389('0x35')](_0x26671c,'id');var _0x1c7575=[];var _0x5d8ae2=[];var _0x573141=squel[_0xd389('0x6f')]();_0x573141[_0xd389('0x70')](_0xd389('0x71'))[_0xd389('0x72')](_0xd389('0x73'),'tq')['join'](_0xd389('0x74'),'ut',_0xd389('0x75'))[_0xd389('0x43')](_0xd389('0x76'),_0x226410['params']['id']);for(var _0x3eff81=0x0;_0x3eff81<_0x26671c[_0xd389('0x3d')];_0x3eff81+=0x1){let _0xcca92a=_0x26671c[_0x3eff81];for(var _0x3ffa84=0x0;_0x3ffa84<_0xcca92a[_0xd389('0x67')][_0xd389('0x3d')];_0x3ffa84+=0x1){let _0xbd49e5=_0xcca92a[_0xd389('0x67')][_0x3ffa84];var _0xd31306=_0x573141['clone']();_0xd31306['where'](_0xd389('0x77'),_0xbd49e5['id']);_0x5d8ae2['push'](db['sequelize']['query'](_0xd31306[_0xd389('0x78')](),{'type':db['sequelize'][_0xd389('0x79')]['SELECT']})[_0xd389('0x29')](function(_0x26815f){if(_0x26815f[_0xd389('0x3d')]===0x1){return _0xbd49e5['id'];}else{var _0x2028c0=_[_0xd389('0x7a')](_['map'](_0x26815f,'TeamId'),function(_0x1c0098){return _[_0xd389('0x7b')](_0x413558,_0x1c0098);});if(_0x2028c0){return _0xbd49e5['id'];}}}));}}return BPromise[_0xd389('0x7c')](_0x5d8ae2)[_0xd389('0x29')](function(_0x20e314){_0x1c7575=_(_0x1c7575)[_0xd389('0x7d')](_0x20e314)[_0xd389('0x7e')]()[_0xd389('0x7f')]();return db[_0xd389('0x30')][_0xd389('0x52')]({'where':{'id':_0x226410[_0xd389('0x4a')]['id']}})[_0xd389('0x29')](function(_0x1cfc2a){return db[_0xd389('0x68')]['transaction'](function(_0x3cc7e1){return _0x1cfc2a['removeTeams'](_0x226410[_0xd389('0x3c')][_0xd389('0x6e')],{'transaction':_0x3cc7e1})[_0xd389('0x29')](function(){if(!_[_0xd389('0x80')](_0x1c7575)){return _0x1cfc2a['removeAgents'](_0x1c7575,{'transaction':_0x3cc7e1});}})[_0xd389('0x29')](function(){_0x1c7575[_0xd389('0x6b')](function(_0x2941c0){socket[_0xd389('0x81')](_0xd389('0x82'),{'UserId':_0x2941c0,'OpenchannelQueueId':_0x1cfc2a['id']});});});});});});})['then'](respondWithStatusCode(_0x4c808c,null))['catch'](handleError(_0x4c808c,null));};exports[_0xd389('0x83')]=function(_0x17db92,_0xddb8d2,_0x2f3592){return db[_0xd389('0x30')]['find']({'where':{'id':_0x17db92['params']['id']}})['then'](handleEntityNotFound(_0xddb8d2,null))[_0xd389('0x29')](function(_0x391e6c){if(_0x391e6c){return _0x391e6c[_0xd389('0x83')](_0x17db92[_0xd389('0x56')][_0xd389('0x6e')],_[_0xd389('0x84')](_0x17db92[_0xd389('0x56')],[_0xd389('0x6e'),'id'])||{})['spread'](function(_0x22200c){for(var _0x6e2e80=0x0;_0x6e2e80<_0x17db92[_0xd389('0x56')][_0xd389('0x6e')]['length'];_0x6e2e80+=0x1){socket['emit'](_0xd389('0x6c'),{'UserId':Number(_0x17db92[_0xd389('0x56')][_0xd389('0x6e')][_0x6e2e80]),'OpenchannelQueueId':Number(_0x17db92[_0xd389('0x4a')]['id'])});}return _0x22200c;});}})[_0xd389('0x29')](respondWithResult(_0xddb8d2,null))['catch'](handleError(_0xddb8d2,null));};exports['removeAgents']=function(_0x40a72d,_0x3d8b8f,_0x477f4b){return db[_0xd389('0x30')][_0xd389('0x52')]({'where':{'id':_0x40a72d[_0xd389('0x4a')]['id']}})[_0xd389('0x29')](handleEntityNotFound(_0x3d8b8f,null))[_0xd389('0x29')](function(_0x4c2dbd){if(_0x4c2dbd){return _0x4c2dbd[_0xd389('0x85')](_0x40a72d['query'][_0xd389('0x6e')])[_0xd389('0x29')](function(){if(_[_0xd389('0x86')](_0x40a72d['query']['ids'])){for(var _0xa18890=0x0;_0xa18890<_0x40a72d['query'][_0xd389('0x6e')][_0xd389('0x3d')];_0xa18890+=0x1){socket[_0xd389('0x81')](_0xd389('0x82'),{'UserId':Number(_0x40a72d[_0xd389('0x3c')][_0xd389('0x6e')][_0xa18890]),'OpenchannelQueueId':Number(_0x40a72d['params']['id'])});}}else{socket['emit'](_0xd389('0x82'),{'UserId':Number(_0x40a72d[_0xd389('0x3c')]['ids']),'OpenchannelQueueId':Number(_0x40a72d['params']['id'])});}});}})[_0xd389('0x29')](respondWithStatusCode(_0x3d8b8f,null))[_0xd389('0x4c')](handleError(_0x3d8b8f,null));};exports[_0xd389('0x87')]=function(_0x513c9c,_0x30ce2e,_0x45361d){var _0xda28de={};var _0x2daa9d={};var _0x52bcab;var _0x5143ae;return db[_0xd389('0x30')]['findOne']({'where':{'id':_0x513c9c['params']['id']}})['then'](handleEntityNotFound(_0x30ce2e,null))[_0xd389('0x29')](function(_0x4d67d9){if(_0x4d67d9){_0x52bcab=_0x4d67d9;_0x2daa9d[_0xd389('0x34')]=_['keys'](db[_0xd389('0x5b')][_0xd389('0x31')]);_0x2daa9d[_0xd389('0x3c')]=_[_0xd389('0x37')](_0x513c9c[_0xd389('0x3c')]);_0x2daa9d[_0xd389('0x38')]=_['intersection'](_0x2daa9d[_0xd389('0x34')],_0x2daa9d[_0xd389('0x3c')]);_0xda28de['attributes']=_[_0xd389('0x39')](_0x2daa9d[_0xd389('0x34')],qs[_0xd389('0x3b')](_0x513c9c['query'][_0xd389('0x3b')]));_0xda28de[_0xd389('0x3a')]=_0xda28de[_0xd389('0x3a')][_0xd389('0x3d')]?_0xda28de['attributes']:_0x2daa9d['model'];_0xda28de[_0xd389('0x3f')]=qs[_0xd389('0x40')](_0x513c9c[_0xd389('0x3c')]['sort']);_0xda28de[_0xd389('0x43')]=qs['filters'](_[_0xd389('0x41')](_0x513c9c[_0xd389('0x3c')],_0x2daa9d[_0xd389('0x38')]));if(_0x513c9c[_0xd389('0x3c')][_0xd389('0x42')]){_0xda28de['where']=_[_0xd389('0x44')](_0xda28de[_0xd389('0x43')],{'$or':_['map'](_0xda28de[_0xd389('0x3a')],function(_0x2b284a){var _0x1e6717={};_0x1e6717[_0x2b284a]={'$like':'%'+_0x513c9c['query']['filter']+'%'};return _0x1e6717;})});}_0xda28de=_[_0xd389('0x44')]({},_0xda28de,_0x513c9c['options']);return _0x52bcab[_0xd389('0x87')](_0xda28de);}})[_0xd389('0x29')](function(_0x1814b0){if(_0x1814b0){_0x5143ae=_0x1814b0[_0xd389('0x3d')];if(!_0x513c9c[_0xd389('0x3c')][_0xd389('0x59')](_0xd389('0x3e'))){_0xda28de[_0xd389('0x23')]=qs[_0xd389('0x23')](_0x513c9c[_0xd389('0x3c')][_0xd389('0x23')]);_0xda28de[_0xd389('0x20')]=qs[_0xd389('0x20')](_0x513c9c[_0xd389('0x3c')][_0xd389('0x20')]);}return _0x52bcab[_0xd389('0x87')](_0xda28de);}})['then'](function(_0x54fa5e){if(_0x54fa5e){return _0x54fa5e?{'count':_0x5143ae,'rows':_0x54fa5e}:null;}})[_0xd389('0x29')](respondWithResult(_0x30ce2e,null))[_0xd389('0x4c')](handleError(_0x30ce2e,null));};