1a9b42f7962c9fc5b561ac6463b6e5b6691b2016
[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 _0x6826=['where','merge','type','include','findAll','catch','show','params','includeAll','options','find','create','body','get','role','user','OpenchannelQueues','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','findOne','UserOpenchannelQueue','length','OpenchannelQueueId','User','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','rows','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','online','interface','flatMap','transaction','each','forEach','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?','ut.UserId\x20=\x20?','sequelize','QueryTypes','SELECT','every','includes','all','union','compact','value','isEmpty','removeAgents','userOpenchannelQueue:remove','addAgents','spread','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','path','sox','ejs','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelQueue.socket','end','json','count','offset','limit','status','set','Content-Range','apply','reject','then','destroy','UserProfileResource','error','name','send','index','map','OpenchannelQueue','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter'];(function(_0x6c2d27,_0x511e6a){var _0x3a3a70=function(_0x15e3ab){while(--_0x15e3ab){_0x6c2d27['push'](_0x6c2d27['shift']());}};_0x3a3a70(++_0x511e6a);}(_0x6826,0x167));var _0x6682=function(_0x35485a,_0x91cdd4){_0x35485a=_0x35485a-0x0;var _0x5148e6=_0x6826[_0x35485a];return _0x5148e6;};'use strict';var pdf=require(_0x6682('0x0'));var emlformat=require(_0x6682('0x1'));var rimraf=require(_0x6682('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6682('0x3'));var rp=require(_0x6682('0x4'));var moment=require(_0x6682('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x6682('0x6'));var util=require('util');var path=require(_0x6682('0x7'));var sox=require(_0x6682('0x8'));var csv=require('to-csv');var ejs=require(_0x6682('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x6682('0xa'));var jsforce=require(_0x6682('0xb'));var deskjs=require(_0x6682('0xc'));var toCsv=require(_0x6682('0xd'));var querystring=require(_0x6682('0xe'));var Papa=require('papaparse');var Redis=require(_0x6682('0xf'));var authService=require(_0x6682('0x10'));var qs=require(_0x6682('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6682('0x12'));var logger=require(_0x6682('0x13'))(_0x6682('0x14'));var utils=require(_0x6682('0x15'));var config=require(_0x6682('0x16'));var licenseUtil=require(_0x6682('0x17'));var db=require(_0x6682('0x18'))['db'];config[_0x6682('0x19')]=_['defaults'](config[_0x6682('0x19')],{'host':_0x6682('0x1a'),'port':0x18eb});var socket=require(_0x6682('0x1b'))(new Redis(config[_0x6682('0x19')]));require(_0x6682('0x1c'))['register'](socket);function respondWithStatusCode(_0x5a7d63,_0x497a34){_0x497a34=_0x497a34||0xcc;return function(_0x11b7d2){if(_0x11b7d2){return _0x5a7d63['sendStatus'](_0x497a34);}return _0x5a7d63['status'](_0x497a34)[_0x6682('0x1d')]();};}function respondWithResult(_0x1afc9d,_0x18be1e){_0x18be1e=_0x18be1e||0xc8;return function(_0x411654){if(_0x411654){return _0x1afc9d['status'](_0x18be1e)[_0x6682('0x1e')](_0x411654);}};}function respondWithFilteredResult(_0x1d71a9,_0x4c1afa){return function(_0x36d44f){if(_0x36d44f){var _0x1fc56b=_0x36d44f[_0x6682('0x1f')],_0x29fc0b=_0x4c1afa['offset'],_0x384c31=_0x4c1afa[_0x6682('0x20')]+_0x4c1afa[_0x6682('0x21')],_0x1e1995;if(_0x384c31>=_0x1fc56b){_0x384c31=_0x1fc56b;_0x1e1995=0xc8;}else{_0x1e1995=0xce;}_0x1d71a9[_0x6682('0x22')](_0x1e1995);return _0x1d71a9[_0x6682('0x23')](_0x6682('0x24'),_0x29fc0b+'-'+_0x384c31+'/'+_0x1fc56b)[_0x6682('0x1e')](_0x36d44f);}return null;};}function patchUpdates(_0x43ff21){return function(_0x590889){try{jsonpatch[_0x6682('0x25')](_0x590889,_0x43ff21,!![]);}catch(_0x56fbee){return BPromise[_0x6682('0x26')](_0x56fbee);}return _0x590889['save']();};}function saveUpdates(_0x237a28,_0x3c4ca7){return function(_0x2c8ff1){if(_0x2c8ff1){return _0x2c8ff1['update'](_0x237a28)[_0x6682('0x27')](function(_0x2eec82){return _0x2eec82;});}return null;};}function removeEntity(_0x4c8d46,_0x3cc70f){return function(_0x2354df){if(_0x2354df){return _0x2354df[_0x6682('0x28')]()[_0x6682('0x27')](function(){var _0x646395=_0x2354df['get']({'plain':!![]});var _0x45dc34='OpenchannelQueues';return db[_0x6682('0x29')]['destroy']({'where':{'type':_0x45dc34,'resourceId':_0x646395['id']}})[_0x6682('0x27')](function(){return _0x2354df;});})['then'](function(){_0x4c8d46[_0x6682('0x22')](0xcc)[_0x6682('0x1d')]();});}};}function handleEntityNotFound(_0x2e32b2,_0x2e80e2){return function(_0x211090){if(!_0x211090){_0x2e32b2['sendStatus'](0x194);}return _0x211090;};}function handleError(_0x433710,_0x1866ec){_0x1866ec=_0x1866ec||0x1f4;return function(_0x5ae968){logger[_0x6682('0x2a')](_0x5ae968['stack']);if(_0x5ae968['name']){delete _0x5ae968[_0x6682('0x2b')];}_0x433710[_0x6682('0x22')](_0x1866ec)[_0x6682('0x2c')](_0x5ae968);};}exports[_0x6682('0x2d')]=function(_0x493a88,_0x2fbb3e){var _0x238169={},_0x331cce={},_0x33b949={'count':0x0,'rows':[]};var _0x5b0138=_[_0x6682('0x2e')](db[_0x6682('0x2f')][_0x6682('0x30')],function(_0x101244){return{'name':_0x101244[_0x6682('0x31')],'type':_0x101244['type'][_0x6682('0x32')]};});_0x331cce[_0x6682('0x33')]=_[_0x6682('0x2e')](_0x5b0138,_0x6682('0x2b'));_0x331cce['query']=_[_0x6682('0x34')](_0x493a88[_0x6682('0x35')]);_0x331cce[_0x6682('0x36')]=_[_0x6682('0x37')](_0x331cce[_0x6682('0x33')],_0x331cce[_0x6682('0x35')]);_0x238169[_0x6682('0x38')]=_[_0x6682('0x37')](_0x331cce[_0x6682('0x33')],qs[_0x6682('0x39')](_0x493a88[_0x6682('0x35')]['fields']));_0x238169[_0x6682('0x38')]=_0x238169[_0x6682('0x38')]['length']?_0x238169[_0x6682('0x38')]:_0x331cce[_0x6682('0x33')];if(!_0x493a88[_0x6682('0x35')][_0x6682('0x3a')](_0x6682('0x3b'))){_0x238169[_0x6682('0x21')]=qs['limit'](_0x493a88['query'][_0x6682('0x21')]);_0x238169[_0x6682('0x20')]=qs[_0x6682('0x20')](_0x493a88[_0x6682('0x35')]['offset']);}_0x238169[_0x6682('0x3c')]=qs['sort'](_0x493a88[_0x6682('0x35')][_0x6682('0x3d')]);_0x238169['where']=qs[_0x6682('0x36')](_[_0x6682('0x3e')](_0x493a88[_0x6682('0x35')],_0x331cce[_0x6682('0x36')]),_0x5b0138);if(_0x493a88['query'][_0x6682('0x3f')]){_0x238169[_0x6682('0x40')]=_[_0x6682('0x41')](_0x238169[_0x6682('0x40')],{'$or':_[_0x6682('0x2e')](_0x5b0138,function(_0x3700ca){if(_0x3700ca[_0x6682('0x42')]!=='VIRTUAL'){var _0x2daa28={};_0x2daa28[_0x3700ca[_0x6682('0x2b')]]={'$like':'%'+_0x493a88['query'][_0x6682('0x3f')]+'%'};return _0x2daa28;}})});}_0x238169=_[_0x6682('0x41')]({},_0x238169,_0x493a88['options']);var _0x3b33b2={'where':_0x238169[_0x6682('0x40')]};return db[_0x6682('0x2f')]['count'](_0x3b33b2)[_0x6682('0x27')](function(_0xecc587){_0x33b949[_0x6682('0x1f')]=_0xecc587;if(_0x493a88[_0x6682('0x35')]['includeAll']){_0x238169[_0x6682('0x43')]=[{'all':!![]}];}return db['OpenchannelQueue'][_0x6682('0x44')](_0x238169);})[_0x6682('0x27')](function(_0x433268){_0x33b949['rows']=_0x433268;return _0x33b949;})[_0x6682('0x27')](respondWithFilteredResult(_0x2fbb3e,_0x238169))[_0x6682('0x45')](handleError(_0x2fbb3e,null));};exports[_0x6682('0x46')]=function(_0x2f48e5,_0x965bde){var _0x18324d={'raw':!![],'where':{'id':_0x2f48e5[_0x6682('0x47')]['id']}},_0x4b26b3={};_0x4b26b3['model']=_[_0x6682('0x34')](db['OpenchannelQueue'][_0x6682('0x30')]);_0x4b26b3[_0x6682('0x35')]=_['keys'](_0x2f48e5['query']);_0x4b26b3[_0x6682('0x36')]=_[_0x6682('0x37')](_0x4b26b3[_0x6682('0x33')],_0x4b26b3[_0x6682('0x35')]);_0x18324d['attributes']=_['intersection'](_0x4b26b3['model'],qs[_0x6682('0x39')](_0x2f48e5[_0x6682('0x35')][_0x6682('0x39')]));_0x18324d[_0x6682('0x38')]=_0x18324d[_0x6682('0x38')]['length']?_0x18324d['attributes']:_0x4b26b3['model'];if(_0x2f48e5['query'][_0x6682('0x48')]){_0x18324d[_0x6682('0x43')]=[{'all':!![]}];}_0x18324d=_['merge']({},_0x18324d,_0x2f48e5[_0x6682('0x49')]);return db[_0x6682('0x2f')][_0x6682('0x4a')](_0x18324d)['then'](handleEntityNotFound(_0x965bde,null))[_0x6682('0x27')](respondWithResult(_0x965bde,null))[_0x6682('0x45')](handleError(_0x965bde,null));};exports['create']=function(_0xe0fa63,_0x45625a){return db[_0x6682('0x2f')][_0x6682('0x4b')](_0xe0fa63[_0x6682('0x4c')],{})[_0x6682('0x27')](function(_0x40b49c){var _0x38987d=_0xe0fa63['user'][_0x6682('0x4d')]({'plain':!![]});if(!_0x38987d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x38987d[_0x6682('0x4e')]===_0x6682('0x4f')){var _0xefe7ba=_0x40b49c[_0x6682('0x4d')]({'plain':!![]});var _0x27ed79=_0x6682('0x50');return db[_0x6682('0x51')][_0x6682('0x4a')]({'where':{'name':_0x27ed79,'userProfileId':_0x38987d['userProfileId']},'raw':!![]})[_0x6682('0x27')](function(_0x4f66f4){if(_0x4f66f4&&_0x4f66f4[_0x6682('0x52')]===0x0){return db[_0x6682('0x29')]['create']({'name':_0xefe7ba['name'],'resourceId':_0xefe7ba['id'],'type':_0x4f66f4[_0x6682('0x2b')],'sectionId':_0x4f66f4['id']},{})[_0x6682('0x27')](function(){return _0x40b49c;});}else{return _0x40b49c;}})['catch'](function(_0x26adee){logger['error'](_0x6682('0x53'),_0x26adee);throw _0x26adee;});}return _0x40b49c;})[_0x6682('0x27')](respondWithResult(_0x45625a,0xc9))[_0x6682('0x45')](handleError(_0x45625a,null));};exports[_0x6682('0x54')]=function(_0x3d8794,_0x18709c){if(_0x3d8794['body']['id']){delete _0x3d8794[_0x6682('0x4c')]['id'];}return db[_0x6682('0x2f')][_0x6682('0x4a')]({'where':{'id':_0x3d8794['params']['id']}})[_0x6682('0x27')](handleEntityNotFound(_0x18709c,null))[_0x6682('0x27')](saveUpdates(_0x3d8794['body'],null))['then'](respondWithResult(_0x18709c,null))['catch'](handleError(_0x18709c,null));};exports[_0x6682('0x28')]=function(_0x370c41,_0x32c74b){return db['OpenchannelQueue']['find']({'where':{'id':_0x370c41['params']['id']}})[_0x6682('0x27')](handleEntityNotFound(_0x32c74b,null))[_0x6682('0x27')](removeEntity(_0x32c74b,null))[_0x6682('0x45')](handleError(_0x32c74b,null));};exports[_0x6682('0x55')]=function(_0x557acf,_0x3a095a){return db[_0x6682('0x2f')][_0x6682('0x55')]()[_0x6682('0x27')](respondWithResult(_0x3a095a,null))['catch'](handleError(_0x3a095a,null));};exports[_0x6682('0x56')]=function(_0x295bb5,_0x4039bc,_0x283c9e){var _0x51effc={'raw':!![],'where':{}},_0x21c954={},_0x387267;return db[_0x6682('0x2f')][_0x6682('0x57')]({'where':{'id':_0x295bb5[_0x6682('0x47')]['id']}})['then'](handleEntityNotFound(_0x4039bc,null))[_0x6682('0x27')](function(_0x193519){if(_0x193519){_0x387267=_0x193519[_0x6682('0x4d')]({'plain':!![]});_0x21c954[_0x6682('0x33')]=_[_0x6682('0x34')](db[_0x6682('0x58')][_0x6682('0x30')]);_0x21c954[_0x6682('0x35')]=_[_0x6682('0x34')](_0x295bb5['query']);_0x21c954[_0x6682('0x36')]=_[_0x6682('0x37')](_0x21c954[_0x6682('0x33')],_0x21c954[_0x6682('0x35')]);_0x51effc['attributes']=_[_0x6682('0x37')](_0x21c954[_0x6682('0x33')],qs[_0x6682('0x39')](_0x295bb5['query'][_0x6682('0x39')]));_0x51effc['attributes']=_0x51effc[_0x6682('0x38')][_0x6682('0x59')]?_0x51effc[_0x6682('0x38')]:_0x21c954[_0x6682('0x33')];if(!_0x295bb5[_0x6682('0x35')][_0x6682('0x3a')]('nolimit')){_0x51effc[_0x6682('0x21')]=qs[_0x6682('0x21')](_0x295bb5[_0x6682('0x35')][_0x6682('0x21')]);_0x51effc[_0x6682('0x20')]=qs[_0x6682('0x20')](_0x295bb5[_0x6682('0x35')]['offset']);}_0x51effc[_0x6682('0x3c')]=qs[_0x6682('0x3d')](_0x295bb5[_0x6682('0x35')][_0x6682('0x3d')]);_0x51effc[_0x6682('0x40')]=qs[_0x6682('0x36')](_[_0x6682('0x3e')](_0x295bb5['query'],_0x21c954['filters']));_0x51effc['where'][_0x6682('0x5a')]=_0x193519['id'];if(_0x295bb5[_0x6682('0x35')][_0x6682('0x3f')]){_0x51effc[_0x6682('0x40')]=_['merge'](_0x51effc['where'],{'$or':_[_0x6682('0x2e')](_0x51effc['attributes'],function(_0x31e13c){var _0x3160c0={};_0x3160c0[_0x31e13c]={'$like':'%'+_0x295bb5[_0x6682('0x35')]['filter']+'%'};return _0x3160c0;})});}_0x51effc=_['merge']({},_0x51effc,_0x295bb5[_0x6682('0x49')]);return db[_0x6682('0x58')][_0x6682('0x44')](_0x51effc);}})['then'](function(_0x536744){if(_0x536744){return db[_0x6682('0x5b')][_0x6682('0x5c')]({'where':{'id':_[_0x6682('0x2e')](_0x536744,_0x6682('0x5d')),'role':_0x6682('0x5e')},'attributes':['id','name',_0x6682('0x5f'),_0x6682('0x60'),_0x6682('0x61')]});}})[_0x6682('0x27')](function(_0x43092d){if(_0x43092d){return{'count':_0x43092d[_0x6682('0x1f')],'rows':_[_0x6682('0x2e')](_0x43092d[_0x6682('0x62')],function(_0x451b75){return{'membername':_0x451b75[_0x6682('0x2b')],'UserId':_0x451b75['id'],'queue_name':_0x387267[_0x6682('0x2b')],'OpenchannelQueueId':_0x387267['id'],'interface':util[_0x6682('0x63')](_0x6682('0x64'),_0x6682('0x65'),_0x451b75[_0x6682('0x2b')]),'penalty':0x0,'paused':_0x451b75[_0x6682('0x5f')],'createdAt':_0x451b75[_0x6682('0x61')],'updatedAt':_0x451b75['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x6682('0x27')](respondWithFilteredResult(_0x4039bc,_0x51effc))[_0x6682('0x45')](handleError(_0x4039bc,null));};exports[_0x6682('0x66')]=function(_0x1d94ea,_0x86af71,_0x127887){var _0x17ccca={};var _0x422f8e={};var _0x6c2383;var _0x586350;return db[_0x6682('0x2f')][_0x6682('0x57')]({'where':{'id':_0x1d94ea[_0x6682('0x47')]['id']}})[_0x6682('0x27')](handleEntityNotFound(_0x86af71,null))['then'](function(_0x148ef6){if(_0x148ef6){_0x6c2383=_0x148ef6;_0x422f8e['model']=_[_0x6682('0x34')](db[_0x6682('0x67')][_0x6682('0x30')]);_0x422f8e[_0x6682('0x35')]=_[_0x6682('0x34')](_0x1d94ea[_0x6682('0x35')]);_0x422f8e[_0x6682('0x36')]=_[_0x6682('0x37')](_0x422f8e[_0x6682('0x33')],_0x422f8e[_0x6682('0x35')]);_0x17ccca[_0x6682('0x38')]=_[_0x6682('0x37')](_0x422f8e[_0x6682('0x33')],qs[_0x6682('0x39')](_0x1d94ea[_0x6682('0x35')]['fields']));_0x17ccca[_0x6682('0x38')]=_0x17ccca[_0x6682('0x38')]['length']?_0x17ccca[_0x6682('0x38')]:_0x422f8e[_0x6682('0x33')];_0x17ccca[_0x6682('0x3c')]=qs[_0x6682('0x3d')](_0x1d94ea['query'][_0x6682('0x3d')]);_0x17ccca[_0x6682('0x40')]=qs[_0x6682('0x36')](_[_0x6682('0x3e')](_0x1d94ea[_0x6682('0x35')],_0x422f8e[_0x6682('0x36')]));if(_0x1d94ea[_0x6682('0x35')][_0x6682('0x3f')]){_0x17ccca[_0x6682('0x40')]=_[_0x6682('0x41')](_0x17ccca['where'],{'$or':_['map'](_0x17ccca[_0x6682('0x38')],function(_0x1ab543){var _0x570ad8={};_0x570ad8[_0x1ab543]={'$like':'%'+_0x1d94ea['query']['filter']+'%'};return _0x570ad8;})});}_0x17ccca=_[_0x6682('0x41')]({},_0x17ccca,_0x1d94ea[_0x6682('0x49')]);return _0x6c2383[_0x6682('0x66')](_0x17ccca);}})[_0x6682('0x27')](function(_0x3de3be){if(_0x3de3be){_0x586350=_0x3de3be[_0x6682('0x59')];if(!_0x1d94ea[_0x6682('0x35')][_0x6682('0x3a')](_0x6682('0x3b'))){_0x17ccca[_0x6682('0x21')]=qs[_0x6682('0x21')](_0x1d94ea[_0x6682('0x35')][_0x6682('0x21')]);_0x17ccca[_0x6682('0x20')]=qs[_0x6682('0x20')](_0x1d94ea[_0x6682('0x35')]['offset']);}return _0x6c2383['getTeams'](_0x17ccca);}})[_0x6682('0x27')](function(_0x408f7c){if(_0x408f7c){return _0x408f7c?{'count':_0x586350,'rows':_0x408f7c}:null;}})['then'](respondWithResult(_0x86af71,null))[_0x6682('0x45')](handleError(_0x86af71,null));};exports[_0x6682('0x68')]=function(_0x3f9152,_0x5135e1,_0xa41990){var _0xa41513=_0x3f9152[_0x6682('0x4c')][_0x6682('0x69')];return db[_0x6682('0x67')]['findAll']({'where':{'id':_0xa41513},'attributes':['id'],'include':[{'model':db[_0x6682('0x5b')],'as':_0x6682('0x6a'),'attributes':['id',_0x6682('0x2b'),_0x6682('0x6b'),'voicePause',_0x6682('0x6c')],'raw':!![]}]})[_0x6682('0x27')](function(_0x4ff971){if(_0x4ff971){var _0x16378f=_[_0x6682('0x6d')](_0x4ff971,function(_0x1b8858){var _0x37a120=_0x1b8858['get']({'plain':!![]});return _0x37a120[_0x6682('0x6a')];});return db['OpenchannelQueue'][_0x6682('0x4a')]({'where':{'id':_0x3f9152[_0x6682('0x47')]['id']}})[_0x6682('0x27')](function(_0x415b26){return db['sequelize'][_0x6682('0x6e')](function(_0x3a6a9c){return _0x415b26[_0x6682('0x68')](_0xa41513,{'transaction':_0x3a6a9c})[_0x6682('0x27')](function(){return BPromise[_0x6682('0x6f')](_0x16378f,function(_0x2d2ec6){return db['UserOpenchannelQueue']['findOrCreate']({'where':{'UserId':_0x2d2ec6['id'],'OpenchannelQueueId':_0x3f9152[_0x6682('0x47')]['id']},'transaction':_0x3a6a9c});});})['then'](function(){_0x16378f[_0x6682('0x70')](function(_0x316c51){socket[_0x6682('0x71')](_0x6682('0x72'),{'UserId':_0x316c51['id'],'OpenchannelQueueId':_0x415b26['id']});});});});});}})['then'](respondWithStatusCode(_0x5135e1,null))[_0x6682('0x45')](handleError(_0x5135e1,null));};exports[_0x6682('0x73')]=function(_0x5c97fe,_0x44c465,_0x15e1dc){return db[_0x6682('0x67')][_0x6682('0x44')]({'where':{'id':_0x5c97fe[_0x6682('0x35')][_0x6682('0x69')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x6682('0x6a'),'attributes':['id'],'raw':!![]}]})[_0x6682('0x27')](handleEntityNotFound(_0x44c465,null))[_0x6682('0x27')](function(_0x429e64){var _0x58e6fc=_[_0x6682('0x2e')](_0x429e64,'id');var _0x3811eb=[];var _0x3bdd74=[];var _0x4c5401=squel[_0x6682('0x74')]();_0x4c5401[_0x6682('0x75')](_0x6682('0x76'))[_0x6682('0x77')](_0x6682('0x78'),'tq')[_0x6682('0x79')](_0x6682('0x7a'),'ut',_0x6682('0x7b'))[_0x6682('0x40')](_0x6682('0x7c'),_0x5c97fe[_0x6682('0x47')]['id']);for(var _0x9baac3=0x0;_0x9baac3<_0x429e64['length'];_0x9baac3+=0x1){let _0x3dee11=_0x429e64[_0x9baac3];for(var _0x5724c2=0x0;_0x5724c2<_0x3dee11[_0x6682('0x6a')][_0x6682('0x59')];_0x5724c2+=0x1){let _0x2fd7a7=_0x3dee11[_0x6682('0x6a')][_0x5724c2];var _0x578f98=_0x4c5401['clone']();_0x578f98[_0x6682('0x40')](_0x6682('0x7d'),_0x2fd7a7['id']);_0x3bdd74['push'](db[_0x6682('0x7e')]['query'](_0x578f98['toString'](),{'type':db[_0x6682('0x7e')][_0x6682('0x7f')][_0x6682('0x80')]})[_0x6682('0x27')](function(_0x3d8ca8){if(_0x3d8ca8[_0x6682('0x59')]===0x1){return _0x2fd7a7['id'];}else{var _0x48289c=_[_0x6682('0x81')](_[_0x6682('0x2e')](_0x3d8ca8,'TeamId'),function(_0xc1b5f){return _[_0x6682('0x82')](_0x58e6fc,_0xc1b5f);});if(_0x48289c){return _0x2fd7a7['id'];}}}));}}return BPromise[_0x6682('0x83')](_0x3bdd74)[_0x6682('0x27')](function(_0x5073bf){_0x3811eb=_(_0x3811eb)[_0x6682('0x84')](_0x5073bf)[_0x6682('0x85')]()[_0x6682('0x86')]();return db['OpenchannelQueue'][_0x6682('0x4a')]({'where':{'id':_0x5c97fe[_0x6682('0x47')]['id']}})['then'](function(_0x30f861){return db[_0x6682('0x7e')][_0x6682('0x6e')](function(_0x1c21e1){return _0x30f861['removeTeams'](_0x5c97fe[_0x6682('0x35')][_0x6682('0x69')],{'transaction':_0x1c21e1})['then'](function(){if(!_[_0x6682('0x87')](_0x3811eb)){return _0x30f861[_0x6682('0x88')](_0x3811eb,{'transaction':_0x1c21e1});}})[_0x6682('0x27')](function(){_0x3811eb[_0x6682('0x70')](function(_0x6a4349){socket[_0x6682('0x71')](_0x6682('0x89'),{'UserId':_0x6a4349,'OpenchannelQueueId':_0x30f861['id']});});});});});});})[_0x6682('0x27')](respondWithStatusCode(_0x44c465,null))[_0x6682('0x45')](handleError(_0x44c465,null));};exports[_0x6682('0x8a')]=function(_0x49d40b,_0x414b62,_0x41cae7){return db['OpenchannelQueue'][_0x6682('0x4a')]({'where':{'id':_0x49d40b[_0x6682('0x47')]['id']}})[_0x6682('0x27')](handleEntityNotFound(_0x414b62,null))[_0x6682('0x27')](function(_0x57052e){if(_0x57052e){return _0x57052e[_0x6682('0x8a')](_0x49d40b[_0x6682('0x4c')][_0x6682('0x69')],_['omit'](_0x49d40b[_0x6682('0x4c')],[_0x6682('0x69'),'id'])||{})[_0x6682('0x8b')](function(_0x1040bc){for(var _0x4e7919=0x0;_0x4e7919<_0x49d40b[_0x6682('0x4c')]['ids'][_0x6682('0x59')];_0x4e7919+=0x1){socket[_0x6682('0x71')](_0x6682('0x72'),{'UserId':_0x49d40b['body'][_0x6682('0x69')][_0x4e7919],'OpenchannelQueueId':_0x49d40b[_0x6682('0x47')]['id']});}return _0x1040bc;});}})[_0x6682('0x27')](respondWithResult(_0x414b62,null))[_0x6682('0x45')](handleError(_0x414b62,null));};exports[_0x6682('0x88')]=function(_0x36bb26,_0x50aed6,_0x3f535d){return db['OpenchannelQueue'][_0x6682('0x4a')]({'where':{'id':_0x36bb26[_0x6682('0x47')]['id']}})[_0x6682('0x27')](handleEntityNotFound(_0x50aed6,null))[_0x6682('0x27')](function(_0x3ae3a5){if(_0x3ae3a5){return _0x3ae3a5[_0x6682('0x88')](_0x36bb26[_0x6682('0x35')][_0x6682('0x69')])[_0x6682('0x27')](function(){if(_['isArray'](_0x36bb26[_0x6682('0x35')][_0x6682('0x69')])){for(var _0x221dd8=0x0;_0x221dd8<_0x36bb26[_0x6682('0x35')][_0x6682('0x69')][_0x6682('0x59')];_0x221dd8+=0x1){socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0x36bb26[_0x6682('0x35')][_0x6682('0x69')][_0x221dd8]),'OpenchannelQueueId':Number(_0x36bb26['params']['id'])});}}else{socket[_0x6682('0x71')](_0x6682('0x89'),{'UserId':Number(_0x36bb26[_0x6682('0x35')][_0x6682('0x69')]),'OpenchannelQueueId':Number(_0x36bb26['params']['id'])});}});}})[_0x6682('0x27')](respondWithStatusCode(_0x50aed6,null))[_0x6682('0x45')](handleError(_0x50aed6,null));};exports['getAgents']=function(_0x5be60d,_0x3f2244,_0x4e6220){var _0x2b6300={};var _0x324ba2={};var _0x3e0b3c;var _0x42557f;return db['OpenchannelQueue'][_0x6682('0x57')]({'where':{'id':_0x5be60d[_0x6682('0x47')]['id']}})[_0x6682('0x27')](handleEntityNotFound(_0x3f2244,null))[_0x6682('0x27')](function(_0x2c24a7){if(_0x2c24a7){_0x3e0b3c=_0x2c24a7;_0x324ba2[_0x6682('0x33')]=_[_0x6682('0x34')](db[_0x6682('0x5b')][_0x6682('0x30')]);_0x324ba2[_0x6682('0x35')]=_[_0x6682('0x34')](_0x5be60d[_0x6682('0x35')]);_0x324ba2[_0x6682('0x36')]=_['intersection'](_0x324ba2[_0x6682('0x33')],_0x324ba2[_0x6682('0x35')]);_0x2b6300[_0x6682('0x38')]=_['intersection'](_0x324ba2[_0x6682('0x33')],qs[_0x6682('0x39')](_0x5be60d[_0x6682('0x35')][_0x6682('0x39')]));_0x2b6300['attributes']=_0x2b6300[_0x6682('0x38')]['length']?_0x2b6300[_0x6682('0x38')]:_0x324ba2[_0x6682('0x33')];_0x2b6300['order']=qs['sort'](_0x5be60d[_0x6682('0x35')][_0x6682('0x3d')]);_0x2b6300[_0x6682('0x40')]=qs['filters'](_[_0x6682('0x3e')](_0x5be60d[_0x6682('0x35')],_0x324ba2[_0x6682('0x36')]));if(_0x5be60d[_0x6682('0x35')][_0x6682('0x3f')]){_0x2b6300[_0x6682('0x40')]=_[_0x6682('0x41')](_0x2b6300[_0x6682('0x40')],{'$or':_[_0x6682('0x2e')](_0x2b6300[_0x6682('0x38')],function(_0x26ab93){var _0x48fb03={};_0x48fb03[_0x26ab93]={'$like':'%'+_0x5be60d[_0x6682('0x35')][_0x6682('0x3f')]+'%'};return _0x48fb03;})});}_0x2b6300=_[_0x6682('0x41')]({},_0x2b6300,_0x5be60d[_0x6682('0x49')]);return _0x3e0b3c[_0x6682('0x8c')](_0x2b6300);}})[_0x6682('0x27')](function(_0x23939e){if(_0x23939e){_0x42557f=_0x23939e[_0x6682('0x59')];if(!_0x5be60d[_0x6682('0x35')][_0x6682('0x3a')](_0x6682('0x3b'))){_0x2b6300[_0x6682('0x21')]=qs['limit'](_0x5be60d['query'][_0x6682('0x21')]);_0x2b6300[_0x6682('0x20')]=qs[_0x6682('0x20')](_0x5be60d[_0x6682('0x35')][_0x6682('0x20')]);}return _0x3e0b3c[_0x6682('0x8c')](_0x2b6300);}})[_0x6682('0x27')](function(_0x1d19e8){if(_0x1d19e8){return _0x1d19e8?{'count':_0x42557f,'rows':_0x1d19e8}:null;}})[_0x6682('0x27')](respondWithResult(_0x3f2244,null))[_0x6682('0x45')](handleError(_0x3f2244,null));};