Built motion from commit 88aa8522.|2.5.37
[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 _0xc925=['ids','isEmpty','forEach','addAgents','omit','spread','userOpenchannelQueue:save','removeAgents','isArray','userOpenchannelQueue:remove','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','./openchannelQueue.socket','register','status','undefined','limit','count','Content-Range','json','apply','update','destroy','then','get','OpenchannelQueues','UserProfileResource','end','sendStatus','error','stack','name','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','OpenchannelQueue','includeAll','findAll','rows','catch','show','length','include','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','userProfileId','params','describe','getMembers','OpenchannelQueueId','UserOpenchannelQueue','User','findAndCountAll','UserId','agent','createdAt','format','%s/%s','openchannelPause','updatedAt','findOne','Team','getTeams','addTeams','Agents','online','flatMap','transaction','each','emit','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','push','sequelize','toString','SELECT','every','TeamId','includes','all','union','compact'];(function(_0x2b10c6,_0x185590){var _0x3789d2=function(_0x272987){while(--_0x272987){_0x2b10c6['push'](_0x2b10c6['shift']());}};_0x3789d2(++_0x185590);}(_0xc925,0x98));var _0x5c92=function(_0x3cf33e,_0x40e360){_0x3cf33e=_0x3cf33e-0x0;var _0x5afbcb=_0xc925[_0x3cf33e];return _0x5afbcb;};'use strict';var emlformat=require(_0x5c92('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5c92('0x1'));var jsonpatch=require(_0x5c92('0x2'));var rp=require(_0x5c92('0x3'));var moment=require(_0x5c92('0x4'));var BPromise=require(_0x5c92('0x5'));var Mustache=require(_0x5c92('0x6'));var util=require('util');var path=require(_0x5c92('0x7'));var sox=require(_0x5c92('0x8'));var csv=require(_0x5c92('0x9'));var ejs=require(_0x5c92('0xa'));var fs=require('fs');var fs_extra=require(_0x5c92('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x5c92('0xc'));var jsforce=require(_0x5c92('0xd'));var deskjs=require(_0x5c92('0xe'));var toCsv=require(_0x5c92('0x9'));var querystring=require(_0x5c92('0xf'));var Papa=require(_0x5c92('0x10'));var Redis=require(_0x5c92('0x11'));var authService=require(_0x5c92('0x12'));var qs=require(_0x5c92('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5c92('0x14'))(_0x5c92('0x15'));var utils=require(_0x5c92('0x16'));var config=require(_0x5c92('0x17'));var licenseUtil=require(_0x5c92('0x18'));var db=require('../../mysqldb')['db'];config[_0x5c92('0x19')]=_[_0x5c92('0x1a')](config['redis'],{'host':_0x5c92('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x5c92('0x19')]));require(_0x5c92('0x1c'))[_0x5c92('0x1d')](socket);function respondWithStatusCode(_0x3ad9c9,_0x4d2e87){_0x4d2e87=_0x4d2e87||0xcc;return function(_0x381511){if(_0x381511){return _0x3ad9c9['sendStatus'](_0x4d2e87);}return _0x3ad9c9[_0x5c92('0x1e')](_0x4d2e87)['end']();};}function respondWithResult(_0x4d66f1,_0x7eda2b){_0x7eda2b=_0x7eda2b||0xc8;return function(_0x27dcc1){if(_0x27dcc1){return _0x4d66f1[_0x5c92('0x1e')](_0x7eda2b)['json'](_0x27dcc1);}};}function respondWithFilteredResult(_0x152996,_0x2ca8ca){return function(_0x362399){if(_0x362399){var _0x114217=typeof _0x2ca8ca['offset']===_0x5c92('0x1f')&&typeof _0x2ca8ca[_0x5c92('0x20')]===_0x5c92('0x1f');var _0x2cd6a4=_0x362399[_0x5c92('0x21')];var _0xfbdbb3=_0x114217?0x0:_0x2ca8ca['offset'];var _0x4e7efb=_0x114217?_0x362399[_0x5c92('0x21')]:_0x2ca8ca['offset']+_0x2ca8ca[_0x5c92('0x20')];var _0x15cd46;if(_0x4e7efb>=_0x2cd6a4){_0x4e7efb=_0x2cd6a4;_0x15cd46=0xc8;}else{_0x15cd46=0xce;}_0x152996[_0x5c92('0x1e')](_0x15cd46);return _0x152996['set'](_0x5c92('0x22'),_0xfbdbb3+'-'+_0x4e7efb+'/'+_0x2cd6a4)[_0x5c92('0x23')](_0x362399);}return null;};}function patchUpdates(_0xe5d00c){return function(_0xff05a4){try{jsonpatch[_0x5c92('0x24')](_0xff05a4,_0xe5d00c,!![]);}catch(_0x1831f7){return BPromise['reject'](_0x1831f7);}return _0xff05a4['save']();};}function saveUpdates(_0x1430b9,_0x30f732){return function(_0x37ae07){if(_0x37ae07){return _0x37ae07[_0x5c92('0x25')](_0x1430b9)['then'](function(_0x51b04c){return _0x51b04c;});}return null;};}function removeEntity(_0x11f315,_0x48cf43){return function(_0x333a79){if(_0x333a79){return _0x333a79[_0x5c92('0x26')]()[_0x5c92('0x27')](function(){var _0x2c753f=_0x333a79[_0x5c92('0x28')]({'plain':!![]});var _0x232b1c=_0x5c92('0x29');return db[_0x5c92('0x2a')][_0x5c92('0x26')]({'where':{'type':_0x232b1c,'resourceId':_0x2c753f['id']}})['then'](function(){return _0x333a79;});})['then'](function(){_0x11f315[_0x5c92('0x1e')](0xcc)[_0x5c92('0x2b')]();});}};}function handleEntityNotFound(_0x1d99b8,_0x3b7c2c){return function(_0x2c43ea){if(!_0x2c43ea){_0x1d99b8[_0x5c92('0x2c')](0x194);}return _0x2c43ea;};}function handleError(_0x29a539,_0x57e41e){_0x57e41e=_0x57e41e||0x1f4;return function(_0x2a75b2){logger[_0x5c92('0x2d')](_0x2a75b2[_0x5c92('0x2e')]);if(_0x2a75b2[_0x5c92('0x2f')]){delete _0x2a75b2[_0x5c92('0x2f')];}_0x29a539['status'](_0x57e41e)['send'](_0x2a75b2);};}exports[_0x5c92('0x30')]=function(_0x5d844e,_0x351659){var _0x4f66dd={},_0x2e61e0={},_0x45a41c={'count':0x0,'rows':[]};var _0x2f4998=_[_0x5c92('0x31')](db['OpenchannelQueue'][_0x5c92('0x32')],function(_0x71dfd3){return{'name':_0x71dfd3[_0x5c92('0x33')],'type':_0x71dfd3[_0x5c92('0x34')]['key']};});_0x2e61e0[_0x5c92('0x35')]=_['map'](_0x2f4998,_0x5c92('0x2f'));_0x2e61e0[_0x5c92('0x36')]=_[_0x5c92('0x37')](_0x5d844e[_0x5c92('0x36')]);_0x2e61e0[_0x5c92('0x38')]=_[_0x5c92('0x39')](_0x2e61e0[_0x5c92('0x35')],_0x2e61e0[_0x5c92('0x36')]);_0x4f66dd[_0x5c92('0x3a')]=_['intersection'](_0x2e61e0['model'],qs[_0x5c92('0x3b')](_0x5d844e[_0x5c92('0x36')][_0x5c92('0x3b')]));_0x4f66dd[_0x5c92('0x3a')]=_0x4f66dd[_0x5c92('0x3a')]['length']?_0x4f66dd[_0x5c92('0x3a')]:_0x2e61e0[_0x5c92('0x35')];if(!_0x5d844e[_0x5c92('0x36')][_0x5c92('0x3c')](_0x5c92('0x3d'))){_0x4f66dd['limit']=qs['limit'](_0x5d844e['query'][_0x5c92('0x20')]);_0x4f66dd[_0x5c92('0x3e')]=qs[_0x5c92('0x3e')](_0x5d844e[_0x5c92('0x36')]['offset']);}_0x4f66dd[_0x5c92('0x3f')]=qs[_0x5c92('0x40')](_0x5d844e[_0x5c92('0x36')][_0x5c92('0x40')]);_0x4f66dd[_0x5c92('0x41')]=qs['filters'](_[_0x5c92('0x42')](_0x5d844e[_0x5c92('0x36')],_0x2e61e0[_0x5c92('0x38')]),_0x2f4998);if(_0x5d844e[_0x5c92('0x36')][_0x5c92('0x43')]){_0x4f66dd[_0x5c92('0x41')]=_[_0x5c92('0x44')](_0x4f66dd[_0x5c92('0x41')],{'$or':_[_0x5c92('0x31')](_0x2f4998,function(_0x4abff6){if(_0x4abff6['type']!=='VIRTUAL'){var _0x357e0e={};_0x357e0e[_0x4abff6[_0x5c92('0x2f')]]={'$like':'%'+_0x5d844e[_0x5c92('0x36')][_0x5c92('0x43')]+'%'};return _0x357e0e;}})});}_0x4f66dd=_[_0x5c92('0x44')]({},_0x4f66dd,_0x5d844e['options']);var _0x66dd47={'where':_0x4f66dd[_0x5c92('0x41')]};return db[_0x5c92('0x45')][_0x5c92('0x21')](_0x66dd47)['then'](function(_0x1aa986){_0x45a41c[_0x5c92('0x21')]=_0x1aa986;if(_0x5d844e[_0x5c92('0x36')][_0x5c92('0x46')]){_0x4f66dd['include']=[{'all':!![]}];}return db['OpenchannelQueue'][_0x5c92('0x47')](_0x4f66dd);})[_0x5c92('0x27')](function(_0x47f3a0){_0x45a41c[_0x5c92('0x48')]=_0x47f3a0;return _0x45a41c;})[_0x5c92('0x27')](respondWithFilteredResult(_0x351659,_0x4f66dd))[_0x5c92('0x49')](handleError(_0x351659,null));};exports[_0x5c92('0x4a')]=function(_0x1ac194,_0x1c46cc){var _0x381ca5={'raw':!![],'where':{'id':_0x1ac194['params']['id']}},_0xbced80={};_0xbced80['model']=_['keys'](db[_0x5c92('0x45')]['rawAttributes']);_0xbced80[_0x5c92('0x36')]=_['keys'](_0x1ac194[_0x5c92('0x36')]);_0xbced80[_0x5c92('0x38')]=_[_0x5c92('0x39')](_0xbced80[_0x5c92('0x35')],_0xbced80[_0x5c92('0x36')]);_0x381ca5[_0x5c92('0x3a')]=_['intersection'](_0xbced80[_0x5c92('0x35')],qs[_0x5c92('0x3b')](_0x1ac194[_0x5c92('0x36')][_0x5c92('0x3b')]));_0x381ca5['attributes']=_0x381ca5[_0x5c92('0x3a')][_0x5c92('0x4b')]?_0x381ca5[_0x5c92('0x3a')]:_0xbced80[_0x5c92('0x35')];if(_0x1ac194['query'][_0x5c92('0x46')]){_0x381ca5[_0x5c92('0x4c')]=[{'all':!![]}];}_0x381ca5=_['merge']({},_0x381ca5,_0x1ac194[_0x5c92('0x4d')]);return db[_0x5c92('0x45')]['find'](_0x381ca5)[_0x5c92('0x27')](handleEntityNotFound(_0x1c46cc,null))[_0x5c92('0x27')](respondWithResult(_0x1c46cc,null))[_0x5c92('0x49')](handleError(_0x1c46cc,null));};exports[_0x5c92('0x4e')]=function(_0x268a5e,_0xfea299){return db[_0x5c92('0x45')][_0x5c92('0x4e')](_0x268a5e[_0x5c92('0x4f')],{})[_0x5c92('0x27')](function(_0x300aba){var _0x2c2b67=_0x268a5e[_0x5c92('0x50')][_0x5c92('0x28')]({'plain':!![]});if(!_0x2c2b67)throw new Error(_0x5c92('0x51'));if(_0x2c2b67['role']==='user'){var _0x24de66=_0x300aba[_0x5c92('0x28')]({'plain':!![]});var _0x50e08b=_0x5c92('0x29');return db[_0x5c92('0x52')][_0x5c92('0x53')]({'where':{'name':_0x50e08b,'userProfileId':_0x2c2b67[_0x5c92('0x54')]},'raw':!![]})[_0x5c92('0x27')](function(_0x408013){if(_0x408013&&_0x408013['autoAssociation']===0x0){return db[_0x5c92('0x2a')]['create']({'name':_0x24de66[_0x5c92('0x2f')],'resourceId':_0x24de66['id'],'type':_0x408013['name'],'sectionId':_0x408013['id']},{})[_0x5c92('0x27')](function(){return _0x300aba;});}else{return _0x300aba;}})[_0x5c92('0x49')](function(_0x4e8d4a){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4e8d4a);throw _0x4e8d4a;});}return _0x300aba;})[_0x5c92('0x27')](respondWithResult(_0xfea299,0xc9))['catch'](handleError(_0xfea299,null));};exports['update']=function(_0x10a9c6,_0x3fd332){if(_0x10a9c6['body']['id']){delete _0x10a9c6[_0x5c92('0x4f')]['id'];}return db[_0x5c92('0x45')][_0x5c92('0x53')]({'where':{'id':_0x10a9c6[_0x5c92('0x55')]['id']}})[_0x5c92('0x27')](handleEntityNotFound(_0x3fd332,null))['then'](saveUpdates(_0x10a9c6['body'],null))['then'](respondWithResult(_0x3fd332,null))[_0x5c92('0x49')](handleError(_0x3fd332,null));};exports['destroy']=function(_0xe8e9b2,_0x3b8cf5){return db[_0x5c92('0x45')][_0x5c92('0x53')]({'where':{'id':_0xe8e9b2['params']['id']}})['then'](handleEntityNotFound(_0x3b8cf5,null))[_0x5c92('0x27')](removeEntity(_0x3b8cf5,null))[_0x5c92('0x49')](handleError(_0x3b8cf5,null));};exports[_0x5c92('0x56')]=function(_0x5ba38f,_0x346920){return db[_0x5c92('0x45')][_0x5c92('0x56')]()[_0x5c92('0x27')](respondWithResult(_0x346920,null))[_0x5c92('0x49')](handleError(_0x346920,null));};exports[_0x5c92('0x57')]=function(_0x1698b4,_0x1136f0,_0x542c0a){var _0x5ae155={'raw':!![],'where':{}},_0x5bb606={},_0x3fa2fe;return db[_0x5c92('0x45')]['findOne']({'where':{'id':_0x1698b4['params']['id']}})[_0x5c92('0x27')](handleEntityNotFound(_0x1136f0,null))['then'](function(_0x5637d3){if(_0x5637d3){_0x3fa2fe=_0x5637d3[_0x5c92('0x28')]({'plain':!![]});_0x5bb606[_0x5c92('0x35')]=_[_0x5c92('0x37')](db['UserOpenchannelQueue']['rawAttributes']);_0x5bb606[_0x5c92('0x36')]=_[_0x5c92('0x37')](_0x1698b4['query']);_0x5bb606[_0x5c92('0x38')]=_['intersection'](_0x5bb606[_0x5c92('0x35')],_0x5bb606[_0x5c92('0x36')]);_0x5ae155[_0x5c92('0x3a')]=_[_0x5c92('0x39')](_0x5bb606[_0x5c92('0x35')],qs[_0x5c92('0x3b')](_0x1698b4[_0x5c92('0x36')][_0x5c92('0x3b')]));_0x5ae155[_0x5c92('0x3a')]=_0x5ae155['attributes']['length']?_0x5ae155['attributes']:_0x5bb606[_0x5c92('0x35')];if(!_0x1698b4[_0x5c92('0x36')][_0x5c92('0x3c')]('nolimit')){_0x5ae155[_0x5c92('0x20')]=qs[_0x5c92('0x20')](_0x1698b4[_0x5c92('0x36')][_0x5c92('0x20')]);_0x5ae155[_0x5c92('0x3e')]=qs[_0x5c92('0x3e')](_0x1698b4[_0x5c92('0x36')][_0x5c92('0x3e')]);}_0x5ae155[_0x5c92('0x3f')]=qs['sort'](_0x1698b4[_0x5c92('0x36')][_0x5c92('0x40')]);_0x5ae155[_0x5c92('0x41')]=qs[_0x5c92('0x38')](_['pick'](_0x1698b4[_0x5c92('0x36')],_0x5bb606[_0x5c92('0x38')]));_0x5ae155[_0x5c92('0x41')][_0x5c92('0x58')]=_0x5637d3['id'];if(_0x1698b4[_0x5c92('0x36')][_0x5c92('0x43')]){_0x5ae155[_0x5c92('0x41')]=_[_0x5c92('0x44')](_0x5ae155['where'],{'$or':_['map'](_0x5ae155[_0x5c92('0x3a')],function(_0x4a1743){var _0x12655c={};_0x12655c[_0x4a1743]={'$like':'%'+_0x1698b4[_0x5c92('0x36')][_0x5c92('0x43')]+'%'};return _0x12655c;})});}_0x5ae155=_[_0x5c92('0x44')]({},_0x5ae155,_0x1698b4[_0x5c92('0x4d')]);return db[_0x5c92('0x59')]['findAll'](_0x5ae155);}})['then'](function(_0x30f1df){if(_0x30f1df){return db[_0x5c92('0x5a')][_0x5c92('0x5b')]({'where':{'id':_[_0x5c92('0x31')](_0x30f1df,_0x5c92('0x5c')),'role':_0x5c92('0x5d')},'attributes':['id',_0x5c92('0x2f'),'openchannelPause','updatedAt',_0x5c92('0x5e')]});}})[_0x5c92('0x27')](function(_0x20edbc){if(_0x20edbc){return{'count':_0x20edbc[_0x5c92('0x21')],'rows':_['map'](_0x20edbc['rows'],function(_0x3180a6){return{'membername':_0x3180a6[_0x5c92('0x2f')],'UserId':_0x3180a6['id'],'queue_name':_0x3fa2fe[_0x5c92('0x2f')],'OpenchannelQueueId':_0x3fa2fe['id'],'interface':util[_0x5c92('0x5f')](_0x5c92('0x60'),'SIP',_0x3180a6[_0x5c92('0x2f')]),'penalty':0x0,'paused':_0x3180a6[_0x5c92('0x61')],'createdAt':_0x3180a6['createdAt'],'updatedAt':_0x3180a6[_0x5c92('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x5c92('0x27')](respondWithFilteredResult(_0x1136f0,_0x5ae155))[_0x5c92('0x49')](handleError(_0x1136f0,null));};exports['getTeams']=function(_0xf666a4,_0x3cbeb0,_0x1c3c71){var _0x5e9eda={};var _0x2cb903={};var _0x31ad8e;var _0x55629a;return db['OpenchannelQueue'][_0x5c92('0x63')]({'where':{'id':_0xf666a4[_0x5c92('0x55')]['id']}})[_0x5c92('0x27')](handleEntityNotFound(_0x3cbeb0,null))[_0x5c92('0x27')](function(_0x2452ec){if(_0x2452ec){_0x31ad8e=_0x2452ec;_0x2cb903['model']=_[_0x5c92('0x37')](db[_0x5c92('0x64')][_0x5c92('0x32')]);_0x2cb903[_0x5c92('0x36')]=_[_0x5c92('0x37')](_0xf666a4[_0x5c92('0x36')]);_0x2cb903[_0x5c92('0x38')]=_[_0x5c92('0x39')](_0x2cb903[_0x5c92('0x35')],_0x2cb903[_0x5c92('0x36')]);_0x5e9eda[_0x5c92('0x3a')]=_[_0x5c92('0x39')](_0x2cb903[_0x5c92('0x35')],qs[_0x5c92('0x3b')](_0xf666a4[_0x5c92('0x36')][_0x5c92('0x3b')]));_0x5e9eda[_0x5c92('0x3a')]=_0x5e9eda[_0x5c92('0x3a')][_0x5c92('0x4b')]?_0x5e9eda['attributes']:_0x2cb903[_0x5c92('0x35')];_0x5e9eda[_0x5c92('0x3f')]=qs[_0x5c92('0x40')](_0xf666a4[_0x5c92('0x36')][_0x5c92('0x40')]);_0x5e9eda[_0x5c92('0x41')]=qs[_0x5c92('0x38')](_[_0x5c92('0x42')](_0xf666a4[_0x5c92('0x36')],_0x2cb903[_0x5c92('0x38')]));if(_0xf666a4['query'][_0x5c92('0x43')]){_0x5e9eda[_0x5c92('0x41')]=_[_0x5c92('0x44')](_0x5e9eda[_0x5c92('0x41')],{'$or':_[_0x5c92('0x31')](_0x5e9eda['attributes'],function(_0x491638){var _0x302889={};_0x302889[_0x491638]={'$like':'%'+_0xf666a4[_0x5c92('0x36')][_0x5c92('0x43')]+'%'};return _0x302889;})});}_0x5e9eda=_['merge']({},_0x5e9eda,_0xf666a4[_0x5c92('0x4d')]);return _0x31ad8e[_0x5c92('0x65')](_0x5e9eda);}})[_0x5c92('0x27')](function(_0x377d9e){if(_0x377d9e){_0x55629a=_0x377d9e['length'];if(!_0xf666a4['query'][_0x5c92('0x3c')](_0x5c92('0x3d'))){_0x5e9eda['limit']=qs['limit'](_0xf666a4[_0x5c92('0x36')][_0x5c92('0x20')]);_0x5e9eda['offset']=qs[_0x5c92('0x3e')](_0xf666a4[_0x5c92('0x36')][_0x5c92('0x3e')]);}return _0x31ad8e[_0x5c92('0x65')](_0x5e9eda);}})[_0x5c92('0x27')](function(_0x443076){if(_0x443076){return _0x443076?{'count':_0x55629a,'rows':_0x443076}:null;}})['then'](respondWithResult(_0x3cbeb0,null))['catch'](handleError(_0x3cbeb0,null));};exports[_0x5c92('0x66')]=function(_0x3b3cc2,_0xe159e0,_0x5e00aa){var _0xadb18=_0x3b3cc2[_0x5c92('0x4f')]['ids'];return db[_0x5c92('0x64')][_0x5c92('0x47')]({'where':{'id':_0xadb18},'attributes':['id'],'include':[{'model':db[_0x5c92('0x5a')],'as':_0x5c92('0x67'),'attributes':['id',_0x5c92('0x2f'),_0x5c92('0x68'),'voicePause','interface'],'raw':!![]}]})[_0x5c92('0x27')](function(_0xa294e0){if(_0xa294e0){var _0x4230c8=_[_0x5c92('0x69')](_0xa294e0,function(_0x4600a2){var _0x1028ce=_0x4600a2[_0x5c92('0x28')]({'plain':!![]});return _0x1028ce['Agents'];});return db[_0x5c92('0x45')][_0x5c92('0x53')]({'where':{'id':_0x3b3cc2['params']['id']}})[_0x5c92('0x27')](function(_0x36776c){return db['sequelize'][_0x5c92('0x6a')](function(_0x4bc59e){return _0x36776c['addTeams'](_0xadb18,{'transaction':_0x4bc59e})[_0x5c92('0x27')](function(){return BPromise[_0x5c92('0x6b')](_0x4230c8,function(_0x3ed4ae){return db['UserOpenchannelQueue']['findOrCreate']({'where':{'UserId':_0x3ed4ae['id'],'OpenchannelQueueId':_0x3b3cc2[_0x5c92('0x55')]['id']},'transaction':_0x4bc59e});});})['then'](function(){_0x4230c8['forEach'](function(_0x179202){socket[_0x5c92('0x6c')]('userOpenchannelQueue:save',{'UserId':_0x179202['id'],'OpenchannelQueueId':_0x36776c['id']});});});});});}})[_0x5c92('0x27')](respondWithStatusCode(_0xe159e0,null))[_0x5c92('0x49')](handleError(_0xe159e0,null));};exports[_0x5c92('0x6d')]=function(_0x504e9b,_0x32382a,_0x4c0701){return db['Team'][_0x5c92('0x47')]({'where':{'id':_0x504e9b[_0x5c92('0x36')]['ids']},'attributes':['id'],'include':[{'model':db[_0x5c92('0x5a')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x32382a,null))['then'](function(_0x270512){var _0x325489=_[_0x5c92('0x31')](_0x270512,'id');var _0x36fa3c=[];var _0x3c42c6=[];var _0x113bd1=squel[_0x5c92('0x6e')]();_0x113bd1[_0x5c92('0x6f')](_0x5c92('0x70'))[_0x5c92('0x71')](_0x5c92('0x72'),'tq')[_0x5c92('0x73')](_0x5c92('0x74'),'ut',_0x5c92('0x75'))[_0x5c92('0x41')](_0x5c92('0x76'),_0x504e9b[_0x5c92('0x55')]['id']);for(var _0x57f621=0x0;_0x57f621<_0x270512[_0x5c92('0x4b')];_0x57f621+=0x1){let _0x1dc4f5=_0x270512[_0x57f621];for(var _0x5018b7=0x0;_0x5018b7<_0x1dc4f5[_0x5c92('0x67')][_0x5c92('0x4b')];_0x5018b7+=0x1){let _0x2ca63d=_0x1dc4f5[_0x5c92('0x67')][_0x5018b7];var _0x36778a=_0x113bd1[_0x5c92('0x77')]();_0x36778a[_0x5c92('0x41')]('ut.UserId\x20=\x20?',_0x2ca63d['id']);_0x3c42c6[_0x5c92('0x78')](db[_0x5c92('0x79')][_0x5c92('0x36')](_0x36778a[_0x5c92('0x7a')](),{'type':db['sequelize']['QueryTypes'][_0x5c92('0x7b')]})['then'](function(_0x57f258){if(_0x57f258[_0x5c92('0x4b')]===0x1){return _0x2ca63d['id'];}else{var _0x48c6e0=_[_0x5c92('0x7c')](_[_0x5c92('0x31')](_0x57f258,_0x5c92('0x7d')),function(_0x50bccd){return _[_0x5c92('0x7e')](_0x325489,_0x50bccd);});if(_0x48c6e0){return _0x2ca63d['id'];}}}));}}return BPromise[_0x5c92('0x7f')](_0x3c42c6)['then'](function(_0xb98dd0){_0x36fa3c=_(_0x36fa3c)[_0x5c92('0x80')](_0xb98dd0)[_0x5c92('0x81')]()['value']();return db[_0x5c92('0x45')]['find']({'where':{'id':_0x504e9b['params']['id']}})[_0x5c92('0x27')](function(_0x14acb3){return db[_0x5c92('0x79')][_0x5c92('0x6a')](function(_0x5a5bfd){return _0x14acb3[_0x5c92('0x6d')](_0x504e9b[_0x5c92('0x36')][_0x5c92('0x82')],{'transaction':_0x5a5bfd})['then'](function(){if(!_[_0x5c92('0x83')](_0x36fa3c)){return _0x14acb3['removeAgents'](_0x36fa3c,{'transaction':_0x5a5bfd});}})[_0x5c92('0x27')](function(){_0x36fa3c[_0x5c92('0x84')](function(_0x39486c){socket[_0x5c92('0x6c')]('userOpenchannelQueue:remove',{'UserId':_0x39486c,'OpenchannelQueueId':_0x14acb3['id']});});});});});});})[_0x5c92('0x27')](respondWithStatusCode(_0x32382a,null))['catch'](handleError(_0x32382a,null));};exports[_0x5c92('0x85')]=function(_0x2ee922,_0x3551e2,_0x411848){return db[_0x5c92('0x45')]['find']({'where':{'id':_0x2ee922[_0x5c92('0x55')]['id']}})[_0x5c92('0x27')](handleEntityNotFound(_0x3551e2,null))[_0x5c92('0x27')](function(_0x9e3d92){if(_0x9e3d92){return _0x9e3d92[_0x5c92('0x85')](_0x2ee922[_0x5c92('0x4f')][_0x5c92('0x82')],_[_0x5c92('0x86')](_0x2ee922[_0x5c92('0x4f')],['ids','id'])||{})[_0x5c92('0x87')](function(_0x4f3c89){for(var _0x323d34=0x0;_0x323d34<_0x2ee922[_0x5c92('0x4f')]['ids']['length'];_0x323d34+=0x1){socket[_0x5c92('0x6c')](_0x5c92('0x88'),{'UserId':Number(_0x2ee922[_0x5c92('0x4f')][_0x5c92('0x82')][_0x323d34]),'OpenchannelQueueId':Number(_0x2ee922['params']['id'])});}return _0x4f3c89;});}})[_0x5c92('0x27')](respondWithResult(_0x3551e2,null))[_0x5c92('0x49')](handleError(_0x3551e2,null));};exports[_0x5c92('0x89')]=function(_0x37863b,_0x25fb88,_0x54bc46){return db[_0x5c92('0x45')][_0x5c92('0x53')]({'where':{'id':_0x37863b[_0x5c92('0x55')]['id']}})[_0x5c92('0x27')](handleEntityNotFound(_0x25fb88,null))[_0x5c92('0x27')](function(_0x4c91b){if(_0x4c91b){return _0x4c91b['removeAgents'](_0x37863b['query'][_0x5c92('0x82')])[_0x5c92('0x27')](function(){if(_[_0x5c92('0x8a')](_0x37863b[_0x5c92('0x36')]['ids'])){for(var _0x140e03=0x0;_0x140e03<_0x37863b[_0x5c92('0x36')][_0x5c92('0x82')]['length'];_0x140e03+=0x1){socket[_0x5c92('0x6c')](_0x5c92('0x8b'),{'UserId':Number(_0x37863b['query'][_0x5c92('0x82')][_0x140e03]),'OpenchannelQueueId':Number(_0x37863b[_0x5c92('0x55')]['id'])});}}else{socket[_0x5c92('0x6c')](_0x5c92('0x8b'),{'UserId':Number(_0x37863b['query'][_0x5c92('0x82')]),'OpenchannelQueueId':Number(_0x37863b[_0x5c92('0x55')]['id'])});}});}})[_0x5c92('0x27')](respondWithStatusCode(_0x25fb88,null))['catch'](handleError(_0x25fb88,null));};exports[_0x5c92('0x8c')]=function(_0x18e23f,_0x44a122,_0x45337e){var _0x461024={};var _0x2739a5={};var _0x340588;var _0xc95511;return db[_0x5c92('0x45')][_0x5c92('0x63')]({'where':{'id':_0x18e23f[_0x5c92('0x55')]['id']}})[_0x5c92('0x27')](handleEntityNotFound(_0x44a122,null))[_0x5c92('0x27')](function(_0xe51c37){if(_0xe51c37){_0x340588=_0xe51c37;_0x2739a5[_0x5c92('0x35')]=_[_0x5c92('0x37')](db[_0x5c92('0x5a')][_0x5c92('0x32')]);_0x2739a5[_0x5c92('0x36')]=_[_0x5c92('0x37')](_0x18e23f[_0x5c92('0x36')]);_0x2739a5[_0x5c92('0x38')]=_[_0x5c92('0x39')](_0x2739a5['model'],_0x2739a5[_0x5c92('0x36')]);_0x461024[_0x5c92('0x3a')]=_[_0x5c92('0x39')](_0x2739a5[_0x5c92('0x35')],qs[_0x5c92('0x3b')](_0x18e23f['query'][_0x5c92('0x3b')]));_0x461024['attributes']=_0x461024['attributes'][_0x5c92('0x4b')]?_0x461024['attributes']:_0x2739a5['model'];_0x461024[_0x5c92('0x3f')]=qs['sort'](_0x18e23f[_0x5c92('0x36')][_0x5c92('0x40')]);_0x461024[_0x5c92('0x41')]=qs[_0x5c92('0x38')](_[_0x5c92('0x42')](_0x18e23f[_0x5c92('0x36')],_0x2739a5['filters']));if(_0x18e23f[_0x5c92('0x36')]['filter']){_0x461024[_0x5c92('0x41')]=_[_0x5c92('0x44')](_0x461024['where'],{'$or':_['map'](_0x461024[_0x5c92('0x3a')],function(_0x4e1710){var _0x55ee54={};_0x55ee54[_0x4e1710]={'$like':'%'+_0x18e23f[_0x5c92('0x36')][_0x5c92('0x43')]+'%'};return _0x55ee54;})});}_0x461024=_[_0x5c92('0x44')]({},_0x461024,_0x18e23f[_0x5c92('0x4d')]);return _0x340588[_0x5c92('0x8c')](_0x461024);}})[_0x5c92('0x27')](function(_0x5ba32b){if(_0x5ba32b){_0xc95511=_0x5ba32b['length'];if(!_0x18e23f[_0x5c92('0x36')][_0x5c92('0x3c')](_0x5c92('0x3d'))){_0x461024['limit']=qs[_0x5c92('0x20')](_0x18e23f[_0x5c92('0x36')][_0x5c92('0x20')]);_0x461024[_0x5c92('0x3e')]=qs[_0x5c92('0x3e')](_0x18e23f['query'][_0x5c92('0x3e')]);}return _0x340588[_0x5c92('0x8c')](_0x461024);}})[_0x5c92('0x27')](function(_0x594c48){if(_0x594c48){return _0x594c48?{'count':_0xc95511,'rows':_0x594c48}:null;}})[_0x5c92('0x27')](respondWithResult(_0x44a122,null))[_0x5c92('0x49')](handleError(_0x44a122,null));};