ec79e66e7261f0a5b71f9e60bd618936d46bd39c
[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 _0x4b77=['Team','ids','Agents','online','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','User','field','tq.TeamId','from','join','user_has_teams','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','all','union','compact','value','isEmpty','removeAgents','forEach','userOpenchannelQueue:remove','addAgents','omit','spread','isArray','getAgents','findOne','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','update','then','get','OpenchannelQueues','UserProfileResource','destroy','end','error','stack','name','map','OpenchannelQueue','rawAttributes','fieldName','type','model','keys','filters','intersection','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','UserOpenchannelQueue','OpenchannelQueueId','findAndCountAll','UserId','agent','openchannelPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams'];(function(_0x44aa1b,_0x5a2a44){var _0x4dd483=function(_0xc46d11){while(--_0xc46d11){_0x44aa1b['push'](_0x44aa1b['shift']());}};_0x4dd483(++_0x5a2a44);}(_0x4b77,0x13a));var _0x74b7=function(_0x3b6a1e,_0x1395f0){_0x3b6a1e=_0x3b6a1e-0x0;var _0x2010c5=_0x4b77[_0x3b6a1e];return _0x2010c5;};'use strict';var pdf=require(_0x74b7('0x0'));var emlformat=require(_0x74b7('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x74b7('0x2'));var rp=require(_0x74b7('0x3'));var moment=require(_0x74b7('0x4'));var BPromise=require(_0x74b7('0x5'));var Mustache=require(_0x74b7('0x6'));var util=require(_0x74b7('0x7'));var path=require(_0x74b7('0x8'));var sox=require(_0x74b7('0x9'));var csv=require(_0x74b7('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x74b7('0xb'));var crypto=require(_0x74b7('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x74b7('0xd'));var Papa=require(_0x74b7('0xe'));var Redis=require(_0x74b7('0xf'));var authService=require(_0x74b7('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x74b7('0x11'));var hardwareService=require(_0x74b7('0x12'));var logger=require(_0x74b7('0x13'))(_0x74b7('0x14'));var utils=require('../../config/utils');var config=require(_0x74b7('0x15'));var licenseUtil=require(_0x74b7('0x16'));var db=require(_0x74b7('0x17'))['db'];config[_0x74b7('0x18')]=_[_0x74b7('0x19')](config[_0x74b7('0x18')],{'host':_0x74b7('0x1a'),'port':0x18eb});var socket=require(_0x74b7('0x1b'))(new Redis(config['redis']));require('./openchannelQueue.socket')[_0x74b7('0x1c')](socket);function respondWithStatusCode(_0x12d5ae,_0x18eb26){_0x18eb26=_0x18eb26||0xcc;return function(_0x295379){if(_0x295379){return _0x12d5ae[_0x74b7('0x1d')](_0x18eb26);}return _0x12d5ae[_0x74b7('0x1e')](_0x18eb26)['end']();};}function respondWithResult(_0xf6577d,_0x3c6680){_0x3c6680=_0x3c6680||0xc8;return function(_0x1cf4dd){if(_0x1cf4dd){return _0xf6577d[_0x74b7('0x1e')](_0x3c6680)[_0x74b7('0x1f')](_0x1cf4dd);}};}function respondWithFilteredResult(_0xf09e33,_0x338ef4){return function(_0x5402d4){if(_0x5402d4){var _0x5b32a9=_0x5402d4[_0x74b7('0x20')],_0x45908a=_0x338ef4[_0x74b7('0x21')],_0x4dd8f1=_0x338ef4[_0x74b7('0x21')]+_0x338ef4[_0x74b7('0x22')],_0x543f36;if(_0x4dd8f1>=_0x5b32a9){_0x4dd8f1=_0x5b32a9;_0x543f36=0xc8;}else{_0x543f36=0xce;}_0xf09e33[_0x74b7('0x1e')](_0x543f36);return _0xf09e33['set'](_0x74b7('0x23'),_0x45908a+'-'+_0x4dd8f1+'/'+_0x5b32a9)[_0x74b7('0x1f')](_0x5402d4);}return null;};}function patchUpdates(_0xb27f9a){return function(_0x3616e2){try{jsonpatch[_0x74b7('0x24')](_0x3616e2,_0xb27f9a,!![]);}catch(_0x5e0cd8){return BPromise[_0x74b7('0x25')](_0x5e0cd8);}return _0x3616e2['save']();};}function saveUpdates(_0x11a062,_0x501770){return function(_0x151db6){if(_0x151db6){return _0x151db6[_0x74b7('0x26')](_0x11a062)[_0x74b7('0x27')](function(_0x2157ef){return _0x2157ef;});}return null;};}function removeEntity(_0x2d189b,_0x489a2c){return function(_0x5b8588){if(_0x5b8588){return _0x5b8588['destroy']()['then'](function(){var _0x58aeec=_0x5b8588[_0x74b7('0x28')]({'plain':!![]});var _0x29c24d=_0x74b7('0x29');return db[_0x74b7('0x2a')][_0x74b7('0x2b')]({'where':{'type':_0x29c24d,'resourceId':_0x58aeec['id']}})['then'](function(){return _0x5b8588;});})['then'](function(){_0x2d189b['status'](0xcc)[_0x74b7('0x2c')]();});}};}function handleEntityNotFound(_0x9c081b,_0x358bf3){return function(_0xf27b45){if(!_0xf27b45){_0x9c081b[_0x74b7('0x1d')](0x194);}return _0xf27b45;};}function handleError(_0x3b9dd5,_0x290c90){_0x290c90=_0x290c90||0x1f4;return function(_0x12338f){logger[_0x74b7('0x2d')](_0x12338f[_0x74b7('0x2e')]);if(_0x12338f[_0x74b7('0x2f')]){delete _0x12338f[_0x74b7('0x2f')];}_0x3b9dd5[_0x74b7('0x1e')](_0x290c90)['send'](_0x12338f);};}exports['index']=function(_0x3e65ba,_0x4a1b51){var _0x464086={},_0x2ad790={},_0x1bda6e={'count':0x0,'rows':[]};var _0x3efa01=_[_0x74b7('0x30')](db[_0x74b7('0x31')][_0x74b7('0x32')],function(_0x429ac7){return{'name':_0x429ac7[_0x74b7('0x33')],'type':_0x429ac7[_0x74b7('0x34')]['key']};});_0x2ad790[_0x74b7('0x35')]=_[_0x74b7('0x30')](_0x3efa01,_0x74b7('0x2f'));_0x2ad790['query']=_[_0x74b7('0x36')](_0x3e65ba['query']);_0x2ad790[_0x74b7('0x37')]=_[_0x74b7('0x38')](_0x2ad790[_0x74b7('0x35')],_0x2ad790[_0x74b7('0x39')]);_0x464086['attributes']=_['intersection'](_0x2ad790['model'],qs[_0x74b7('0x3a')](_0x3e65ba['query'][_0x74b7('0x3a')]));_0x464086[_0x74b7('0x3b')]=_0x464086[_0x74b7('0x3b')][_0x74b7('0x3c')]?_0x464086[_0x74b7('0x3b')]:_0x2ad790[_0x74b7('0x35')];if(!_0x3e65ba[_0x74b7('0x39')][_0x74b7('0x3d')](_0x74b7('0x3e'))){_0x464086[_0x74b7('0x22')]=qs[_0x74b7('0x22')](_0x3e65ba[_0x74b7('0x39')]['limit']);_0x464086['offset']=qs[_0x74b7('0x21')](_0x3e65ba[_0x74b7('0x39')][_0x74b7('0x21')]);}_0x464086[_0x74b7('0x3f')]=qs[_0x74b7('0x40')](_0x3e65ba['query']['sort']);_0x464086['where']=qs['filters'](_[_0x74b7('0x41')](_0x3e65ba['query'],_0x2ad790['filters']),_0x3efa01);if(_0x3e65ba[_0x74b7('0x39')][_0x74b7('0x42')]){_0x464086[_0x74b7('0x43')]=_[_0x74b7('0x44')](_0x464086['where'],{'$or':_[_0x74b7('0x30')](_0x3efa01,function(_0x2fb195){if(_0x2fb195[_0x74b7('0x34')]!==_0x74b7('0x45')){var _0x5f02b8={};_0x5f02b8[_0x2fb195[_0x74b7('0x2f')]]={'$like':'%'+_0x3e65ba[_0x74b7('0x39')][_0x74b7('0x42')]+'%'};return _0x5f02b8;}})});}_0x464086=_[_0x74b7('0x44')]({},_0x464086,_0x3e65ba[_0x74b7('0x46')]);var _0x13f68b={'where':_0x464086['where']};return db['OpenchannelQueue'][_0x74b7('0x20')](_0x13f68b)[_0x74b7('0x27')](function(_0xf247ee){_0x1bda6e[_0x74b7('0x20')]=_0xf247ee;if(_0x3e65ba[_0x74b7('0x39')][_0x74b7('0x47')]){_0x464086[_0x74b7('0x48')]=[{'all':!![]}];}return db[_0x74b7('0x31')][_0x74b7('0x49')](_0x464086);})[_0x74b7('0x27')](function(_0x2fb9eb){_0x1bda6e[_0x74b7('0x4a')]=_0x2fb9eb;return _0x1bda6e;})['then'](respondWithFilteredResult(_0x4a1b51,_0x464086))[_0x74b7('0x4b')](handleError(_0x4a1b51,null));};exports['show']=function(_0x46b419,_0x1a4969){var _0x4e27e5={'raw':!![],'where':{'id':_0x46b419[_0x74b7('0x4c')]['id']}},_0x9db739={};_0x9db739[_0x74b7('0x35')]=_['keys'](db[_0x74b7('0x31')]['rawAttributes']);_0x9db739[_0x74b7('0x39')]=_[_0x74b7('0x36')](_0x46b419['query']);_0x9db739[_0x74b7('0x37')]=_[_0x74b7('0x38')](_0x9db739[_0x74b7('0x35')],_0x9db739[_0x74b7('0x39')]);_0x4e27e5[_0x74b7('0x3b')]=_[_0x74b7('0x38')](_0x9db739[_0x74b7('0x35')],qs['fields'](_0x46b419['query'][_0x74b7('0x3a')]));_0x4e27e5[_0x74b7('0x3b')]=_0x4e27e5['attributes'][_0x74b7('0x3c')]?_0x4e27e5['attributes']:_0x9db739['model'];if(_0x46b419[_0x74b7('0x39')]['includeAll']){_0x4e27e5[_0x74b7('0x48')]=[{'all':!![]}];}_0x4e27e5=_[_0x74b7('0x44')]({},_0x4e27e5,_0x46b419[_0x74b7('0x46')]);return db['OpenchannelQueue'][_0x74b7('0x4d')](_0x4e27e5)[_0x74b7('0x27')](handleEntityNotFound(_0x1a4969,null))['then'](respondWithResult(_0x1a4969,null))[_0x74b7('0x4b')](handleError(_0x1a4969,null));};exports[_0x74b7('0x4e')]=function(_0x33dea4,_0x5e7aab){return db['OpenchannelQueue'][_0x74b7('0x4e')](_0x33dea4[_0x74b7('0x4f')],{})[_0x74b7('0x27')](function(_0x2085fd){var _0x1185fe=_0x33dea4[_0x74b7('0x50')][_0x74b7('0x28')]({'plain':!![]});if(!_0x1185fe)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1185fe[_0x74b7('0x51')]==='user'){var _0x582262=_0x2085fd[_0x74b7('0x28')]({'plain':!![]});var _0x2b1c80=_0x74b7('0x29');return db[_0x74b7('0x52')]['find']({'where':{'name':_0x2b1c80,'userProfileId':_0x1185fe[_0x74b7('0x53')]},'raw':!![]})[_0x74b7('0x27')](function(_0x1e928f){if(_0x1e928f&&_0x1e928f[_0x74b7('0x54')]===0x0){return db[_0x74b7('0x2a')][_0x74b7('0x4e')]({'name':_0x582262[_0x74b7('0x2f')],'resourceId':_0x582262['id'],'type':_0x1e928f['name'],'sectionId':_0x1e928f['id']},{})['then'](function(){return _0x2085fd;});}else{return _0x2085fd;}})['catch'](function(_0x569f07){logger['error'](_0x74b7('0x55'),_0x569f07);throw _0x569f07;});}return _0x2085fd;})['then'](respondWithResult(_0x5e7aab,0xc9))['catch'](handleError(_0x5e7aab,null));};exports[_0x74b7('0x26')]=function(_0x538d4b,_0x167f92){if(_0x538d4b[_0x74b7('0x4f')]['id']){delete _0x538d4b[_0x74b7('0x4f')]['id'];}return db[_0x74b7('0x31')][_0x74b7('0x4d')]({'where':{'id':_0x538d4b[_0x74b7('0x4c')]['id']}})[_0x74b7('0x27')](handleEntityNotFound(_0x167f92,null))[_0x74b7('0x27')](saveUpdates(_0x538d4b['body'],null))[_0x74b7('0x27')](respondWithResult(_0x167f92,null))[_0x74b7('0x4b')](handleError(_0x167f92,null));};exports[_0x74b7('0x2b')]=function(_0x1745e3,_0x116743){return db['OpenchannelQueue'][_0x74b7('0x4d')]({'where':{'id':_0x1745e3['params']['id']}})['then'](handleEntityNotFound(_0x116743,null))[_0x74b7('0x27')](removeEntity(_0x116743,null))[_0x74b7('0x4b')](handleError(_0x116743,null));};exports[_0x74b7('0x56')]=function(_0x3e9ac7,_0xace57a){return db['OpenchannelQueue'][_0x74b7('0x56')]()[_0x74b7('0x27')](respondWithResult(_0xace57a,null))['catch'](handleError(_0xace57a,null));};exports[_0x74b7('0x57')]=function(_0x2d5071,_0x52546c,_0x1f711b){var _0x5668da={'raw':!![],'where':{}},_0x28a2e3={},_0x5a6df1;return db[_0x74b7('0x31')]['findOne']({'where':{'id':_0x2d5071[_0x74b7('0x4c')]['id']}})[_0x74b7('0x27')](handleEntityNotFound(_0x52546c,null))[_0x74b7('0x27')](function(_0x1d4f7c){if(_0x1d4f7c){_0x5a6df1=_0x1d4f7c[_0x74b7('0x28')]({'plain':!![]});_0x28a2e3[_0x74b7('0x35')]=_['keys'](db[_0x74b7('0x58')]['rawAttributes']);_0x28a2e3[_0x74b7('0x39')]=_[_0x74b7('0x36')](_0x2d5071[_0x74b7('0x39')]);_0x28a2e3[_0x74b7('0x37')]=_['intersection'](_0x28a2e3[_0x74b7('0x35')],_0x28a2e3[_0x74b7('0x39')]);_0x5668da['attributes']=_[_0x74b7('0x38')](_0x28a2e3[_0x74b7('0x35')],qs[_0x74b7('0x3a')](_0x2d5071['query']['fields']));_0x5668da[_0x74b7('0x3b')]=_0x5668da[_0x74b7('0x3b')][_0x74b7('0x3c')]?_0x5668da[_0x74b7('0x3b')]:_0x28a2e3['model'];if(!_0x2d5071[_0x74b7('0x39')][_0x74b7('0x3d')](_0x74b7('0x3e'))){_0x5668da[_0x74b7('0x22')]=qs[_0x74b7('0x22')](_0x2d5071[_0x74b7('0x39')]['limit']);_0x5668da['offset']=qs['offset'](_0x2d5071['query'][_0x74b7('0x21')]);}_0x5668da[_0x74b7('0x3f')]=qs[_0x74b7('0x40')](_0x2d5071['query']['sort']);_0x5668da[_0x74b7('0x43')]=qs[_0x74b7('0x37')](_[_0x74b7('0x41')](_0x2d5071['query'],_0x28a2e3[_0x74b7('0x37')]));_0x5668da[_0x74b7('0x43')][_0x74b7('0x59')]=_0x1d4f7c['id'];if(_0x2d5071[_0x74b7('0x39')]['filter']){_0x5668da[_0x74b7('0x43')]=_[_0x74b7('0x44')](_0x5668da['where'],{'$or':_[_0x74b7('0x30')](_0x5668da[_0x74b7('0x3b')],function(_0x52ef55){var _0x3f6b82={};_0x3f6b82[_0x52ef55]={'$like':'%'+_0x2d5071[_0x74b7('0x39')][_0x74b7('0x42')]+'%'};return _0x3f6b82;})});}_0x5668da=_[_0x74b7('0x44')]({},_0x5668da,_0x2d5071['options']);return db['UserOpenchannelQueue'][_0x74b7('0x49')](_0x5668da);}})['then'](function(_0x4ce464){if(_0x4ce464){return db['User'][_0x74b7('0x5a')]({'where':{'id':_[_0x74b7('0x30')](_0x4ce464,_0x74b7('0x5b')),'role':_0x74b7('0x5c')},'attributes':['id',_0x74b7('0x2f'),_0x74b7('0x5d'),_0x74b7('0x5e'),_0x74b7('0x5f')]});}})['then'](function(_0x18c3e8){if(_0x18c3e8){return{'count':_0x18c3e8['count'],'rows':_[_0x74b7('0x30')](_0x18c3e8['rows'],function(_0x523936){return{'membername':_0x523936[_0x74b7('0x2f')],'UserId':_0x523936['id'],'queue_name':_0x5a6df1['name'],'OpenchannelQueueId':_0x5a6df1['id'],'interface':util[_0x74b7('0x60')](_0x74b7('0x61'),_0x74b7('0x62'),_0x523936['name']),'penalty':0x0,'paused':_0x523936[_0x74b7('0x5d')],'createdAt':_0x523936[_0x74b7('0x5f')],'updatedAt':_0x523936[_0x74b7('0x5e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x74b7('0x27')](respondWithFilteredResult(_0x52546c,_0x5668da))['catch'](handleError(_0x52546c,null));};exports[_0x74b7('0x63')]=function(_0x3fbee4,_0x4dfd4e,_0x4b78a1){var _0x239d1f={};var _0x5339de={};var _0xaa4565;var _0x360540;return db[_0x74b7('0x31')]['findOne']({'where':{'id':_0x3fbee4[_0x74b7('0x4c')]['id']}})[_0x74b7('0x27')](handleEntityNotFound(_0x4dfd4e,null))[_0x74b7('0x27')](function(_0x39afac){if(_0x39afac){_0xaa4565=_0x39afac;_0x5339de['model']=_[_0x74b7('0x36')](db[_0x74b7('0x64')][_0x74b7('0x32')]);_0x5339de[_0x74b7('0x39')]=_[_0x74b7('0x36')](_0x3fbee4[_0x74b7('0x39')]);_0x5339de[_0x74b7('0x37')]=_[_0x74b7('0x38')](_0x5339de[_0x74b7('0x35')],_0x5339de[_0x74b7('0x39')]);_0x239d1f[_0x74b7('0x3b')]=_['intersection'](_0x5339de[_0x74b7('0x35')],qs[_0x74b7('0x3a')](_0x3fbee4[_0x74b7('0x39')]['fields']));_0x239d1f[_0x74b7('0x3b')]=_0x239d1f['attributes'][_0x74b7('0x3c')]?_0x239d1f[_0x74b7('0x3b')]:_0x5339de[_0x74b7('0x35')];_0x239d1f[_0x74b7('0x3f')]=qs['sort'](_0x3fbee4[_0x74b7('0x39')][_0x74b7('0x40')]);_0x239d1f[_0x74b7('0x43')]=qs[_0x74b7('0x37')](_[_0x74b7('0x41')](_0x3fbee4[_0x74b7('0x39')],_0x5339de[_0x74b7('0x37')]));if(_0x3fbee4[_0x74b7('0x39')][_0x74b7('0x42')]){_0x239d1f['where']=_[_0x74b7('0x44')](_0x239d1f[_0x74b7('0x43')],{'$or':_[_0x74b7('0x30')](_0x239d1f['attributes'],function(_0x59439f){var _0x70f9e5={};_0x70f9e5[_0x59439f]={'$like':'%'+_0x3fbee4[_0x74b7('0x39')][_0x74b7('0x42')]+'%'};return _0x70f9e5;})});}_0x239d1f=_[_0x74b7('0x44')]({},_0x239d1f,_0x3fbee4[_0x74b7('0x46')]);return _0xaa4565[_0x74b7('0x63')](_0x239d1f);}})['then'](function(_0x79d293){if(_0x79d293){_0x360540=_0x79d293['length'];if(!_0x3fbee4[_0x74b7('0x39')][_0x74b7('0x3d')](_0x74b7('0x3e'))){_0x239d1f['limit']=qs[_0x74b7('0x22')](_0x3fbee4[_0x74b7('0x39')][_0x74b7('0x22')]);_0x239d1f[_0x74b7('0x21')]=qs['offset'](_0x3fbee4[_0x74b7('0x39')][_0x74b7('0x21')]);}return _0xaa4565[_0x74b7('0x63')](_0x239d1f);}})[_0x74b7('0x27')](function(_0x254e38){if(_0x254e38){return _0x254e38?{'count':_0x360540,'rows':_0x254e38}:null;}})[_0x74b7('0x27')](respondWithResult(_0x4dfd4e,null))[_0x74b7('0x4b')](handleError(_0x4dfd4e,null));};exports['addTeams']=function(_0x1fa611,_0xa93d3a,_0x544a37){var _0x3d71c7=_0x1fa611[_0x74b7('0x4f')][_0x74b7('0x65')];return db[_0x74b7('0x64')]['findAll']({'where':{'id':_0x3d71c7},'attributes':['id'],'include':[{'model':db['User'],'as':_0x74b7('0x66'),'attributes':['id',_0x74b7('0x2f'),_0x74b7('0x67'),'voicePause',_0x74b7('0x68')],'raw':!![]}]})[_0x74b7('0x27')](function(_0x580419){if(_0x580419){var _0x3bdd36=_[_0x74b7('0x69')](_0x580419,function(_0x565bb9){var _0x58779b=_0x565bb9[_0x74b7('0x28')]({'plain':!![]});return _0x58779b[_0x74b7('0x66')];});return db[_0x74b7('0x31')][_0x74b7('0x4d')]({'where':{'id':_0x1fa611[_0x74b7('0x4c')]['id']}})[_0x74b7('0x27')](function(_0x209e4f){return db[_0x74b7('0x6a')][_0x74b7('0x6b')](function(_0x1465de){return _0x209e4f['addTeams'](_0x3d71c7,{'transaction':_0x1465de})[_0x74b7('0x27')](function(){return BPromise[_0x74b7('0x6c')](_0x3bdd36,function(_0xbe26dc){return db[_0x74b7('0x58')][_0x74b7('0x6d')]({'where':{'UserId':_0xbe26dc['id'],'OpenchannelQueueId':_0x1fa611[_0x74b7('0x4c')]['id']},'transaction':_0x1465de});});})[_0x74b7('0x27')](function(){_0x3bdd36['forEach'](function(_0x31668a){socket[_0x74b7('0x6e')]('userOpenchannelQueue:save',{'UserId':_0x31668a['id'],'OpenchannelQueueId':_0x209e4f['id']});});});});});}})[_0x74b7('0x27')](respondWithStatusCode(_0xa93d3a,null))[_0x74b7('0x4b')](handleError(_0xa93d3a,null));};exports['removeTeams']=function(_0x2f47ee,_0x2ad52c,_0x24d97b){return db[_0x74b7('0x64')][_0x74b7('0x49')]({'where':{'id':_0x2f47ee[_0x74b7('0x39')]['ids']},'attributes':['id'],'include':[{'model':db[_0x74b7('0x6f')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x74b7('0x27')](handleEntityNotFound(_0x2ad52c,null))[_0x74b7('0x27')](function(_0x21f3f5){var _0x33a357=_[_0x74b7('0x30')](_0x21f3f5,'id');var _0x42e50e=[];var _0x29bfa7=[];var _0x53c0bf=squel['select']();_0x53c0bf[_0x74b7('0x70')](_0x74b7('0x71'))[_0x74b7('0x72')]('team_has_openchannel_queues','tq')[_0x74b7('0x73')](_0x74b7('0x74'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x74b7('0x43')]('OpenchannelQueueId\x20=\x20?',_0x2f47ee[_0x74b7('0x4c')]['id']);for(var _0x37ad80=0x0;_0x37ad80<_0x21f3f5[_0x74b7('0x3c')];_0x37ad80+=0x1){let _0x2beb0a=_0x21f3f5[_0x37ad80];for(var _0x3865be=0x0;_0x3865be<_0x2beb0a[_0x74b7('0x66')][_0x74b7('0x3c')];_0x3865be+=0x1){let _0x3f10aa=_0x2beb0a['Agents'][_0x3865be];var _0x3b68a9=_0x53c0bf['clone']();_0x3b68a9['where'](_0x74b7('0x75'),_0x3f10aa['id']);_0x29bfa7[_0x74b7('0x76')](db[_0x74b7('0x6a')][_0x74b7('0x39')](_0x3b68a9[_0x74b7('0x77')](),{'type':db[_0x74b7('0x6a')][_0x74b7('0x78')][_0x74b7('0x79')]})['then'](function(_0xa48b41){if(_0xa48b41[_0x74b7('0x3c')]===0x1){return _0x3f10aa['id'];}else{var _0x140c59=_[_0x74b7('0x7a')](_[_0x74b7('0x30')](_0xa48b41,_0x74b7('0x7b')),function(_0x43377f){return _['includes'](_0x33a357,_0x43377f);});if(_0x140c59){return _0x3f10aa['id'];}}}));}}return BPromise[_0x74b7('0x7c')](_0x29bfa7)['then'](function(_0x4ab463){_0x42e50e=_(_0x42e50e)[_0x74b7('0x7d')](_0x4ab463)[_0x74b7('0x7e')]()[_0x74b7('0x7f')]();return db['OpenchannelQueue'][_0x74b7('0x4d')]({'where':{'id':_0x2f47ee[_0x74b7('0x4c')]['id']}})[_0x74b7('0x27')](function(_0xb2d540){return db[_0x74b7('0x6a')][_0x74b7('0x6b')](function(_0x5e4e61){return _0xb2d540['removeTeams'](_0x2f47ee['query'][_0x74b7('0x65')],{'transaction':_0x5e4e61})[_0x74b7('0x27')](function(){if(!_[_0x74b7('0x80')](_0x42e50e)){return _0xb2d540[_0x74b7('0x81')](_0x42e50e,{'transaction':_0x5e4e61});}})['then'](function(){_0x42e50e[_0x74b7('0x82')](function(_0x142719){socket[_0x74b7('0x6e')](_0x74b7('0x83'),{'UserId':_0x142719,'OpenchannelQueueId':_0xb2d540['id']});});});});});});})['then'](respondWithStatusCode(_0x2ad52c,null))[_0x74b7('0x4b')](handleError(_0x2ad52c,null));};exports[_0x74b7('0x84')]=function(_0x4b6cee,_0x4a003f,_0x1e0b60){return db['OpenchannelQueue'][_0x74b7('0x4d')]({'where':{'id':_0x4b6cee[_0x74b7('0x4c')]['id']}})[_0x74b7('0x27')](handleEntityNotFound(_0x4a003f,null))['then'](function(_0x4736ca){if(_0x4736ca){return _0x4736ca['addAgents'](_0x4b6cee[_0x74b7('0x4f')][_0x74b7('0x65')],_[_0x74b7('0x85')](_0x4b6cee[_0x74b7('0x4f')],[_0x74b7('0x65'),'id'])||{})[_0x74b7('0x86')](function(_0xa36c95){for(var _0x4a810e=0x0;_0x4a810e<_0x4b6cee[_0x74b7('0x4f')][_0x74b7('0x65')][_0x74b7('0x3c')];_0x4a810e+=0x1){socket[_0x74b7('0x6e')]('userOpenchannelQueue:save',{'UserId':_0x4b6cee[_0x74b7('0x4f')]['ids'][_0x4a810e],'OpenchannelQueueId':_0x4b6cee[_0x74b7('0x4c')]['id']});}return _0xa36c95;});}})['then'](respondWithResult(_0x4a003f,null))[_0x74b7('0x4b')](handleError(_0x4a003f,null));};exports['removeAgents']=function(_0x4a9c4e,_0x814dd4,_0x5c6843){return db['OpenchannelQueue']['find']({'where':{'id':_0x4a9c4e[_0x74b7('0x4c')]['id']}})[_0x74b7('0x27')](handleEntityNotFound(_0x814dd4,null))[_0x74b7('0x27')](function(_0xd339d1){if(_0xd339d1){return _0xd339d1[_0x74b7('0x81')](_0x4a9c4e[_0x74b7('0x39')][_0x74b7('0x65')])[_0x74b7('0x27')](function(){if(_[_0x74b7('0x87')](_0x4a9c4e[_0x74b7('0x39')][_0x74b7('0x65')])){for(var _0x33ca55=0x0;_0x33ca55<_0x4a9c4e[_0x74b7('0x39')]['ids'][_0x74b7('0x3c')];_0x33ca55+=0x1){socket[_0x74b7('0x6e')]('userOpenchannelQueue:remove',{'UserId':Number(_0x4a9c4e[_0x74b7('0x39')][_0x74b7('0x65')][_0x33ca55]),'OpenchannelQueueId':Number(_0x4a9c4e[_0x74b7('0x4c')]['id'])});}}else{socket['emit'](_0x74b7('0x83'),{'UserId':Number(_0x4a9c4e['query'][_0x74b7('0x65')]),'OpenchannelQueueId':Number(_0x4a9c4e[_0x74b7('0x4c')]['id'])});}});}})['then'](respondWithStatusCode(_0x814dd4,null))[_0x74b7('0x4b')](handleError(_0x814dd4,null));};exports[_0x74b7('0x88')]=function(_0x5bc640,_0x268486,_0x250b33){var _0x137e97={};var _0x50fe04={};var _0x5ebb79;var _0x203b53;return db[_0x74b7('0x31')][_0x74b7('0x89')]({'where':{'id':_0x5bc640['params']['id']}})[_0x74b7('0x27')](handleEntityNotFound(_0x268486,null))['then'](function(_0x5378bc){if(_0x5378bc){_0x5ebb79=_0x5378bc;_0x50fe04[_0x74b7('0x35')]=_[_0x74b7('0x36')](db[_0x74b7('0x6f')][_0x74b7('0x32')]);_0x50fe04['query']=_[_0x74b7('0x36')](_0x5bc640[_0x74b7('0x39')]);_0x50fe04[_0x74b7('0x37')]=_[_0x74b7('0x38')](_0x50fe04[_0x74b7('0x35')],_0x50fe04['query']);_0x137e97[_0x74b7('0x3b')]=_[_0x74b7('0x38')](_0x50fe04[_0x74b7('0x35')],qs[_0x74b7('0x3a')](_0x5bc640[_0x74b7('0x39')][_0x74b7('0x3a')]));_0x137e97['attributes']=_0x137e97[_0x74b7('0x3b')][_0x74b7('0x3c')]?_0x137e97[_0x74b7('0x3b')]:_0x50fe04['model'];_0x137e97[_0x74b7('0x3f')]=qs[_0x74b7('0x40')](_0x5bc640[_0x74b7('0x39')][_0x74b7('0x40')]);_0x137e97[_0x74b7('0x43')]=qs['filters'](_[_0x74b7('0x41')](_0x5bc640[_0x74b7('0x39')],_0x50fe04['filters']));if(_0x5bc640[_0x74b7('0x39')][_0x74b7('0x42')]){_0x137e97[_0x74b7('0x43')]=_[_0x74b7('0x44')](_0x137e97[_0x74b7('0x43')],{'$or':_['map'](_0x137e97[_0x74b7('0x3b')],function(_0x3c75ce){var _0x2ffa5b={};_0x2ffa5b[_0x3c75ce]={'$like':'%'+_0x5bc640['query'][_0x74b7('0x42')]+'%'};return _0x2ffa5b;})});}_0x137e97=_[_0x74b7('0x44')]({},_0x137e97,_0x5bc640[_0x74b7('0x46')]);return _0x5ebb79[_0x74b7('0x88')](_0x137e97);}})[_0x74b7('0x27')](function(_0x309260){if(_0x309260){_0x203b53=_0x309260[_0x74b7('0x3c')];if(!_0x5bc640[_0x74b7('0x39')][_0x74b7('0x3d')](_0x74b7('0x3e'))){_0x137e97[_0x74b7('0x22')]=qs[_0x74b7('0x22')](_0x5bc640['query'][_0x74b7('0x22')]);_0x137e97[_0x74b7('0x21')]=qs['offset'](_0x5bc640[_0x74b7('0x39')][_0x74b7('0x21')]);}return _0x5ebb79[_0x74b7('0x88')](_0x137e97);}})['then'](function(_0x246765){if(_0x246765){return _0x246765?{'count':_0x203b53,'rows':_0x246765}:null;}})[_0x74b7('0x27')](respondWithResult(_0x268486,null))['catch'](handleError(_0x268486,null));};