7e674acb5ee499d2125cab8cd504552833f9af2e
[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 _0xe0d5=['../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./openchannelQueue.socket','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','get','OpenchannelQueues','UserProfileResource','destroy','name','send','index','map','OpenchannelQueue','rawAttributes','fieldName','type','key','model','keys','filters','intersection','query','attributes','fields','length','nolimit','order','sort','pick','filter','where','VIRTUAL','options','includeAll','findAll','catch','params','merge','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','findOne','UserOpenchannelQueue','hasOwnProperty','OpenchannelQueueId','findAndCountAll','agent','openchannelPause','createdAt','rows','format','getTeams','Team','addTeams','ids','User','Agents','online','interface','flatMap','sequelize','transaction','each','forEach','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','isEmpty','userOpenchannelQueue:remove','addAgents','spread','removeAgents','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','to-csv','ejs','lodash','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils'];(function(_0x9d1180,_0x2f71fb){var _0x155274=function(_0x1867c1){while(--_0x1867c1){_0x9d1180['push'](_0x9d1180['shift']());}};_0x155274(++_0x2f71fb);}(_0xe0d5,0xfe));var _0x5e0d=function(_0x2e04e3,_0x499a30){_0x2e04e3=_0x2e04e3-0x0;var _0x4d9809=_0xe0d5[_0x2e04e3];return _0x4d9809;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5e0d('0x0'));var rimraf=require(_0x5e0d('0x1'));var zipdir=require(_0x5e0d('0x2'));var jsonpatch=require(_0x5e0d('0x3'));var rp=require(_0x5e0d('0x4'));var moment=require('moment');var BPromise=require(_0x5e0d('0x5'));var Mustache=require('mustache');var util=require(_0x5e0d('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x5e0d('0x7'));var ejs=require(_0x5e0d('0x8'));var fs=require('fs');var _=require(_0x5e0d('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x5e0d('0xa'));var toCsv=require(_0x5e0d('0x7'));var querystring=require(_0x5e0d('0xb'));var Papa=require(_0x5e0d('0xc'));var Redis=require('ioredis');var authService=require(_0x5e0d('0xd'));var qs=require(_0x5e0d('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5e0d('0xf'))(_0x5e0d('0x10'));var utils=require(_0x5e0d('0x11'));var config=require(_0x5e0d('0x12'));var licenseUtil=require(_0x5e0d('0x13'));var db=require(_0x5e0d('0x14'))['db'];config[_0x5e0d('0x15')]=_['defaults'](config['redis'],{'host':_0x5e0d('0x16'),'port':0x18eb});var socket=require(_0x5e0d('0x17'))(new Redis(config['redis']));require(_0x5e0d('0x18'))['register'](socket);function respondWithStatusCode(_0x5a6b2f,_0xaf3e88){_0xaf3e88=_0xaf3e88||0xcc;return function(_0x53861f){if(_0x53861f){return _0x5a6b2f[_0x5e0d('0x19')](_0xaf3e88);}return _0x5a6b2f[_0x5e0d('0x1a')](_0xaf3e88)[_0x5e0d('0x1b')]();};}function respondWithResult(_0x49a85a,_0x39947b){_0x39947b=_0x39947b||0xc8;return function(_0x2be302){if(_0x2be302){return _0x49a85a[_0x5e0d('0x1a')](_0x39947b)[_0x5e0d('0x1c')](_0x2be302);}};}function respondWithFilteredResult(_0x8d16f4,_0x3b3619){return function(_0x488731){if(_0x488731){var _0x43d405=_0x488731[_0x5e0d('0x1d')],_0x458bf6=_0x3b3619[_0x5e0d('0x1e')],_0x5c4de5=_0x3b3619[_0x5e0d('0x1e')]+_0x3b3619[_0x5e0d('0x1f')],_0x1af99b;if(_0x5c4de5>=_0x43d405){_0x5c4de5=_0x43d405;_0x1af99b=0xc8;}else{_0x1af99b=0xce;}_0x8d16f4[_0x5e0d('0x1a')](_0x1af99b);return _0x8d16f4[_0x5e0d('0x20')](_0x5e0d('0x21'),_0x458bf6+'-'+_0x5c4de5+'/'+_0x43d405)['json'](_0x488731);}return null;};}function patchUpdates(_0x37707d){return function(_0x51b82b){try{jsonpatch[_0x5e0d('0x22')](_0x51b82b,_0x37707d,!![]);}catch(_0x51803f){return BPromise[_0x5e0d('0x23')](_0x51803f);}return _0x51b82b[_0x5e0d('0x24')]();};}function saveUpdates(_0x1ce07a,_0x12c089){return function(_0x34e10b){if(_0x34e10b){return _0x34e10b['update'](_0x1ce07a)[_0x5e0d('0x25')](function(_0x3d0567){return _0x3d0567;});}return null;};}function removeEntity(_0x5d8f9d,_0x124bdc){return function(_0x48f055){if(_0x48f055){return _0x48f055['destroy']()['then'](function(){var _0x20d9d6=_0x48f055[_0x5e0d('0x26')]({'plain':!![]});var _0x1c419c=_0x5e0d('0x27');return db[_0x5e0d('0x28')][_0x5e0d('0x29')]({'where':{'type':_0x1c419c,'resourceId':_0x20d9d6['id']}})[_0x5e0d('0x25')](function(){return _0x48f055;});})[_0x5e0d('0x25')](function(){_0x5d8f9d[_0x5e0d('0x1a')](0xcc)[_0x5e0d('0x1b')]();});}};}function handleEntityNotFound(_0x1ee467,_0x40c5cb){return function(_0x5193e7){if(!_0x5193e7){_0x1ee467[_0x5e0d('0x19')](0x194);}return _0x5193e7;};}function handleError(_0x455ca3,_0x25fd15){_0x25fd15=_0x25fd15||0x1f4;return function(_0x5c3853){logger['error'](_0x5c3853['stack']);if(_0x5c3853[_0x5e0d('0x2a')]){delete _0x5c3853['name'];}_0x455ca3['status'](_0x25fd15)[_0x5e0d('0x2b')](_0x5c3853);};}exports[_0x5e0d('0x2c')]=function(_0x204649,_0x4f9127){var _0x4954c2={},_0x396c99={},_0x677ee9={'count':0x0,'rows':[]};var _0x538bdb=_[_0x5e0d('0x2d')](db[_0x5e0d('0x2e')][_0x5e0d('0x2f')],function(_0x1b30dc){return{'name':_0x1b30dc[_0x5e0d('0x30')],'type':_0x1b30dc[_0x5e0d('0x31')][_0x5e0d('0x32')]};});_0x396c99[_0x5e0d('0x33')]=_[_0x5e0d('0x2d')](_0x538bdb,_0x5e0d('0x2a'));_0x396c99['query']=_[_0x5e0d('0x34')](_0x204649['query']);_0x396c99[_0x5e0d('0x35')]=_[_0x5e0d('0x36')](_0x396c99['model'],_0x396c99[_0x5e0d('0x37')]);_0x4954c2[_0x5e0d('0x38')]=_[_0x5e0d('0x36')](_0x396c99[_0x5e0d('0x33')],qs[_0x5e0d('0x39')](_0x204649[_0x5e0d('0x37')]['fields']));_0x4954c2[_0x5e0d('0x38')]=_0x4954c2[_0x5e0d('0x38')][_0x5e0d('0x3a')]?_0x4954c2[_0x5e0d('0x38')]:_0x396c99['model'];if(!_0x204649['query']['hasOwnProperty'](_0x5e0d('0x3b'))){_0x4954c2[_0x5e0d('0x1f')]=qs['limit'](_0x204649[_0x5e0d('0x37')]['limit']);_0x4954c2[_0x5e0d('0x1e')]=qs[_0x5e0d('0x1e')](_0x204649[_0x5e0d('0x37')][_0x5e0d('0x1e')]);}_0x4954c2[_0x5e0d('0x3c')]=qs[_0x5e0d('0x3d')](_0x204649[_0x5e0d('0x37')][_0x5e0d('0x3d')]);_0x4954c2['where']=qs[_0x5e0d('0x35')](_[_0x5e0d('0x3e')](_0x204649[_0x5e0d('0x37')],_0x396c99['filters']),_0x538bdb);if(_0x204649[_0x5e0d('0x37')][_0x5e0d('0x3f')]){_0x4954c2[_0x5e0d('0x40')]=_['merge'](_0x4954c2[_0x5e0d('0x40')],{'$or':_[_0x5e0d('0x2d')](_0x538bdb,function(_0x2ac8ac){if(_0x2ac8ac[_0x5e0d('0x31')]!==_0x5e0d('0x41')){var _0x4cbcd9={};_0x4cbcd9[_0x2ac8ac['name']]={'$like':'%'+_0x204649['query'][_0x5e0d('0x3f')]+'%'};return _0x4cbcd9;}})});}_0x4954c2=_['merge']({},_0x4954c2,_0x204649[_0x5e0d('0x42')]);var _0x1ee21b={'where':_0x4954c2[_0x5e0d('0x40')]};return db[_0x5e0d('0x2e')][_0x5e0d('0x1d')](_0x1ee21b)[_0x5e0d('0x25')](function(_0x2577df){_0x677ee9['count']=_0x2577df;if(_0x204649[_0x5e0d('0x37')][_0x5e0d('0x43')]){_0x4954c2['include']=[{'all':!![]}];}return db['OpenchannelQueue'][_0x5e0d('0x44')](_0x4954c2);})[_0x5e0d('0x25')](function(_0x56a2e2){_0x677ee9['rows']=_0x56a2e2;return _0x677ee9;})[_0x5e0d('0x25')](respondWithFilteredResult(_0x4f9127,_0x4954c2))[_0x5e0d('0x45')](handleError(_0x4f9127,null));};exports['show']=function(_0x17ae99,_0x427dc3){var _0x4d139f={'raw':!![],'where':{'id':_0x17ae99[_0x5e0d('0x46')]['id']}},_0x3d5781={};_0x3d5781['model']=_[_0x5e0d('0x34')](db[_0x5e0d('0x2e')][_0x5e0d('0x2f')]);_0x3d5781[_0x5e0d('0x37')]=_[_0x5e0d('0x34')](_0x17ae99[_0x5e0d('0x37')]);_0x3d5781[_0x5e0d('0x35')]=_[_0x5e0d('0x36')](_0x3d5781['model'],_0x3d5781[_0x5e0d('0x37')]);_0x4d139f[_0x5e0d('0x38')]=_[_0x5e0d('0x36')](_0x3d5781[_0x5e0d('0x33')],qs[_0x5e0d('0x39')](_0x17ae99[_0x5e0d('0x37')][_0x5e0d('0x39')]));_0x4d139f[_0x5e0d('0x38')]=_0x4d139f[_0x5e0d('0x38')]['length']?_0x4d139f[_0x5e0d('0x38')]:_0x3d5781['model'];if(_0x17ae99[_0x5e0d('0x37')][_0x5e0d('0x43')]){_0x4d139f['include']=[{'all':!![]}];}_0x4d139f=_[_0x5e0d('0x47')]({},_0x4d139f,_0x17ae99[_0x5e0d('0x42')]);return db[_0x5e0d('0x2e')][_0x5e0d('0x48')](_0x4d139f)[_0x5e0d('0x25')](handleEntityNotFound(_0x427dc3,null))[_0x5e0d('0x25')](respondWithResult(_0x427dc3,null))[_0x5e0d('0x45')](handleError(_0x427dc3,null));};exports[_0x5e0d('0x49')]=function(_0x2526b4,_0x3a0865){return db[_0x5e0d('0x2e')][_0x5e0d('0x49')](_0x2526b4[_0x5e0d('0x4a')],{})[_0x5e0d('0x25')](function(_0x20dc89){var _0x2a26a2=_0x2526b4[_0x5e0d('0x4b')]['get']({'plain':!![]});if(!_0x2a26a2)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2a26a2[_0x5e0d('0x4c')]==='user'){var _0xbae136=_0x20dc89[_0x5e0d('0x26')]({'plain':!![]});var _0x26393c=_0x5e0d('0x27');return db[_0x5e0d('0x4d')][_0x5e0d('0x48')]({'where':{'name':_0x26393c,'userProfileId':_0x2a26a2[_0x5e0d('0x4e')]},'raw':!![]})[_0x5e0d('0x25')](function(_0x28fb12){if(_0x28fb12&&_0x28fb12[_0x5e0d('0x4f')]===0x0){return db['UserProfileResource']['create']({'name':_0xbae136['name'],'resourceId':_0xbae136['id'],'type':_0x28fb12['name'],'sectionId':_0x28fb12['id']},{})['then'](function(){return _0x20dc89;});}else{return _0x20dc89;}})[_0x5e0d('0x45')](function(_0x342912){logger[_0x5e0d('0x50')](_0x5e0d('0x51'),_0x342912);throw _0x342912;});}return _0x20dc89;})[_0x5e0d('0x25')](respondWithResult(_0x3a0865,0xc9))[_0x5e0d('0x45')](handleError(_0x3a0865,null));};exports[_0x5e0d('0x52')]=function(_0xd1e1cb,_0xcc4029){if(_0xd1e1cb[_0x5e0d('0x4a')]['id']){delete _0xd1e1cb[_0x5e0d('0x4a')]['id'];}return db[_0x5e0d('0x2e')][_0x5e0d('0x48')]({'where':{'id':_0xd1e1cb[_0x5e0d('0x46')]['id']}})[_0x5e0d('0x25')](handleEntityNotFound(_0xcc4029,null))['then'](saveUpdates(_0xd1e1cb[_0x5e0d('0x4a')],null))[_0x5e0d('0x25')](respondWithResult(_0xcc4029,null))['catch'](handleError(_0xcc4029,null));};exports[_0x5e0d('0x29')]=function(_0x5758c3,_0xe0ad12){return db['OpenchannelQueue']['find']({'where':{'id':_0x5758c3[_0x5e0d('0x46')]['id']}})['then'](handleEntityNotFound(_0xe0ad12,null))[_0x5e0d('0x25')](removeEntity(_0xe0ad12,null))[_0x5e0d('0x45')](handleError(_0xe0ad12,null));};exports[_0x5e0d('0x53')]=function(_0x18a620,_0x49dda0){return db[_0x5e0d('0x2e')][_0x5e0d('0x53')]()[_0x5e0d('0x25')](respondWithResult(_0x49dda0,null))[_0x5e0d('0x45')](handleError(_0x49dda0,null));};exports[_0x5e0d('0x54')]=function(_0x5dd928,_0x55f442,_0x5c26ff){var _0x34b0ea={'raw':!![],'where':{}},_0x58b1f6={},_0x1182e1;return db['OpenchannelQueue'][_0x5e0d('0x55')]({'where':{'id':_0x5dd928['params']['id']}})['then'](handleEntityNotFound(_0x55f442,null))[_0x5e0d('0x25')](function(_0x2ba423){if(_0x2ba423){_0x1182e1=_0x2ba423[_0x5e0d('0x26')]({'plain':!![]});_0x58b1f6[_0x5e0d('0x33')]=_['keys'](db[_0x5e0d('0x56')][_0x5e0d('0x2f')]);_0x58b1f6[_0x5e0d('0x37')]=_['keys'](_0x5dd928[_0x5e0d('0x37')]);_0x58b1f6['filters']=_[_0x5e0d('0x36')](_0x58b1f6[_0x5e0d('0x33')],_0x58b1f6['query']);_0x34b0ea[_0x5e0d('0x38')]=_[_0x5e0d('0x36')](_0x58b1f6[_0x5e0d('0x33')],qs['fields'](_0x5dd928[_0x5e0d('0x37')][_0x5e0d('0x39')]));_0x34b0ea['attributes']=_0x34b0ea[_0x5e0d('0x38')][_0x5e0d('0x3a')]?_0x34b0ea['attributes']:_0x58b1f6['model'];if(!_0x5dd928['query'][_0x5e0d('0x57')](_0x5e0d('0x3b'))){_0x34b0ea[_0x5e0d('0x1f')]=qs[_0x5e0d('0x1f')](_0x5dd928['query']['limit']);_0x34b0ea['offset']=qs[_0x5e0d('0x1e')](_0x5dd928[_0x5e0d('0x37')][_0x5e0d('0x1e')]);}_0x34b0ea['order']=qs[_0x5e0d('0x3d')](_0x5dd928['query'][_0x5e0d('0x3d')]);_0x34b0ea[_0x5e0d('0x40')]=qs[_0x5e0d('0x35')](_[_0x5e0d('0x3e')](_0x5dd928[_0x5e0d('0x37')],_0x58b1f6[_0x5e0d('0x35')]));_0x34b0ea[_0x5e0d('0x40')][_0x5e0d('0x58')]=_0x2ba423['id'];if(_0x5dd928[_0x5e0d('0x37')][_0x5e0d('0x3f')]){_0x34b0ea[_0x5e0d('0x40')]=_['merge'](_0x34b0ea['where'],{'$or':_[_0x5e0d('0x2d')](_0x34b0ea[_0x5e0d('0x38')],function(_0x551264){var _0x17fd73={};_0x17fd73[_0x551264]={'$like':'%'+_0x5dd928[_0x5e0d('0x37')]['filter']+'%'};return _0x17fd73;})});}_0x34b0ea=_[_0x5e0d('0x47')]({},_0x34b0ea,_0x5dd928['options']);return db['UserOpenchannelQueue'][_0x5e0d('0x44')](_0x34b0ea);}})[_0x5e0d('0x25')](function(_0x3433cd){if(_0x3433cd){return db['User'][_0x5e0d('0x59')]({'where':{'id':_[_0x5e0d('0x2d')](_0x3433cd,'UserId'),'role':_0x5e0d('0x5a')},'attributes':['id',_0x5e0d('0x2a'),_0x5e0d('0x5b'),'updatedAt',_0x5e0d('0x5c')]});}})[_0x5e0d('0x25')](function(_0x794bb9){if(_0x794bb9){return{'count':_0x794bb9['count'],'rows':_[_0x5e0d('0x2d')](_0x794bb9[_0x5e0d('0x5d')],function(_0x575063){return{'membername':_0x575063[_0x5e0d('0x2a')],'UserId':_0x575063['id'],'queue_name':_0x1182e1[_0x5e0d('0x2a')],'OpenchannelQueueId':_0x1182e1['id'],'interface':util[_0x5e0d('0x5e')]('%s/%s','SIP',_0x575063[_0x5e0d('0x2a')]),'penalty':0x0,'paused':_0x575063[_0x5e0d('0x5b')],'createdAt':_0x575063['createdAt'],'updatedAt':_0x575063['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x5e0d('0x25')](respondWithFilteredResult(_0x55f442,_0x34b0ea))[_0x5e0d('0x45')](handleError(_0x55f442,null));};exports[_0x5e0d('0x5f')]=function(_0x1a17bd,_0x1bbca9,_0x3931f){var _0x301a86={};var _0x51f4ee={};var _0x37fdab;var _0x129963;return db[_0x5e0d('0x2e')][_0x5e0d('0x55')]({'where':{'id':_0x1a17bd[_0x5e0d('0x46')]['id']}})[_0x5e0d('0x25')](handleEntityNotFound(_0x1bbca9,null))[_0x5e0d('0x25')](function(_0xbe6ac6){if(_0xbe6ac6){_0x37fdab=_0xbe6ac6;_0x51f4ee[_0x5e0d('0x33')]=_[_0x5e0d('0x34')](db[_0x5e0d('0x60')][_0x5e0d('0x2f')]);_0x51f4ee[_0x5e0d('0x37')]=_[_0x5e0d('0x34')](_0x1a17bd[_0x5e0d('0x37')]);_0x51f4ee['filters']=_[_0x5e0d('0x36')](_0x51f4ee[_0x5e0d('0x33')],_0x51f4ee[_0x5e0d('0x37')]);_0x301a86[_0x5e0d('0x38')]=_[_0x5e0d('0x36')](_0x51f4ee[_0x5e0d('0x33')],qs['fields'](_0x1a17bd[_0x5e0d('0x37')][_0x5e0d('0x39')]));_0x301a86[_0x5e0d('0x38')]=_0x301a86[_0x5e0d('0x38')]['length']?_0x301a86[_0x5e0d('0x38')]:_0x51f4ee[_0x5e0d('0x33')];_0x301a86[_0x5e0d('0x3c')]=qs[_0x5e0d('0x3d')](_0x1a17bd['query'][_0x5e0d('0x3d')]);_0x301a86['where']=qs[_0x5e0d('0x35')](_[_0x5e0d('0x3e')](_0x1a17bd[_0x5e0d('0x37')],_0x51f4ee[_0x5e0d('0x35')]));if(_0x1a17bd[_0x5e0d('0x37')][_0x5e0d('0x3f')]){_0x301a86['where']=_[_0x5e0d('0x47')](_0x301a86[_0x5e0d('0x40')],{'$or':_[_0x5e0d('0x2d')](_0x301a86['attributes'],function(_0x1ac419){var _0x52f805={};_0x52f805[_0x1ac419]={'$like':'%'+_0x1a17bd[_0x5e0d('0x37')][_0x5e0d('0x3f')]+'%'};return _0x52f805;})});}_0x301a86=_[_0x5e0d('0x47')]({},_0x301a86,_0x1a17bd[_0x5e0d('0x42')]);return _0x37fdab[_0x5e0d('0x5f')](_0x301a86);}})[_0x5e0d('0x25')](function(_0x4ed617){if(_0x4ed617){_0x129963=_0x4ed617['length'];if(!_0x1a17bd['query']['hasOwnProperty'](_0x5e0d('0x3b'))){_0x301a86[_0x5e0d('0x1f')]=qs[_0x5e0d('0x1f')](_0x1a17bd[_0x5e0d('0x37')][_0x5e0d('0x1f')]);_0x301a86['offset']=qs[_0x5e0d('0x1e')](_0x1a17bd['query'][_0x5e0d('0x1e')]);}return _0x37fdab['getTeams'](_0x301a86);}})[_0x5e0d('0x25')](function(_0x27c7ed){if(_0x27c7ed){return _0x27c7ed?{'count':_0x129963,'rows':_0x27c7ed}:null;}})[_0x5e0d('0x25')](respondWithResult(_0x1bbca9,null))[_0x5e0d('0x45')](handleError(_0x1bbca9,null));};exports[_0x5e0d('0x61')]=function(_0x1cc1b9,_0x4dbf64,_0x1a9efd){var _0x1b5bf7=_0x1cc1b9[_0x5e0d('0x4a')][_0x5e0d('0x62')];return db[_0x5e0d('0x60')][_0x5e0d('0x44')]({'where':{'id':_0x1b5bf7},'attributes':['id'],'include':[{'model':db[_0x5e0d('0x63')],'as':_0x5e0d('0x64'),'attributes':['id','name',_0x5e0d('0x65'),'voicePause',_0x5e0d('0x66')],'raw':!![]}]})[_0x5e0d('0x25')](function(_0x29b67e){if(_0x29b67e){var _0x47da81=_[_0x5e0d('0x67')](_0x29b67e,function(_0x463482){var _0xa8029b=_0x463482[_0x5e0d('0x26')]({'plain':!![]});return _0xa8029b[_0x5e0d('0x64')];});return db['OpenchannelQueue']['find']({'where':{'id':_0x1cc1b9['params']['id']}})[_0x5e0d('0x25')](function(_0x46baaa){return db[_0x5e0d('0x68')][_0x5e0d('0x69')](function(_0x1af3dc){return _0x46baaa[_0x5e0d('0x61')](_0x1b5bf7,{'transaction':_0x1af3dc})['then'](function(){return BPromise[_0x5e0d('0x6a')](_0x47da81,function(_0x313995){return db[_0x5e0d('0x56')]['findOrCreate']({'where':{'UserId':_0x313995['id'],'OpenchannelQueueId':_0x1cc1b9[_0x5e0d('0x46')]['id']},'transaction':_0x1af3dc});});})[_0x5e0d('0x25')](function(){_0x47da81[_0x5e0d('0x6b')](function(_0xfd6c7e){socket[_0x5e0d('0x6c')](_0x5e0d('0x6d'),{'UserId':_0xfd6c7e['id'],'OpenchannelQueueId':_0x46baaa['id']});});});});});}})['then'](respondWithStatusCode(_0x4dbf64,null))['catch'](handleError(_0x4dbf64,null));};exports[_0x5e0d('0x6e')]=function(_0x1472ec,_0x1b5994,_0x1c5cc1){return db[_0x5e0d('0x60')]['findAll']({'where':{'id':_0x1472ec[_0x5e0d('0x37')][_0x5e0d('0x62')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x5e0d('0x64'),'attributes':['id'],'raw':!![]}]})[_0x5e0d('0x25')](handleEntityNotFound(_0x1b5994,null))[_0x5e0d('0x25')](function(_0x2c4747){var _0x49c5f7=_[_0x5e0d('0x2d')](_0x2c4747,'id');var _0x5d566c=[];var _0x5e282f=[];var _0x49bb07=squel[_0x5e0d('0x6f')]();_0x49bb07[_0x5e0d('0x70')](_0x5e0d('0x71'))[_0x5e0d('0x72')](_0x5e0d('0x73'),'tq')['join'](_0x5e0d('0x74'),'ut',_0x5e0d('0x75'))[_0x5e0d('0x40')]('OpenchannelQueueId\x20=\x20?',_0x1472ec[_0x5e0d('0x46')]['id']);for(var _0x565e18=0x0;_0x565e18<_0x2c4747[_0x5e0d('0x3a')];_0x565e18+=0x1){let _0x5dd3aa=_0x2c4747[_0x565e18];for(var _0x204801=0x0;_0x204801<_0x5dd3aa['Agents'][_0x5e0d('0x3a')];_0x204801+=0x1){let _0x3dd16c=_0x5dd3aa[_0x5e0d('0x64')][_0x204801];var _0x309299=_0x49bb07['clone']();_0x309299[_0x5e0d('0x40')](_0x5e0d('0x76'),_0x3dd16c['id']);_0x5e282f[_0x5e0d('0x77')](db[_0x5e0d('0x68')][_0x5e0d('0x37')](_0x309299[_0x5e0d('0x78')](),{'type':db['sequelize'][_0x5e0d('0x79')][_0x5e0d('0x7a')]})[_0x5e0d('0x25')](function(_0x50ddd2){if(_0x50ddd2[_0x5e0d('0x3a')]===0x1){return _0x3dd16c['id'];}else{var _0x3a484a=_[_0x5e0d('0x7b')](_[_0x5e0d('0x2d')](_0x50ddd2,_0x5e0d('0x7c')),function(_0x18f004){return _[_0x5e0d('0x7d')](_0x49c5f7,_0x18f004);});if(_0x3a484a){return _0x3dd16c['id'];}}}));}}return BPromise[_0x5e0d('0x7e')](_0x5e282f)[_0x5e0d('0x25')](function(_0xdfbe0d){_0x5d566c=_(_0x5d566c)[_0x5e0d('0x7f')](_0xdfbe0d)[_0x5e0d('0x80')]()[_0x5e0d('0x81')]();return db['OpenchannelQueue'][_0x5e0d('0x48')]({'where':{'id':_0x1472ec[_0x5e0d('0x46')]['id']}})[_0x5e0d('0x25')](function(_0xa98e8){return db['sequelize']['transaction'](function(_0x2ddcde){return _0xa98e8[_0x5e0d('0x6e')](_0x1472ec[_0x5e0d('0x37')][_0x5e0d('0x62')],{'transaction':_0x2ddcde})['then'](function(){if(!_[_0x5e0d('0x82')](_0x5d566c)){return _0xa98e8['removeAgents'](_0x5d566c,{'transaction':_0x2ddcde});}})[_0x5e0d('0x25')](function(){_0x5d566c[_0x5e0d('0x6b')](function(_0x356ba5){socket['emit'](_0x5e0d('0x83'),{'UserId':_0x356ba5,'OpenchannelQueueId':_0xa98e8['id']});});});});});});})[_0x5e0d('0x25')](respondWithStatusCode(_0x1b5994,null))[_0x5e0d('0x45')](handleError(_0x1b5994,null));};exports[_0x5e0d('0x84')]=function(_0x31fe3f,_0x128b7c,_0xc3e1f5){return db[_0x5e0d('0x2e')][_0x5e0d('0x48')]({'where':{'id':_0x31fe3f[_0x5e0d('0x46')]['id']}})[_0x5e0d('0x25')](handleEntityNotFound(_0x128b7c,null))[_0x5e0d('0x25')](function(_0x2ed46e){if(_0x2ed46e){return _0x2ed46e[_0x5e0d('0x84')](_0x31fe3f[_0x5e0d('0x4a')][_0x5e0d('0x62')],_['omit'](_0x31fe3f[_0x5e0d('0x4a')],[_0x5e0d('0x62'),'id'])||{})[_0x5e0d('0x85')](function(_0x54cdec){for(var _0x277aff=0x0;_0x277aff<_0x31fe3f[_0x5e0d('0x4a')]['ids'][_0x5e0d('0x3a')];_0x277aff+=0x1){socket[_0x5e0d('0x6c')](_0x5e0d('0x6d'),{'UserId':_0x31fe3f[_0x5e0d('0x4a')][_0x5e0d('0x62')][_0x277aff],'OpenchannelQueueId':_0x31fe3f[_0x5e0d('0x46')]['id']});}return _0x54cdec;});}})[_0x5e0d('0x25')](respondWithResult(_0x128b7c,null))['catch'](handleError(_0x128b7c,null));};exports[_0x5e0d('0x86')]=function(_0xc03ec9,_0x1bfd71,_0x1884be){return db[_0x5e0d('0x2e')][_0x5e0d('0x48')]({'where':{'id':_0xc03ec9['params']['id']}})['then'](handleEntityNotFound(_0x1bfd71,null))[_0x5e0d('0x25')](function(_0x3c60b6){if(_0x3c60b6){return _0x3c60b6[_0x5e0d('0x86')](_0xc03ec9['query'][_0x5e0d('0x62')])[_0x5e0d('0x25')](function(){if(_['isArray'](_0xc03ec9[_0x5e0d('0x37')][_0x5e0d('0x62')])){for(var _0x32d259=0x0;_0x32d259<_0xc03ec9[_0x5e0d('0x37')]['ids']['length'];_0x32d259+=0x1){socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0xc03ec9['query'][_0x5e0d('0x62')][_0x32d259]),'OpenchannelQueueId':Number(_0xc03ec9[_0x5e0d('0x46')]['id'])});}}else{socket['emit']('userOpenchannelQueue:remove',{'UserId':Number(_0xc03ec9['query'][_0x5e0d('0x62')]),'OpenchannelQueueId':Number(_0xc03ec9[_0x5e0d('0x46')]['id'])});}});}})[_0x5e0d('0x25')](respondWithStatusCode(_0x1bfd71,null))[_0x5e0d('0x45')](handleError(_0x1bfd71,null));};exports['getAgents']=function(_0x2ed037,_0x410a83,_0x5c247a){var _0x5a5231={};var _0x4bb7bf={};var _0x92ce55;var _0x3364d3;return db['OpenchannelQueue']['findOne']({'where':{'id':_0x2ed037['params']['id']}})['then'](handleEntityNotFound(_0x410a83,null))[_0x5e0d('0x25')](function(_0x38f8ea){if(_0x38f8ea){_0x92ce55=_0x38f8ea;_0x4bb7bf[_0x5e0d('0x33')]=_[_0x5e0d('0x34')](db['User'][_0x5e0d('0x2f')]);_0x4bb7bf[_0x5e0d('0x37')]=_[_0x5e0d('0x34')](_0x2ed037[_0x5e0d('0x37')]);_0x4bb7bf['filters']=_[_0x5e0d('0x36')](_0x4bb7bf['model'],_0x4bb7bf[_0x5e0d('0x37')]);_0x5a5231[_0x5e0d('0x38')]=_[_0x5e0d('0x36')](_0x4bb7bf[_0x5e0d('0x33')],qs['fields'](_0x2ed037['query'][_0x5e0d('0x39')]));_0x5a5231['attributes']=_0x5a5231[_0x5e0d('0x38')][_0x5e0d('0x3a')]?_0x5a5231[_0x5e0d('0x38')]:_0x4bb7bf['model'];_0x5a5231[_0x5e0d('0x3c')]=qs[_0x5e0d('0x3d')](_0x2ed037[_0x5e0d('0x37')][_0x5e0d('0x3d')]);_0x5a5231[_0x5e0d('0x40')]=qs[_0x5e0d('0x35')](_[_0x5e0d('0x3e')](_0x2ed037[_0x5e0d('0x37')],_0x4bb7bf[_0x5e0d('0x35')]));if(_0x2ed037[_0x5e0d('0x37')][_0x5e0d('0x3f')]){_0x5a5231['where']=_[_0x5e0d('0x47')](_0x5a5231['where'],{'$or':_[_0x5e0d('0x2d')](_0x5a5231[_0x5e0d('0x38')],function(_0x36045d){var _0x10032d={};_0x10032d[_0x36045d]={'$like':'%'+_0x2ed037[_0x5e0d('0x37')]['filter']+'%'};return _0x10032d;})});}_0x5a5231=_[_0x5e0d('0x47')]({},_0x5a5231,_0x2ed037['options']);return _0x92ce55[_0x5e0d('0x87')](_0x5a5231);}})[_0x5e0d('0x25')](function(_0x426391){if(_0x426391){_0x3364d3=_0x426391[_0x5e0d('0x3a')];if(!_0x2ed037[_0x5e0d('0x37')][_0x5e0d('0x57')](_0x5e0d('0x3b'))){_0x5a5231[_0x5e0d('0x1f')]=qs[_0x5e0d('0x1f')](_0x2ed037[_0x5e0d('0x37')][_0x5e0d('0x1f')]);_0x5a5231['offset']=qs[_0x5e0d('0x1e')](_0x2ed037[_0x5e0d('0x37')][_0x5e0d('0x1e')]);}return _0x92ce55[_0x5e0d('0x87')](_0x5a5231);}})[_0x5e0d('0x25')](function(_0x1aa7e9){if(_0x1aa7e9){return _0x1aa7e9?{'count':_0x3364d3,'rows':_0x1aa7e9}:null;}})[_0x5e0d('0x25')](respondWithResult(_0x410a83,null))[_0x5e0d('0x45')](handleError(_0x410a83,null));};