afff81bb1353b05436ce2ceb86be49cc36983e71
[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 _0x9ffc=['getMembers','findOne','UserOpenchannelQueue','OpenchannelQueueId','User','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','format','SIP','getTeams','Team','addTeams','Agents','voicePause','interface','sequelize','transaction','each','findOrCreate','forEach','userOpenchannelQueue:save','removeTeams','ids','select','field','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','toString','QueryTypes','SELECT','every','TeamId','all','union','compact','isEmpty','emit','userOpenchannelQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','redis','localhost','register','sendStatus','end','status','json','count','offset','set','reject','update','then','destroy','get','OpenchannelQueues','UserProfileResource','error','stack','name','index','map','OpenchannelQueue','rawAttributes','fieldName','key','keys','query','intersection','attributes','model','fields','hasOwnProperty','nolimit','limit','order','sort','where','filters','pick','merge','type','VIRTUAL','filter','options','includeAll','findAll','rows','show','params','length','find','catch','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe'];(function(_0x268f21,_0x211a4b){var _0x28a293=function(_0x1ea9ff){while(--_0x1ea9ff){_0x268f21['push'](_0x268f21['shift']());}};_0x28a293(++_0x211a4b);}(_0x9ffc,0xc0));var _0xc9ff=function(_0x16771d,_0x224c60){_0x16771d=_0x16771d-0x0;var _0x386f11=_0x9ffc[_0x16771d];return _0x386f11;};'use strict';var pdf=require(_0xc9ff('0x0'));var emlformat=require(_0xc9ff('0x1'));var rimraf=require(_0xc9ff('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc9ff('0x3'));var rp=require(_0xc9ff('0x4'));var moment=require(_0xc9ff('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc9ff('0x6'));var path=require(_0xc9ff('0x7'));var sox=require(_0xc9ff('0x8'));var csv=require(_0xc9ff('0x9'));var ejs=require(_0xc9ff('0xa'));var fs=require('fs');var _=require(_0xc9ff('0xb'));var squel=require(_0xc9ff('0xc'));var crypto=require(_0xc9ff('0xd'));var jsforce=require(_0xc9ff('0xe'));var deskjs=require(_0xc9ff('0xf'));var toCsv=require(_0xc9ff('0x9'));var querystring=require(_0xc9ff('0x10'));var Papa=require(_0xc9ff('0x11'));var Redis=require(_0xc9ff('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xc9ff('0x13'));var as=require(_0xc9ff('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc9ff('0x15'))(_0xc9ff('0x16'));var utils=require(_0xc9ff('0x17'));var config=require(_0xc9ff('0x18'));var db=require('../../mysqldb')['db'];config[_0xc9ff('0x19')]=_['defaults'](config[_0xc9ff('0x19')],{'host':_0xc9ff('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xc9ff('0x19')]));require('./openchannelQueue.socket')[_0xc9ff('0x1b')](socket);function respondWithStatusCode(_0x41a93e,_0x4b9701){_0x4b9701=_0x4b9701||0xcc;return function(_0x4f8b90){if(_0x4f8b90){return _0x41a93e[_0xc9ff('0x1c')](_0x4b9701);}return _0x41a93e['status'](_0x4b9701)[_0xc9ff('0x1d')]();};}function respondWithResult(_0x258eb5,_0x57eca7){_0x57eca7=_0x57eca7||0xc8;return function(_0x5f0d03){if(_0x5f0d03){return _0x258eb5[_0xc9ff('0x1e')](_0x57eca7)[_0xc9ff('0x1f')](_0x5f0d03);}};}function respondWithFilteredResult(_0x21d7ce,_0x40cc66){return function(_0x36657b){if(_0x36657b){var _0x238f2e=_0x36657b[_0xc9ff('0x20')],_0x22085a=_0x40cc66['offset'],_0x48f8cc=_0x40cc66[_0xc9ff('0x21')]+_0x40cc66['limit'],_0x1f452d;if(_0x48f8cc>=_0x238f2e){_0x48f8cc=_0x238f2e;_0x1f452d=0xc8;}else{_0x1f452d=0xce;}_0x21d7ce[_0xc9ff('0x1e')](_0x1f452d);return _0x21d7ce[_0xc9ff('0x22')]('Content-Range',_0x22085a+'-'+_0x48f8cc+'/'+_0x238f2e)[_0xc9ff('0x1f')](_0x36657b);}return null;};}function patchUpdates(_0x1b3c94){return function(_0xc997a6){try{jsonpatch['apply'](_0xc997a6,_0x1b3c94,!![]);}catch(_0x1f7fc0){return BPromise[_0xc9ff('0x23')](_0x1f7fc0);}return _0xc997a6['save']();};}function saveUpdates(_0x5c038e,_0x104b8c){return function(_0x42fddf){if(_0x42fddf){return _0x42fddf[_0xc9ff('0x24')](_0x5c038e)[_0xc9ff('0x25')](function(_0x2a9e1a){return _0x2a9e1a;});}return null;};}function removeEntity(_0x1a182f,_0x486dd1){return function(_0x48f0db){if(_0x48f0db){return _0x48f0db[_0xc9ff('0x26')]()[_0xc9ff('0x25')](function(){var _0x4dfc5d=_0x48f0db[_0xc9ff('0x27')]({'plain':!![]});var _0x1b2d3c=_0xc9ff('0x28');return db[_0xc9ff('0x29')][_0xc9ff('0x26')]({'where':{'type':_0x1b2d3c,'resourceId':_0x4dfc5d['id']}})[_0xc9ff('0x25')](function(){return _0x48f0db;});})[_0xc9ff('0x25')](function(){_0x1a182f['status'](0xcc)[_0xc9ff('0x1d')]();});}};}function handleEntityNotFound(_0x1f89b6,_0x1bc3d2){return function(_0x50dd59){if(!_0x50dd59){_0x1f89b6['sendStatus'](0x194);}return _0x50dd59;};}function handleError(_0x493fcf,_0x3a7a28){_0x3a7a28=_0x3a7a28||0x1f4;return function(_0x494b65){logger[_0xc9ff('0x2a')](_0x494b65[_0xc9ff('0x2b')]);if(_0x494b65[_0xc9ff('0x2c')]){delete _0x494b65[_0xc9ff('0x2c')];}_0x493fcf[_0xc9ff('0x1e')](_0x3a7a28)['send'](_0x494b65);};}exports[_0xc9ff('0x2d')]=function(_0x97ebf3,_0x534df0){var _0x41f653={},_0x588796={},_0x412233={'count':0x0,'rows':[]};var _0x29d885=_[_0xc9ff('0x2e')](db[_0xc9ff('0x2f')][_0xc9ff('0x30')],function(_0x555874){return{'name':_0x555874[_0xc9ff('0x31')],'type':_0x555874['type'][_0xc9ff('0x32')]};});_0x588796['model']=_['map'](_0x29d885,_0xc9ff('0x2c'));_0x588796['query']=_[_0xc9ff('0x33')](_0x97ebf3[_0xc9ff('0x34')]);_0x588796['filters']=_[_0xc9ff('0x35')](_0x588796['model'],_0x588796[_0xc9ff('0x34')]);_0x41f653[_0xc9ff('0x36')]=_['intersection'](_0x588796[_0xc9ff('0x37')],qs['fields'](_0x97ebf3[_0xc9ff('0x34')][_0xc9ff('0x38')]));_0x41f653[_0xc9ff('0x36')]=_0x41f653[_0xc9ff('0x36')]['length']?_0x41f653[_0xc9ff('0x36')]:_0x588796[_0xc9ff('0x37')];if(!_0x97ebf3[_0xc9ff('0x34')][_0xc9ff('0x39')](_0xc9ff('0x3a'))){_0x41f653[_0xc9ff('0x3b')]=qs['limit'](_0x97ebf3[_0xc9ff('0x34')][_0xc9ff('0x3b')]);_0x41f653[_0xc9ff('0x21')]=qs[_0xc9ff('0x21')](_0x97ebf3[_0xc9ff('0x34')]['offset']);}_0x41f653[_0xc9ff('0x3c')]=qs[_0xc9ff('0x3d')](_0x97ebf3['query'][_0xc9ff('0x3d')]);_0x41f653[_0xc9ff('0x3e')]=qs[_0xc9ff('0x3f')](_[_0xc9ff('0x40')](_0x97ebf3[_0xc9ff('0x34')],_0x588796['filters']),_0x29d885);if(_0x97ebf3[_0xc9ff('0x34')]['filter']){_0x41f653[_0xc9ff('0x3e')]=_[_0xc9ff('0x41')](_0x41f653['where'],{'$or':_[_0xc9ff('0x2e')](_0x29d885,function(_0x23f4c4){if(_0x23f4c4[_0xc9ff('0x42')]!==_0xc9ff('0x43')){var _0x348319={};_0x348319[_0x23f4c4[_0xc9ff('0x2c')]]={'$like':'%'+_0x97ebf3[_0xc9ff('0x34')][_0xc9ff('0x44')]+'%'};return _0x348319;}})});}_0x41f653=_['merge']({},_0x41f653,_0x97ebf3[_0xc9ff('0x45')]);var _0x37bc6d={'where':_0x41f653[_0xc9ff('0x3e')]};return db['OpenchannelQueue'][_0xc9ff('0x20')](_0x37bc6d)['then'](function(_0x579f34){_0x412233[_0xc9ff('0x20')]=_0x579f34;if(_0x97ebf3[_0xc9ff('0x34')][_0xc9ff('0x46')]){_0x41f653['include']=[{'all':!![]}];}return db[_0xc9ff('0x2f')][_0xc9ff('0x47')](_0x41f653);})['then'](function(_0x41666d){_0x412233[_0xc9ff('0x48')]=_0x41666d;return _0x412233;})['then'](respondWithFilteredResult(_0x534df0,_0x41f653))['catch'](handleError(_0x534df0,null));};exports[_0xc9ff('0x49')]=function(_0x47239c,_0x316169){var _0x5811b5={'raw':!![],'where':{'id':_0x47239c[_0xc9ff('0x4a')]['id']}},_0x5a21a8={};_0x5a21a8[_0xc9ff('0x37')]=_[_0xc9ff('0x33')](db['OpenchannelQueue'][_0xc9ff('0x30')]);_0x5a21a8[_0xc9ff('0x34')]=_['keys'](_0x47239c[_0xc9ff('0x34')]);_0x5a21a8[_0xc9ff('0x3f')]=_[_0xc9ff('0x35')](_0x5a21a8[_0xc9ff('0x37')],_0x5a21a8[_0xc9ff('0x34')]);_0x5811b5['attributes']=_['intersection'](_0x5a21a8[_0xc9ff('0x37')],qs[_0xc9ff('0x38')](_0x47239c['query']['fields']));_0x5811b5['attributes']=_0x5811b5['attributes'][_0xc9ff('0x4b')]?_0x5811b5[_0xc9ff('0x36')]:_0x5a21a8[_0xc9ff('0x37')];if(_0x47239c[_0xc9ff('0x34')]['includeAll']){_0x5811b5['include']=[{'all':!![]}];}_0x5811b5=_[_0xc9ff('0x41')]({},_0x5811b5,_0x47239c['options']);return db[_0xc9ff('0x2f')][_0xc9ff('0x4c')](_0x5811b5)[_0xc9ff('0x25')](handleEntityNotFound(_0x316169,null))[_0xc9ff('0x25')](respondWithResult(_0x316169,null))[_0xc9ff('0x4d')](handleError(_0x316169,null));};exports['create']=function(_0x284626,_0x5add17){return db[_0xc9ff('0x2f')]['create'](_0x284626[_0xc9ff('0x4e')],{})['then'](function(_0x23e18d){var _0x530b10=_0x284626[_0xc9ff('0x4f')][_0xc9ff('0x27')]({'plain':!![]});if(!_0x530b10)throw new Error(_0xc9ff('0x50'));if(_0x530b10['role']==='user'){var _0x563b4d=_0x23e18d['get']({'plain':!![]});var _0x2bc116=_0xc9ff('0x28');return db[_0xc9ff('0x51')]['find']({'where':{'name':_0x2bc116,'userProfileId':_0x530b10[_0xc9ff('0x52')]},'raw':!![]})[_0xc9ff('0x25')](function(_0x12ca0f){if(_0x12ca0f&&_0x12ca0f['autoAssociation']===0x0){return db['UserProfileResource'][_0xc9ff('0x53')]({'name':_0x563b4d[_0xc9ff('0x2c')],'resourceId':_0x563b4d['id'],'type':_0x12ca0f[_0xc9ff('0x2c')],'sectionId':_0x12ca0f['id']},{})['then'](function(){return _0x23e18d;});}else{return _0x23e18d;}})[_0xc9ff('0x4d')](function(_0x7a0901){logger[_0xc9ff('0x2a')](_0xc9ff('0x54'),_0x7a0901);throw _0x7a0901;});}return _0x23e18d;})['then'](respondWithResult(_0x5add17,0xc9))[_0xc9ff('0x4d')](handleError(_0x5add17,null));};exports[_0xc9ff('0x24')]=function(_0x2a7f4d,_0x57d5da){if(_0x2a7f4d['body']['id']){delete _0x2a7f4d[_0xc9ff('0x4e')]['id'];}return db[_0xc9ff('0x2f')]['find']({'where':{'id':_0x2a7f4d[_0xc9ff('0x4a')]['id']}})[_0xc9ff('0x25')](handleEntityNotFound(_0x57d5da,null))[_0xc9ff('0x25')](saveUpdates(_0x2a7f4d[_0xc9ff('0x4e')],null))[_0xc9ff('0x25')](respondWithResult(_0x57d5da,null))[_0xc9ff('0x4d')](handleError(_0x57d5da,null));};exports[_0xc9ff('0x26')]=function(_0x2e55ef,_0x470089){return db[_0xc9ff('0x2f')]['find']({'where':{'id':_0x2e55ef[_0xc9ff('0x4a')]['id']}})[_0xc9ff('0x25')](handleEntityNotFound(_0x470089,null))['then'](removeEntity(_0x470089,null))[_0xc9ff('0x4d')](handleError(_0x470089,null));};exports[_0xc9ff('0x55')]=function(_0x4a1476,_0x2babc2){return db[_0xc9ff('0x2f')]['describe']()[_0xc9ff('0x25')](respondWithResult(_0x2babc2,null))[_0xc9ff('0x4d')](handleError(_0x2babc2,null));};exports[_0xc9ff('0x56')]=function(_0x2b9590,_0x3b2ba5,_0x36ac80){var _0x229d13={'raw':!![],'where':{}},_0x57a531={},_0x4e7fdb;return db['OpenchannelQueue'][_0xc9ff('0x57')]({'where':{'id':_0x2b9590[_0xc9ff('0x4a')]['id']}})[_0xc9ff('0x25')](handleEntityNotFound(_0x3b2ba5,null))['then'](function(_0x4d5a27){if(_0x4d5a27){_0x4e7fdb=_0x4d5a27[_0xc9ff('0x27')]({'plain':!![]});_0x57a531[_0xc9ff('0x37')]=_[_0xc9ff('0x33')](db[_0xc9ff('0x58')][_0xc9ff('0x30')]);_0x57a531[_0xc9ff('0x34')]=_[_0xc9ff('0x33')](_0x2b9590['query']);_0x57a531[_0xc9ff('0x3f')]=_[_0xc9ff('0x35')](_0x57a531['model'],_0x57a531[_0xc9ff('0x34')]);_0x229d13[_0xc9ff('0x36')]=_['intersection'](_0x57a531[_0xc9ff('0x37')],qs['fields'](_0x2b9590[_0xc9ff('0x34')]['fields']));_0x229d13[_0xc9ff('0x36')]=_0x229d13[_0xc9ff('0x36')]['length']?_0x229d13[_0xc9ff('0x36')]:_0x57a531[_0xc9ff('0x37')];if(!_0x2b9590[_0xc9ff('0x34')][_0xc9ff('0x39')](_0xc9ff('0x3a'))){_0x229d13[_0xc9ff('0x3b')]=qs[_0xc9ff('0x3b')](_0x2b9590[_0xc9ff('0x34')][_0xc9ff('0x3b')]);_0x229d13['offset']=qs['offset'](_0x2b9590[_0xc9ff('0x34')][_0xc9ff('0x21')]);}_0x229d13['order']=qs[_0xc9ff('0x3d')](_0x2b9590['query']['sort']);_0x229d13[_0xc9ff('0x3e')]=qs[_0xc9ff('0x3f')](_['pick'](_0x2b9590[_0xc9ff('0x34')],_0x57a531[_0xc9ff('0x3f')]));_0x229d13['where'][_0xc9ff('0x59')]=_0x4d5a27['id'];if(_0x2b9590[_0xc9ff('0x34')]['filter']){_0x229d13[_0xc9ff('0x3e')]=_[_0xc9ff('0x41')](_0x229d13[_0xc9ff('0x3e')],{'$or':_['map'](_0x229d13[_0xc9ff('0x36')],function(_0x42219c){var _0x2dc011={};_0x2dc011[_0x42219c]={'$like':'%'+_0x2b9590['query'][_0xc9ff('0x44')]+'%'};return _0x2dc011;})});}_0x229d13=_[_0xc9ff('0x41')]({},_0x229d13,_0x2b9590[_0xc9ff('0x45')]);return db[_0xc9ff('0x58')][_0xc9ff('0x47')](_0x229d13);}})[_0xc9ff('0x25')](function(_0x262f15){if(_0x262f15){return db[_0xc9ff('0x5a')][_0xc9ff('0x5b')]({'where':{'id':_[_0xc9ff('0x2e')](_0x262f15,_0xc9ff('0x5c')),'role':_0xc9ff('0x5d')},'attributes':['id','name',_0xc9ff('0x5e'),_0xc9ff('0x5f'),_0xc9ff('0x60')]});}})[_0xc9ff('0x25')](function(_0x6fc85f){if(_0x6fc85f){return{'count':_0x6fc85f[_0xc9ff('0x20')],'rows':_[_0xc9ff('0x2e')](_0x6fc85f[_0xc9ff('0x48')],function(_0x297af4){return{'membername':_0x297af4[_0xc9ff('0x2c')],'UserId':_0x297af4['id'],'queue_name':_0x4e7fdb[_0xc9ff('0x2c')],'OpenchannelQueueId':_0x4e7fdb['id'],'interface':util[_0xc9ff('0x61')]('%s/%s',_0xc9ff('0x62'),_0x297af4[_0xc9ff('0x2c')]),'penalty':0x0,'paused':_0x297af4[_0xc9ff('0x5e')],'createdAt':_0x297af4['createdAt'],'updatedAt':_0x297af4[_0xc9ff('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xc9ff('0x25')](respondWithFilteredResult(_0x3b2ba5,_0x229d13))[_0xc9ff('0x4d')](handleError(_0x3b2ba5,null));};exports[_0xc9ff('0x63')]=function(_0xe4b2f4,_0xe96427,_0x2257e5){var _0x488ef1={};var _0x5d842f={};var _0x31fdcf;var _0x102442;return db[_0xc9ff('0x2f')]['findOne']({'where':{'id':_0xe4b2f4[_0xc9ff('0x4a')]['id']}})['then'](handleEntityNotFound(_0xe96427,null))[_0xc9ff('0x25')](function(_0x2a47e7){if(_0x2a47e7){_0x31fdcf=_0x2a47e7;_0x5d842f[_0xc9ff('0x37')]=_[_0xc9ff('0x33')](db[_0xc9ff('0x64')][_0xc9ff('0x30')]);_0x5d842f['query']=_[_0xc9ff('0x33')](_0xe4b2f4[_0xc9ff('0x34')]);_0x5d842f['filters']=_[_0xc9ff('0x35')](_0x5d842f[_0xc9ff('0x37')],_0x5d842f[_0xc9ff('0x34')]);_0x488ef1['attributes']=_[_0xc9ff('0x35')](_0x5d842f['model'],qs[_0xc9ff('0x38')](_0xe4b2f4[_0xc9ff('0x34')]['fields']));_0x488ef1[_0xc9ff('0x36')]=_0x488ef1[_0xc9ff('0x36')][_0xc9ff('0x4b')]?_0x488ef1['attributes']:_0x5d842f[_0xc9ff('0x37')];_0x488ef1[_0xc9ff('0x3c')]=qs[_0xc9ff('0x3d')](_0xe4b2f4[_0xc9ff('0x34')][_0xc9ff('0x3d')]);_0x488ef1['where']=qs[_0xc9ff('0x3f')](_[_0xc9ff('0x40')](_0xe4b2f4['query'],_0x5d842f['filters']));if(_0xe4b2f4['query'][_0xc9ff('0x44')]){_0x488ef1['where']=_[_0xc9ff('0x41')](_0x488ef1[_0xc9ff('0x3e')],{'$or':_[_0xc9ff('0x2e')](_0x488ef1[_0xc9ff('0x36')],function(_0x524b80){var _0x327677={};_0x327677[_0x524b80]={'$like':'%'+_0xe4b2f4[_0xc9ff('0x34')][_0xc9ff('0x44')]+'%'};return _0x327677;})});}_0x488ef1=_[_0xc9ff('0x41')]({},_0x488ef1,_0xe4b2f4['options']);return _0x31fdcf[_0xc9ff('0x63')](_0x488ef1);}})['then'](function(_0x4dcd9a){if(_0x4dcd9a){_0x102442=_0x4dcd9a[_0xc9ff('0x4b')];if(!_0xe4b2f4[_0xc9ff('0x34')][_0xc9ff('0x39')]('nolimit')){_0x488ef1[_0xc9ff('0x3b')]=qs[_0xc9ff('0x3b')](_0xe4b2f4[_0xc9ff('0x34')][_0xc9ff('0x3b')]);_0x488ef1[_0xc9ff('0x21')]=qs[_0xc9ff('0x21')](_0xe4b2f4[_0xc9ff('0x34')][_0xc9ff('0x21')]);}return _0x31fdcf[_0xc9ff('0x63')](_0x488ef1);}})[_0xc9ff('0x25')](function(_0x5b7613){if(_0x5b7613){return _0x5b7613?{'count':_0x102442,'rows':_0x5b7613}:null;}})[_0xc9ff('0x25')](respondWithResult(_0xe96427,null))['catch'](handleError(_0xe96427,null));};exports[_0xc9ff('0x65')]=function(_0x9249f2,_0xddf3b,_0x21a720){var _0x52df33=_0x9249f2[_0xc9ff('0x4e')]['ids'];return db[_0xc9ff('0x64')][_0xc9ff('0x47')]({'where':{'id':_0x52df33},'attributes':['id'],'include':[{'model':db[_0xc9ff('0x5a')],'as':_0xc9ff('0x66'),'attributes':['id',_0xc9ff('0x2c'),'online',_0xc9ff('0x67'),_0xc9ff('0x68')],'raw':!![]}]})[_0xc9ff('0x25')](function(_0x2ce7ff){if(_0x2ce7ff){var _0x4b4e21=_['flatMap'](_0x2ce7ff,function(_0x3a7e70){var _0x1b6360=_0x3a7e70[_0xc9ff('0x27')]({'plain':!![]});return _0x1b6360[_0xc9ff('0x66')];});return db[_0xc9ff('0x2f')][_0xc9ff('0x4c')]({'where':{'id':_0x9249f2['params']['id']}})[_0xc9ff('0x25')](function(_0x2f76f2){return db[_0xc9ff('0x69')][_0xc9ff('0x6a')](function(_0x26a37e){return _0x2f76f2[_0xc9ff('0x65')](_0x52df33,{'transaction':_0x26a37e})[_0xc9ff('0x25')](function(){return BPromise[_0xc9ff('0x6b')](_0x4b4e21,function(_0xe4baea){return db[_0xc9ff('0x58')][_0xc9ff('0x6c')]({'where':{'UserId':_0xe4baea['id'],'OpenchannelQueueId':_0x9249f2[_0xc9ff('0x4a')]['id']},'transaction':_0x26a37e});});})[_0xc9ff('0x25')](function(){_0x4b4e21[_0xc9ff('0x6d')](function(_0x23776e){socket['emit'](_0xc9ff('0x6e'),{'UserId':_0x23776e['id'],'OpenchannelQueueId':_0x2f76f2['id']});});});});});}})[_0xc9ff('0x25')](respondWithStatusCode(_0xddf3b,null))[_0xc9ff('0x4d')](handleError(_0xddf3b,null));};exports[_0xc9ff('0x6f')]=function(_0x2871df,_0x32fda1,_0x1d8013){return db[_0xc9ff('0x64')]['findAll']({'where':{'id':_0x2871df['query'][_0xc9ff('0x70')]},'attributes':['id'],'include':[{'model':db[_0xc9ff('0x5a')],'as':_0xc9ff('0x66'),'attributes':['id'],'raw':!![]}]})[_0xc9ff('0x25')](handleEntityNotFound(_0x32fda1,null))[_0xc9ff('0x25')](function(_0x569c48){var _0x47a5de=_[_0xc9ff('0x2e')](_0x569c48,'id');var _0x461790=[];var _0x1126c2=[];var _0x3c5779=squel[_0xc9ff('0x71')]();_0x3c5779[_0xc9ff('0x72')]('tq.TeamId')[_0xc9ff('0x73')](_0xc9ff('0x74'),'tq')[_0xc9ff('0x75')](_0xc9ff('0x76'),'ut',_0xc9ff('0x77'))[_0xc9ff('0x3e')](_0xc9ff('0x78'),_0x2871df['params']['id']);for(var _0x1b2ccf=0x0;_0x1b2ccf<_0x569c48[_0xc9ff('0x4b')];_0x1b2ccf+=0x1){let _0x59ba94=_0x569c48[_0x1b2ccf];for(var _0x204b20=0x0;_0x204b20<_0x59ba94[_0xc9ff('0x66')][_0xc9ff('0x4b')];_0x204b20+=0x1){let _0x45edb1=_0x59ba94[_0xc9ff('0x66')][_0x204b20];var _0x4690d1=_0x3c5779[_0xc9ff('0x79')]();_0x4690d1[_0xc9ff('0x3e')]('ut.UserId\x20=\x20?',_0x45edb1['id']);_0x1126c2['push'](db['sequelize'][_0xc9ff('0x34')](_0x4690d1[_0xc9ff('0x7a')](),{'type':db[_0xc9ff('0x69')][_0xc9ff('0x7b')][_0xc9ff('0x7c')]})['then'](function(_0x43d3e6){if(_0x43d3e6['length']===0x1){return _0x45edb1['id'];}else{var _0x2d49f3=_[_0xc9ff('0x7d')](_[_0xc9ff('0x2e')](_0x43d3e6,_0xc9ff('0x7e')),function(_0x24f55d){return _['includes'](_0x47a5de,_0x24f55d);});if(_0x2d49f3){return _0x45edb1['id'];}}}));}}return BPromise[_0xc9ff('0x7f')](_0x1126c2)[_0xc9ff('0x25')](function(_0x587379){_0x461790=_(_0x461790)[_0xc9ff('0x80')](_0x587379)[_0xc9ff('0x81')]()['value']();return db[_0xc9ff('0x2f')][_0xc9ff('0x4c')]({'where':{'id':_0x2871df[_0xc9ff('0x4a')]['id']}})[_0xc9ff('0x25')](function(_0x49db39){return db[_0xc9ff('0x69')][_0xc9ff('0x6a')](function(_0x2397d0){return _0x49db39[_0xc9ff('0x6f')](_0x2871df[_0xc9ff('0x34')]['ids'],{'transaction':_0x2397d0})[_0xc9ff('0x25')](function(){if(!_[_0xc9ff('0x82')](_0x461790)){return _0x49db39['removeAgents'](_0x461790,{'transaction':_0x2397d0});}})[_0xc9ff('0x25')](function(){_0x461790[_0xc9ff('0x6d')](function(_0x362269){socket[_0xc9ff('0x83')](_0xc9ff('0x84'),{'UserId':_0x362269,'OpenchannelQueueId':_0x49db39['id']});});});});});});})['then'](respondWithStatusCode(_0x32fda1,null))[_0xc9ff('0x4d')](handleError(_0x32fda1,null));};exports[_0xc9ff('0x85')]=function(_0x4a4e41,_0x4d5aba,_0x3e2580){return db[_0xc9ff('0x2f')][_0xc9ff('0x4c')]({'where':{'id':_0x4a4e41['params']['id']}})[_0xc9ff('0x25')](handleEntityNotFound(_0x4d5aba,null))['then'](function(_0x312ff4){if(_0x312ff4){return _0x312ff4[_0xc9ff('0x85')](_0x4a4e41[_0xc9ff('0x4e')][_0xc9ff('0x70')],_[_0xc9ff('0x86')](_0x4a4e41[_0xc9ff('0x4e')],[_0xc9ff('0x70'),'id'])||{})[_0xc9ff('0x87')](function(_0x22f797){for(var _0x26467a=0x0;_0x26467a<_0x4a4e41['body']['ids'][_0xc9ff('0x4b')];_0x26467a+=0x1){socket['emit']('userOpenchannelQueue:save',{'UserId':_0x4a4e41[_0xc9ff('0x4e')][_0xc9ff('0x70')][_0x26467a],'OpenchannelQueueId':_0x4a4e41[_0xc9ff('0x4a')]['id']});}return _0x22f797;});}})[_0xc9ff('0x25')](respondWithResult(_0x4d5aba,null))[_0xc9ff('0x4d')](handleError(_0x4d5aba,null));};exports[_0xc9ff('0x88')]=function(_0x277caa,_0x131737,_0x1928d4){return db['OpenchannelQueue'][_0xc9ff('0x4c')]({'where':{'id':_0x277caa[_0xc9ff('0x4a')]['id']}})[_0xc9ff('0x25')](handleEntityNotFound(_0x131737,null))[_0xc9ff('0x25')](function(_0x26a7c0){if(_0x26a7c0){return _0x26a7c0['removeAgents'](_0x277caa[_0xc9ff('0x34')][_0xc9ff('0x70')])['then'](function(){if(_[_0xc9ff('0x89')](_0x277caa[_0xc9ff('0x34')]['ids'])){for(var _0xff3a18=0x0;_0xff3a18<_0x277caa[_0xc9ff('0x34')]['ids'][_0xc9ff('0x4b')];_0xff3a18+=0x1){socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0x277caa[_0xc9ff('0x34')]['ids'][_0xff3a18]),'OpenchannelQueueId':Number(_0x277caa[_0xc9ff('0x4a')]['id'])});}}else{socket[_0xc9ff('0x83')](_0xc9ff('0x84'),{'UserId':Number(_0x277caa['query']['ids']),'OpenchannelQueueId':Number(_0x277caa['params']['id'])});}});}})[_0xc9ff('0x25')](respondWithStatusCode(_0x131737,null))[_0xc9ff('0x4d')](handleError(_0x131737,null));};exports[_0xc9ff('0x8a')]=function(_0x3f0249,_0x5d5976,_0x356faa){var _0x10e423={};var _0x4b7270={};var _0x22c53b;var _0x15f8ef;return db[_0xc9ff('0x2f')]['findOne']({'where':{'id':_0x3f0249[_0xc9ff('0x4a')]['id']}})[_0xc9ff('0x25')](handleEntityNotFound(_0x5d5976,null))['then'](function(_0x2bd7e7){if(_0x2bd7e7){_0x22c53b=_0x2bd7e7;_0x4b7270[_0xc9ff('0x37')]=_[_0xc9ff('0x33')](db[_0xc9ff('0x5a')][_0xc9ff('0x30')]);_0x4b7270[_0xc9ff('0x34')]=_[_0xc9ff('0x33')](_0x3f0249['query']);_0x4b7270[_0xc9ff('0x3f')]=_[_0xc9ff('0x35')](_0x4b7270['model'],_0x4b7270[_0xc9ff('0x34')]);_0x10e423[_0xc9ff('0x36')]=_[_0xc9ff('0x35')](_0x4b7270['model'],qs['fields'](_0x3f0249[_0xc9ff('0x34')][_0xc9ff('0x38')]));_0x10e423['attributes']=_0x10e423[_0xc9ff('0x36')][_0xc9ff('0x4b')]?_0x10e423[_0xc9ff('0x36')]:_0x4b7270[_0xc9ff('0x37')];_0x10e423['order']=qs[_0xc9ff('0x3d')](_0x3f0249[_0xc9ff('0x34')][_0xc9ff('0x3d')]);_0x10e423['where']=qs[_0xc9ff('0x3f')](_['pick'](_0x3f0249['query'],_0x4b7270[_0xc9ff('0x3f')]));if(_0x3f0249['query']['filter']){_0x10e423[_0xc9ff('0x3e')]=_[_0xc9ff('0x41')](_0x10e423[_0xc9ff('0x3e')],{'$or':_[_0xc9ff('0x2e')](_0x10e423['attributes'],function(_0x564fed){var _0x1e66aa={};_0x1e66aa[_0x564fed]={'$like':'%'+_0x3f0249[_0xc9ff('0x34')]['filter']+'%'};return _0x1e66aa;})});}_0x10e423=_['merge']({},_0x10e423,_0x3f0249[_0xc9ff('0x45')]);return _0x22c53b[_0xc9ff('0x8a')](_0x10e423);}})[_0xc9ff('0x25')](function(_0x499217){if(_0x499217){_0x15f8ef=_0x499217['length'];if(!_0x3f0249[_0xc9ff('0x34')][_0xc9ff('0x39')](_0xc9ff('0x3a'))){_0x10e423['limit']=qs['limit'](_0x3f0249[_0xc9ff('0x34')][_0xc9ff('0x3b')]);_0x10e423[_0xc9ff('0x21')]=qs['offset'](_0x3f0249[_0xc9ff('0x34')][_0xc9ff('0x21')]);}return _0x22c53b[_0xc9ff('0x8a')](_0x10e423);}})[_0xc9ff('0x25')](function(_0x31a050){if(_0x31a050){return _0x31a050?{'count':_0x15f8ef,'rows':_0x31a050}:null;}})['then'](respondWithResult(_0x5d5976,null))[_0xc9ff('0x4d')](handleError(_0x5d5976,null));};