Built motion from commit (unavailable).|2.5.13
[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 _0xe654=['fieldName','key','model','keys','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','count','includeAll','findAll','rows','show','intersection','include','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','UserChatQueue','ChatQueueId','User','findAndCountAll','agent','createdAt','format','SIP','chatPause','updatedAt','getTeams','findOne','rawAttributes','addTeams','ids','Team','Agents','online','voicePause','interface','flatMap','transaction','each','findOrCreate','forEach','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ChatQueueId\x20=\x20?','clone','push','sequelize','toString','QueryTypes','every','includes','union','compact','value','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','spread','emit','getAgents','eml-format','rimraf','fast-json-patch','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','jayson/promise','client','request','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','status','json','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','ChatQueues','UserProfileResource','sendStatus','stack','name','send','index','map','ChatQueue'];(function(_0x5a0373,_0x2dc45c){var _0x302833=function(_0x8e5e7e){while(--_0x8e5e7e){_0x5a0373['push'](_0x5a0373['shift']());}};_0x302833(++_0x2dc45c);}(_0xe654,0xef));var _0x4e65=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xe654[_0x14add3];return _0x4a174f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4e65('0x0'));var rimraf=require(_0x4e65('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4e65('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x4e65('0x3'));var csv=require(_0x4e65('0x4'));var ejs=require(_0x4e65('0x5'));var fs=require('fs');var _=require(_0x4e65('0x6'));var squel=require('squel');var crypto=require(_0x4e65('0x7'));var jsforce=require(_0x4e65('0x8'));var deskjs=require(_0x4e65('0x9'));var toCsv=require(_0x4e65('0x4'));var querystring=require(_0x4e65('0xa'));var Papa=require(_0x4e65('0xb'));var Redis=require(_0x4e65('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4e65('0xd'));var hardwareService=require(_0x4e65('0xe'));var logger=require(_0x4e65('0xf'))(_0x4e65('0x10'));var utils=require(_0x4e65('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0x4e65('0x12'));var db=require(_0x4e65('0x13'))['db'];config['redis']=_['defaults'](config[_0x4e65('0x14')],{'host':_0x4e65('0x15'),'port':0x18eb});var socket=require(_0x4e65('0x16'))(new Redis(config[_0x4e65('0x14')]));require('./chatQueue.socket')['register'](socket);var jayson=require(_0x4e65('0x17'));var client=jayson[_0x4e65('0x18')]['http']({'port':0x232a});function respondWithRpcPromise(_0x1e4e5a,_0x295b5c,_0xd32147,_0x1e77dc){return new BPromise(function(_0x205798,_0x1288fd){var _0x3d38b8=_0x1e77dc||client;return _0x3d38b8[_0x4e65('0x19')](_0x1e4e5a,_0xd32147)['then'](function(_0x1128bb){logger['info'](_0x4e65('0x1a'),_0x295b5c,_0x4e65('0x1b'));logger[_0x4e65('0x1c')](_0x4e65('0x1d'),_0x295b5c,'request\x20sent',JSON[_0x4e65('0x1e')](_0x1128bb));if(_0x1128bb['error']){if(_0x1128bb[_0x4e65('0x1f')][_0x4e65('0x20')]===0x1f4){logger[_0x4e65('0x1f')](_0x4e65('0x1a'),_0x295b5c,_0x1128bb['error']['message']);return _0x1288fd(_0x1128bb['error'][_0x4e65('0x21')]);}logger[_0x4e65('0x1f')](_0x4e65('0x1a'),_0x295b5c,_0x1128bb[_0x4e65('0x1f')][_0x4e65('0x21')]);return _0x205798(_0x1128bb['error'][_0x4e65('0x21')]);}else{logger[_0x4e65('0x22')](_0x4e65('0x1a'),_0x295b5c,_0x4e65('0x1b'));_0x205798(_0x1128bb[_0x4e65('0x23')][_0x4e65('0x21')]);}})[_0x4e65('0x24')](function(_0x2eec8a){logger[_0x4e65('0x1f')](_0x4e65('0x1a'),_0x295b5c,_0x2eec8a);_0x1288fd(_0x2eec8a);});});}function respondWithStatusCode(_0xf96c69,_0xd24cae){_0xd24cae=_0xd24cae||0xcc;return function(_0x433112){if(_0x433112){return _0xf96c69['sendStatus'](_0xd24cae);}return _0xf96c69['status'](_0xd24cae)['end']();};}function respondWithResult(_0x40cfff,_0x45d45a){_0x45d45a=_0x45d45a||0xc8;return function(_0x58c1a4){if(_0x58c1a4){return _0x40cfff[_0x4e65('0x25')](_0x45d45a)[_0x4e65('0x26')](_0x58c1a4);}};}function respondWithFilteredResult(_0x3e36f9,_0x3cfcff){return function(_0x166d58){if(_0x166d58){var _0x5e06c9=_0x166d58['count'],_0x27dc64=_0x3cfcff[_0x4e65('0x27')],_0x3bf42d=_0x3cfcff[_0x4e65('0x27')]+_0x3cfcff[_0x4e65('0x28')],_0x344ee7;if(_0x3bf42d>=_0x5e06c9){_0x3bf42d=_0x5e06c9;_0x344ee7=0xc8;}else{_0x344ee7=0xce;}_0x3e36f9[_0x4e65('0x25')](_0x344ee7);return _0x3e36f9[_0x4e65('0x29')](_0x4e65('0x2a'),_0x27dc64+'-'+_0x3bf42d+'/'+_0x5e06c9)[_0x4e65('0x26')](_0x166d58);}return null;};}function patchUpdates(_0x1bcf7f){return function(_0x162615){try{jsonpatch[_0x4e65('0x2b')](_0x162615,_0x1bcf7f,!![]);}catch(_0x5cf264){return BPromise[_0x4e65('0x2c')](_0x5cf264);}return _0x162615[_0x4e65('0x2d')]();};}function saveUpdates(_0x1f84a0,_0x561e4e){return function(_0x3ae4f9){if(_0x3ae4f9){return _0x3ae4f9[_0x4e65('0x2e')](_0x1f84a0)[_0x4e65('0x2f')](function(_0x427750){return _0x427750;});}return null;};}function removeEntity(_0x2d68a5,_0x4ff7f5){return function(_0x359b28){if(_0x359b28){return _0x359b28[_0x4e65('0x30')]()[_0x4e65('0x2f')](function(){var _0x190c5f=_0x359b28[_0x4e65('0x31')]({'plain':!![]});var _0x4988e6=_0x4e65('0x32');return db[_0x4e65('0x33')][_0x4e65('0x30')]({'where':{'type':_0x4988e6,'resourceId':_0x190c5f['id']}})[_0x4e65('0x2f')](function(){return _0x359b28;});})['then'](function(){_0x2d68a5[_0x4e65('0x25')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2510e2,_0x523e46){return function(_0x545077){if(!_0x545077){_0x2510e2[_0x4e65('0x34')](0x194);}return _0x545077;};}function handleError(_0x7f4c64,_0x1c3a44){_0x1c3a44=_0x1c3a44||0x1f4;return function(_0x4e833d){logger[_0x4e65('0x1f')](_0x4e833d[_0x4e65('0x35')]);if(_0x4e833d[_0x4e65('0x36')]){delete _0x4e833d[_0x4e65('0x36')];}_0x7f4c64[_0x4e65('0x25')](_0x1c3a44)[_0x4e65('0x37')](_0x4e833d);};}exports[_0x4e65('0x38')]=function(_0x5ca67e,_0x528c66){var _0x10905f={},_0x4da56c={},_0x22c5d8={'count':0x0,'rows':[]};var _0x5b783f=_[_0x4e65('0x39')](db[_0x4e65('0x3a')]['rawAttributes'],function(_0x452d03){return{'name':_0x452d03[_0x4e65('0x3b')],'type':_0x452d03['type'][_0x4e65('0x3c')]};});_0x4da56c[_0x4e65('0x3d')]=_[_0x4e65('0x39')](_0x5b783f,_0x4e65('0x36'));_0x4da56c['query']=_[_0x4e65('0x3e')](_0x5ca67e[_0x4e65('0x3f')]);_0x4da56c['filters']=_['intersection'](_0x4da56c[_0x4e65('0x3d')],_0x4da56c['query']);_0x10905f[_0x4e65('0x40')]=_['intersection'](_0x4da56c[_0x4e65('0x3d')],qs[_0x4e65('0x41')](_0x5ca67e[_0x4e65('0x3f')][_0x4e65('0x41')]));_0x10905f[_0x4e65('0x40')]=_0x10905f[_0x4e65('0x40')][_0x4e65('0x42')]?_0x10905f[_0x4e65('0x40')]:_0x4da56c[_0x4e65('0x3d')];if(!_0x5ca67e[_0x4e65('0x3f')][_0x4e65('0x43')](_0x4e65('0x44'))){_0x10905f[_0x4e65('0x28')]=qs[_0x4e65('0x28')](_0x5ca67e['query'][_0x4e65('0x28')]);_0x10905f[_0x4e65('0x27')]=qs['offset'](_0x5ca67e[_0x4e65('0x3f')][_0x4e65('0x27')]);}_0x10905f[_0x4e65('0x45')]=qs[_0x4e65('0x46')](_0x5ca67e[_0x4e65('0x3f')][_0x4e65('0x46')]);_0x10905f[_0x4e65('0x47')]=qs['filters'](_[_0x4e65('0x48')](_0x5ca67e[_0x4e65('0x3f')],_0x4da56c[_0x4e65('0x49')]),_0x5b783f);if(_0x5ca67e[_0x4e65('0x3f')][_0x4e65('0x4a')]){_0x10905f[_0x4e65('0x47')]=_[_0x4e65('0x4b')](_0x10905f[_0x4e65('0x47')],{'$or':_[_0x4e65('0x39')](_0x5b783f,function(_0x4591de){if(_0x4591de['type']!=='VIRTUAL'){var _0x55ee05={};_0x55ee05[_0x4591de['name']]={'$like':'%'+_0x5ca67e[_0x4e65('0x3f')][_0x4e65('0x4a')]+'%'};return _0x55ee05;}})});}_0x10905f=_[_0x4e65('0x4b')]({},_0x10905f,_0x5ca67e['options']);var _0x393cc8={'where':_0x10905f[_0x4e65('0x47')]};return db['ChatQueue'][_0x4e65('0x4c')](_0x393cc8)[_0x4e65('0x2f')](function(_0x15a944){_0x22c5d8[_0x4e65('0x4c')]=_0x15a944;if(_0x5ca67e[_0x4e65('0x3f')][_0x4e65('0x4d')]){_0x10905f['include']=[{'all':!![]}];}return db[_0x4e65('0x3a')][_0x4e65('0x4e')](_0x10905f);})[_0x4e65('0x2f')](function(_0x56b39b){_0x22c5d8[_0x4e65('0x4f')]=_0x56b39b;return _0x22c5d8;})[_0x4e65('0x2f')](respondWithFilteredResult(_0x528c66,_0x10905f))['catch'](handleError(_0x528c66,null));};exports[_0x4e65('0x50')]=function(_0x548c9c,_0x19a610){var _0x48b55a={'raw':!![],'where':{'id':_0x548c9c['params']['id']}},_0x1bb0ab={};_0x1bb0ab[_0x4e65('0x3d')]=_[_0x4e65('0x3e')](db['ChatQueue']['rawAttributes']);_0x1bb0ab[_0x4e65('0x3f')]=_[_0x4e65('0x3e')](_0x548c9c[_0x4e65('0x3f')]);_0x1bb0ab[_0x4e65('0x49')]=_[_0x4e65('0x51')](_0x1bb0ab[_0x4e65('0x3d')],_0x1bb0ab[_0x4e65('0x3f')]);_0x48b55a[_0x4e65('0x40')]=_[_0x4e65('0x51')](_0x1bb0ab[_0x4e65('0x3d')],qs[_0x4e65('0x41')](_0x548c9c[_0x4e65('0x3f')][_0x4e65('0x41')]));_0x48b55a[_0x4e65('0x40')]=_0x48b55a[_0x4e65('0x40')][_0x4e65('0x42')]?_0x48b55a[_0x4e65('0x40')]:_0x1bb0ab['model'];if(_0x548c9c[_0x4e65('0x3f')][_0x4e65('0x4d')]){_0x48b55a[_0x4e65('0x52')]=[{'all':!![]}];}_0x48b55a=_[_0x4e65('0x4b')]({},_0x48b55a,_0x548c9c[_0x4e65('0x53')]);return db['ChatQueue']['find'](_0x48b55a)['then'](handleEntityNotFound(_0x19a610,null))['then'](respondWithResult(_0x19a610,null))['catch'](handleError(_0x19a610,null));};exports[_0x4e65('0x54')]=function(_0xf7cd82,_0x133799){return db[_0x4e65('0x3a')][_0x4e65('0x54')](_0xf7cd82[_0x4e65('0x55')],{})['then'](function(_0x266d5f){var _0x1a1c82=_0xf7cd82[_0x4e65('0x56')][_0x4e65('0x31')]({'plain':!![]});if(!_0x1a1c82)throw new Error(_0x4e65('0x57'));if(_0x1a1c82[_0x4e65('0x58')]===_0x4e65('0x56')){var _0xe5ff74=_0x266d5f[_0x4e65('0x31')]({'plain':!![]});var _0x2eebfe=_0x4e65('0x32');return db['UserProfileSection'][_0x4e65('0x59')]({'where':{'name':_0x2eebfe,'userProfileId':_0x1a1c82[_0x4e65('0x5a')]},'raw':!![]})[_0x4e65('0x2f')](function(_0x28f3f4){if(_0x28f3f4&&_0x28f3f4[_0x4e65('0x5b')]===0x0){return db[_0x4e65('0x33')]['create']({'name':_0xe5ff74[_0x4e65('0x36')],'resourceId':_0xe5ff74['id'],'type':_0x28f3f4[_0x4e65('0x36')],'sectionId':_0x28f3f4['id']},{})[_0x4e65('0x2f')](function(){return _0x266d5f;});}else{return _0x266d5f;}})[_0x4e65('0x24')](function(_0x19c837){logger['error'](_0x4e65('0x5c'),_0x19c837);throw _0x19c837;});}return _0x266d5f;})[_0x4e65('0x2f')](respondWithResult(_0x133799,0xc9))[_0x4e65('0x24')](handleError(_0x133799,null));};exports[_0x4e65('0x2e')]=function(_0x3081cb,_0x15f73e){if(_0x3081cb[_0x4e65('0x55')]['id']){delete _0x3081cb['body']['id'];}return db[_0x4e65('0x3a')][_0x4e65('0x59')]({'where':{'id':_0x3081cb[_0x4e65('0x5d')]['id']}})['then'](handleEntityNotFound(_0x15f73e,null))[_0x4e65('0x2f')](saveUpdates(_0x3081cb['body'],null))[_0x4e65('0x2f')](respondWithResult(_0x15f73e,null))[_0x4e65('0x24')](handleError(_0x15f73e,null));};exports['destroy']=function(_0x5645f0,_0x4a6493){return db[_0x4e65('0x3a')][_0x4e65('0x59')]({'where':{'id':_0x5645f0['params']['id']}})['then'](handleEntityNotFound(_0x4a6493,null))[_0x4e65('0x2f')](removeEntity(_0x4a6493,null))['catch'](handleError(_0x4a6493,null));};exports[_0x4e65('0x5e')]=function(_0x21142d,_0x159033){return db[_0x4e65('0x3a')][_0x4e65('0x5e')]()[_0x4e65('0x2f')](respondWithResult(_0x159033,null))[_0x4e65('0x24')](handleError(_0x159033,null));};exports[_0x4e65('0x5f')]=function(_0x34bbfa,_0x4ecb6e,_0x1a281a){var _0x1e6e12={'raw':!![],'where':{}},_0x2f5889={},_0x4ef649;return db[_0x4e65('0x3a')]['findOne']({'where':{'id':_0x34bbfa[_0x4e65('0x5d')]['id']}})[_0x4e65('0x2f')](handleEntityNotFound(_0x4ecb6e,null))[_0x4e65('0x2f')](function(_0x3dc02f){if(_0x3dc02f){_0x4ef649=_0x3dc02f[_0x4e65('0x31')]({'plain':!![]});_0x2f5889[_0x4e65('0x3d')]=_[_0x4e65('0x3e')](db[_0x4e65('0x60')]['rawAttributes']);_0x2f5889[_0x4e65('0x3f')]=_[_0x4e65('0x3e')](_0x34bbfa['query']);_0x2f5889[_0x4e65('0x49')]=_[_0x4e65('0x51')](_0x2f5889[_0x4e65('0x3d')],_0x2f5889[_0x4e65('0x3f')]);_0x1e6e12[_0x4e65('0x40')]=_[_0x4e65('0x51')](_0x2f5889[_0x4e65('0x3d')],qs[_0x4e65('0x41')](_0x34bbfa[_0x4e65('0x3f')][_0x4e65('0x41')]));_0x1e6e12[_0x4e65('0x40')]=_0x1e6e12[_0x4e65('0x40')][_0x4e65('0x42')]?_0x1e6e12['attributes']:_0x2f5889[_0x4e65('0x3d')];if(!_0x34bbfa[_0x4e65('0x3f')][_0x4e65('0x43')]('nolimit')){_0x1e6e12[_0x4e65('0x28')]=qs[_0x4e65('0x28')](_0x34bbfa[_0x4e65('0x3f')][_0x4e65('0x28')]);_0x1e6e12[_0x4e65('0x27')]=qs['offset'](_0x34bbfa[_0x4e65('0x3f')][_0x4e65('0x27')]);}_0x1e6e12['order']=qs[_0x4e65('0x46')](_0x34bbfa[_0x4e65('0x3f')][_0x4e65('0x46')]);_0x1e6e12[_0x4e65('0x47')]=qs[_0x4e65('0x49')](_[_0x4e65('0x48')](_0x34bbfa[_0x4e65('0x3f')],_0x2f5889[_0x4e65('0x49')]));_0x1e6e12['where'][_0x4e65('0x61')]=_0x3dc02f['id'];if(_0x34bbfa[_0x4e65('0x3f')][_0x4e65('0x4a')]){_0x1e6e12[_0x4e65('0x47')]=_['merge'](_0x1e6e12[_0x4e65('0x47')],{'$or':_[_0x4e65('0x39')](_0x1e6e12[_0x4e65('0x40')],function(_0x33326a){var _0x3c1336={};_0x3c1336[_0x33326a]={'$like':'%'+_0x34bbfa['query']['filter']+'%'};return _0x3c1336;})});}_0x1e6e12=_[_0x4e65('0x4b')]({},_0x1e6e12,_0x34bbfa[_0x4e65('0x53')]);return db['UserChatQueue'][_0x4e65('0x4e')](_0x1e6e12);}})[_0x4e65('0x2f')](function(_0x54975c){if(_0x54975c){return db[_0x4e65('0x62')][_0x4e65('0x63')]({'where':{'id':_[_0x4e65('0x39')](_0x54975c,'UserId'),'role':_0x4e65('0x64')},'attributes':['id',_0x4e65('0x36'),'chatPause','updatedAt',_0x4e65('0x65')]});}})[_0x4e65('0x2f')](function(_0x947397){if(_0x947397){return{'count':_0x947397[_0x4e65('0x4c')],'rows':_[_0x4e65('0x39')](_0x947397[_0x4e65('0x4f')],function(_0x2bfeb9){return{'membername':_0x2bfeb9[_0x4e65('0x36')],'UserId':_0x2bfeb9['id'],'queue_name':_0x4ef649[_0x4e65('0x36')],'ChatQueueId':_0x4ef649['id'],'interface':util[_0x4e65('0x66')]('%s/%s',_0x4e65('0x67'),_0x2bfeb9[_0x4e65('0x36')]),'penalty':0x0,'paused':_0x2bfeb9[_0x4e65('0x68')],'createdAt':_0x2bfeb9[_0x4e65('0x65')],'updatedAt':_0x2bfeb9[_0x4e65('0x69')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x4e65('0x2f')](respondWithFilteredResult(_0x4ecb6e,_0x1e6e12))[_0x4e65('0x24')](handleError(_0x4ecb6e,null));};exports[_0x4e65('0x6a')]=function(_0x5de172,_0xb5857,_0x1390d9){var _0x1a932a={};var _0x5ab255={};var _0x24751a;var _0x268a35;return db[_0x4e65('0x3a')][_0x4e65('0x6b')]({'where':{'id':_0x5de172[_0x4e65('0x5d')]['id']}})[_0x4e65('0x2f')](handleEntityNotFound(_0xb5857,null))[_0x4e65('0x2f')](function(_0x14de67){if(_0x14de67){_0x24751a=_0x14de67;_0x5ab255[_0x4e65('0x3d')]=_[_0x4e65('0x3e')](db['Team'][_0x4e65('0x6c')]);_0x5ab255[_0x4e65('0x3f')]=_['keys'](_0x5de172[_0x4e65('0x3f')]);_0x5ab255[_0x4e65('0x49')]=_[_0x4e65('0x51')](_0x5ab255[_0x4e65('0x3d')],_0x5ab255['query']);_0x1a932a['attributes']=_[_0x4e65('0x51')](_0x5ab255['model'],qs[_0x4e65('0x41')](_0x5de172['query'][_0x4e65('0x41')]));_0x1a932a[_0x4e65('0x40')]=_0x1a932a[_0x4e65('0x40')][_0x4e65('0x42')]?_0x1a932a[_0x4e65('0x40')]:_0x5ab255[_0x4e65('0x3d')];_0x1a932a[_0x4e65('0x45')]=qs[_0x4e65('0x46')](_0x5de172['query'][_0x4e65('0x46')]);_0x1a932a[_0x4e65('0x47')]=qs[_0x4e65('0x49')](_[_0x4e65('0x48')](_0x5de172[_0x4e65('0x3f')],_0x5ab255[_0x4e65('0x49')]));if(_0x5de172[_0x4e65('0x3f')][_0x4e65('0x4a')]){_0x1a932a[_0x4e65('0x47')]=_['merge'](_0x1a932a[_0x4e65('0x47')],{'$or':_[_0x4e65('0x39')](_0x1a932a[_0x4e65('0x40')],function(_0x4a87ab){var _0x251526={};_0x251526[_0x4a87ab]={'$like':'%'+_0x5de172[_0x4e65('0x3f')][_0x4e65('0x4a')]+'%'};return _0x251526;})});}_0x1a932a=_[_0x4e65('0x4b')]({},_0x1a932a,_0x5de172[_0x4e65('0x53')]);return _0x24751a[_0x4e65('0x6a')](_0x1a932a);}})[_0x4e65('0x2f')](function(_0x4db784){if(_0x4db784){_0x268a35=_0x4db784[_0x4e65('0x42')];if(!_0x5de172['query'][_0x4e65('0x43')]('nolimit')){_0x1a932a[_0x4e65('0x28')]=qs[_0x4e65('0x28')](_0x5de172[_0x4e65('0x3f')][_0x4e65('0x28')]);_0x1a932a[_0x4e65('0x27')]=qs[_0x4e65('0x27')](_0x5de172['query'][_0x4e65('0x27')]);}return _0x24751a['getTeams'](_0x1a932a);}})[_0x4e65('0x2f')](function(_0x320b3){if(_0x320b3){return _0x320b3?{'count':_0x268a35,'rows':_0x320b3}:null;}})[_0x4e65('0x2f')](respondWithResult(_0xb5857,null))[_0x4e65('0x24')](handleError(_0xb5857,null));};exports[_0x4e65('0x6d')]=function(_0x5777d3,_0x4850db,_0x14c87a){var _0x5afe1c=_0x5777d3['body'][_0x4e65('0x6e')];return db[_0x4e65('0x6f')]['findAll']({'where':{'id':_0x5afe1c},'attributes':['id'],'include':[{'model':db[_0x4e65('0x62')],'as':_0x4e65('0x70'),'attributes':['id','name',_0x4e65('0x71'),_0x4e65('0x72'),_0x4e65('0x73')],'raw':!![]}]})[_0x4e65('0x2f')](function(_0x18d481){if(_0x18d481){var _0x24bf68=_[_0x4e65('0x74')](_0x18d481,function(_0x330ffe){var _0x2ed597=_0x330ffe['get']({'plain':!![]});return _0x2ed597['Agents'];});return db['ChatQueue'][_0x4e65('0x59')]({'where':{'id':_0x5777d3[_0x4e65('0x5d')]['id']}})[_0x4e65('0x2f')](function(_0x43bd0e){return db['sequelize'][_0x4e65('0x75')](function(_0x31f247){return _0x43bd0e[_0x4e65('0x6d')](_0x5afe1c,{'transaction':_0x31f247})[_0x4e65('0x2f')](function(){return BPromise[_0x4e65('0x76')](_0x24bf68,function(_0x39f181){return db[_0x4e65('0x60')][_0x4e65('0x77')]({'where':{'UserId':_0x39f181['id'],'ChatQueueId':_0x5777d3[_0x4e65('0x5d')]['id']},'transaction':_0x31f247});});})[_0x4e65('0x2f')](function(){_0x24bf68[_0x4e65('0x78')](function(_0x231a2e){socket['emit'](_0x4e65('0x79'),{'UserId':_0x231a2e['id'],'ChatQueueId':_0x43bd0e['id']});});});});});}})[_0x4e65('0x2f')](respondWithStatusCode(_0x4850db,null))['catch'](handleError(_0x4850db,null));};exports[_0x4e65('0x7a')]=function(_0x438b98,_0x4da23e,_0x66deb){return db[_0x4e65('0x6f')][_0x4e65('0x4e')]({'where':{'id':_0x438b98[_0x4e65('0x3f')][_0x4e65('0x6e')]},'attributes':['id'],'include':[{'model':db[_0x4e65('0x62')],'as':_0x4e65('0x70'),'attributes':['id'],'raw':!![]}]})[_0x4e65('0x2f')](handleEntityNotFound(_0x4da23e,null))[_0x4e65('0x2f')](function(_0x1e0f22){var _0x5b2e6d=_[_0x4e65('0x39')](_0x1e0f22,'id');var _0xac8358=[];var _0x194c64=[];var _0x388499=squel[_0x4e65('0x7b')]();_0x388499[_0x4e65('0x7c')](_0x4e65('0x7d'))[_0x4e65('0x7e')](_0x4e65('0x7f'),'tq')[_0x4e65('0x80')](_0x4e65('0x81'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x4e65('0x47')](_0x4e65('0x82'),_0x438b98[_0x4e65('0x5d')]['id']);for(var _0x17da3d=0x0;_0x17da3d<_0x1e0f22[_0x4e65('0x42')];_0x17da3d+=0x1){let _0x47c5d9=_0x1e0f22[_0x17da3d];for(var _0x1498cf=0x0;_0x1498cf<_0x47c5d9[_0x4e65('0x70')][_0x4e65('0x42')];_0x1498cf+=0x1){let _0x58c621=_0x47c5d9[_0x4e65('0x70')][_0x1498cf];var _0x1c233=_0x388499[_0x4e65('0x83')]();_0x1c233[_0x4e65('0x47')]('ut.UserId\x20=\x20?',_0x58c621['id']);_0x194c64[_0x4e65('0x84')](db[_0x4e65('0x85')]['query'](_0x1c233[_0x4e65('0x86')](),{'type':db[_0x4e65('0x85')][_0x4e65('0x87')]['SELECT']})['then'](function(_0x4bc9fa){if(_0x4bc9fa['length']===0x1){return _0x58c621['id'];}else{var _0x28189d=_[_0x4e65('0x88')](_[_0x4e65('0x39')](_0x4bc9fa,'TeamId'),function(_0x31e12e){return _[_0x4e65('0x89')](_0x5b2e6d,_0x31e12e);});if(_0x28189d){return _0x58c621['id'];}}}));}}return BPromise['all'](_0x194c64)[_0x4e65('0x2f')](function(_0x188d56){_0xac8358=_(_0xac8358)[_0x4e65('0x8a')](_0x188d56)[_0x4e65('0x8b')]()[_0x4e65('0x8c')]();return db[_0x4e65('0x3a')][_0x4e65('0x59')]({'where':{'id':_0x438b98['params']['id']}})[_0x4e65('0x2f')](function(_0x304eea){return db[_0x4e65('0x85')][_0x4e65('0x75')](function(_0x4a6339){return _0x304eea[_0x4e65('0x7a')](_0x438b98[_0x4e65('0x3f')][_0x4e65('0x6e')],{'transaction':_0x4a6339})[_0x4e65('0x2f')](function(){if(!_[_0x4e65('0x8d')](_0xac8358)){return _0x304eea[_0x4e65('0x8e')](_0xac8358,{'transaction':_0x4a6339});}})[_0x4e65('0x2f')](function(){_0xac8358[_0x4e65('0x78')](function(_0x12bfca){socket['emit'](_0x4e65('0x8f'),{'UserId':_0x12bfca,'ChatQueueId':_0x304eea['id']});});});});});});})[_0x4e65('0x2f')](respondWithStatusCode(_0x4da23e,null))[_0x4e65('0x24')](handleError(_0x4da23e,null));};exports['addAgents']=function(_0x665bd,_0x297a95,_0x3ee2b5){return db[_0x4e65('0x3a')][_0x4e65('0x59')]({'where':{'id':_0x665bd[_0x4e65('0x5d')]['id']}})['then'](handleEntityNotFound(_0x297a95,null))['then'](function(_0x5e3a6d){if(_0x5e3a6d){return _0x5e3a6d[_0x4e65('0x90')](_0x665bd[_0x4e65('0x55')][_0x4e65('0x6e')],_[_0x4e65('0x91')](_0x665bd[_0x4e65('0x55')],[_0x4e65('0x6e'),'id'])||{})[_0x4e65('0x92')](function(_0xa43cf2){for(var _0xde52af=0x0;_0xde52af<_0x665bd[_0x4e65('0x55')][_0x4e65('0x6e')][_0x4e65('0x42')];_0xde52af+=0x1){socket[_0x4e65('0x93')](_0x4e65('0x79'),{'UserId':_0x665bd[_0x4e65('0x55')][_0x4e65('0x6e')][_0xde52af],'ChatQueueId':_0x665bd[_0x4e65('0x5d')]['id']});}return _0xa43cf2;});}})[_0x4e65('0x2f')](respondWithResult(_0x297a95,null))[_0x4e65('0x24')](handleError(_0x297a95,null));};exports[_0x4e65('0x8e')]=function(_0x49a661,_0x1bda7c,_0x2fb99f){return db[_0x4e65('0x3a')]['find']({'where':{'id':_0x49a661[_0x4e65('0x5d')]['id']}})[_0x4e65('0x2f')](handleEntityNotFound(_0x1bda7c,null))[_0x4e65('0x2f')](function(_0x270e15){if(_0x270e15){return _0x270e15[_0x4e65('0x8e')](_0x49a661[_0x4e65('0x3f')][_0x4e65('0x6e')])[_0x4e65('0x2f')](function(){if(_['isArray'](_0x49a661[_0x4e65('0x3f')][_0x4e65('0x6e')])){for(var _0x340a52=0x0;_0x340a52<_0x49a661[_0x4e65('0x3f')][_0x4e65('0x6e')][_0x4e65('0x42')];_0x340a52+=0x1){socket[_0x4e65('0x93')]('userChatQueue:remove',{'UserId':Number(_0x49a661[_0x4e65('0x3f')]['ids'][_0x340a52]),'ChatQueueId':Number(_0x49a661[_0x4e65('0x5d')]['id'])});}}else{socket[_0x4e65('0x93')](_0x4e65('0x8f'),{'UserId':Number(_0x49a661[_0x4e65('0x3f')][_0x4e65('0x6e')]),'ChatQueueId':Number(_0x49a661[_0x4e65('0x5d')]['id'])});}});}})[_0x4e65('0x2f')](respondWithStatusCode(_0x1bda7c,null))['catch'](handleError(_0x1bda7c,null));};exports[_0x4e65('0x94')]=function(_0x551572,_0x212297,_0x13fbbc){var _0x17b255={};var _0x52c12a={};var _0x32bc41;var _0x1b4e4e;return db[_0x4e65('0x3a')][_0x4e65('0x6b')]({'where':{'id':_0x551572['params']['id']}})[_0x4e65('0x2f')](handleEntityNotFound(_0x212297,null))['then'](function(_0x169576){if(_0x169576){_0x32bc41=_0x169576;_0x52c12a[_0x4e65('0x3d')]=_[_0x4e65('0x3e')](db[_0x4e65('0x62')][_0x4e65('0x6c')]);_0x52c12a[_0x4e65('0x3f')]=_[_0x4e65('0x3e')](_0x551572[_0x4e65('0x3f')]);_0x52c12a[_0x4e65('0x49')]=_[_0x4e65('0x51')](_0x52c12a[_0x4e65('0x3d')],_0x52c12a[_0x4e65('0x3f')]);_0x17b255[_0x4e65('0x40')]=_['intersection'](_0x52c12a[_0x4e65('0x3d')],qs[_0x4e65('0x41')](_0x551572['query'][_0x4e65('0x41')]));_0x17b255[_0x4e65('0x40')]=_0x17b255[_0x4e65('0x40')][_0x4e65('0x42')]?_0x17b255[_0x4e65('0x40')]:_0x52c12a[_0x4e65('0x3d')];_0x17b255[_0x4e65('0x45')]=qs[_0x4e65('0x46')](_0x551572['query']['sort']);_0x17b255[_0x4e65('0x47')]=qs[_0x4e65('0x49')](_['pick'](_0x551572[_0x4e65('0x3f')],_0x52c12a[_0x4e65('0x49')]));if(_0x551572[_0x4e65('0x3f')][_0x4e65('0x4a')]){_0x17b255[_0x4e65('0x47')]=_[_0x4e65('0x4b')](_0x17b255[_0x4e65('0x47')],{'$or':_[_0x4e65('0x39')](_0x17b255[_0x4e65('0x40')],function(_0xcede98){var _0x2a01f7={};_0x2a01f7[_0xcede98]={'$like':'%'+_0x551572[_0x4e65('0x3f')][_0x4e65('0x4a')]+'%'};return _0x2a01f7;})});}_0x17b255=_[_0x4e65('0x4b')]({},_0x17b255,_0x551572[_0x4e65('0x53')]);return _0x32bc41[_0x4e65('0x94')](_0x17b255);}})[_0x4e65('0x2f')](function(_0x30fb2a){if(_0x30fb2a){_0x1b4e4e=_0x30fb2a[_0x4e65('0x42')];if(!_0x551572[_0x4e65('0x3f')]['hasOwnProperty'](_0x4e65('0x44'))){_0x17b255[_0x4e65('0x28')]=qs[_0x4e65('0x28')](_0x551572['query'][_0x4e65('0x28')]);_0x17b255[_0x4e65('0x27')]=qs[_0x4e65('0x27')](_0x551572[_0x4e65('0x3f')][_0x4e65('0x27')]);}return _0x32bc41[_0x4e65('0x94')](_0x17b255);}})[_0x4e65('0x2f')](function(_0x4308f9){if(_0x4308f9){return _0x4308f9?{'count':_0x1b4e4e,'rows':_0x4308f9}:null;}})['then'](respondWithResult(_0x212297,null))[_0x4e65('0x24')](handleError(_0x212297,null));};