Built motion from commit (unavailable).|2.5.26
[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 _0x6743=['find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','findOne','UserOpenchannelQueue','hasOwnProperty','options','User','agent','openchannelPause','updatedAt','createdAt','rows','format','%s/%s','SIP','getTeams','Team','ids','Agents','online','voicePause','interface','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','userOpenchannelQueue:save','removeTeams','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','OpenchannelQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','isEmpty','addAgents','omit','spread','removeAgents','isArray','userOpenchannelQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','end','count','offset','set','Content-Range','json','apply','reject','save','destroy','then','get','OpenchannelQueues','UserProfileResource','error','stack','name','send','index','map','key','model','query','filters','intersection','fields','attributes','length','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','OpenchannelQueue','includeAll','findAll','catch','params','rawAttributes','keys','include','create','body','user','role','UserProfileSection'];(function(_0x3a833e,_0x5a1878){var _0xdff445=function(_0x1715a3){while(--_0x1715a3){_0x3a833e['push'](_0x3a833e['shift']());}};_0xdff445(++_0x5a1878);}(_0x6743,0xd0));var _0x3674=function(_0xbc25e1,_0x27007d){_0xbc25e1=_0xbc25e1-0x0;var _0xaf0a85=_0x6743[_0xbc25e1];return _0xaf0a85;};'use strict';var emlformat=require(_0x3674('0x0'));var rimraf=require(_0x3674('0x1'));var zipdir=require(_0x3674('0x2'));var jsonpatch=require(_0x3674('0x3'));var rp=require(_0x3674('0x4'));var moment=require(_0x3674('0x5'));var BPromise=require(_0x3674('0x6'));var Mustache=require(_0x3674('0x7'));var util=require(_0x3674('0x8'));var path=require('path');var sox=require(_0x3674('0x9'));var csv=require(_0x3674('0xa'));var ejs=require(_0x3674('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3674('0xc'));var squel=require(_0x3674('0xd'));var crypto=require(_0x3674('0xe'));var jsforce=require(_0x3674('0xf'));var deskjs=require(_0x3674('0x10'));var toCsv=require(_0x3674('0xa'));var querystring=require(_0x3674('0x11'));var Papa=require(_0x3674('0x12'));var Redis=require('ioredis');var authService=require(_0x3674('0x13'));var qs=require(_0x3674('0x14'));var as=require(_0x3674('0x15'));var hardwareService=require(_0x3674('0x16'));var logger=require(_0x3674('0x17'))(_0x3674('0x18'));var utils=require(_0x3674('0x19'));var config=require(_0x3674('0x1a'));var licenseUtil=require(_0x3674('0x1b'));var db=require(_0x3674('0x1c'))['db'];config[_0x3674('0x1d')]=_[_0x3674('0x1e')](config[_0x3674('0x1d')],{'host':_0x3674('0x1f'),'port':0x18eb});var socket=require(_0x3674('0x20'))(new Redis(config[_0x3674('0x1d')]));require('./openchannelQueue.socket')[_0x3674('0x21')](socket);function respondWithStatusCode(_0x20f1ce,_0x35461b){_0x35461b=_0x35461b||0xcc;return function(_0x39bfa0){if(_0x39bfa0){return _0x20f1ce[_0x3674('0x22')](_0x35461b);}return _0x20f1ce[_0x3674('0x23')](_0x35461b)[_0x3674('0x24')]();};}function respondWithResult(_0x106e1a,_0x1a33be){_0x1a33be=_0x1a33be||0xc8;return function(_0x502a96){if(_0x502a96){return _0x106e1a[_0x3674('0x23')](_0x1a33be)['json'](_0x502a96);}};}function respondWithFilteredResult(_0x5a4b6b,_0x2f838d){return function(_0x633a88){if(_0x633a88){var _0x1927b7=_0x633a88[_0x3674('0x25')],_0x58fe59=_0x2f838d[_0x3674('0x26')],_0x37bcaa=_0x2f838d['offset']+_0x2f838d['limit'],_0x214217;if(_0x37bcaa>=_0x1927b7){_0x37bcaa=_0x1927b7;_0x214217=0xc8;}else{_0x214217=0xce;}_0x5a4b6b[_0x3674('0x23')](_0x214217);return _0x5a4b6b[_0x3674('0x27')](_0x3674('0x28'),_0x58fe59+'-'+_0x37bcaa+'/'+_0x1927b7)[_0x3674('0x29')](_0x633a88);}return null;};}function patchUpdates(_0xe5ca90){return function(_0xbb7294){try{jsonpatch[_0x3674('0x2a')](_0xbb7294,_0xe5ca90,!![]);}catch(_0x376174){return BPromise[_0x3674('0x2b')](_0x376174);}return _0xbb7294[_0x3674('0x2c')]();};}function saveUpdates(_0x9d04e9,_0xec7d40){return function(_0x89f0e){if(_0x89f0e){return _0x89f0e['update'](_0x9d04e9)['then'](function(_0xffbdd3){return _0xffbdd3;});}return null;};}function removeEntity(_0x17b3c6,_0x2f1da1){return function(_0x2b63b4){if(_0x2b63b4){return _0x2b63b4[_0x3674('0x2d')]()[_0x3674('0x2e')](function(){var _0x22e977=_0x2b63b4[_0x3674('0x2f')]({'plain':!![]});var _0x1ae72d=_0x3674('0x30');return db[_0x3674('0x31')]['destroy']({'where':{'type':_0x1ae72d,'resourceId':_0x22e977['id']}})[_0x3674('0x2e')](function(){return _0x2b63b4;});})[_0x3674('0x2e')](function(){_0x17b3c6[_0x3674('0x23')](0xcc)[_0x3674('0x24')]();});}};}function handleEntityNotFound(_0x12d889,_0x3360c4){return function(_0x518520){if(!_0x518520){_0x12d889[_0x3674('0x22')](0x194);}return _0x518520;};}function handleError(_0x1351b2,_0x544972){_0x544972=_0x544972||0x1f4;return function(_0x5c0860){logger[_0x3674('0x32')](_0x5c0860[_0x3674('0x33')]);if(_0x5c0860[_0x3674('0x34')]){delete _0x5c0860[_0x3674('0x34')];}_0x1351b2[_0x3674('0x23')](_0x544972)[_0x3674('0x35')](_0x5c0860);};}exports[_0x3674('0x36')]=function(_0x39e8e6,_0x466ca2){var _0x152b85={},_0x4a38e8={},_0x565bf8={'count':0x0,'rows':[]};var _0x345c45=_[_0x3674('0x37')](db['OpenchannelQueue']['rawAttributes'],function(_0x1b9ff0){return{'name':_0x1b9ff0['fieldName'],'type':_0x1b9ff0['type'][_0x3674('0x38')]};});_0x4a38e8[_0x3674('0x39')]=_[_0x3674('0x37')](_0x345c45,_0x3674('0x34'));_0x4a38e8['query']=_['keys'](_0x39e8e6[_0x3674('0x3a')]);_0x4a38e8[_0x3674('0x3b')]=_[_0x3674('0x3c')](_0x4a38e8[_0x3674('0x39')],_0x4a38e8['query']);_0x152b85['attributes']=_[_0x3674('0x3c')](_0x4a38e8['model'],qs[_0x3674('0x3d')](_0x39e8e6[_0x3674('0x3a')][_0x3674('0x3d')]));_0x152b85[_0x3674('0x3e')]=_0x152b85[_0x3674('0x3e')][_0x3674('0x3f')]?_0x152b85['attributes']:_0x4a38e8[_0x3674('0x39')];if(!_0x39e8e6['query']['hasOwnProperty'](_0x3674('0x40'))){_0x152b85[_0x3674('0x41')]=qs[_0x3674('0x41')](_0x39e8e6['query'][_0x3674('0x41')]);_0x152b85['offset']=qs['offset'](_0x39e8e6['query'][_0x3674('0x26')]);}_0x152b85[_0x3674('0x42')]=qs['sort'](_0x39e8e6['query'][_0x3674('0x43')]);_0x152b85[_0x3674('0x44')]=qs[_0x3674('0x3b')](_[_0x3674('0x45')](_0x39e8e6['query'],_0x4a38e8['filters']),_0x345c45);if(_0x39e8e6[_0x3674('0x3a')][_0x3674('0x46')]){_0x152b85['where']=_[_0x3674('0x47')](_0x152b85['where'],{'$or':_[_0x3674('0x37')](_0x345c45,function(_0x75e7c4){if(_0x75e7c4['type']!==_0x3674('0x48')){var _0x20493a={};_0x20493a[_0x75e7c4[_0x3674('0x34')]]={'$like':'%'+_0x39e8e6['query']['filter']+'%'};return _0x20493a;}})});}_0x152b85=_['merge']({},_0x152b85,_0x39e8e6['options']);var _0x1fa6f6={'where':_0x152b85[_0x3674('0x44')]};return db[_0x3674('0x49')][_0x3674('0x25')](_0x1fa6f6)[_0x3674('0x2e')](function(_0x46b99e){_0x565bf8[_0x3674('0x25')]=_0x46b99e;if(_0x39e8e6['query'][_0x3674('0x4a')]){_0x152b85['include']=[{'all':!![]}];}return db[_0x3674('0x49')][_0x3674('0x4b')](_0x152b85);})[_0x3674('0x2e')](function(_0x15fbd6){_0x565bf8['rows']=_0x15fbd6;return _0x565bf8;})[_0x3674('0x2e')](respondWithFilteredResult(_0x466ca2,_0x152b85))[_0x3674('0x4c')](handleError(_0x466ca2,null));};exports['show']=function(_0x27d855,_0x25278f){var _0x3dd642={'raw':!![],'where':{'id':_0x27d855[_0x3674('0x4d')]['id']}},_0x4a41f2={};_0x4a41f2[_0x3674('0x39')]=_['keys'](db[_0x3674('0x49')][_0x3674('0x4e')]);_0x4a41f2[_0x3674('0x3a')]=_[_0x3674('0x4f')](_0x27d855[_0x3674('0x3a')]);_0x4a41f2[_0x3674('0x3b')]=_['intersection'](_0x4a41f2[_0x3674('0x39')],_0x4a41f2[_0x3674('0x3a')]);_0x3dd642[_0x3674('0x3e')]=_[_0x3674('0x3c')](_0x4a41f2['model'],qs[_0x3674('0x3d')](_0x27d855[_0x3674('0x3a')]['fields']));_0x3dd642[_0x3674('0x3e')]=_0x3dd642[_0x3674('0x3e')][_0x3674('0x3f')]?_0x3dd642[_0x3674('0x3e')]:_0x4a41f2[_0x3674('0x39')];if(_0x27d855[_0x3674('0x3a')]['includeAll']){_0x3dd642[_0x3674('0x50')]=[{'all':!![]}];}_0x3dd642=_[_0x3674('0x47')]({},_0x3dd642,_0x27d855['options']);return db[_0x3674('0x49')]['find'](_0x3dd642)[_0x3674('0x2e')](handleEntityNotFound(_0x25278f,null))[_0x3674('0x2e')](respondWithResult(_0x25278f,null))[_0x3674('0x4c')](handleError(_0x25278f,null));};exports[_0x3674('0x51')]=function(_0x5f0cce,_0x221007){return db[_0x3674('0x49')][_0x3674('0x51')](_0x5f0cce[_0x3674('0x52')],{})[_0x3674('0x2e')](function(_0x31ce33){var _0x100ce9=_0x5f0cce[_0x3674('0x53')][_0x3674('0x2f')]({'plain':!![]});if(!_0x100ce9)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x100ce9[_0x3674('0x54')]==='user'){var _0x2c74de=_0x31ce33[_0x3674('0x2f')]({'plain':!![]});var _0x1bb22b='OpenchannelQueues';return db[_0x3674('0x55')][_0x3674('0x56')]({'where':{'name':_0x1bb22b,'userProfileId':_0x100ce9[_0x3674('0x57')]},'raw':!![]})[_0x3674('0x2e')](function(_0x4a4fb9){if(_0x4a4fb9&&_0x4a4fb9[_0x3674('0x58')]===0x0){return db['UserProfileResource'][_0x3674('0x51')]({'name':_0x2c74de['name'],'resourceId':_0x2c74de['id'],'type':_0x4a4fb9[_0x3674('0x34')],'sectionId':_0x4a4fb9['id']},{})[_0x3674('0x2e')](function(){return _0x31ce33;});}else{return _0x31ce33;}})[_0x3674('0x4c')](function(_0x8321d9){logger[_0x3674('0x32')](_0x3674('0x59'),_0x8321d9);throw _0x8321d9;});}return _0x31ce33;})[_0x3674('0x2e')](respondWithResult(_0x221007,0xc9))[_0x3674('0x4c')](handleError(_0x221007,null));};exports[_0x3674('0x5a')]=function(_0x67d61f,_0x47aabf){if(_0x67d61f[_0x3674('0x52')]['id']){delete _0x67d61f[_0x3674('0x52')]['id'];}return db['OpenchannelQueue'][_0x3674('0x56')]({'where':{'id':_0x67d61f[_0x3674('0x4d')]['id']}})[_0x3674('0x2e')](handleEntityNotFound(_0x47aabf,null))[_0x3674('0x2e')](saveUpdates(_0x67d61f[_0x3674('0x52')],null))[_0x3674('0x2e')](respondWithResult(_0x47aabf,null))[_0x3674('0x4c')](handleError(_0x47aabf,null));};exports[_0x3674('0x2d')]=function(_0x4604e6,_0xe0a0dc){return db[_0x3674('0x49')][_0x3674('0x56')]({'where':{'id':_0x4604e6[_0x3674('0x4d')]['id']}})['then'](handleEntityNotFound(_0xe0a0dc,null))[_0x3674('0x2e')](removeEntity(_0xe0a0dc,null))[_0x3674('0x4c')](handleError(_0xe0a0dc,null));};exports[_0x3674('0x5b')]=function(_0x324d7d,_0x489708){return db[_0x3674('0x49')]['describe']()[_0x3674('0x2e')](respondWithResult(_0x489708,null))[_0x3674('0x4c')](handleError(_0x489708,null));};exports[_0x3674('0x5c')]=function(_0x4786d2,_0x4e7704,_0x31f1a0){var _0x5d79bd={'raw':!![],'where':{}},_0x4dd376={},_0x5c8127;return db['OpenchannelQueue'][_0x3674('0x5d')]({'where':{'id':_0x4786d2[_0x3674('0x4d')]['id']}})[_0x3674('0x2e')](handleEntityNotFound(_0x4e7704,null))['then'](function(_0xb38ce2){if(_0xb38ce2){_0x5c8127=_0xb38ce2[_0x3674('0x2f')]({'plain':!![]});_0x4dd376[_0x3674('0x39')]=_[_0x3674('0x4f')](db[_0x3674('0x5e')][_0x3674('0x4e')]);_0x4dd376['query']=_['keys'](_0x4786d2[_0x3674('0x3a')]);_0x4dd376[_0x3674('0x3b')]=_[_0x3674('0x3c')](_0x4dd376[_0x3674('0x39')],_0x4dd376[_0x3674('0x3a')]);_0x5d79bd[_0x3674('0x3e')]=_[_0x3674('0x3c')](_0x4dd376[_0x3674('0x39')],qs[_0x3674('0x3d')](_0x4786d2['query'][_0x3674('0x3d')]));_0x5d79bd[_0x3674('0x3e')]=_0x5d79bd[_0x3674('0x3e')][_0x3674('0x3f')]?_0x5d79bd[_0x3674('0x3e')]:_0x4dd376[_0x3674('0x39')];if(!_0x4786d2[_0x3674('0x3a')][_0x3674('0x5f')](_0x3674('0x40'))){_0x5d79bd[_0x3674('0x41')]=qs[_0x3674('0x41')](_0x4786d2[_0x3674('0x3a')][_0x3674('0x41')]);_0x5d79bd[_0x3674('0x26')]=qs['offset'](_0x4786d2['query'][_0x3674('0x26')]);}_0x5d79bd['order']=qs[_0x3674('0x43')](_0x4786d2[_0x3674('0x3a')][_0x3674('0x43')]);_0x5d79bd[_0x3674('0x44')]=qs['filters'](_[_0x3674('0x45')](_0x4786d2['query'],_0x4dd376[_0x3674('0x3b')]));_0x5d79bd[_0x3674('0x44')]['OpenchannelQueueId']=_0xb38ce2['id'];if(_0x4786d2[_0x3674('0x3a')][_0x3674('0x46')]){_0x5d79bd[_0x3674('0x44')]=_[_0x3674('0x47')](_0x5d79bd['where'],{'$or':_['map'](_0x5d79bd[_0x3674('0x3e')],function(_0x5dba79){var _0x316655={};_0x316655[_0x5dba79]={'$like':'%'+_0x4786d2[_0x3674('0x3a')][_0x3674('0x46')]+'%'};return _0x316655;})});}_0x5d79bd=_[_0x3674('0x47')]({},_0x5d79bd,_0x4786d2[_0x3674('0x60')]);return db[_0x3674('0x5e')]['findAll'](_0x5d79bd);}})[_0x3674('0x2e')](function(_0x3082b5){if(_0x3082b5){return db[_0x3674('0x61')]['findAndCountAll']({'where':{'id':_[_0x3674('0x37')](_0x3082b5,'UserId'),'role':_0x3674('0x62')},'attributes':['id','name',_0x3674('0x63'),_0x3674('0x64'),_0x3674('0x65')]});}})[_0x3674('0x2e')](function(_0x378e6f){if(_0x378e6f){return{'count':_0x378e6f[_0x3674('0x25')],'rows':_[_0x3674('0x37')](_0x378e6f[_0x3674('0x66')],function(_0xaffbf6){return{'membername':_0xaffbf6[_0x3674('0x34')],'UserId':_0xaffbf6['id'],'queue_name':_0x5c8127[_0x3674('0x34')],'OpenchannelQueueId':_0x5c8127['id'],'interface':util[_0x3674('0x67')](_0x3674('0x68'),_0x3674('0x69'),_0xaffbf6['name']),'penalty':0x0,'paused':_0xaffbf6[_0x3674('0x63')],'createdAt':_0xaffbf6[_0x3674('0x65')],'updatedAt':_0xaffbf6['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x3674('0x2e')](respondWithFilteredResult(_0x4e7704,_0x5d79bd))[_0x3674('0x4c')](handleError(_0x4e7704,null));};exports[_0x3674('0x6a')]=function(_0x952596,_0x4fa151,_0x210147){var _0x580015={};var _0x217948={};var _0x3d829c;var _0x5ff343;return db[_0x3674('0x49')][_0x3674('0x5d')]({'where':{'id':_0x952596[_0x3674('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4fa151,null))[_0x3674('0x2e')](function(_0x451f98){if(_0x451f98){_0x3d829c=_0x451f98;_0x217948[_0x3674('0x39')]=_[_0x3674('0x4f')](db[_0x3674('0x6b')][_0x3674('0x4e')]);_0x217948[_0x3674('0x3a')]=_[_0x3674('0x4f')](_0x952596[_0x3674('0x3a')]);_0x217948['filters']=_[_0x3674('0x3c')](_0x217948['model'],_0x217948[_0x3674('0x3a')]);_0x580015[_0x3674('0x3e')]=_[_0x3674('0x3c')](_0x217948[_0x3674('0x39')],qs[_0x3674('0x3d')](_0x952596[_0x3674('0x3a')][_0x3674('0x3d')]));_0x580015[_0x3674('0x3e')]=_0x580015['attributes'][_0x3674('0x3f')]?_0x580015[_0x3674('0x3e')]:_0x217948['model'];_0x580015[_0x3674('0x42')]=qs[_0x3674('0x43')](_0x952596[_0x3674('0x3a')]['sort']);_0x580015['where']=qs[_0x3674('0x3b')](_[_0x3674('0x45')](_0x952596['query'],_0x217948[_0x3674('0x3b')]));if(_0x952596[_0x3674('0x3a')][_0x3674('0x46')]){_0x580015[_0x3674('0x44')]=_[_0x3674('0x47')](_0x580015[_0x3674('0x44')],{'$or':_[_0x3674('0x37')](_0x580015[_0x3674('0x3e')],function(_0x577854){var _0x3fa133={};_0x3fa133[_0x577854]={'$like':'%'+_0x952596['query']['filter']+'%'};return _0x3fa133;})});}_0x580015=_['merge']({},_0x580015,_0x952596['options']);return _0x3d829c[_0x3674('0x6a')](_0x580015);}})[_0x3674('0x2e')](function(_0x3f1e0b){if(_0x3f1e0b){_0x5ff343=_0x3f1e0b[_0x3674('0x3f')];if(!_0x952596[_0x3674('0x3a')]['hasOwnProperty'](_0x3674('0x40'))){_0x580015['limit']=qs['limit'](_0x952596[_0x3674('0x3a')][_0x3674('0x41')]);_0x580015[_0x3674('0x26')]=qs['offset'](_0x952596[_0x3674('0x3a')][_0x3674('0x26')]);}return _0x3d829c[_0x3674('0x6a')](_0x580015);}})[_0x3674('0x2e')](function(_0xb42787){if(_0xb42787){return _0xb42787?{'count':_0x5ff343,'rows':_0xb42787}:null;}})[_0x3674('0x2e')](respondWithResult(_0x4fa151,null))[_0x3674('0x4c')](handleError(_0x4fa151,null));};exports['addTeams']=function(_0x186492,_0x230b40,_0x4828db){var _0xe5a002=_0x186492[_0x3674('0x52')][_0x3674('0x6c')];return db['Team']['findAll']({'where':{'id':_0xe5a002},'attributes':['id'],'include':[{'model':db['User'],'as':_0x3674('0x6d'),'attributes':['id','name',_0x3674('0x6e'),_0x3674('0x6f'),_0x3674('0x70')],'raw':!![]}]})[_0x3674('0x2e')](function(_0x2ef342){if(_0x2ef342){var _0x3d9a9a=_['flatMap'](_0x2ef342,function(_0x141dd9){var _0x2e059f=_0x141dd9[_0x3674('0x2f')]({'plain':!![]});return _0x2e059f[_0x3674('0x6d')];});return db['OpenchannelQueue'][_0x3674('0x56')]({'where':{'id':_0x186492[_0x3674('0x4d')]['id']}})[_0x3674('0x2e')](function(_0x540907){return db[_0x3674('0x71')][_0x3674('0x72')](function(_0x285d57){return _0x540907[_0x3674('0x73')](_0xe5a002,{'transaction':_0x285d57})[_0x3674('0x2e')](function(){return BPromise[_0x3674('0x74')](_0x3d9a9a,function(_0x3e5bae){return db[_0x3674('0x5e')][_0x3674('0x75')]({'where':{'UserId':_0x3e5bae['id'],'OpenchannelQueueId':_0x186492[_0x3674('0x4d')]['id']},'transaction':_0x285d57});});})[_0x3674('0x2e')](function(){_0x3d9a9a[_0x3674('0x76')](function(_0x22a4d1){socket[_0x3674('0x77')](_0x3674('0x78'),{'UserId':_0x22a4d1['id'],'OpenchannelQueueId':_0x540907['id']});});});});});}})[_0x3674('0x2e')](respondWithStatusCode(_0x230b40,null))[_0x3674('0x4c')](handleError(_0x230b40,null));};exports[_0x3674('0x79')]=function(_0x3d447c,_0xccd89e,_0x1a5797){return db['Team']['findAll']({'where':{'id':_0x3d447c[_0x3674('0x3a')][_0x3674('0x6c')]},'attributes':['id'],'include':[{'model':db[_0x3674('0x61')],'as':_0x3674('0x6d'),'attributes':['id'],'raw':!![]}]})[_0x3674('0x2e')](handleEntityNotFound(_0xccd89e,null))[_0x3674('0x2e')](function(_0x598242){var _0x19aeb8=_['map'](_0x598242,'id');var _0x5f0af3=[];var _0x34ef29=[];var _0x33762f=squel['select']();_0x33762f[_0x3674('0x7a')](_0x3674('0x7b'))[_0x3674('0x7c')](_0x3674('0x7d'),'tq')[_0x3674('0x7e')](_0x3674('0x7f'),'ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0x3674('0x80'),_0x3d447c[_0x3674('0x4d')]['id']);for(var _0x39acf0=0x0;_0x39acf0<_0x598242[_0x3674('0x3f')];_0x39acf0+=0x1){let _0x4a3052=_0x598242[_0x39acf0];for(var _0x23796a=0x0;_0x23796a<_0x4a3052[_0x3674('0x6d')]['length'];_0x23796a+=0x1){let _0xd4893e=_0x4a3052[_0x3674('0x6d')][_0x23796a];var _0x2d82cb=_0x33762f['clone']();_0x2d82cb[_0x3674('0x44')](_0x3674('0x81'),_0xd4893e['id']);_0x34ef29[_0x3674('0x82')](db[_0x3674('0x71')][_0x3674('0x3a')](_0x2d82cb[_0x3674('0x83')](),{'type':db[_0x3674('0x71')][_0x3674('0x84')][_0x3674('0x85')]})[_0x3674('0x2e')](function(_0x35eecf){if(_0x35eecf[_0x3674('0x3f')]===0x1){return _0xd4893e['id'];}else{var _0x432afb=_[_0x3674('0x86')](_[_0x3674('0x37')](_0x35eecf,_0x3674('0x87')),function(_0x274b45){return _[_0x3674('0x88')](_0x19aeb8,_0x274b45);});if(_0x432afb){return _0xd4893e['id'];}}}));}}return BPromise[_0x3674('0x89')](_0x34ef29)[_0x3674('0x2e')](function(_0xcd4f8c){_0x5f0af3=_(_0x5f0af3)[_0x3674('0x8a')](_0xcd4f8c)['compact']()['value']();return db['OpenchannelQueue'][_0x3674('0x56')]({'where':{'id':_0x3d447c[_0x3674('0x4d')]['id']}})[_0x3674('0x2e')](function(_0x45cd97){return db['sequelize'][_0x3674('0x72')](function(_0x49e69b){return _0x45cd97[_0x3674('0x79')](_0x3d447c[_0x3674('0x3a')]['ids'],{'transaction':_0x49e69b})[_0x3674('0x2e')](function(){if(!_[_0x3674('0x8b')](_0x5f0af3)){return _0x45cd97['removeAgents'](_0x5f0af3,{'transaction':_0x49e69b});}})[_0x3674('0x2e')](function(){_0x5f0af3[_0x3674('0x76')](function(_0x4bebd8){socket[_0x3674('0x77')]('userOpenchannelQueue:remove',{'UserId':_0x4bebd8,'OpenchannelQueueId':_0x45cd97['id']});});});});});});})[_0x3674('0x2e')](respondWithStatusCode(_0xccd89e,null))['catch'](handleError(_0xccd89e,null));};exports[_0x3674('0x8c')]=function(_0x2a7b25,_0x1cf1da,_0x2a544a){return db['OpenchannelQueue']['find']({'where':{'id':_0x2a7b25['params']['id']}})[_0x3674('0x2e')](handleEntityNotFound(_0x1cf1da,null))[_0x3674('0x2e')](function(_0x802278){if(_0x802278){return _0x802278['addAgents'](_0x2a7b25[_0x3674('0x52')][_0x3674('0x6c')],_[_0x3674('0x8d')](_0x2a7b25[_0x3674('0x52')],[_0x3674('0x6c'),'id'])||{})[_0x3674('0x8e')](function(_0x384baa){for(var _0xcc19e9=0x0;_0xcc19e9<_0x2a7b25[_0x3674('0x52')][_0x3674('0x6c')][_0x3674('0x3f')];_0xcc19e9+=0x1){socket[_0x3674('0x77')]('userOpenchannelQueue:save',{'UserId':_0x2a7b25[_0x3674('0x52')]['ids'][_0xcc19e9],'OpenchannelQueueId':_0x2a7b25[_0x3674('0x4d')]['id']});}return _0x384baa;});}})[_0x3674('0x2e')](respondWithResult(_0x1cf1da,null))[_0x3674('0x4c')](handleError(_0x1cf1da,null));};exports[_0x3674('0x8f')]=function(_0x39d060,_0x57a3b0,_0x3293b6){return db[_0x3674('0x49')][_0x3674('0x56')]({'where':{'id':_0x39d060[_0x3674('0x4d')]['id']}})[_0x3674('0x2e')](handleEntityNotFound(_0x57a3b0,null))[_0x3674('0x2e')](function(_0x348557){if(_0x348557){return _0x348557[_0x3674('0x8f')](_0x39d060[_0x3674('0x3a')][_0x3674('0x6c')])[_0x3674('0x2e')](function(){if(_[_0x3674('0x90')](_0x39d060[_0x3674('0x3a')][_0x3674('0x6c')])){for(var _0x153f58=0x0;_0x153f58<_0x39d060['query'][_0x3674('0x6c')][_0x3674('0x3f')];_0x153f58+=0x1){socket[_0x3674('0x77')](_0x3674('0x91'),{'UserId':Number(_0x39d060[_0x3674('0x3a')][_0x3674('0x6c')][_0x153f58]),'OpenchannelQueueId':Number(_0x39d060[_0x3674('0x4d')]['id'])});}}else{socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0x39d060[_0x3674('0x3a')][_0x3674('0x6c')]),'OpenchannelQueueId':Number(_0x39d060[_0x3674('0x4d')]['id'])});}});}})['then'](respondWithStatusCode(_0x57a3b0,null))[_0x3674('0x4c')](handleError(_0x57a3b0,null));};exports['getAgents']=function(_0xb40f5c,_0x3b221f,_0x308a21){var _0x5d04a2={};var _0x42adb4={};var _0x18407e;var _0x5deba9;return db['OpenchannelQueue']['findOne']({'where':{'id':_0xb40f5c['params']['id']}})[_0x3674('0x2e')](handleEntityNotFound(_0x3b221f,null))[_0x3674('0x2e')](function(_0x2ec16d){if(_0x2ec16d){_0x18407e=_0x2ec16d;_0x42adb4['model']=_[_0x3674('0x4f')](db[_0x3674('0x61')]['rawAttributes']);_0x42adb4[_0x3674('0x3a')]=_[_0x3674('0x4f')](_0xb40f5c[_0x3674('0x3a')]);_0x42adb4[_0x3674('0x3b')]=_[_0x3674('0x3c')](_0x42adb4['model'],_0x42adb4['query']);_0x5d04a2[_0x3674('0x3e')]=_['intersection'](_0x42adb4[_0x3674('0x39')],qs['fields'](_0xb40f5c[_0x3674('0x3a')][_0x3674('0x3d')]));_0x5d04a2[_0x3674('0x3e')]=_0x5d04a2['attributes']['length']?_0x5d04a2['attributes']:_0x42adb4[_0x3674('0x39')];_0x5d04a2[_0x3674('0x42')]=qs['sort'](_0xb40f5c[_0x3674('0x3a')][_0x3674('0x43')]);_0x5d04a2[_0x3674('0x44')]=qs[_0x3674('0x3b')](_[_0x3674('0x45')](_0xb40f5c[_0x3674('0x3a')],_0x42adb4[_0x3674('0x3b')]));if(_0xb40f5c[_0x3674('0x3a')][_0x3674('0x46')]){_0x5d04a2[_0x3674('0x44')]=_['merge'](_0x5d04a2['where'],{'$or':_['map'](_0x5d04a2[_0x3674('0x3e')],function(_0x568fe9){var _0x39c762={};_0x39c762[_0x568fe9]={'$like':'%'+_0xb40f5c[_0x3674('0x3a')]['filter']+'%'};return _0x39c762;})});}_0x5d04a2=_[_0x3674('0x47')]({},_0x5d04a2,_0xb40f5c[_0x3674('0x60')]);return _0x18407e[_0x3674('0x92')](_0x5d04a2);}})[_0x3674('0x2e')](function(_0x405611){if(_0x405611){_0x5deba9=_0x405611[_0x3674('0x3f')];if(!_0xb40f5c[_0x3674('0x3a')][_0x3674('0x5f')](_0x3674('0x40'))){_0x5d04a2['limit']=qs[_0x3674('0x41')](_0xb40f5c[_0x3674('0x3a')][_0x3674('0x41')]);_0x5d04a2['offset']=qs[_0x3674('0x26')](_0xb40f5c['query']['offset']);}return _0x18407e[_0x3674('0x92')](_0x5d04a2);}})['then'](function(_0x58ae06){if(_0x58ae06){return _0x58ae06?{'count':_0x5deba9,'rows':_0x58ae06}:null;}})[_0x3674('0x2e')](respondWithResult(_0x3b221f,null))[_0x3674('0x4c')](handleError(_0x3b221f,null));};