Built motion from commit eddce310.|2.6.12
[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 _0x2a21=['crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','./openchannelQueue.socket','sendStatus','status','end','json','undefined','limit','offset','count','set','Content-Range','apply','reject','update','then','get','OpenchannelQueues','destroy','error','stack','name','send','map','OpenchannelQueue','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','options','rows','catch','params','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','UserOpenchannelQueue','order','User','findAndCountAll','UserId','openchannelPause','updatedAt','createdAt','SIP','getTeams','Team','addTeams','ids','findAll','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','removeTeams','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','TeamId','includes','all','compact','value','isEmpty','userOpenchannelQueue:remove','addAgents','omit','userOpenchannelQueue:save','removeAgents','isArray','findOne','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','squel'];(function(_0x14ca77,_0x2afb35){var _0x21561a=function(_0x8d0c89){while(--_0x8d0c89){_0x14ca77['push'](_0x14ca77['shift']());}};_0x21561a(++_0x2afb35);}(_0x2a21,0x7c));var _0x12a2=function(_0x480f6e,_0x2b03cc){_0x480f6e=_0x480f6e-0x0;var _0x3712d0=_0x2a21[_0x480f6e];return _0x3712d0;};'use strict';var emlformat=require(_0x12a2('0x0'));var rimraf=require(_0x12a2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x12a2('0x2'));var rp=require(_0x12a2('0x3'));var moment=require(_0x12a2('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x12a2('0x5'));var util=require(_0x12a2('0x6'));var path=require(_0x12a2('0x7'));var sox=require(_0x12a2('0x8'));var csv=require(_0x12a2('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x12a2('0xa'));var _=require('lodash');var squel=require(_0x12a2('0xb'));var crypto=require(_0x12a2('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x12a2('0xd'));var toCsv=require(_0x12a2('0x9'));var querystring=require('querystring');var Papa=require(_0x12a2('0xe'));var Redis=require(_0x12a2('0xf'));var authService=require(_0x12a2('0x10'));var qs=require(_0x12a2('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x12a2('0x12'));var logger=require(_0x12a2('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x12a2('0x14'));var licenseUtil=require(_0x12a2('0x15'));var db=require(_0x12a2('0x16'))['db'];config[_0x12a2('0x17')]=_[_0x12a2('0x18')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x12a2('0x17')]));require(_0x12a2('0x19'))['register'](socket);function respondWithStatusCode(_0x228f4f,_0x1b299d){_0x1b299d=_0x1b299d||0xcc;return function(_0x1a6b7e){if(_0x1a6b7e){return _0x228f4f[_0x12a2('0x1a')](_0x1b299d);}return _0x228f4f[_0x12a2('0x1b')](_0x1b299d)[_0x12a2('0x1c')]();};}function respondWithResult(_0x4c3772,_0x495b24){_0x495b24=_0x495b24||0xc8;return function(_0x588495){if(_0x588495){return _0x4c3772[_0x12a2('0x1b')](_0x495b24)[_0x12a2('0x1d')](_0x588495);}};}function respondWithFilteredResult(_0x5245a1,_0x7a75c0){return function(_0x469e30){if(_0x469e30){var _0x2ed472=typeof _0x7a75c0['offset']===_0x12a2('0x1e')&&typeof _0x7a75c0[_0x12a2('0x1f')]==='undefined';var _0x66c9c7=_0x469e30['count'];var _0x54e52e=_0x2ed472?0x0:_0x7a75c0[_0x12a2('0x20')];var _0x1a6a72=_0x2ed472?_0x469e30[_0x12a2('0x21')]:_0x7a75c0[_0x12a2('0x20')]+_0x7a75c0[_0x12a2('0x1f')];var _0x50abeb;if(_0x1a6a72>=_0x66c9c7){_0x1a6a72=_0x66c9c7;_0x50abeb=0xc8;}else{_0x50abeb=0xce;}_0x5245a1[_0x12a2('0x1b')](_0x50abeb);return _0x5245a1[_0x12a2('0x22')](_0x12a2('0x23'),_0x54e52e+'-'+_0x1a6a72+'/'+_0x66c9c7)[_0x12a2('0x1d')](_0x469e30);}return null;};}function patchUpdates(_0x39fae5){return function(_0x5ac81e){try{jsonpatch[_0x12a2('0x24')](_0x5ac81e,_0x39fae5,!![]);}catch(_0x1441ef){return BPromise[_0x12a2('0x25')](_0x1441ef);}return _0x5ac81e['save']();};}function saveUpdates(_0x1a4d4e,_0x4c3f3c){return function(_0x1aafb6){if(_0x1aafb6){return _0x1aafb6[_0x12a2('0x26')](_0x1a4d4e)['then'](function(_0x532a45){return _0x532a45;});}return null;};}function removeEntity(_0x54ad09,_0x3906bf){return function(_0x3a30a4){if(_0x3a30a4){return _0x3a30a4['destroy']()[_0x12a2('0x27')](function(){var _0x39107d=_0x3a30a4[_0x12a2('0x28')]({'plain':!![]});var _0x5cce94=_0x12a2('0x29');return db['UserProfileResource'][_0x12a2('0x2a')]({'where':{'type':_0x5cce94,'resourceId':_0x39107d['id']}})[_0x12a2('0x27')](function(){return _0x3a30a4;});})[_0x12a2('0x27')](function(){_0x54ad09[_0x12a2('0x1b')](0xcc)[_0x12a2('0x1c')]();});}};}function handleEntityNotFound(_0x1a2ae2,_0x5889e1){return function(_0x4e5604){if(!_0x4e5604){_0x1a2ae2[_0x12a2('0x1a')](0x194);}return _0x4e5604;};}function handleError(_0x54b978,_0x20a56c){_0x20a56c=_0x20a56c||0x1f4;return function(_0x22bc74){logger[_0x12a2('0x2b')](_0x22bc74[_0x12a2('0x2c')]);if(_0x22bc74['name']){delete _0x22bc74[_0x12a2('0x2d')];}_0x54b978['status'](_0x20a56c)[_0x12a2('0x2e')](_0x22bc74);};}exports['index']=function(_0x1f5cbe,_0x197c3c){var _0x525e91={},_0x6c21f0={},_0x33f53d={'count':0x0,'rows':[]};var _0x2fe6a2=_[_0x12a2('0x2f')](db[_0x12a2('0x30')][_0x12a2('0x31')],function(_0x115a97){return{'name':_0x115a97[_0x12a2('0x32')],'type':_0x115a97['type'][_0x12a2('0x33')]};});_0x6c21f0[_0x12a2('0x34')]=_[_0x12a2('0x2f')](_0x2fe6a2,'name');_0x6c21f0[_0x12a2('0x35')]=_[_0x12a2('0x36')](_0x1f5cbe['query']);_0x6c21f0[_0x12a2('0x37')]=_[_0x12a2('0x38')](_0x6c21f0[_0x12a2('0x34')],_0x6c21f0[_0x12a2('0x35')]);_0x525e91[_0x12a2('0x39')]=_[_0x12a2('0x38')](_0x6c21f0[_0x12a2('0x34')],qs[_0x12a2('0x3a')](_0x1f5cbe[_0x12a2('0x35')]['fields']));_0x525e91[_0x12a2('0x39')]=_0x525e91[_0x12a2('0x39')][_0x12a2('0x3b')]?_0x525e91['attributes']:_0x6c21f0['model'];if(!_0x1f5cbe[_0x12a2('0x35')][_0x12a2('0x3c')](_0x12a2('0x3d'))){_0x525e91[_0x12a2('0x1f')]=qs[_0x12a2('0x1f')](_0x1f5cbe[_0x12a2('0x35')][_0x12a2('0x1f')]);_0x525e91[_0x12a2('0x20')]=qs[_0x12a2('0x20')](_0x1f5cbe[_0x12a2('0x35')][_0x12a2('0x20')]);}_0x525e91['order']=qs[_0x12a2('0x3e')](_0x1f5cbe[_0x12a2('0x35')]['sort']);_0x525e91[_0x12a2('0x3f')]=qs['filters'](_[_0x12a2('0x40')](_0x1f5cbe['query'],_0x6c21f0[_0x12a2('0x37')]),_0x2fe6a2);if(_0x1f5cbe[_0x12a2('0x35')][_0x12a2('0x41')]){_0x525e91[_0x12a2('0x3f')]=_[_0x12a2('0x42')](_0x525e91[_0x12a2('0x3f')],{'$or':_[_0x12a2('0x2f')](_0x2fe6a2,function(_0x47aa2b){if(_0x47aa2b[_0x12a2('0x43')]!==_0x12a2('0x44')){var _0x58907e={};_0x58907e[_0x47aa2b[_0x12a2('0x2d')]]={'$like':'%'+_0x1f5cbe[_0x12a2('0x35')]['filter']+'%'};return _0x58907e;}})});}_0x525e91=_[_0x12a2('0x42')]({},_0x525e91,_0x1f5cbe[_0x12a2('0x45')]);var _0x8358de={'where':_0x525e91['where']};return db[_0x12a2('0x30')][_0x12a2('0x21')](_0x8358de)[_0x12a2('0x27')](function(_0x523f8a){_0x33f53d[_0x12a2('0x21')]=_0x523f8a;if(_0x1f5cbe[_0x12a2('0x35')]['includeAll']){_0x525e91['include']=[{'all':!![]}];}return db[_0x12a2('0x30')]['findAll'](_0x525e91);})[_0x12a2('0x27')](function(_0x28cd51){_0x33f53d[_0x12a2('0x46')]=_0x28cd51;return _0x33f53d;})['then'](respondWithFilteredResult(_0x197c3c,_0x525e91))[_0x12a2('0x47')](handleError(_0x197c3c,null));};exports['show']=function(_0x648c0,_0x51a843){var _0x31471c={'raw':!![],'where':{'id':_0x648c0[_0x12a2('0x48')]['id']}},_0xb9eace={};_0xb9eace[_0x12a2('0x34')]=_[_0x12a2('0x36')](db[_0x12a2('0x30')][_0x12a2('0x31')]);_0xb9eace[_0x12a2('0x35')]=_[_0x12a2('0x36')](_0x648c0['query']);_0xb9eace[_0x12a2('0x37')]=_[_0x12a2('0x38')](_0xb9eace[_0x12a2('0x34')],_0xb9eace[_0x12a2('0x35')]);_0x31471c['attributes']=_[_0x12a2('0x38')](_0xb9eace[_0x12a2('0x34')],qs[_0x12a2('0x3a')](_0x648c0[_0x12a2('0x35')][_0x12a2('0x3a')]));_0x31471c[_0x12a2('0x39')]=_0x31471c[_0x12a2('0x39')][_0x12a2('0x3b')]?_0x31471c['attributes']:_0xb9eace[_0x12a2('0x34')];if(_0x648c0[_0x12a2('0x35')]['includeAll']){_0x31471c[_0x12a2('0x49')]=[{'all':!![]}];}_0x31471c=_[_0x12a2('0x42')]({},_0x31471c,_0x648c0[_0x12a2('0x45')]);return db[_0x12a2('0x30')][_0x12a2('0x4a')](_0x31471c)[_0x12a2('0x27')](handleEntityNotFound(_0x51a843,null))[_0x12a2('0x27')](respondWithResult(_0x51a843,null))['catch'](handleError(_0x51a843,null));};exports[_0x12a2('0x4b')]=function(_0x72b3fe,_0x49f00d){return db[_0x12a2('0x30')][_0x12a2('0x4b')](_0x72b3fe[_0x12a2('0x4c')],{})[_0x12a2('0x27')](function(_0x152d04){var _0x4ceef2=_0x72b3fe[_0x12a2('0x4d')]['get']({'plain':!![]});if(!_0x4ceef2)throw new Error(_0x12a2('0x4e'));if(_0x4ceef2[_0x12a2('0x4f')]===_0x12a2('0x4d')){var _0x5bbc72=_0x152d04[_0x12a2('0x28')]({'plain':!![]});var _0x4c78cd=_0x12a2('0x29');return db['UserProfileSection'][_0x12a2('0x4a')]({'where':{'name':_0x4c78cd,'userProfileId':_0x4ceef2[_0x12a2('0x50')]},'raw':!![]})[_0x12a2('0x27')](function(_0x4aa0b0){if(_0x4aa0b0&&_0x4aa0b0[_0x12a2('0x51')]===0x0){return db['UserProfileResource'][_0x12a2('0x4b')]({'name':_0x5bbc72[_0x12a2('0x2d')],'resourceId':_0x5bbc72['id'],'type':_0x4aa0b0[_0x12a2('0x2d')],'sectionId':_0x4aa0b0['id']},{})['then'](function(){return _0x152d04;});}else{return _0x152d04;}})['catch'](function(_0x36dd38){logger[_0x12a2('0x2b')](_0x12a2('0x52'),_0x36dd38);throw _0x36dd38;});}return _0x152d04;})[_0x12a2('0x27')](respondWithResult(_0x49f00d,0xc9))[_0x12a2('0x47')](handleError(_0x49f00d,null));};exports[_0x12a2('0x26')]=function(_0x2fde58,_0x1089b9){if(_0x2fde58['body']['id']){delete _0x2fde58['body']['id'];}return db[_0x12a2('0x30')][_0x12a2('0x4a')]({'where':{'id':_0x2fde58[_0x12a2('0x48')]['id']}})['then'](handleEntityNotFound(_0x1089b9,null))[_0x12a2('0x27')](saveUpdates(_0x2fde58[_0x12a2('0x4c')],null))[_0x12a2('0x27')](respondWithResult(_0x1089b9,null))[_0x12a2('0x47')](handleError(_0x1089b9,null));};exports[_0x12a2('0x2a')]=function(_0x3f0443,_0x181740){return db[_0x12a2('0x30')][_0x12a2('0x4a')]({'where':{'id':_0x3f0443[_0x12a2('0x48')]['id']}})[_0x12a2('0x27')](handleEntityNotFound(_0x181740,null))[_0x12a2('0x27')](removeEntity(_0x181740,null))['catch'](handleError(_0x181740,null));};exports[_0x12a2('0x53')]=function(_0x35d5f8,_0x4cc0bd){return db[_0x12a2('0x30')]['describe']()[_0x12a2('0x27')](respondWithResult(_0x4cc0bd,null))[_0x12a2('0x47')](handleError(_0x4cc0bd,null));};exports[_0x12a2('0x54')]=function(_0x5351a8,_0x3fbc8e,_0x3721f1){var _0x220405={'raw':!![],'where':{}},_0x17ea56={},_0x93d4d5;return db[_0x12a2('0x30')]['findOne']({'where':{'id':_0x5351a8['params']['id']}})[_0x12a2('0x27')](handleEntityNotFound(_0x3fbc8e,null))['then'](function(_0x4219c6){if(_0x4219c6){_0x93d4d5=_0x4219c6[_0x12a2('0x28')]({'plain':!![]});_0x17ea56[_0x12a2('0x34')]=_[_0x12a2('0x36')](db[_0x12a2('0x55')]['rawAttributes']);_0x17ea56[_0x12a2('0x35')]=_['keys'](_0x5351a8[_0x12a2('0x35')]);_0x17ea56[_0x12a2('0x37')]=_['intersection'](_0x17ea56[_0x12a2('0x34')],_0x17ea56[_0x12a2('0x35')]);_0x220405[_0x12a2('0x39')]=_[_0x12a2('0x38')](_0x17ea56[_0x12a2('0x34')],qs[_0x12a2('0x3a')](_0x5351a8[_0x12a2('0x35')][_0x12a2('0x3a')]));_0x220405[_0x12a2('0x39')]=_0x220405[_0x12a2('0x39')]['length']?_0x220405[_0x12a2('0x39')]:_0x17ea56[_0x12a2('0x34')];if(!_0x5351a8[_0x12a2('0x35')][_0x12a2('0x3c')]('nolimit')){_0x220405[_0x12a2('0x1f')]=qs['limit'](_0x5351a8[_0x12a2('0x35')][_0x12a2('0x1f')]);_0x220405[_0x12a2('0x20')]=qs[_0x12a2('0x20')](_0x5351a8[_0x12a2('0x35')][_0x12a2('0x20')]);}_0x220405[_0x12a2('0x56')]=qs[_0x12a2('0x3e')](_0x5351a8[_0x12a2('0x35')][_0x12a2('0x3e')]);_0x220405[_0x12a2('0x3f')]=qs[_0x12a2('0x37')](_[_0x12a2('0x40')](_0x5351a8[_0x12a2('0x35')],_0x17ea56[_0x12a2('0x37')]));_0x220405[_0x12a2('0x3f')]['OpenchannelQueueId']=_0x4219c6['id'];if(_0x5351a8[_0x12a2('0x35')]['filter']){_0x220405[_0x12a2('0x3f')]=_[_0x12a2('0x42')](_0x220405[_0x12a2('0x3f')],{'$or':_[_0x12a2('0x2f')](_0x220405[_0x12a2('0x39')],function(_0x4ef68e){var _0x28dab5={};_0x28dab5[_0x4ef68e]={'$like':'%'+_0x5351a8[_0x12a2('0x35')][_0x12a2('0x41')]+'%'};return _0x28dab5;})});}_0x220405=_[_0x12a2('0x42')]({},_0x220405,_0x5351a8[_0x12a2('0x45')]);return db[_0x12a2('0x55')]['findAll'](_0x220405);}})[_0x12a2('0x27')](function(_0x1a8ebd){if(_0x1a8ebd){return db[_0x12a2('0x57')][_0x12a2('0x58')]({'where':{'id':_['map'](_0x1a8ebd,_0x12a2('0x59')),'role':'agent'},'attributes':['id',_0x12a2('0x2d'),_0x12a2('0x5a'),_0x12a2('0x5b'),_0x12a2('0x5c')]});}})[_0x12a2('0x27')](function(_0x5a0803){if(_0x5a0803){return{'count':_0x5a0803[_0x12a2('0x21')],'rows':_[_0x12a2('0x2f')](_0x5a0803['rows'],function(_0x50be6b){return{'membername':_0x50be6b[_0x12a2('0x2d')],'UserId':_0x50be6b['id'],'queue_name':_0x93d4d5[_0x12a2('0x2d')],'OpenchannelQueueId':_0x93d4d5['id'],'interface':util['format']('%s/%s',_0x12a2('0x5d'),_0x50be6b[_0x12a2('0x2d')]),'penalty':0x0,'paused':_0x50be6b[_0x12a2('0x5a')],'createdAt':_0x50be6b[_0x12a2('0x5c')],'updatedAt':_0x50be6b[_0x12a2('0x5b')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x3fbc8e,_0x220405))[_0x12a2('0x47')](handleError(_0x3fbc8e,null));};exports[_0x12a2('0x5e')]=function(_0x48d2e1,_0x5410ff,_0x1c1267){var _0x43a429={};var _0x436333={};var _0x4e7f69;var _0x1facd0;return db[_0x12a2('0x30')]['findOne']({'where':{'id':_0x48d2e1[_0x12a2('0x48')]['id']}})[_0x12a2('0x27')](handleEntityNotFound(_0x5410ff,null))[_0x12a2('0x27')](function(_0x284cc5){if(_0x284cc5){_0x4e7f69=_0x284cc5;_0x436333[_0x12a2('0x34')]=_[_0x12a2('0x36')](db[_0x12a2('0x5f')]['rawAttributes']);_0x436333['query']=_['keys'](_0x48d2e1[_0x12a2('0x35')]);_0x436333[_0x12a2('0x37')]=_[_0x12a2('0x38')](_0x436333['model'],_0x436333['query']);_0x43a429[_0x12a2('0x39')]=_[_0x12a2('0x38')](_0x436333['model'],qs[_0x12a2('0x3a')](_0x48d2e1['query'][_0x12a2('0x3a')]));_0x43a429[_0x12a2('0x39')]=_0x43a429['attributes'][_0x12a2('0x3b')]?_0x43a429[_0x12a2('0x39')]:_0x436333['model'];_0x43a429[_0x12a2('0x56')]=qs['sort'](_0x48d2e1[_0x12a2('0x35')][_0x12a2('0x3e')]);_0x43a429[_0x12a2('0x3f')]=qs[_0x12a2('0x37')](_[_0x12a2('0x40')](_0x48d2e1['query'],_0x436333[_0x12a2('0x37')]));if(_0x48d2e1[_0x12a2('0x35')][_0x12a2('0x41')]){_0x43a429[_0x12a2('0x3f')]=_[_0x12a2('0x42')](_0x43a429[_0x12a2('0x3f')],{'$or':_[_0x12a2('0x2f')](_0x43a429[_0x12a2('0x39')],function(_0x3f52c8){var _0x506af8={};_0x506af8[_0x3f52c8]={'$like':'%'+_0x48d2e1[_0x12a2('0x35')][_0x12a2('0x41')]+'%'};return _0x506af8;})});}_0x43a429=_[_0x12a2('0x42')]({},_0x43a429,_0x48d2e1['options']);return _0x4e7f69[_0x12a2('0x5e')](_0x43a429);}})[_0x12a2('0x27')](function(_0x5a21e2){if(_0x5a21e2){_0x1facd0=_0x5a21e2['length'];if(!_0x48d2e1[_0x12a2('0x35')]['hasOwnProperty'](_0x12a2('0x3d'))){_0x43a429[_0x12a2('0x1f')]=qs[_0x12a2('0x1f')](_0x48d2e1[_0x12a2('0x35')][_0x12a2('0x1f')]);_0x43a429[_0x12a2('0x20')]=qs[_0x12a2('0x20')](_0x48d2e1['query'][_0x12a2('0x20')]);}return _0x4e7f69[_0x12a2('0x5e')](_0x43a429);}})[_0x12a2('0x27')](function(_0x12dc1b){if(_0x12dc1b){return _0x12dc1b?{'count':_0x1facd0,'rows':_0x12dc1b}:null;}})[_0x12a2('0x27')](respondWithResult(_0x5410ff,null))[_0x12a2('0x47')](handleError(_0x5410ff,null));};exports[_0x12a2('0x60')]=function(_0x5b4d16,_0x240fff,_0x4af1b8){var _0x5f3561=_0x5b4d16['body'][_0x12a2('0x61')];return db[_0x12a2('0x5f')][_0x12a2('0x62')]({'where':{'id':_0x5f3561},'attributes':['id'],'include':[{'model':db[_0x12a2('0x57')],'as':_0x12a2('0x63'),'attributes':['id','name',_0x12a2('0x64'),_0x12a2('0x65'),_0x12a2('0x66')],'raw':!![]}]})[_0x12a2('0x27')](function(_0x4f62d4){if(_0x4f62d4){var _0x17faf7=_[_0x12a2('0x67')](_0x4f62d4,function(_0x184d65){var _0x3556a6=_0x184d65[_0x12a2('0x28')]({'plain':!![]});return _0x3556a6[_0x12a2('0x63')];});return db[_0x12a2('0x30')][_0x12a2('0x4a')]({'where':{'id':_0x5b4d16[_0x12a2('0x48')]['id']}})[_0x12a2('0x27')](function(_0x49ae12){return db[_0x12a2('0x68')][_0x12a2('0x69')](function(_0x59be07){return _0x49ae12[_0x12a2('0x60')](_0x5f3561,{'transaction':_0x59be07})[_0x12a2('0x27')](function(){return BPromise[_0x12a2('0x6a')](_0x17faf7,function(_0x2d824a){return db['UserOpenchannelQueue'][_0x12a2('0x6b')]({'where':{'UserId':_0x2d824a['id'],'OpenchannelQueueId':_0x5b4d16[_0x12a2('0x48')]['id']},'transaction':_0x59be07});});})[_0x12a2('0x27')](function(){_0x17faf7['forEach'](function(_0x92ee54){socket[_0x12a2('0x6c')]('userOpenchannelQueue:save',{'UserId':_0x92ee54['id'],'OpenchannelQueueId':_0x49ae12['id']});});});});});}})[_0x12a2('0x27')](respondWithStatusCode(_0x240fff,null))['catch'](handleError(_0x240fff,null));};exports[_0x12a2('0x6d')]=function(_0x1c3adf,_0x29d9d7,_0xb7e727){return db[_0x12a2('0x5f')][_0x12a2('0x62')]({'where':{'id':_0x1c3adf[_0x12a2('0x35')][_0x12a2('0x61')]},'attributes':['id'],'include':[{'model':db[_0x12a2('0x57')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x12a2('0x27')](handleEntityNotFound(_0x29d9d7,null))[_0x12a2('0x27')](function(_0x1d831d){var _0x4ee88c=_[_0x12a2('0x2f')](_0x1d831d,'id');var _0x44481a=[];var _0x2f3499=[];var _0x1612d2=squel[_0x12a2('0x6e')]();_0x1612d2[_0x12a2('0x6f')](_0x12a2('0x70'))[_0x12a2('0x71')]('team_has_openchannel_queues','tq')[_0x12a2('0x72')](_0x12a2('0x73'),'ut',_0x12a2('0x74'))[_0x12a2('0x3f')]('OpenchannelQueueId\x20=\x20?',_0x1c3adf[_0x12a2('0x48')]['id']);for(var _0x3b5e39=0x0;_0x3b5e39<_0x1d831d[_0x12a2('0x3b')];_0x3b5e39+=0x1){let _0x5bdadc=_0x1d831d[_0x3b5e39];for(var _0x5b6039=0x0;_0x5b6039<_0x5bdadc['Agents'][_0x12a2('0x3b')];_0x5b6039+=0x1){let _0x261503=_0x5bdadc[_0x12a2('0x63')][_0x5b6039];var _0x30f410=_0x1612d2[_0x12a2('0x75')]();_0x30f410[_0x12a2('0x3f')](_0x12a2('0x76'),_0x261503['id']);_0x2f3499[_0x12a2('0x77')](db[_0x12a2('0x68')]['query'](_0x30f410['toString'](),{'type':db[_0x12a2('0x68')][_0x12a2('0x78')][_0x12a2('0x79')]})[_0x12a2('0x27')](function(_0x59c882){if(_0x59c882['length']===0x1){return _0x261503['id'];}else{var _0x22303b=_['every'](_[_0x12a2('0x2f')](_0x59c882,_0x12a2('0x7a')),function(_0x4f2ab7){return _[_0x12a2('0x7b')](_0x4ee88c,_0x4f2ab7);});if(_0x22303b){return _0x261503['id'];}}}));}}return BPromise[_0x12a2('0x7c')](_0x2f3499)[_0x12a2('0x27')](function(_0x315286){_0x44481a=_(_0x44481a)['union'](_0x315286)[_0x12a2('0x7d')]()[_0x12a2('0x7e')]();return db[_0x12a2('0x30')][_0x12a2('0x4a')]({'where':{'id':_0x1c3adf[_0x12a2('0x48')]['id']}})[_0x12a2('0x27')](function(_0x3e8f27){return db[_0x12a2('0x68')][_0x12a2('0x69')](function(_0x1f1271){return _0x3e8f27['removeTeams'](_0x1c3adf[_0x12a2('0x35')][_0x12a2('0x61')],{'transaction':_0x1f1271})[_0x12a2('0x27')](function(){if(!_[_0x12a2('0x7f')](_0x44481a)){return _0x3e8f27['removeAgents'](_0x44481a,{'transaction':_0x1f1271});}})['then'](function(){_0x44481a['forEach'](function(_0x586f40){socket[_0x12a2('0x6c')](_0x12a2('0x80'),{'UserId':_0x586f40,'OpenchannelQueueId':_0x3e8f27['id']});});});});});});})[_0x12a2('0x27')](respondWithStatusCode(_0x29d9d7,null))[_0x12a2('0x47')](handleError(_0x29d9d7,null));};exports[_0x12a2('0x81')]=function(_0x43ea50,_0x50e0c8,_0x409436){return db[_0x12a2('0x30')]['find']({'where':{'id':_0x43ea50[_0x12a2('0x48')]['id']}})[_0x12a2('0x27')](handleEntityNotFound(_0x50e0c8,null))[_0x12a2('0x27')](function(_0x9f8340){if(_0x9f8340){return _0x9f8340[_0x12a2('0x81')](_0x43ea50[_0x12a2('0x4c')][_0x12a2('0x61')],_[_0x12a2('0x82')](_0x43ea50[_0x12a2('0x4c')],['ids','id'])||{})['spread'](function(_0x29146d){for(var _0x57442d=0x0;_0x57442d<_0x43ea50['body'][_0x12a2('0x61')][_0x12a2('0x3b')];_0x57442d+=0x1){socket[_0x12a2('0x6c')](_0x12a2('0x83'),{'UserId':Number(_0x43ea50[_0x12a2('0x4c')]['ids'][_0x57442d]),'OpenchannelQueueId':Number(_0x43ea50[_0x12a2('0x48')]['id'])});}return _0x29146d;});}})[_0x12a2('0x27')](respondWithResult(_0x50e0c8,null))[_0x12a2('0x47')](handleError(_0x50e0c8,null));};exports[_0x12a2('0x84')]=function(_0xefaa1b,_0xe5ce6c,_0x6fc389){return db['OpenchannelQueue'][_0x12a2('0x4a')]({'where':{'id':_0xefaa1b[_0x12a2('0x48')]['id']}})[_0x12a2('0x27')](handleEntityNotFound(_0xe5ce6c,null))['then'](function(_0x138df4){if(_0x138df4){return _0x138df4['removeAgents'](_0xefaa1b[_0x12a2('0x35')][_0x12a2('0x61')])[_0x12a2('0x27')](function(){if(_[_0x12a2('0x85')](_0xefaa1b[_0x12a2('0x35')][_0x12a2('0x61')])){for(var _0x5c2b7e=0x0;_0x5c2b7e<_0xefaa1b[_0x12a2('0x35')][_0x12a2('0x61')]['length'];_0x5c2b7e+=0x1){socket[_0x12a2('0x6c')](_0x12a2('0x80'),{'UserId':Number(_0xefaa1b[_0x12a2('0x35')][_0x12a2('0x61')][_0x5c2b7e]),'OpenchannelQueueId':Number(_0xefaa1b[_0x12a2('0x48')]['id'])});}}else{socket[_0x12a2('0x6c')]('userOpenchannelQueue:remove',{'UserId':Number(_0xefaa1b[_0x12a2('0x35')][_0x12a2('0x61')]),'OpenchannelQueueId':Number(_0xefaa1b['params']['id'])});}});}})[_0x12a2('0x27')](respondWithStatusCode(_0xe5ce6c,null))[_0x12a2('0x47')](handleError(_0xe5ce6c,null));};exports['getAgents']=function(_0x13de4d,_0x1d6869,_0x328412){var _0x986a2={};var _0x2def35={};var _0x2d3270;var _0x2222e0;return db[_0x12a2('0x30')][_0x12a2('0x86')]({'where':{'id':_0x13de4d['params']['id']}})[_0x12a2('0x27')](handleEntityNotFound(_0x1d6869,null))[_0x12a2('0x27')](function(_0x2d0fe4){if(_0x2d0fe4){_0x2d3270=_0x2d0fe4;_0x2def35[_0x12a2('0x34')]=_[_0x12a2('0x36')](db[_0x12a2('0x57')]['rawAttributes']);_0x2def35[_0x12a2('0x35')]=_[_0x12a2('0x36')](_0x13de4d[_0x12a2('0x35')]);_0x2def35[_0x12a2('0x37')]=_[_0x12a2('0x38')](_0x2def35[_0x12a2('0x34')],_0x2def35[_0x12a2('0x35')]);_0x986a2[_0x12a2('0x39')]=_[_0x12a2('0x38')](_0x2def35['model'],qs[_0x12a2('0x3a')](_0x13de4d['query'][_0x12a2('0x3a')]));_0x986a2['attributes']=_0x986a2[_0x12a2('0x39')]['length']?_0x986a2[_0x12a2('0x39')]:_0x2def35[_0x12a2('0x34')];_0x986a2[_0x12a2('0x56')]=qs[_0x12a2('0x3e')](_0x13de4d[_0x12a2('0x35')][_0x12a2('0x3e')]);_0x986a2['where']=qs[_0x12a2('0x37')](_[_0x12a2('0x40')](_0x13de4d['query'],_0x2def35[_0x12a2('0x37')]));if(_0x13de4d[_0x12a2('0x35')][_0x12a2('0x41')]){_0x986a2[_0x12a2('0x3f')]=_[_0x12a2('0x42')](_0x986a2[_0x12a2('0x3f')],{'$or':_['map'](_0x986a2[_0x12a2('0x39')],function(_0xeac52a){var _0x142176={};_0x142176[_0xeac52a]={'$like':'%'+_0x13de4d[_0x12a2('0x35')][_0x12a2('0x41')]+'%'};return _0x142176;})});}_0x986a2=_['merge']({},_0x986a2,_0x13de4d[_0x12a2('0x45')]);return _0x2d3270[_0x12a2('0x87')](_0x986a2);}})['then'](function(_0x95ffa){if(_0x95ffa){_0x2222e0=_0x95ffa[_0x12a2('0x3b')];if(!_0x13de4d[_0x12a2('0x35')]['hasOwnProperty'](_0x12a2('0x3d'))){_0x986a2[_0x12a2('0x1f')]=qs[_0x12a2('0x1f')](_0x13de4d[_0x12a2('0x35')][_0x12a2('0x1f')]);_0x986a2['offset']=qs[_0x12a2('0x20')](_0x13de4d[_0x12a2('0x35')][_0x12a2('0x20')]);}return _0x2d3270['getAgents'](_0x986a2);}})[_0x12a2('0x27')](function(_0x5a5f0e){if(_0x5a5f0e){return _0x5a5f0e?{'count':_0x2222e0,'rows':_0x5a5f0e}:null;}})[_0x12a2('0x27')](respondWithResult(_0x1d6869,null))[_0x12a2('0x47')](handleError(_0x1d6869,null));};