7a97e4efb68335680ca13c93c8d08c9522e31958
[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 _0xaf8a=['createdAt','updatedAt','getTeams','addTeams','Agents','online','interface','sequelize','transaction','each','findOrCreate','forEach','emit','removeTeams','Team','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','all','compact','value','ids','userOpenchannelQueue:remove','addAgents','omit','spread','userOpenchannelQueue:save','getAgents','eml-format','request-promise','moment','util','sox','to-csv','fs-extra','lodash','squel','crypto','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','defaults','redis','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','reject','save','update','destroy','then','UserProfileResource','error','name','map','OpenchannelQueue','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','include','findAll','rows','catch','includeAll','create','body','get','role','user','OpenchannelQueues','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','findOne','UserOpenchannelQueue','User','findAndCountAll','UserId','agent','openchannelPause','format','SIP'];(function(_0x521822,_0x35d9b1){var _0x2f97bc=function(_0x3148cc){while(--_0x3148cc){_0x521822['push'](_0x521822['shift']());}};_0x2f97bc(++_0x35d9b1);}(_0xaf8a,0xb2));var _0xaaf8=function(_0xe9820f,_0x252018){_0xe9820f=_0xe9820f-0x0;var _0xe3f539=_0xaf8a[_0xe9820f];return _0xe3f539;};'use strict';var emlformat=require(_0xaaf8('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xaaf8('0x1'));var moment=require(_0xaaf8('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xaaf8('0x3'));var path=require('path');var sox=require(_0xaaf8('0x4'));var csv=require(_0xaaf8('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xaaf8('0x6'));var _=require(_0xaaf8('0x7'));var squel=require(_0xaaf8('0x8'));var crypto=require(_0xaaf8('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xaaf8('0xa'));var toCsv=require(_0xaaf8('0x5'));var querystring=require(_0xaaf8('0xb'));var Papa=require('papaparse');var Redis=require(_0xaaf8('0xc'));var authService=require(_0xaaf8('0xd'));var qs=require(_0xaaf8('0xe'));var as=require(_0xaaf8('0xf'));var hardwareService=require(_0xaaf8('0x10'));var logger=require(_0xaaf8('0x11'))(_0xaaf8('0x12'));var utils=require(_0xaaf8('0x13'));var config=require(_0xaaf8('0x14'));var licenseUtil=require(_0xaaf8('0x15'));var db=require(_0xaaf8('0x16'))['db'];config['redis']=_[_0xaaf8('0x17')](config[_0xaaf8('0x18')],{'host':_0xaaf8('0x19'),'port':0x18eb});var socket=require(_0xaaf8('0x1a'))(new Redis(config[_0xaaf8('0x18')]));require(_0xaaf8('0x1b'))[_0xaaf8('0x1c')](socket);function respondWithStatusCode(_0x26a9d8,_0x53e17d){_0x53e17d=_0x53e17d||0xcc;return function(_0x103449){if(_0x103449){return _0x26a9d8[_0xaaf8('0x1d')](_0x53e17d);}return _0x26a9d8[_0xaaf8('0x1e')](_0x53e17d)[_0xaaf8('0x1f')]();};}function respondWithResult(_0x4e90b9,_0xeb4112){_0xeb4112=_0xeb4112||0xc8;return function(_0x2c0b53){if(_0x2c0b53){return _0x4e90b9[_0xaaf8('0x1e')](_0xeb4112)[_0xaaf8('0x20')](_0x2c0b53);}};}function respondWithFilteredResult(_0x4550a7,_0x4c58a4){return function(_0x1d77f1){if(_0x1d77f1){var _0x1b4f6c=typeof _0x4c58a4['offset']===_0xaaf8('0x21')&&typeof _0x4c58a4[_0xaaf8('0x22')]===_0xaaf8('0x21');var _0x29168b=_0x1d77f1[_0xaaf8('0x23')];var _0x29a14d=_0x1b4f6c?0x0:_0x4c58a4[_0xaaf8('0x24')];var _0x4b220c=_0x1b4f6c?_0x1d77f1['count']:_0x4c58a4[_0xaaf8('0x24')]+_0x4c58a4['limit'];var _0x3365e8;if(_0x4b220c>=_0x29168b){_0x4b220c=_0x29168b;_0x3365e8=0xc8;}else{_0x3365e8=0xce;}_0x4550a7[_0xaaf8('0x1e')](_0x3365e8);return _0x4550a7['set'](_0xaaf8('0x25'),_0x29a14d+'-'+_0x4b220c+'/'+_0x29168b)[_0xaaf8('0x20')](_0x1d77f1);}return null;};}function patchUpdates(_0x3f2e12){return function(_0x35de33){try{jsonpatch['apply'](_0x35de33,_0x3f2e12,!![]);}catch(_0x2c73cd){return BPromise[_0xaaf8('0x26')](_0x2c73cd);}return _0x35de33[_0xaaf8('0x27')]();};}function saveUpdates(_0x11545c,_0x2aea15){return function(_0x49194e){if(_0x49194e){return _0x49194e[_0xaaf8('0x28')](_0x11545c)['then'](function(_0x2c321d){return _0x2c321d;});}return null;};}function removeEntity(_0x9c99af,_0x3b972b){return function(_0x43dcaa){if(_0x43dcaa){return _0x43dcaa[_0xaaf8('0x29')]()[_0xaaf8('0x2a')](function(){var _0x3839e3=_0x43dcaa['get']({'plain':!![]});var _0x5dd645='OpenchannelQueues';return db[_0xaaf8('0x2b')][_0xaaf8('0x29')]({'where':{'type':_0x5dd645,'resourceId':_0x3839e3['id']}})[_0xaaf8('0x2a')](function(){return _0x43dcaa;});})[_0xaaf8('0x2a')](function(){_0x9c99af[_0xaaf8('0x1e')](0xcc)[_0xaaf8('0x1f')]();});}};}function handleEntityNotFound(_0x43cfdd,_0x58df08){return function(_0x555c62){if(!_0x555c62){_0x43cfdd[_0xaaf8('0x1d')](0x194);}return _0x555c62;};}function handleError(_0x532056,_0x12bf31){_0x12bf31=_0x12bf31||0x1f4;return function(_0x4891d2){logger[_0xaaf8('0x2c')](_0x4891d2['stack']);if(_0x4891d2[_0xaaf8('0x2d')]){delete _0x4891d2[_0xaaf8('0x2d')];}_0x532056[_0xaaf8('0x1e')](_0x12bf31)['send'](_0x4891d2);};}exports['index']=function(_0x506908,_0x42f00e){var _0x2c55ad={},_0x105bcb={},_0x5b46df={'count':0x0,'rows':[]};var _0x599584=_[_0xaaf8('0x2e')](db[_0xaaf8('0x2f')][_0xaaf8('0x30')],function(_0x296478){return{'name':_0x296478[_0xaaf8('0x31')],'type':_0x296478[_0xaaf8('0x32')][_0xaaf8('0x33')]};});_0x105bcb[_0xaaf8('0x34')]=_[_0xaaf8('0x2e')](_0x599584,_0xaaf8('0x2d'));_0x105bcb['query']=_[_0xaaf8('0x35')](_0x506908[_0xaaf8('0x36')]);_0x105bcb[_0xaaf8('0x37')]=_['intersection'](_0x105bcb[_0xaaf8('0x34')],_0x105bcb['query']);_0x2c55ad['attributes']=_[_0xaaf8('0x38')](_0x105bcb[_0xaaf8('0x34')],qs[_0xaaf8('0x39')](_0x506908[_0xaaf8('0x36')][_0xaaf8('0x39')]));_0x2c55ad['attributes']=_0x2c55ad[_0xaaf8('0x3a')][_0xaaf8('0x3b')]?_0x2c55ad[_0xaaf8('0x3a')]:_0x105bcb[_0xaaf8('0x34')];if(!_0x506908['query'][_0xaaf8('0x3c')](_0xaaf8('0x3d'))){_0x2c55ad[_0xaaf8('0x22')]=qs[_0xaaf8('0x22')](_0x506908[_0xaaf8('0x36')][_0xaaf8('0x22')]);_0x2c55ad[_0xaaf8('0x24')]=qs[_0xaaf8('0x24')](_0x506908[_0xaaf8('0x36')]['offset']);}_0x2c55ad[_0xaaf8('0x3e')]=qs[_0xaaf8('0x3f')](_0x506908[_0xaaf8('0x36')][_0xaaf8('0x3f')]);_0x2c55ad['where']=qs[_0xaaf8('0x37')](_[_0xaaf8('0x40')](_0x506908['query'],_0x105bcb[_0xaaf8('0x37')]),_0x599584);if(_0x506908['query'][_0xaaf8('0x41')]){_0x2c55ad[_0xaaf8('0x42')]=_['merge'](_0x2c55ad[_0xaaf8('0x42')],{'$or':_[_0xaaf8('0x2e')](_0x599584,function(_0x3e78a9){if(_0x3e78a9['type']!==_0xaaf8('0x43')){var _0x393ec2={};_0x393ec2[_0x3e78a9[_0xaaf8('0x2d')]]={'$like':'%'+_0x506908[_0xaaf8('0x36')][_0xaaf8('0x41')]+'%'};return _0x393ec2;}})});}_0x2c55ad=_[_0xaaf8('0x44')]({},_0x2c55ad,_0x506908[_0xaaf8('0x45')]);var _0x2a49eb={'where':_0x2c55ad['where']};return db[_0xaaf8('0x2f')]['count'](_0x2a49eb)[_0xaaf8('0x2a')](function(_0x16b4d4){_0x5b46df['count']=_0x16b4d4;if(_0x506908[_0xaaf8('0x36')]['includeAll']){_0x2c55ad[_0xaaf8('0x46')]=[{'all':!![]}];}return db[_0xaaf8('0x2f')][_0xaaf8('0x47')](_0x2c55ad);})[_0xaaf8('0x2a')](function(_0x227dd3){_0x5b46df[_0xaaf8('0x48')]=_0x227dd3;return _0x5b46df;})[_0xaaf8('0x2a')](respondWithFilteredResult(_0x42f00e,_0x2c55ad))[_0xaaf8('0x49')](handleError(_0x42f00e,null));};exports['show']=function(_0x4466a2,_0x4edbde){var _0x51db8f={'raw':!![],'where':{'id':_0x4466a2['params']['id']}},_0x56e801={};_0x56e801[_0xaaf8('0x34')]=_[_0xaaf8('0x35')](db[_0xaaf8('0x2f')]['rawAttributes']);_0x56e801['query']=_['keys'](_0x4466a2[_0xaaf8('0x36')]);_0x56e801[_0xaaf8('0x37')]=_['intersection'](_0x56e801[_0xaaf8('0x34')],_0x56e801['query']);_0x51db8f[_0xaaf8('0x3a')]=_['intersection'](_0x56e801[_0xaaf8('0x34')],qs[_0xaaf8('0x39')](_0x4466a2[_0xaaf8('0x36')][_0xaaf8('0x39')]));_0x51db8f[_0xaaf8('0x3a')]=_0x51db8f[_0xaaf8('0x3a')]['length']?_0x51db8f[_0xaaf8('0x3a')]:_0x56e801[_0xaaf8('0x34')];if(_0x4466a2[_0xaaf8('0x36')][_0xaaf8('0x4a')]){_0x51db8f[_0xaaf8('0x46')]=[{'all':!![]}];}_0x51db8f=_[_0xaaf8('0x44')]({},_0x51db8f,_0x4466a2[_0xaaf8('0x45')]);return db[_0xaaf8('0x2f')]['find'](_0x51db8f)['then'](handleEntityNotFound(_0x4edbde,null))[_0xaaf8('0x2a')](respondWithResult(_0x4edbde,null))[_0xaaf8('0x49')](handleError(_0x4edbde,null));};exports[_0xaaf8('0x4b')]=function(_0x352964,_0x4a64b7){return db[_0xaaf8('0x2f')][_0xaaf8('0x4b')](_0x352964[_0xaaf8('0x4c')],{})[_0xaaf8('0x2a')](function(_0x31b399){var _0x3ddead=_0x352964['user'][_0xaaf8('0x4d')]({'plain':!![]});if(!_0x3ddead)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3ddead[_0xaaf8('0x4e')]===_0xaaf8('0x4f')){var _0x48c29f=_0x31b399[_0xaaf8('0x4d')]({'plain':!![]});var _0x33fcf5=_0xaaf8('0x50');return db['UserProfileSection'][_0xaaf8('0x51')]({'where':{'name':_0x33fcf5,'userProfileId':_0x3ddead[_0xaaf8('0x52')]},'raw':!![]})[_0xaaf8('0x2a')](function(_0x3b8701){if(_0x3b8701&&_0x3b8701[_0xaaf8('0x53')]===0x0){return db['UserProfileResource'][_0xaaf8('0x4b')]({'name':_0x48c29f[_0xaaf8('0x2d')],'resourceId':_0x48c29f['id'],'type':_0x3b8701[_0xaaf8('0x2d')],'sectionId':_0x3b8701['id']},{})[_0xaaf8('0x2a')](function(){return _0x31b399;});}else{return _0x31b399;}})[_0xaaf8('0x49')](function(_0x3c24d6){logger[_0xaaf8('0x2c')](_0xaaf8('0x54'),_0x3c24d6);throw _0x3c24d6;});}return _0x31b399;})[_0xaaf8('0x2a')](respondWithResult(_0x4a64b7,0xc9))['catch'](handleError(_0x4a64b7,null));};exports['update']=function(_0x44fd1b,_0x15abce){if(_0x44fd1b['body']['id']){delete _0x44fd1b[_0xaaf8('0x4c')]['id'];}return db[_0xaaf8('0x2f')]['find']({'where':{'id':_0x44fd1b[_0xaaf8('0x55')]['id']}})[_0xaaf8('0x2a')](handleEntityNotFound(_0x15abce,null))['then'](saveUpdates(_0x44fd1b[_0xaaf8('0x4c')],null))[_0xaaf8('0x2a')](respondWithResult(_0x15abce,null))[_0xaaf8('0x49')](handleError(_0x15abce,null));};exports[_0xaaf8('0x29')]=function(_0x56e9fb,_0x528fd4){return db[_0xaaf8('0x2f')][_0xaaf8('0x51')]({'where':{'id':_0x56e9fb['params']['id']}})['then'](handleEntityNotFound(_0x528fd4,null))[_0xaaf8('0x2a')](removeEntity(_0x528fd4,null))[_0xaaf8('0x49')](handleError(_0x528fd4,null));};exports['describe']=function(_0x6008cb,_0x2444b6){return db[_0xaaf8('0x2f')][_0xaaf8('0x56')]()[_0xaaf8('0x2a')](respondWithResult(_0x2444b6,null))['catch'](handleError(_0x2444b6,null));};exports['getMembers']=function(_0x36d6ac,_0x360272,_0x54a213){var _0x9a95a3={'raw':!![],'where':{}},_0xe8aa9d={},_0x27abc2;return db[_0xaaf8('0x2f')][_0xaaf8('0x57')]({'where':{'id':_0x36d6ac['params']['id']}})[_0xaaf8('0x2a')](handleEntityNotFound(_0x360272,null))[_0xaaf8('0x2a')](function(_0x6f44c4){if(_0x6f44c4){_0x27abc2=_0x6f44c4[_0xaaf8('0x4d')]({'plain':!![]});_0xe8aa9d[_0xaaf8('0x34')]=_[_0xaaf8('0x35')](db[_0xaaf8('0x58')]['rawAttributes']);_0xe8aa9d[_0xaaf8('0x36')]=_['keys'](_0x36d6ac['query']);_0xe8aa9d['filters']=_[_0xaaf8('0x38')](_0xe8aa9d[_0xaaf8('0x34')],_0xe8aa9d['query']);_0x9a95a3[_0xaaf8('0x3a')]=_['intersection'](_0xe8aa9d['model'],qs['fields'](_0x36d6ac['query']['fields']));_0x9a95a3[_0xaaf8('0x3a')]=_0x9a95a3['attributes'][_0xaaf8('0x3b')]?_0x9a95a3['attributes']:_0xe8aa9d['model'];if(!_0x36d6ac[_0xaaf8('0x36')]['hasOwnProperty'](_0xaaf8('0x3d'))){_0x9a95a3[_0xaaf8('0x22')]=qs[_0xaaf8('0x22')](_0x36d6ac[_0xaaf8('0x36')]['limit']);_0x9a95a3[_0xaaf8('0x24')]=qs[_0xaaf8('0x24')](_0x36d6ac[_0xaaf8('0x36')]['offset']);}_0x9a95a3[_0xaaf8('0x3e')]=qs[_0xaaf8('0x3f')](_0x36d6ac[_0xaaf8('0x36')][_0xaaf8('0x3f')]);_0x9a95a3[_0xaaf8('0x42')]=qs[_0xaaf8('0x37')](_[_0xaaf8('0x40')](_0x36d6ac[_0xaaf8('0x36')],_0xe8aa9d[_0xaaf8('0x37')]));_0x9a95a3['where']['OpenchannelQueueId']=_0x6f44c4['id'];if(_0x36d6ac['query'][_0xaaf8('0x41')]){_0x9a95a3[_0xaaf8('0x42')]=_[_0xaaf8('0x44')](_0x9a95a3[_0xaaf8('0x42')],{'$or':_['map'](_0x9a95a3[_0xaaf8('0x3a')],function(_0x59a7dd){var _0x234e4a={};_0x234e4a[_0x59a7dd]={'$like':'%'+_0x36d6ac[_0xaaf8('0x36')]['filter']+'%'};return _0x234e4a;})});}_0x9a95a3=_[_0xaaf8('0x44')]({},_0x9a95a3,_0x36d6ac[_0xaaf8('0x45')]);return db[_0xaaf8('0x58')][_0xaaf8('0x47')](_0x9a95a3);}})[_0xaaf8('0x2a')](function(_0x15b823){if(_0x15b823){return db[_0xaaf8('0x59')][_0xaaf8('0x5a')]({'where':{'id':_[_0xaaf8('0x2e')](_0x15b823,_0xaaf8('0x5b')),'role':_0xaaf8('0x5c')},'attributes':['id',_0xaaf8('0x2d'),_0xaaf8('0x5d'),'updatedAt','createdAt']});}})[_0xaaf8('0x2a')](function(_0x5c9553){if(_0x5c9553){return{'count':_0x5c9553[_0xaaf8('0x23')],'rows':_[_0xaaf8('0x2e')](_0x5c9553[_0xaaf8('0x48')],function(_0x445806){return{'membername':_0x445806['name'],'UserId':_0x445806['id'],'queue_name':_0x27abc2[_0xaaf8('0x2d')],'OpenchannelQueueId':_0x27abc2['id'],'interface':util[_0xaaf8('0x5e')]('%s/%s',_0xaaf8('0x5f'),_0x445806[_0xaaf8('0x2d')]),'penalty':0x0,'paused':_0x445806[_0xaaf8('0x5d')],'createdAt':_0x445806[_0xaaf8('0x60')],'updatedAt':_0x445806[_0xaaf8('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xaaf8('0x2a')](respondWithFilteredResult(_0x360272,_0x9a95a3))[_0xaaf8('0x49')](handleError(_0x360272,null));};exports['getTeams']=function(_0xdd22a2,_0x322a5e,_0x2edb31){var _0x3e1f12={};var _0x111014={};var _0x152a71;var _0xdf420d;return db[_0xaaf8('0x2f')][_0xaaf8('0x57')]({'where':{'id':_0xdd22a2[_0xaaf8('0x55')]['id']}})[_0xaaf8('0x2a')](handleEntityNotFound(_0x322a5e,null))[_0xaaf8('0x2a')](function(_0x18f43d){if(_0x18f43d){_0x152a71=_0x18f43d;_0x111014[_0xaaf8('0x34')]=_[_0xaaf8('0x35')](db['Team'][_0xaaf8('0x30')]);_0x111014['query']=_[_0xaaf8('0x35')](_0xdd22a2[_0xaaf8('0x36')]);_0x111014[_0xaaf8('0x37')]=_[_0xaaf8('0x38')](_0x111014['model'],_0x111014['query']);_0x3e1f12[_0xaaf8('0x3a')]=_['intersection'](_0x111014[_0xaaf8('0x34')],qs['fields'](_0xdd22a2[_0xaaf8('0x36')][_0xaaf8('0x39')]));_0x3e1f12[_0xaaf8('0x3a')]=_0x3e1f12[_0xaaf8('0x3a')][_0xaaf8('0x3b')]?_0x3e1f12[_0xaaf8('0x3a')]:_0x111014[_0xaaf8('0x34')];_0x3e1f12[_0xaaf8('0x3e')]=qs['sort'](_0xdd22a2[_0xaaf8('0x36')]['sort']);_0x3e1f12[_0xaaf8('0x42')]=qs[_0xaaf8('0x37')](_[_0xaaf8('0x40')](_0xdd22a2[_0xaaf8('0x36')],_0x111014[_0xaaf8('0x37')]));if(_0xdd22a2[_0xaaf8('0x36')][_0xaaf8('0x41')]){_0x3e1f12[_0xaaf8('0x42')]=_[_0xaaf8('0x44')](_0x3e1f12[_0xaaf8('0x42')],{'$or':_[_0xaaf8('0x2e')](_0x3e1f12['attributes'],function(_0x40c2b7){var _0xa57a0b={};_0xa57a0b[_0x40c2b7]={'$like':'%'+_0xdd22a2[_0xaaf8('0x36')]['filter']+'%'};return _0xa57a0b;})});}_0x3e1f12=_['merge']({},_0x3e1f12,_0xdd22a2['options']);return _0x152a71[_0xaaf8('0x62')](_0x3e1f12);}})['then'](function(_0x19ab10){if(_0x19ab10){_0xdf420d=_0x19ab10[_0xaaf8('0x3b')];if(!_0xdd22a2[_0xaaf8('0x36')][_0xaaf8('0x3c')](_0xaaf8('0x3d'))){_0x3e1f12[_0xaaf8('0x22')]=qs[_0xaaf8('0x22')](_0xdd22a2[_0xaaf8('0x36')][_0xaaf8('0x22')]);_0x3e1f12[_0xaaf8('0x24')]=qs['offset'](_0xdd22a2[_0xaaf8('0x36')]['offset']);}return _0x152a71[_0xaaf8('0x62')](_0x3e1f12);}})[_0xaaf8('0x2a')](function(_0x3c0e59){if(_0x3c0e59){return _0x3c0e59?{'count':_0xdf420d,'rows':_0x3c0e59}:null;}})['then'](respondWithResult(_0x322a5e,null))[_0xaaf8('0x49')](handleError(_0x322a5e,null));};exports[_0xaaf8('0x63')]=function(_0x19d649,_0x7a528b,_0x2934a1){var _0x3400d2=_0x19d649['body']['ids'];return db['Team']['findAll']({'where':{'id':_0x3400d2},'attributes':['id'],'include':[{'model':db[_0xaaf8('0x59')],'as':_0xaaf8('0x64'),'attributes':['id',_0xaaf8('0x2d'),_0xaaf8('0x65'),'voicePause',_0xaaf8('0x66')],'raw':!![]}]})[_0xaaf8('0x2a')](function(_0x102e7c){if(_0x102e7c){var _0x571f6b=_['flatMap'](_0x102e7c,function(_0x397784){var _0x3b09ce=_0x397784[_0xaaf8('0x4d')]({'plain':!![]});return _0x3b09ce['Agents'];});return db[_0xaaf8('0x2f')][_0xaaf8('0x51')]({'where':{'id':_0x19d649[_0xaaf8('0x55')]['id']}})[_0xaaf8('0x2a')](function(_0x5d9c9b){return db[_0xaaf8('0x67')][_0xaaf8('0x68')](function(_0x4a8617){return _0x5d9c9b[_0xaaf8('0x63')](_0x3400d2,{'transaction':_0x4a8617})[_0xaaf8('0x2a')](function(){return BPromise[_0xaaf8('0x69')](_0x571f6b,function(_0xbf3b82){return db['UserOpenchannelQueue'][_0xaaf8('0x6a')]({'where':{'UserId':_0xbf3b82['id'],'OpenchannelQueueId':_0x19d649[_0xaaf8('0x55')]['id']},'transaction':_0x4a8617});});})[_0xaaf8('0x2a')](function(){_0x571f6b[_0xaaf8('0x6b')](function(_0x54acc8){socket[_0xaaf8('0x6c')]('userOpenchannelQueue:save',{'UserId':_0x54acc8['id'],'OpenchannelQueueId':_0x5d9c9b['id']});});});});});}})[_0xaaf8('0x2a')](respondWithStatusCode(_0x7a528b,null))[_0xaaf8('0x49')](handleError(_0x7a528b,null));};exports[_0xaaf8('0x6d')]=function(_0x3fe660,_0x4f1390,_0xcd8007){return db[_0xaaf8('0x6e')]['findAll']({'where':{'id':_0x3fe660[_0xaaf8('0x36')]['ids']},'attributes':['id'],'include':[{'model':db[_0xaaf8('0x59')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xaaf8('0x2a')](handleEntityNotFound(_0x4f1390,null))['then'](function(_0x5dea0c){var _0xe4d436=_['map'](_0x5dea0c,'id');var _0x37c6a7=[];var _0x3e1440=[];var _0x442d30=squel[_0xaaf8('0x6f')]();_0x442d30[_0xaaf8('0x70')](_0xaaf8('0x71'))[_0xaaf8('0x72')](_0xaaf8('0x73'),'tq')[_0xaaf8('0x74')](_0xaaf8('0x75'),'ut',_0xaaf8('0x76'))[_0xaaf8('0x42')](_0xaaf8('0x77'),_0x3fe660[_0xaaf8('0x55')]['id']);for(var _0x266eef=0x0;_0x266eef<_0x5dea0c[_0xaaf8('0x3b')];_0x266eef+=0x1){let _0x368bf2=_0x5dea0c[_0x266eef];for(var _0x247464=0x0;_0x247464<_0x368bf2[_0xaaf8('0x64')][_0xaaf8('0x3b')];_0x247464+=0x1){let _0x3616fc=_0x368bf2[_0xaaf8('0x64')][_0x247464];var _0x591c80=_0x442d30[_0xaaf8('0x78')]();_0x591c80[_0xaaf8('0x42')]('ut.UserId\x20=\x20?',_0x3616fc['id']);_0x3e1440[_0xaaf8('0x79')](db[_0xaaf8('0x67')][_0xaaf8('0x36')](_0x591c80[_0xaaf8('0x7a')](),{'type':db[_0xaaf8('0x67')][_0xaaf8('0x7b')][_0xaaf8('0x7c')]})[_0xaaf8('0x2a')](function(_0x349b5f){if(_0x349b5f[_0xaaf8('0x3b')]===0x1){return _0x3616fc['id'];}else{var _0x2e1f6a=_[_0xaaf8('0x7d')](_[_0xaaf8('0x2e')](_0x349b5f,_0xaaf8('0x7e')),function(_0x5b2a05){return _['includes'](_0xe4d436,_0x5b2a05);});if(_0x2e1f6a){return _0x3616fc['id'];}}}));}}return BPromise[_0xaaf8('0x7f')](_0x3e1440)[_0xaaf8('0x2a')](function(_0x5e96ab){_0x37c6a7=_(_0x37c6a7)['union'](_0x5e96ab)[_0xaaf8('0x80')]()[_0xaaf8('0x81')]();return db[_0xaaf8('0x2f')][_0xaaf8('0x51')]({'where':{'id':_0x3fe660[_0xaaf8('0x55')]['id']}})['then'](function(_0x2a3b8e){return db[_0xaaf8('0x67')][_0xaaf8('0x68')](function(_0xf34b55){return _0x2a3b8e[_0xaaf8('0x6d')](_0x3fe660[_0xaaf8('0x36')][_0xaaf8('0x82')],{'transaction':_0xf34b55})['then'](function(){if(!_['isEmpty'](_0x37c6a7)){return _0x2a3b8e['removeAgents'](_0x37c6a7,{'transaction':_0xf34b55});}})[_0xaaf8('0x2a')](function(){_0x37c6a7[_0xaaf8('0x6b')](function(_0x219b6d){socket[_0xaaf8('0x6c')](_0xaaf8('0x83'),{'UserId':_0x219b6d,'OpenchannelQueueId':_0x2a3b8e['id']});});});});});});})[_0xaaf8('0x2a')](respondWithStatusCode(_0x4f1390,null))[_0xaaf8('0x49')](handleError(_0x4f1390,null));};exports[_0xaaf8('0x84')]=function(_0x50fea8,_0x75c98a,_0x32dc63){return db[_0xaaf8('0x2f')]['find']({'where':{'id':_0x50fea8[_0xaaf8('0x55')]['id']}})['then'](handleEntityNotFound(_0x75c98a,null))[_0xaaf8('0x2a')](function(_0x3da142){if(_0x3da142){return _0x3da142[_0xaaf8('0x84')](_0x50fea8['body'][_0xaaf8('0x82')],_[_0xaaf8('0x85')](_0x50fea8[_0xaaf8('0x4c')],[_0xaaf8('0x82'),'id'])||{})[_0xaaf8('0x86')](function(_0x2089ee){for(var _0xba32dd=0x0;_0xba32dd<_0x50fea8[_0xaaf8('0x4c')][_0xaaf8('0x82')][_0xaaf8('0x3b')];_0xba32dd+=0x1){socket[_0xaaf8('0x6c')](_0xaaf8('0x87'),{'UserId':Number(_0x50fea8[_0xaaf8('0x4c')][_0xaaf8('0x82')][_0xba32dd]),'OpenchannelQueueId':Number(_0x50fea8[_0xaaf8('0x55')]['id'])});}return _0x2089ee;});}})[_0xaaf8('0x2a')](respondWithResult(_0x75c98a,null))[_0xaaf8('0x49')](handleError(_0x75c98a,null));};exports['removeAgents']=function(_0x3c2cca,_0x7cd490,_0x36c232){return db[_0xaaf8('0x2f')][_0xaaf8('0x51')]({'where':{'id':_0x3c2cca['params']['id']}})['then'](handleEntityNotFound(_0x7cd490,null))[_0xaaf8('0x2a')](function(_0x57ccd7){if(_0x57ccd7){return _0x57ccd7['removeAgents'](_0x3c2cca[_0xaaf8('0x36')][_0xaaf8('0x82')])[_0xaaf8('0x2a')](function(){if(_['isArray'](_0x3c2cca[_0xaaf8('0x36')]['ids'])){for(var _0xd2a67a=0x0;_0xd2a67a<_0x3c2cca[_0xaaf8('0x36')][_0xaaf8('0x82')]['length'];_0xd2a67a+=0x1){socket[_0xaaf8('0x6c')](_0xaaf8('0x83'),{'UserId':Number(_0x3c2cca[_0xaaf8('0x36')][_0xaaf8('0x82')][_0xd2a67a]),'OpenchannelQueueId':Number(_0x3c2cca[_0xaaf8('0x55')]['id'])});}}else{socket[_0xaaf8('0x6c')](_0xaaf8('0x83'),{'UserId':Number(_0x3c2cca[_0xaaf8('0x36')]['ids']),'OpenchannelQueueId':Number(_0x3c2cca['params']['id'])});}});}})['then'](respondWithStatusCode(_0x7cd490,null))['catch'](handleError(_0x7cd490,null));};exports[_0xaaf8('0x88')]=function(_0x2062f0,_0x37971a,_0x42ab24){var _0x5d1eb7={};var _0x562277={};var _0x465443;var _0x2f2674;return db[_0xaaf8('0x2f')][_0xaaf8('0x57')]({'where':{'id':_0x2062f0['params']['id']}})[_0xaaf8('0x2a')](handleEntityNotFound(_0x37971a,null))[_0xaaf8('0x2a')](function(_0x4803d0){if(_0x4803d0){_0x465443=_0x4803d0;_0x562277['model']=_[_0xaaf8('0x35')](db[_0xaaf8('0x59')][_0xaaf8('0x30')]);_0x562277[_0xaaf8('0x36')]=_[_0xaaf8('0x35')](_0x2062f0[_0xaaf8('0x36')]);_0x562277[_0xaaf8('0x37')]=_[_0xaaf8('0x38')](_0x562277[_0xaaf8('0x34')],_0x562277[_0xaaf8('0x36')]);_0x5d1eb7[_0xaaf8('0x3a')]=_['intersection'](_0x562277['model'],qs['fields'](_0x2062f0[_0xaaf8('0x36')][_0xaaf8('0x39')]));_0x5d1eb7[_0xaaf8('0x3a')]=_0x5d1eb7[_0xaaf8('0x3a')][_0xaaf8('0x3b')]?_0x5d1eb7[_0xaaf8('0x3a')]:_0x562277[_0xaaf8('0x34')];_0x5d1eb7[_0xaaf8('0x3e')]=qs['sort'](_0x2062f0[_0xaaf8('0x36')]['sort']);_0x5d1eb7[_0xaaf8('0x42')]=qs[_0xaaf8('0x37')](_[_0xaaf8('0x40')](_0x2062f0[_0xaaf8('0x36')],_0x562277[_0xaaf8('0x37')]));if(_0x2062f0[_0xaaf8('0x36')]['filter']){_0x5d1eb7[_0xaaf8('0x42')]=_[_0xaaf8('0x44')](_0x5d1eb7[_0xaaf8('0x42')],{'$or':_[_0xaaf8('0x2e')](_0x5d1eb7['attributes'],function(_0x364f60){var _0x4db7a5={};_0x4db7a5[_0x364f60]={'$like':'%'+_0x2062f0[_0xaaf8('0x36')][_0xaaf8('0x41')]+'%'};return _0x4db7a5;})});}_0x5d1eb7=_[_0xaaf8('0x44')]({},_0x5d1eb7,_0x2062f0[_0xaaf8('0x45')]);return _0x465443['getAgents'](_0x5d1eb7);}})['then'](function(_0x549c5a){if(_0x549c5a){_0x2f2674=_0x549c5a[_0xaaf8('0x3b')];if(!_0x2062f0[_0xaaf8('0x36')][_0xaaf8('0x3c')](_0xaaf8('0x3d'))){_0x5d1eb7[_0xaaf8('0x22')]=qs['limit'](_0x2062f0[_0xaaf8('0x36')]['limit']);_0x5d1eb7[_0xaaf8('0x24')]=qs[_0xaaf8('0x24')](_0x2062f0[_0xaaf8('0x36')]['offset']);}return _0x465443[_0xaaf8('0x88')](_0x5d1eb7);}})[_0xaaf8('0x2a')](function(_0x46f015){if(_0x46f015){return _0x46f015?{'count':_0x2f2674,'rows':_0x46f015}:null;}})[_0xaaf8('0x2a')](respondWithResult(_0x37971a,null))[_0xaaf8('0x49')](handleError(_0x37971a,null));};