Built motion from commit f0b1811d.|2.6.6
[motion2.git] / server / api / chatQueue / chatQueue.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 _0x3b92=['ChatQueue,\x20%s,\x20%s','info','result','catch','status','json','offset','undefined','limit','count','set','reject','update','ChatQueues','destroy','end','name','send','index','map','ChatQueue','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','merge','filter','options','includeAll','include','findAll','rows','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','get','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','UserChatQueue','nolimit','order','ChatQueueId','User','UserId','agent','chatPause','updatedAt','createdAt','format','%s/%s','Team','getTeams','addTeams','ids','Agents','online','voicePause','interface','flatMap','transaction','each','findOrCreate','forEach','emit','userChatQueue:save','select','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','every','TeamId','includes','removeTeams','isEmpty','removeAgents','addAgents','omit','spread','isArray','userChatQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatQueue.socket','jayson/promise','http','then','request\x20sent','debug','stringify','error','code','message'];(function(_0x30cc1a,_0x162bbc){var _0xb3f18f=function(_0x26bdfe){while(--_0x26bdfe){_0x30cc1a['push'](_0x30cc1a['shift']());}};_0xb3f18f(++_0x162bbc);}(_0x3b92,0x106));var _0x23b9=function(_0x3f9015,_0xf85b98){_0x3f9015=_0x3f9015-0x0;var _0x1d18a8=_0x3b92[_0x3f9015];return _0x1d18a8;};'use strict';var emlformat=require(_0x23b9('0x0'));var rimraf=require(_0x23b9('0x1'));var zipdir=require(_0x23b9('0x2'));var jsonpatch=require(_0x23b9('0x3'));var rp=require(_0x23b9('0x4'));var moment=require(_0x23b9('0x5'));var BPromise=require(_0x23b9('0x6'));var Mustache=require(_0x23b9('0x7'));var util=require('util');var path=require(_0x23b9('0x8'));var sox=require(_0x23b9('0x9'));var csv=require(_0x23b9('0xa'));var ejs=require(_0x23b9('0xb'));var fs=require('fs');var fs_extra=require(_0x23b9('0xc'));var _=require(_0x23b9('0xd'));var squel=require(_0x23b9('0xe'));var crypto=require('crypto');var jsforce=require(_0x23b9('0xf'));var deskjs=require(_0x23b9('0x10'));var toCsv=require(_0x23b9('0xa'));var querystring=require('querystring');var Papa=require(_0x23b9('0x11'));var Redis=require(_0x23b9('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x23b9('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x23b9('0x14'));var logger=require(_0x23b9('0x15'))(_0x23b9('0x16'));var utils=require(_0x23b9('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x23b9('0x18'));var db=require(_0x23b9('0x19'))['db'];config[_0x23b9('0x1a')]=_[_0x23b9('0x1b')](config[_0x23b9('0x1a')],{'host':_0x23b9('0x1c'),'port':0x18eb});var socket=require(_0x23b9('0x1d'))(new Redis(config[_0x23b9('0x1a')]));require(_0x23b9('0x1e'))['register'](socket);var jayson=require(_0x23b9('0x1f'));var client=jayson['client'][_0x23b9('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x2eac26,_0x112227,_0x4100dd,_0x5390fa){return new BPromise(function(_0x574c2e,_0x4b5fde){var _0x20a297=_0x5390fa||client;return _0x20a297['request'](_0x2eac26,_0x4100dd)[_0x23b9('0x21')](function(_0x418ea0){logger['info']('ChatQueue,\x20%s,\x20%s',_0x112227,_0x23b9('0x22'));logger[_0x23b9('0x23')]('ChatQueue,\x20%s,\x20%s,\x20%s',_0x112227,_0x23b9('0x22'),JSON[_0x23b9('0x24')](_0x418ea0));if(_0x418ea0['error']){if(_0x418ea0[_0x23b9('0x25')][_0x23b9('0x26')]===0x1f4){logger[_0x23b9('0x25')]('ChatQueue,\x20%s,\x20%s',_0x112227,_0x418ea0['error'][_0x23b9('0x27')]);return _0x4b5fde(_0x418ea0[_0x23b9('0x25')][_0x23b9('0x27')]);}logger['error'](_0x23b9('0x28'),_0x112227,_0x418ea0[_0x23b9('0x25')]['message']);return _0x574c2e(_0x418ea0[_0x23b9('0x25')][_0x23b9('0x27')]);}else{logger[_0x23b9('0x29')](_0x23b9('0x28'),_0x112227,_0x23b9('0x22'));_0x574c2e(_0x418ea0[_0x23b9('0x2a')]['message']);}})[_0x23b9('0x2b')](function(_0x3efbab){logger[_0x23b9('0x25')]('ChatQueue,\x20%s,\x20%s',_0x112227,_0x3efbab);_0x4b5fde(_0x3efbab);});});}function respondWithStatusCode(_0x49e39d,_0x459e75){_0x459e75=_0x459e75||0xcc;return function(_0x2ffe6d){if(_0x2ffe6d){return _0x49e39d['sendStatus'](_0x459e75);}return _0x49e39d[_0x23b9('0x2c')](_0x459e75)['end']();};}function respondWithResult(_0x43c011,_0x559fc7){_0x559fc7=_0x559fc7||0xc8;return function(_0x194bee){if(_0x194bee){return _0x43c011['status'](_0x559fc7)[_0x23b9('0x2d')](_0x194bee);}};}function respondWithFilteredResult(_0x4fe300,_0x484125){return function(_0x47fae9){if(_0x47fae9){var _0x14ffb9=typeof _0x484125[_0x23b9('0x2e')]===_0x23b9('0x2f')&&typeof _0x484125[_0x23b9('0x30')]===_0x23b9('0x2f');var _0x5ccb20=_0x47fae9[_0x23b9('0x31')];var _0x1cbf58=_0x14ffb9?0x0:_0x484125['offset'];var _0x303930=_0x14ffb9?_0x47fae9[_0x23b9('0x31')]:_0x484125['offset']+_0x484125[_0x23b9('0x30')];var _0x6cacb;if(_0x303930>=_0x5ccb20){_0x303930=_0x5ccb20;_0x6cacb=0xc8;}else{_0x6cacb=0xce;}_0x4fe300[_0x23b9('0x2c')](_0x6cacb);return _0x4fe300[_0x23b9('0x32')]('Content-Range',_0x1cbf58+'-'+_0x303930+'/'+_0x5ccb20)[_0x23b9('0x2d')](_0x47fae9);}return null;};}function patchUpdates(_0x5d9c6b){return function(_0x54db05){try{jsonpatch['apply'](_0x54db05,_0x5d9c6b,!![]);}catch(_0xbdc682){return BPromise[_0x23b9('0x33')](_0xbdc682);}return _0x54db05['save']();};}function saveUpdates(_0x37d455,_0x122a9a){return function(_0x57ecf2){if(_0x57ecf2){return _0x57ecf2[_0x23b9('0x34')](_0x37d455)[_0x23b9('0x21')](function(_0x2eb0ae){return _0x2eb0ae;});}return null;};}function removeEntity(_0x787d9a,_0x464808){return function(_0x3a6559){if(_0x3a6559){return _0x3a6559['destroy']()['then'](function(){var _0x33e385=_0x3a6559['get']({'plain':!![]});var _0x414c54=_0x23b9('0x35');return db['UserProfileResource'][_0x23b9('0x36')]({'where':{'type':_0x414c54,'resourceId':_0x33e385['id']}})['then'](function(){return _0x3a6559;});})[_0x23b9('0x21')](function(){_0x787d9a['status'](0xcc)[_0x23b9('0x37')]();});}};}function handleEntityNotFound(_0xd365aa,_0x972c44){return function(_0x551101){if(!_0x551101){_0xd365aa['sendStatus'](0x194);}return _0x551101;};}function handleError(_0x51a6f4,_0x4028f7){_0x4028f7=_0x4028f7||0x1f4;return function(_0x5a2895){logger[_0x23b9('0x25')](_0x5a2895['stack']);if(_0x5a2895['name']){delete _0x5a2895[_0x23b9('0x38')];}_0x51a6f4[_0x23b9('0x2c')](_0x4028f7)[_0x23b9('0x39')](_0x5a2895);};}exports[_0x23b9('0x3a')]=function(_0x11c1ea,_0x2abb99){var _0x4aa568={},_0x323454={},_0x35f9d7={'count':0x0,'rows':[]};var _0xaee8cd=_[_0x23b9('0x3b')](db[_0x23b9('0x3c')][_0x23b9('0x3d')],function(_0x17f632){return{'name':_0x17f632[_0x23b9('0x3e')],'type':_0x17f632[_0x23b9('0x3f')]['key']};});_0x323454[_0x23b9('0x40')]=_['map'](_0xaee8cd,_0x23b9('0x38'));_0x323454[_0x23b9('0x41')]=_[_0x23b9('0x42')](_0x11c1ea[_0x23b9('0x41')]);_0x323454[_0x23b9('0x43')]=_[_0x23b9('0x44')](_0x323454['model'],_0x323454[_0x23b9('0x41')]);_0x4aa568[_0x23b9('0x45')]=_[_0x23b9('0x44')](_0x323454[_0x23b9('0x40')],qs[_0x23b9('0x46')](_0x11c1ea[_0x23b9('0x41')]['fields']));_0x4aa568[_0x23b9('0x45')]=_0x4aa568['attributes'][_0x23b9('0x47')]?_0x4aa568[_0x23b9('0x45')]:_0x323454[_0x23b9('0x40')];if(!_0x11c1ea['query'][_0x23b9('0x48')]('nolimit')){_0x4aa568[_0x23b9('0x30')]=qs[_0x23b9('0x30')](_0x11c1ea[_0x23b9('0x41')][_0x23b9('0x30')]);_0x4aa568[_0x23b9('0x2e')]=qs[_0x23b9('0x2e')](_0x11c1ea[_0x23b9('0x41')][_0x23b9('0x2e')]);}_0x4aa568['order']=qs[_0x23b9('0x49')](_0x11c1ea[_0x23b9('0x41')][_0x23b9('0x49')]);_0x4aa568[_0x23b9('0x4a')]=qs[_0x23b9('0x43')](_[_0x23b9('0x4b')](_0x11c1ea[_0x23b9('0x41')],_0x323454[_0x23b9('0x43')]),_0xaee8cd);if(_0x11c1ea['query']['filter']){_0x4aa568[_0x23b9('0x4a')]=_[_0x23b9('0x4c')](_0x4aa568[_0x23b9('0x4a')],{'$or':_[_0x23b9('0x3b')](_0xaee8cd,function(_0xe5ee08){if(_0xe5ee08[_0x23b9('0x3f')]!=='VIRTUAL'){var _0x4cb554={};_0x4cb554[_0xe5ee08['name']]={'$like':'%'+_0x11c1ea[_0x23b9('0x41')][_0x23b9('0x4d')]+'%'};return _0x4cb554;}})});}_0x4aa568=_[_0x23b9('0x4c')]({},_0x4aa568,_0x11c1ea[_0x23b9('0x4e')]);var _0x182659={'where':_0x4aa568[_0x23b9('0x4a')]};return db[_0x23b9('0x3c')][_0x23b9('0x31')](_0x182659)[_0x23b9('0x21')](function(_0x49ccb4){_0x35f9d7[_0x23b9('0x31')]=_0x49ccb4;if(_0x11c1ea[_0x23b9('0x41')][_0x23b9('0x4f')]){_0x4aa568[_0x23b9('0x50')]=[{'all':!![]}];}return db['ChatQueue'][_0x23b9('0x51')](_0x4aa568);})[_0x23b9('0x21')](function(_0x3d44bf){_0x35f9d7[_0x23b9('0x52')]=_0x3d44bf;return _0x35f9d7;})['then'](respondWithFilteredResult(_0x2abb99,_0x4aa568))[_0x23b9('0x2b')](handleError(_0x2abb99,null));};exports[_0x23b9('0x53')]=function(_0x5e364b,_0x116fd0){var _0x304317={'raw':!![],'where':{'id':_0x5e364b[_0x23b9('0x54')]['id']}},_0xa34ff={};_0xa34ff[_0x23b9('0x40')]=_['keys'](db['ChatQueue']['rawAttributes']);_0xa34ff['query']=_[_0x23b9('0x42')](_0x5e364b[_0x23b9('0x41')]);_0xa34ff[_0x23b9('0x43')]=_[_0x23b9('0x44')](_0xa34ff[_0x23b9('0x40')],_0xa34ff['query']);_0x304317['attributes']=_[_0x23b9('0x44')](_0xa34ff[_0x23b9('0x40')],qs[_0x23b9('0x46')](_0x5e364b[_0x23b9('0x41')][_0x23b9('0x46')]));_0x304317[_0x23b9('0x45')]=_0x304317[_0x23b9('0x45')]['length']?_0x304317['attributes']:_0xa34ff['model'];if(_0x5e364b[_0x23b9('0x41')][_0x23b9('0x4f')]){_0x304317[_0x23b9('0x50')]=[{'all':!![]}];}_0x304317=_[_0x23b9('0x4c')]({},_0x304317,_0x5e364b[_0x23b9('0x4e')]);return db[_0x23b9('0x3c')][_0x23b9('0x55')](_0x304317)['then'](handleEntityNotFound(_0x116fd0,null))[_0x23b9('0x21')](respondWithResult(_0x116fd0,null))['catch'](handleError(_0x116fd0,null));};exports['create']=function(_0x59e6ec,_0x3edd5b){return db[_0x23b9('0x3c')][_0x23b9('0x56')](_0x59e6ec['body'],{})[_0x23b9('0x21')](function(_0xa82dd0){var _0x2ba592=_0x59e6ec[_0x23b9('0x57')]['get']({'plain':!![]});if(!_0x2ba592)throw new Error(_0x23b9('0x58'));if(_0x2ba592['role']===_0x23b9('0x57')){var _0x72f4eb=_0xa82dd0[_0x23b9('0x59')]({'plain':!![]});var _0x286fc3=_0x23b9('0x35');return db['UserProfileSection']['find']({'where':{'name':_0x286fc3,'userProfileId':_0x2ba592['userProfileId']},'raw':!![]})[_0x23b9('0x21')](function(_0x4cd86c){if(_0x4cd86c&&_0x4cd86c[_0x23b9('0x5a')]===0x0){return db[_0x23b9('0x5b')][_0x23b9('0x56')]({'name':_0x72f4eb[_0x23b9('0x38')],'resourceId':_0x72f4eb['id'],'type':_0x4cd86c['name'],'sectionId':_0x4cd86c['id']},{})['then'](function(){return _0xa82dd0;});}else{return _0xa82dd0;}})[_0x23b9('0x2b')](function(_0x37426d){logger[_0x23b9('0x25')](_0x23b9('0x5c'),_0x37426d);throw _0x37426d;});}return _0xa82dd0;})[_0x23b9('0x21')](respondWithResult(_0x3edd5b,0xc9))[_0x23b9('0x2b')](handleError(_0x3edd5b,null));};exports['update']=function(_0x31f22f,_0x491db2){if(_0x31f22f['body']['id']){delete _0x31f22f[_0x23b9('0x5d')]['id'];}return db[_0x23b9('0x3c')]['find']({'where':{'id':_0x31f22f[_0x23b9('0x54')]['id']}})[_0x23b9('0x21')](handleEntityNotFound(_0x491db2,null))['then'](saveUpdates(_0x31f22f[_0x23b9('0x5d')],null))['then'](respondWithResult(_0x491db2,null))[_0x23b9('0x2b')](handleError(_0x491db2,null));};exports['destroy']=function(_0x1aa191,_0xd56e33){return db[_0x23b9('0x3c')][_0x23b9('0x55')]({'where':{'id':_0x1aa191[_0x23b9('0x54')]['id']}})[_0x23b9('0x21')](handleEntityNotFound(_0xd56e33,null))[_0x23b9('0x21')](removeEntity(_0xd56e33,null))[_0x23b9('0x2b')](handleError(_0xd56e33,null));};exports['describe']=function(_0x297f9a,_0x28a9a3){return db[_0x23b9('0x3c')][_0x23b9('0x5e')]()[_0x23b9('0x21')](respondWithResult(_0x28a9a3,null))[_0x23b9('0x2b')](handleError(_0x28a9a3,null));};exports[_0x23b9('0x5f')]=function(_0x3fc664,_0x211760,_0x149530){var _0x1e5d83={'raw':!![],'where':{}},_0x3de456={},_0x37eac8;return db[_0x23b9('0x3c')][_0x23b9('0x60')]({'where':{'id':_0x3fc664[_0x23b9('0x54')]['id']}})[_0x23b9('0x21')](handleEntityNotFound(_0x211760,null))[_0x23b9('0x21')](function(_0x350d9a){if(_0x350d9a){_0x37eac8=_0x350d9a[_0x23b9('0x59')]({'plain':!![]});_0x3de456['model']=_['keys'](db[_0x23b9('0x61')]['rawAttributes']);_0x3de456[_0x23b9('0x41')]=_[_0x23b9('0x42')](_0x3fc664[_0x23b9('0x41')]);_0x3de456['filters']=_[_0x23b9('0x44')](_0x3de456[_0x23b9('0x40')],_0x3de456['query']);_0x1e5d83[_0x23b9('0x45')]=_[_0x23b9('0x44')](_0x3de456[_0x23b9('0x40')],qs[_0x23b9('0x46')](_0x3fc664[_0x23b9('0x41')][_0x23b9('0x46')]));_0x1e5d83[_0x23b9('0x45')]=_0x1e5d83[_0x23b9('0x45')][_0x23b9('0x47')]?_0x1e5d83['attributes']:_0x3de456[_0x23b9('0x40')];if(!_0x3fc664[_0x23b9('0x41')]['hasOwnProperty'](_0x23b9('0x62'))){_0x1e5d83[_0x23b9('0x30')]=qs[_0x23b9('0x30')](_0x3fc664[_0x23b9('0x41')][_0x23b9('0x30')]);_0x1e5d83[_0x23b9('0x2e')]=qs[_0x23b9('0x2e')](_0x3fc664[_0x23b9('0x41')]['offset']);}_0x1e5d83[_0x23b9('0x63')]=qs[_0x23b9('0x49')](_0x3fc664[_0x23b9('0x41')][_0x23b9('0x49')]);_0x1e5d83[_0x23b9('0x4a')]=qs[_0x23b9('0x43')](_[_0x23b9('0x4b')](_0x3fc664['query'],_0x3de456[_0x23b9('0x43')]));_0x1e5d83[_0x23b9('0x4a')][_0x23b9('0x64')]=_0x350d9a['id'];if(_0x3fc664['query'][_0x23b9('0x4d')]){_0x1e5d83[_0x23b9('0x4a')]=_[_0x23b9('0x4c')](_0x1e5d83['where'],{'$or':_['map'](_0x1e5d83[_0x23b9('0x45')],function(_0x246cba){var _0x5e270a={};_0x5e270a[_0x246cba]={'$like':'%'+_0x3fc664[_0x23b9('0x41')][_0x23b9('0x4d')]+'%'};return _0x5e270a;})});}_0x1e5d83=_['merge']({},_0x1e5d83,_0x3fc664['options']);return db[_0x23b9('0x61')][_0x23b9('0x51')](_0x1e5d83);}})[_0x23b9('0x21')](function(_0x40f2c1){if(_0x40f2c1){return db[_0x23b9('0x65')]['findAndCountAll']({'where':{'id':_[_0x23b9('0x3b')](_0x40f2c1,_0x23b9('0x66')),'role':_0x23b9('0x67')},'attributes':['id',_0x23b9('0x38'),_0x23b9('0x68'),_0x23b9('0x69'),_0x23b9('0x6a')]});}})[_0x23b9('0x21')](function(_0x570cee){if(_0x570cee){return{'count':_0x570cee[_0x23b9('0x31')],'rows':_[_0x23b9('0x3b')](_0x570cee[_0x23b9('0x52')],function(_0x199cbd){return{'membername':_0x199cbd['name'],'UserId':_0x199cbd['id'],'queue_name':_0x37eac8['name'],'ChatQueueId':_0x37eac8['id'],'interface':util[_0x23b9('0x6b')](_0x23b9('0x6c'),'SIP',_0x199cbd[_0x23b9('0x38')]),'penalty':0x0,'paused':_0x199cbd[_0x23b9('0x68')],'createdAt':_0x199cbd['createdAt'],'updatedAt':_0x199cbd['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x23b9('0x21')](respondWithFilteredResult(_0x211760,_0x1e5d83))['catch'](handleError(_0x211760,null));};exports['getTeams']=function(_0xee0046,_0x121704,_0x5d8f5a){var _0xd7a8c7={};var _0xabd4ff={};var _0x20d9bd;var _0x5487c2;return db[_0x23b9('0x3c')][_0x23b9('0x60')]({'where':{'id':_0xee0046['params']['id']}})[_0x23b9('0x21')](handleEntityNotFound(_0x121704,null))['then'](function(_0x1f6bcd){if(_0x1f6bcd){_0x20d9bd=_0x1f6bcd;_0xabd4ff[_0x23b9('0x40')]=_[_0x23b9('0x42')](db[_0x23b9('0x6d')]['rawAttributes']);_0xabd4ff[_0x23b9('0x41')]=_[_0x23b9('0x42')](_0xee0046[_0x23b9('0x41')]);_0xabd4ff['filters']=_[_0x23b9('0x44')](_0xabd4ff[_0x23b9('0x40')],_0xabd4ff['query']);_0xd7a8c7['attributes']=_[_0x23b9('0x44')](_0xabd4ff['model'],qs[_0x23b9('0x46')](_0xee0046[_0x23b9('0x41')][_0x23b9('0x46')]));_0xd7a8c7[_0x23b9('0x45')]=_0xd7a8c7[_0x23b9('0x45')][_0x23b9('0x47')]?_0xd7a8c7[_0x23b9('0x45')]:_0xabd4ff[_0x23b9('0x40')];_0xd7a8c7['order']=qs[_0x23b9('0x49')](_0xee0046[_0x23b9('0x41')][_0x23b9('0x49')]);_0xd7a8c7[_0x23b9('0x4a')]=qs[_0x23b9('0x43')](_[_0x23b9('0x4b')](_0xee0046[_0x23b9('0x41')],_0xabd4ff[_0x23b9('0x43')]));if(_0xee0046[_0x23b9('0x41')][_0x23b9('0x4d')]){_0xd7a8c7[_0x23b9('0x4a')]=_['merge'](_0xd7a8c7['where'],{'$or':_[_0x23b9('0x3b')](_0xd7a8c7[_0x23b9('0x45')],function(_0x484a6d){var _0x211999={};_0x211999[_0x484a6d]={'$like':'%'+_0xee0046[_0x23b9('0x41')][_0x23b9('0x4d')]+'%'};return _0x211999;})});}_0xd7a8c7=_[_0x23b9('0x4c')]({},_0xd7a8c7,_0xee0046[_0x23b9('0x4e')]);return _0x20d9bd['getTeams'](_0xd7a8c7);}})[_0x23b9('0x21')](function(_0xc956c7){if(_0xc956c7){_0x5487c2=_0xc956c7[_0x23b9('0x47')];if(!_0xee0046[_0x23b9('0x41')][_0x23b9('0x48')]('nolimit')){_0xd7a8c7[_0x23b9('0x30')]=qs[_0x23b9('0x30')](_0xee0046[_0x23b9('0x41')][_0x23b9('0x30')]);_0xd7a8c7[_0x23b9('0x2e')]=qs['offset'](_0xee0046[_0x23b9('0x41')][_0x23b9('0x2e')]);}return _0x20d9bd[_0x23b9('0x6e')](_0xd7a8c7);}})['then'](function(_0x5df42c){if(_0x5df42c){return _0x5df42c?{'count':_0x5487c2,'rows':_0x5df42c}:null;}})['then'](respondWithResult(_0x121704,null))[_0x23b9('0x2b')](handleError(_0x121704,null));};exports[_0x23b9('0x6f')]=function(_0x23ba07,_0xa84b81,_0x258323){var _0x1454f3=_0x23ba07[_0x23b9('0x5d')][_0x23b9('0x70')];return db[_0x23b9('0x6d')][_0x23b9('0x51')]({'where':{'id':_0x1454f3},'attributes':['id'],'include':[{'model':db[_0x23b9('0x65')],'as':_0x23b9('0x71'),'attributes':['id','name',_0x23b9('0x72'),_0x23b9('0x73'),_0x23b9('0x74')],'raw':!![]}]})[_0x23b9('0x21')](function(_0x5da7a3){if(_0x5da7a3){var _0x4734bb=_[_0x23b9('0x75')](_0x5da7a3,function(_0x317690){var _0x42c027=_0x317690['get']({'plain':!![]});return _0x42c027[_0x23b9('0x71')];});return db[_0x23b9('0x3c')]['find']({'where':{'id':_0x23ba07['params']['id']}})['then'](function(_0x5a33f7){return db['sequelize'][_0x23b9('0x76')](function(_0x5a645f){return _0x5a33f7[_0x23b9('0x6f')](_0x1454f3,{'transaction':_0x5a645f})[_0x23b9('0x21')](function(){return BPromise[_0x23b9('0x77')](_0x4734bb,function(_0xf58648){return db['UserChatQueue'][_0x23b9('0x78')]({'where':{'UserId':_0xf58648['id'],'ChatQueueId':_0x23ba07[_0x23b9('0x54')]['id']},'transaction':_0x5a645f});});})['then'](function(){_0x4734bb[_0x23b9('0x79')](function(_0x58f5b9){socket[_0x23b9('0x7a')](_0x23b9('0x7b'),{'UserId':_0x58f5b9['id'],'ChatQueueId':_0x5a33f7['id']});});});});});}})['then'](respondWithStatusCode(_0xa84b81,null))['catch'](handleError(_0xa84b81,null));};exports['removeTeams']=function(_0x534959,_0x23e608,_0x2d3751){return db[_0x23b9('0x6d')][_0x23b9('0x51')]({'where':{'id':_0x534959[_0x23b9('0x41')][_0x23b9('0x70')]},'attributes':['id'],'include':[{'model':db[_0x23b9('0x65')],'as':_0x23b9('0x71'),'attributes':['id'],'raw':!![]}]})[_0x23b9('0x21')](handleEntityNotFound(_0x23e608,null))[_0x23b9('0x21')](function(_0x3ab018){var _0x8fc420=_[_0x23b9('0x3b')](_0x3ab018,'id');var _0x16d990=[];var _0x5de982=[];var _0xf6368e=squel[_0x23b9('0x7c')]();_0xf6368e[_0x23b9('0x7d')](_0x23b9('0x7e'))[_0x23b9('0x7f')](_0x23b9('0x80'),'tq')[_0x23b9('0x81')](_0x23b9('0x82'),'ut',_0x23b9('0x83'))[_0x23b9('0x4a')](_0x23b9('0x84'),_0x534959[_0x23b9('0x54')]['id']);for(var _0xdcb02e=0x0;_0xdcb02e<_0x3ab018[_0x23b9('0x47')];_0xdcb02e+=0x1){let _0x2b4d0f=_0x3ab018[_0xdcb02e];for(var _0x17f223=0x0;_0x17f223<_0x2b4d0f['Agents']['length'];_0x17f223+=0x1){let _0x3fc559=_0x2b4d0f['Agents'][_0x17f223];var _0x5a4cc5=_0xf6368e[_0x23b9('0x85')]();_0x5a4cc5[_0x23b9('0x4a')](_0x23b9('0x86'),_0x3fc559['id']);_0x5de982[_0x23b9('0x87')](db[_0x23b9('0x88')][_0x23b9('0x41')](_0x5a4cc5[_0x23b9('0x89')](),{'type':db[_0x23b9('0x88')][_0x23b9('0x8a')]['SELECT']})['then'](function(_0x42763b){if(_0x42763b['length']===0x1){return _0x3fc559['id'];}else{var _0x5e78f7=_[_0x23b9('0x8b')](_['map'](_0x42763b,_0x23b9('0x8c')),function(_0x13b0bd){return _[_0x23b9('0x8d')](_0x8fc420,_0x13b0bd);});if(_0x5e78f7){return _0x3fc559['id'];}}}));}}return BPromise['all'](_0x5de982)['then'](function(_0x457d3c){_0x16d990=_(_0x16d990)['union'](_0x457d3c)['compact']()['value']();return db[_0x23b9('0x3c')][_0x23b9('0x55')]({'where':{'id':_0x534959[_0x23b9('0x54')]['id']}})[_0x23b9('0x21')](function(_0x203b10){return db[_0x23b9('0x88')]['transaction'](function(_0x35a04b){return _0x203b10[_0x23b9('0x8e')](_0x534959['query']['ids'],{'transaction':_0x35a04b})[_0x23b9('0x21')](function(){if(!_[_0x23b9('0x8f')](_0x16d990)){return _0x203b10[_0x23b9('0x90')](_0x16d990,{'transaction':_0x35a04b});}})[_0x23b9('0x21')](function(){_0x16d990[_0x23b9('0x79')](function(_0x39330c){socket[_0x23b9('0x7a')]('userChatQueue:remove',{'UserId':_0x39330c,'ChatQueueId':_0x203b10['id']});});});});});});})[_0x23b9('0x21')](respondWithStatusCode(_0x23e608,null))['catch'](handleError(_0x23e608,null));};exports[_0x23b9('0x91')]=function(_0x247c48,_0x5e6dd2,_0xf9f82b){return db['ChatQueue'][_0x23b9('0x55')]({'where':{'id':_0x247c48[_0x23b9('0x54')]['id']}})[_0x23b9('0x21')](handleEntityNotFound(_0x5e6dd2,null))[_0x23b9('0x21')](function(_0x6a17e3){if(_0x6a17e3){return _0x6a17e3[_0x23b9('0x91')](_0x247c48['body'][_0x23b9('0x70')],_[_0x23b9('0x92')](_0x247c48[_0x23b9('0x5d')],[_0x23b9('0x70'),'id'])||{})[_0x23b9('0x93')](function(_0xa72f3b){for(var _0x342cbe=0x0;_0x342cbe<_0x247c48[_0x23b9('0x5d')][_0x23b9('0x70')][_0x23b9('0x47')];_0x342cbe+=0x1){socket[_0x23b9('0x7a')](_0x23b9('0x7b'),{'UserId':Number(_0x247c48['body'][_0x23b9('0x70')][_0x342cbe]),'ChatQueueId':Number(_0x247c48[_0x23b9('0x54')]['id'])});}return _0xa72f3b;});}})[_0x23b9('0x21')](respondWithResult(_0x5e6dd2,null))[_0x23b9('0x2b')](handleError(_0x5e6dd2,null));};exports['removeAgents']=function(_0x3c13ef,_0x140351,_0x2587af){return db[_0x23b9('0x3c')][_0x23b9('0x55')]({'where':{'id':_0x3c13ef['params']['id']}})['then'](handleEntityNotFound(_0x140351,null))[_0x23b9('0x21')](function(_0x461e2b){if(_0x461e2b){return _0x461e2b[_0x23b9('0x90')](_0x3c13ef[_0x23b9('0x41')]['ids'])[_0x23b9('0x21')](function(){if(_[_0x23b9('0x94')](_0x3c13ef[_0x23b9('0x41')][_0x23b9('0x70')])){for(var _0x2f7037=0x0;_0x2f7037<_0x3c13ef[_0x23b9('0x41')][_0x23b9('0x70')][_0x23b9('0x47')];_0x2f7037+=0x1){socket[_0x23b9('0x7a')]('userChatQueue:remove',{'UserId':Number(_0x3c13ef[_0x23b9('0x41')]['ids'][_0x2f7037]),'ChatQueueId':Number(_0x3c13ef[_0x23b9('0x54')]['id'])});}}else{socket[_0x23b9('0x7a')](_0x23b9('0x95'),{'UserId':Number(_0x3c13ef['query']['ids']),'ChatQueueId':Number(_0x3c13ef[_0x23b9('0x54')]['id'])});}});}})[_0x23b9('0x21')](respondWithStatusCode(_0x140351,null))[_0x23b9('0x2b')](handleError(_0x140351,null));};exports[_0x23b9('0x96')]=function(_0x2211ca,_0x696fe3,_0x3da3cf){var _0xb58851={};var _0x3ac215={};var _0x4a225e;var _0x2f370a;return db[_0x23b9('0x3c')][_0x23b9('0x60')]({'where':{'id':_0x2211ca['params']['id']}})[_0x23b9('0x21')](handleEntityNotFound(_0x696fe3,null))[_0x23b9('0x21')](function(_0x41b0b8){if(_0x41b0b8){_0x4a225e=_0x41b0b8;_0x3ac215[_0x23b9('0x40')]=_[_0x23b9('0x42')](db[_0x23b9('0x65')][_0x23b9('0x3d')]);_0x3ac215['query']=_[_0x23b9('0x42')](_0x2211ca[_0x23b9('0x41')]);_0x3ac215[_0x23b9('0x43')]=_['intersection'](_0x3ac215[_0x23b9('0x40')],_0x3ac215['query']);_0xb58851[_0x23b9('0x45')]=_[_0x23b9('0x44')](_0x3ac215[_0x23b9('0x40')],qs[_0x23b9('0x46')](_0x2211ca[_0x23b9('0x41')][_0x23b9('0x46')]));_0xb58851['attributes']=_0xb58851[_0x23b9('0x45')][_0x23b9('0x47')]?_0xb58851['attributes']:_0x3ac215['model'];_0xb58851[_0x23b9('0x63')]=qs['sort'](_0x2211ca['query'][_0x23b9('0x49')]);_0xb58851[_0x23b9('0x4a')]=qs[_0x23b9('0x43')](_[_0x23b9('0x4b')](_0x2211ca[_0x23b9('0x41')],_0x3ac215['filters']));if(_0x2211ca[_0x23b9('0x41')][_0x23b9('0x4d')]){_0xb58851[_0x23b9('0x4a')]=_['merge'](_0xb58851['where'],{'$or':_[_0x23b9('0x3b')](_0xb58851[_0x23b9('0x45')],function(_0x43e3bc){var _0x79bcad={};_0x79bcad[_0x43e3bc]={'$like':'%'+_0x2211ca[_0x23b9('0x41')][_0x23b9('0x4d')]+'%'};return _0x79bcad;})});}_0xb58851=_[_0x23b9('0x4c')]({},_0xb58851,_0x2211ca[_0x23b9('0x4e')]);return _0x4a225e[_0x23b9('0x96')](_0xb58851);}})[_0x23b9('0x21')](function(_0x337a2e){if(_0x337a2e){_0x2f370a=_0x337a2e[_0x23b9('0x47')];if(!_0x2211ca[_0x23b9('0x41')][_0x23b9('0x48')](_0x23b9('0x62'))){_0xb58851[_0x23b9('0x30')]=qs['limit'](_0x2211ca[_0x23b9('0x41')][_0x23b9('0x30')]);_0xb58851[_0x23b9('0x2e')]=qs[_0x23b9('0x2e')](_0x2211ca[_0x23b9('0x41')][_0x23b9('0x2e')]);}return _0x4a225e['getAgents'](_0xb58851);}})['then'](function(_0xba1af8){if(_0xba1af8){return _0xba1af8?{'count':_0x2f370a,'rows':_0xba1af8}:null;}})[_0x23b9('0x21')](respondWithResult(_0x696fe3,null))[_0x23b9('0x2b')](handleError(_0x696fe3,null));};