Built motion from commit 753c950e.|2.5.42
[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 _0x31ed=['../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatQueue.socket','jayson/promise','client','http','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','sendStatus','end','status','json','offset','undefined','count','limit','apply','reject','save','update','destroy','UserProfileResource','stack','name','send','index','map','ChatQueue','fieldName','type','key','keys','query','filters','intersection','fields','attributes','length','model','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','show','rawAttributes','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','params','getMembers','findOne','UserChatQueue','nolimit','ChatQueueId','User','findAndCountAll','agent','chatPause','updatedAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','interface','sequelize','transaction','each','emit','removeTeams','select','field','tq.TeamId','team_has_chat_queues','join','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','TeamId','includes','all','union','value','removeAgents','forEach','userChatQueue:remove','addAgents','omit','userChatQueue:save','isArray','getAgents','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x37445c,_0x5186ad){var _0x1a892f=function(_0xcf3f28){while(--_0xcf3f28){_0x37445c['push'](_0x37445c['shift']());}};_0x1a892f(++_0x5186ad);}(_0x31ed,0x118));var _0xd31e=function(_0x1dc0b9,_0x43ffca){_0x1dc0b9=_0x1dc0b9-0x0;var _0x20013a=_0x31ed[_0x1dc0b9];return _0x20013a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd31e('0x0'));var zipdir=require(_0xd31e('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd31e('0x2'));var moment=require(_0xd31e('0x3'));var BPromise=require(_0xd31e('0x4'));var Mustache=require(_0xd31e('0x5'));var util=require(_0xd31e('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xd31e('0x7'));var fs=require('fs');var fs_extra=require(_0xd31e('0x8'));var _=require(_0xd31e('0x9'));var squel=require(_0xd31e('0xa'));var crypto=require(_0xd31e('0xb'));var jsforce=require(_0xd31e('0xc'));var deskjs=require(_0xd31e('0xd'));var toCsv=require('to-csv');var querystring=require(_0xd31e('0xe'));var Papa=require(_0xd31e('0xf'));var Redis=require(_0xd31e('0x10'));var authService=require(_0xd31e('0x11'));var qs=require(_0xd31e('0x12'));var as=require(_0xd31e('0x13'));var hardwareService=require(_0xd31e('0x14'));var logger=require(_0xd31e('0x15'))('api');var utils=require('../../config/utils');var config=require(_0xd31e('0x16'));var licenseUtil=require(_0xd31e('0x17'));var db=require(_0xd31e('0x18'))['db'];config[_0xd31e('0x19')]=_['defaults'](config[_0xd31e('0x19')],{'host':_0xd31e('0x1a'),'port':0x18eb});var socket=require(_0xd31e('0x1b'))(new Redis(config[_0xd31e('0x19')]));require(_0xd31e('0x1c'))['register'](socket);var jayson=require(_0xd31e('0x1d'));var client=jayson[_0xd31e('0x1e')][_0xd31e('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x433bf4,_0x244d4d,_0x324708,_0x4d23c2){return new BPromise(function(_0x120954,_0x51baac){var _0x5932d9=_0x4d23c2||client;return _0x5932d9[_0xd31e('0x20')](_0x433bf4,_0x324708)[_0xd31e('0x21')](function(_0x46a6ae){logger[_0xd31e('0x22')](_0xd31e('0x23'),_0x244d4d,_0xd31e('0x24'));logger[_0xd31e('0x25')](_0xd31e('0x26'),_0x244d4d,_0xd31e('0x24'),JSON[_0xd31e('0x27')](_0x46a6ae));if(_0x46a6ae[_0xd31e('0x28')]){if(_0x46a6ae[_0xd31e('0x28')][_0xd31e('0x29')]===0x1f4){logger[_0xd31e('0x28')](_0xd31e('0x23'),_0x244d4d,_0x46a6ae[_0xd31e('0x28')][_0xd31e('0x2a')]);return _0x51baac(_0x46a6ae[_0xd31e('0x28')][_0xd31e('0x2a')]);}logger[_0xd31e('0x28')](_0xd31e('0x23'),_0x244d4d,_0x46a6ae[_0xd31e('0x28')][_0xd31e('0x2a')]);return _0x120954(_0x46a6ae[_0xd31e('0x28')][_0xd31e('0x2a')]);}else{logger[_0xd31e('0x22')](_0xd31e('0x23'),_0x244d4d,_0xd31e('0x24'));_0x120954(_0x46a6ae['result']['message']);}})[_0xd31e('0x2b')](function(_0x26785c){logger[_0xd31e('0x28')](_0xd31e('0x23'),_0x244d4d,_0x26785c);_0x51baac(_0x26785c);});});}function respondWithStatusCode(_0x429238,_0x1dff77){_0x1dff77=_0x1dff77||0xcc;return function(_0xb16cf6){if(_0xb16cf6){return _0x429238[_0xd31e('0x2c')](_0x1dff77);}return _0x429238['status'](_0x1dff77)[_0xd31e('0x2d')]();};}function respondWithResult(_0x4ae142,_0x434920){_0x434920=_0x434920||0xc8;return function(_0x5d8814){if(_0x5d8814){return _0x4ae142[_0xd31e('0x2e')](_0x434920)[_0xd31e('0x2f')](_0x5d8814);}};}function respondWithFilteredResult(_0x1dba60,_0x22859b){return function(_0x506aa2){if(_0x506aa2){var _0x397fa8=typeof _0x22859b[_0xd31e('0x30')]===_0xd31e('0x31')&&typeof _0x22859b['limit']===_0xd31e('0x31');var _0xbd62d=_0x506aa2[_0xd31e('0x32')];var _0x45dcdd=_0x397fa8?0x0:_0x22859b['offset'];var _0x46e372=_0x397fa8?_0x506aa2['count']:_0x22859b['offset']+_0x22859b[_0xd31e('0x33')];var _0x5508b3;if(_0x46e372>=_0xbd62d){_0x46e372=_0xbd62d;_0x5508b3=0xc8;}else{_0x5508b3=0xce;}_0x1dba60['status'](_0x5508b3);return _0x1dba60['set']('Content-Range',_0x45dcdd+'-'+_0x46e372+'/'+_0xbd62d)[_0xd31e('0x2f')](_0x506aa2);}return null;};}function patchUpdates(_0x230c6a){return function(_0x29bd7d){try{jsonpatch[_0xd31e('0x34')](_0x29bd7d,_0x230c6a,!![]);}catch(_0x105a04){return BPromise[_0xd31e('0x35')](_0x105a04);}return _0x29bd7d[_0xd31e('0x36')]();};}function saveUpdates(_0x397a03,_0x5b6522){return function(_0x43b7a3){if(_0x43b7a3){return _0x43b7a3[_0xd31e('0x37')](_0x397a03)['then'](function(_0x11c39b){return _0x11c39b;});}return null;};}function removeEntity(_0x53acfa,_0x23a610){return function(_0x3dffbe){if(_0x3dffbe){return _0x3dffbe[_0xd31e('0x38')]()['then'](function(){var _0x5f264a=_0x3dffbe['get']({'plain':!![]});var _0x1bcdeb='ChatQueues';return db[_0xd31e('0x39')]['destroy']({'where':{'type':_0x1bcdeb,'resourceId':_0x5f264a['id']}})['then'](function(){return _0x3dffbe;});})[_0xd31e('0x21')](function(){_0x53acfa[_0xd31e('0x2e')](0xcc)[_0xd31e('0x2d')]();});}};}function handleEntityNotFound(_0x37001d,_0x21b7e8){return function(_0x442914){if(!_0x442914){_0x37001d[_0xd31e('0x2c')](0x194);}return _0x442914;};}function handleError(_0x15ee2e,_0x45efa0){_0x45efa0=_0x45efa0||0x1f4;return function(_0x292f60){logger['error'](_0x292f60[_0xd31e('0x3a')]);if(_0x292f60[_0xd31e('0x3b')]){delete _0x292f60[_0xd31e('0x3b')];}_0x15ee2e['status'](_0x45efa0)[_0xd31e('0x3c')](_0x292f60);};}exports[_0xd31e('0x3d')]=function(_0x15f77e,_0x54a479){var _0x2927c9={},_0x4ef739={},_0x1fce48={'count':0x0,'rows':[]};var _0x4c70a5=_[_0xd31e('0x3e')](db[_0xd31e('0x3f')]['rawAttributes'],function(_0xd194a5){return{'name':_0xd194a5[_0xd31e('0x40')],'type':_0xd194a5[_0xd31e('0x41')][_0xd31e('0x42')]};});_0x4ef739['model']=_['map'](_0x4c70a5,_0xd31e('0x3b'));_0x4ef739['query']=_[_0xd31e('0x43')](_0x15f77e[_0xd31e('0x44')]);_0x4ef739[_0xd31e('0x45')]=_[_0xd31e('0x46')](_0x4ef739['model'],_0x4ef739[_0xd31e('0x44')]);_0x2927c9['attributes']=_[_0xd31e('0x46')](_0x4ef739['model'],qs[_0xd31e('0x47')](_0x15f77e[_0xd31e('0x44')][_0xd31e('0x47')]));_0x2927c9[_0xd31e('0x48')]=_0x2927c9['attributes'][_0xd31e('0x49')]?_0x2927c9[_0xd31e('0x48')]:_0x4ef739[_0xd31e('0x4a')];if(!_0x15f77e['query'][_0xd31e('0x4b')]('nolimit')){_0x2927c9[_0xd31e('0x33')]=qs[_0xd31e('0x33')](_0x15f77e[_0xd31e('0x44')][_0xd31e('0x33')]);_0x2927c9[_0xd31e('0x30')]=qs[_0xd31e('0x30')](_0x15f77e[_0xd31e('0x44')][_0xd31e('0x30')]);}_0x2927c9[_0xd31e('0x4c')]=qs[_0xd31e('0x4d')](_0x15f77e[_0xd31e('0x44')]['sort']);_0x2927c9[_0xd31e('0x4e')]=qs[_0xd31e('0x45')](_[_0xd31e('0x4f')](_0x15f77e[_0xd31e('0x44')],_0x4ef739['filters']),_0x4c70a5);if(_0x15f77e[_0xd31e('0x44')]['filter']){_0x2927c9[_0xd31e('0x4e')]=_[_0xd31e('0x50')](_0x2927c9[_0xd31e('0x4e')],{'$or':_[_0xd31e('0x3e')](_0x4c70a5,function(_0x1bf140){if(_0x1bf140[_0xd31e('0x41')]!==_0xd31e('0x51')){var _0x3f3211={};_0x3f3211[_0x1bf140[_0xd31e('0x3b')]]={'$like':'%'+_0x15f77e['query'][_0xd31e('0x52')]+'%'};return _0x3f3211;}})});}_0x2927c9=_[_0xd31e('0x50')]({},_0x2927c9,_0x15f77e[_0xd31e('0x53')]);var _0x1a8153={'where':_0x2927c9[_0xd31e('0x4e')]};return db['ChatQueue'][_0xd31e('0x32')](_0x1a8153)[_0xd31e('0x21')](function(_0x3736f9){_0x1fce48[_0xd31e('0x32')]=_0x3736f9;if(_0x15f77e[_0xd31e('0x44')][_0xd31e('0x54')]){_0x2927c9[_0xd31e('0x55')]=[{'all':!![]}];}return db['ChatQueue'][_0xd31e('0x56')](_0x2927c9);})[_0xd31e('0x21')](function(_0x2e99a9){_0x1fce48[_0xd31e('0x57')]=_0x2e99a9;return _0x1fce48;})['then'](respondWithFilteredResult(_0x54a479,_0x2927c9))[_0xd31e('0x2b')](handleError(_0x54a479,null));};exports[_0xd31e('0x58')]=function(_0x466ce8,_0x34f8e6){var _0x11de7f={'raw':!![],'where':{'id':_0x466ce8['params']['id']}},_0x34485c={};_0x34485c['model']=_[_0xd31e('0x43')](db[_0xd31e('0x3f')][_0xd31e('0x59')]);_0x34485c[_0xd31e('0x44')]=_[_0xd31e('0x43')](_0x466ce8[_0xd31e('0x44')]);_0x34485c['filters']=_[_0xd31e('0x46')](_0x34485c[_0xd31e('0x4a')],_0x34485c[_0xd31e('0x44')]);_0x11de7f[_0xd31e('0x48')]=_[_0xd31e('0x46')](_0x34485c[_0xd31e('0x4a')],qs[_0xd31e('0x47')](_0x466ce8[_0xd31e('0x44')][_0xd31e('0x47')]));_0x11de7f[_0xd31e('0x48')]=_0x11de7f[_0xd31e('0x48')][_0xd31e('0x49')]?_0x11de7f[_0xd31e('0x48')]:_0x34485c[_0xd31e('0x4a')];if(_0x466ce8[_0xd31e('0x44')]['includeAll']){_0x11de7f['include']=[{'all':!![]}];}_0x11de7f=_[_0xd31e('0x50')]({},_0x11de7f,_0x466ce8['options']);return db[_0xd31e('0x3f')][_0xd31e('0x5a')](_0x11de7f)[_0xd31e('0x21')](handleEntityNotFound(_0x34f8e6,null))[_0xd31e('0x21')](respondWithResult(_0x34f8e6,null))['catch'](handleError(_0x34f8e6,null));};exports[_0xd31e('0x5b')]=function(_0x1a7738,_0x43fadb){return db[_0xd31e('0x3f')][_0xd31e('0x5b')](_0x1a7738[_0xd31e('0x5c')],{})[_0xd31e('0x21')](function(_0x45517f){var _0x2362a8=_0x1a7738['user'][_0xd31e('0x5d')]({'plain':!![]});if(!_0x2362a8)throw new Error(_0xd31e('0x5e'));if(_0x2362a8[_0xd31e('0x5f')]===_0xd31e('0x60')){var _0x3c18d6=_0x45517f[_0xd31e('0x5d')]({'plain':!![]});var _0x5d3ce7='ChatQueues';return db[_0xd31e('0x61')][_0xd31e('0x5a')]({'where':{'name':_0x5d3ce7,'userProfileId':_0x2362a8[_0xd31e('0x62')]},'raw':!![]})[_0xd31e('0x21')](function(_0x18ac8e){if(_0x18ac8e&&_0x18ac8e[_0xd31e('0x63')]===0x0){return db['UserProfileResource'][_0xd31e('0x5b')]({'name':_0x3c18d6[_0xd31e('0x3b')],'resourceId':_0x3c18d6['id'],'type':_0x18ac8e[_0xd31e('0x3b')],'sectionId':_0x18ac8e['id']},{})[_0xd31e('0x21')](function(){return _0x45517f;});}else{return _0x45517f;}})[_0xd31e('0x2b')](function(_0x1b9629){logger[_0xd31e('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1b9629);throw _0x1b9629;});}return _0x45517f;})[_0xd31e('0x21')](respondWithResult(_0x43fadb,0xc9))['catch'](handleError(_0x43fadb,null));};exports[_0xd31e('0x37')]=function(_0x16cd30,_0x4d2e72){if(_0x16cd30['body']['id']){delete _0x16cd30['body']['id'];}return db[_0xd31e('0x3f')][_0xd31e('0x5a')]({'where':{'id':_0x16cd30[_0xd31e('0x64')]['id']}})[_0xd31e('0x21')](handleEntityNotFound(_0x4d2e72,null))[_0xd31e('0x21')](saveUpdates(_0x16cd30[_0xd31e('0x5c')],null))[_0xd31e('0x21')](respondWithResult(_0x4d2e72,null))['catch'](handleError(_0x4d2e72,null));};exports[_0xd31e('0x38')]=function(_0x377a0e,_0x31666d){return db[_0xd31e('0x3f')]['find']({'where':{'id':_0x377a0e[_0xd31e('0x64')]['id']}})[_0xd31e('0x21')](handleEntityNotFound(_0x31666d,null))[_0xd31e('0x21')](removeEntity(_0x31666d,null))[_0xd31e('0x2b')](handleError(_0x31666d,null));};exports['describe']=function(_0x46c336,_0x1faff9){return db['ChatQueue']['describe']()[_0xd31e('0x21')](respondWithResult(_0x1faff9,null))[_0xd31e('0x2b')](handleError(_0x1faff9,null));};exports[_0xd31e('0x65')]=function(_0x3937b1,_0x9544bb,_0x4ea6a7){var _0x555a4d={'raw':!![],'where':{}},_0x50c018={},_0x28aebe;return db[_0xd31e('0x3f')][_0xd31e('0x66')]({'where':{'id':_0x3937b1['params']['id']}})[_0xd31e('0x21')](handleEntityNotFound(_0x9544bb,null))[_0xd31e('0x21')](function(_0x2038ae){if(_0x2038ae){_0x28aebe=_0x2038ae['get']({'plain':!![]});_0x50c018[_0xd31e('0x4a')]=_[_0xd31e('0x43')](db[_0xd31e('0x67')][_0xd31e('0x59')]);_0x50c018[_0xd31e('0x44')]=_['keys'](_0x3937b1['query']);_0x50c018[_0xd31e('0x45')]=_[_0xd31e('0x46')](_0x50c018[_0xd31e('0x4a')],_0x50c018[_0xd31e('0x44')]);_0x555a4d[_0xd31e('0x48')]=_[_0xd31e('0x46')](_0x50c018[_0xd31e('0x4a')],qs[_0xd31e('0x47')](_0x3937b1[_0xd31e('0x44')][_0xd31e('0x47')]));_0x555a4d[_0xd31e('0x48')]=_0x555a4d[_0xd31e('0x48')][_0xd31e('0x49')]?_0x555a4d['attributes']:_0x50c018['model'];if(!_0x3937b1[_0xd31e('0x44')][_0xd31e('0x4b')](_0xd31e('0x68'))){_0x555a4d['limit']=qs[_0xd31e('0x33')](_0x3937b1[_0xd31e('0x44')][_0xd31e('0x33')]);_0x555a4d[_0xd31e('0x30')]=qs[_0xd31e('0x30')](_0x3937b1[_0xd31e('0x44')][_0xd31e('0x30')]);}_0x555a4d[_0xd31e('0x4c')]=qs[_0xd31e('0x4d')](_0x3937b1['query']['sort']);_0x555a4d[_0xd31e('0x4e')]=qs[_0xd31e('0x45')](_[_0xd31e('0x4f')](_0x3937b1[_0xd31e('0x44')],_0x50c018[_0xd31e('0x45')]));_0x555a4d[_0xd31e('0x4e')][_0xd31e('0x69')]=_0x2038ae['id'];if(_0x3937b1[_0xd31e('0x44')][_0xd31e('0x52')]){_0x555a4d[_0xd31e('0x4e')]=_['merge'](_0x555a4d['where'],{'$or':_['map'](_0x555a4d[_0xd31e('0x48')],function(_0xe787a5){var _0x3ccb8b={};_0x3ccb8b[_0xe787a5]={'$like':'%'+_0x3937b1[_0xd31e('0x44')]['filter']+'%'};return _0x3ccb8b;})});}_0x555a4d=_['merge']({},_0x555a4d,_0x3937b1[_0xd31e('0x53')]);return db[_0xd31e('0x67')][_0xd31e('0x56')](_0x555a4d);}})['then'](function(_0x55aec9){if(_0x55aec9){return db[_0xd31e('0x6a')][_0xd31e('0x6b')]({'where':{'id':_['map'](_0x55aec9,'UserId'),'role':_0xd31e('0x6c')},'attributes':['id',_0xd31e('0x3b'),_0xd31e('0x6d'),_0xd31e('0x6e'),'createdAt']});}})[_0xd31e('0x21')](function(_0x5a6e47){if(_0x5a6e47){return{'count':_0x5a6e47[_0xd31e('0x32')],'rows':_['map'](_0x5a6e47[_0xd31e('0x57')],function(_0x52bc7d){return{'membername':_0x52bc7d['name'],'UserId':_0x52bc7d['id'],'queue_name':_0x28aebe[_0xd31e('0x3b')],'ChatQueueId':_0x28aebe['id'],'interface':util[_0xd31e('0x6f')](_0xd31e('0x70'),_0xd31e('0x71'),_0x52bc7d['name']),'penalty':0x0,'paused':_0x52bc7d[_0xd31e('0x6d')],'createdAt':_0x52bc7d['createdAt'],'updatedAt':_0x52bc7d['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x9544bb,_0x555a4d))[_0xd31e('0x2b')](handleError(_0x9544bb,null));};exports[_0xd31e('0x72')]=function(_0x1aec54,_0x5210e9,_0x298845){var _0x597203={};var _0x364f92={};var _0x3ed817;var _0x3e69c6;return db[_0xd31e('0x3f')][_0xd31e('0x66')]({'where':{'id':_0x1aec54[_0xd31e('0x64')]['id']}})[_0xd31e('0x21')](handleEntityNotFound(_0x5210e9,null))[_0xd31e('0x21')](function(_0x2a4606){if(_0x2a4606){_0x3ed817=_0x2a4606;_0x364f92[_0xd31e('0x4a')]=_['keys'](db[_0xd31e('0x73')][_0xd31e('0x59')]);_0x364f92[_0xd31e('0x44')]=_[_0xd31e('0x43')](_0x1aec54[_0xd31e('0x44')]);_0x364f92[_0xd31e('0x45')]=_[_0xd31e('0x46')](_0x364f92[_0xd31e('0x4a')],_0x364f92[_0xd31e('0x44')]);_0x597203[_0xd31e('0x48')]=_[_0xd31e('0x46')](_0x364f92['model'],qs[_0xd31e('0x47')](_0x1aec54[_0xd31e('0x44')][_0xd31e('0x47')]));_0x597203[_0xd31e('0x48')]=_0x597203[_0xd31e('0x48')]['length']?_0x597203['attributes']:_0x364f92[_0xd31e('0x4a')];_0x597203['order']=qs['sort'](_0x1aec54[_0xd31e('0x44')]['sort']);_0x597203['where']=qs[_0xd31e('0x45')](_['pick'](_0x1aec54[_0xd31e('0x44')],_0x364f92[_0xd31e('0x45')]));if(_0x1aec54[_0xd31e('0x44')][_0xd31e('0x52')]){_0x597203[_0xd31e('0x4e')]=_[_0xd31e('0x50')](_0x597203[_0xd31e('0x4e')],{'$or':_['map'](_0x597203[_0xd31e('0x48')],function(_0x310504){var _0x4bb601={};_0x4bb601[_0x310504]={'$like':'%'+_0x1aec54['query'][_0xd31e('0x52')]+'%'};return _0x4bb601;})});}_0x597203=_[_0xd31e('0x50')]({},_0x597203,_0x1aec54['options']);return _0x3ed817[_0xd31e('0x72')](_0x597203);}})[_0xd31e('0x21')](function(_0x3a27ba){if(_0x3a27ba){_0x3e69c6=_0x3a27ba[_0xd31e('0x49')];if(!_0x1aec54[_0xd31e('0x44')][_0xd31e('0x4b')](_0xd31e('0x68'))){_0x597203[_0xd31e('0x33')]=qs[_0xd31e('0x33')](_0x1aec54[_0xd31e('0x44')]['limit']);_0x597203[_0xd31e('0x30')]=qs[_0xd31e('0x30')](_0x1aec54[_0xd31e('0x44')][_0xd31e('0x30')]);}return _0x3ed817[_0xd31e('0x72')](_0x597203);}})[_0xd31e('0x21')](function(_0x523d70){if(_0x523d70){return _0x523d70?{'count':_0x3e69c6,'rows':_0x523d70}:null;}})[_0xd31e('0x21')](respondWithResult(_0x5210e9,null))[_0xd31e('0x2b')](handleError(_0x5210e9,null));};exports[_0xd31e('0x74')]=function(_0x1f1089,_0xb31534,_0x27086a){var _0x2cf6c9=_0x1f1089[_0xd31e('0x5c')][_0xd31e('0x75')];return db[_0xd31e('0x73')][_0xd31e('0x56')]({'where':{'id':_0x2cf6c9},'attributes':['id'],'include':[{'model':db['User'],'as':_0xd31e('0x76'),'attributes':['id','name','online','voicePause',_0xd31e('0x77')],'raw':!![]}]})[_0xd31e('0x21')](function(_0x325074){if(_0x325074){var _0x1ce58e=_['flatMap'](_0x325074,function(_0x491db0){var _0x132836=_0x491db0[_0xd31e('0x5d')]({'plain':!![]});return _0x132836[_0xd31e('0x76')];});return db[_0xd31e('0x3f')][_0xd31e('0x5a')]({'where':{'id':_0x1f1089[_0xd31e('0x64')]['id']}})['then'](function(_0x1bf8cc){return db[_0xd31e('0x78')][_0xd31e('0x79')](function(_0x11261f){return _0x1bf8cc['addTeams'](_0x2cf6c9,{'transaction':_0x11261f})[_0xd31e('0x21')](function(){return BPromise[_0xd31e('0x7a')](_0x1ce58e,function(_0x3157f3){return db['UserChatQueue']['findOrCreate']({'where':{'UserId':_0x3157f3['id'],'ChatQueueId':_0x1f1089[_0xd31e('0x64')]['id']},'transaction':_0x11261f});});})[_0xd31e('0x21')](function(){_0x1ce58e['forEach'](function(_0x46818e){socket[_0xd31e('0x7b')]('userChatQueue:save',{'UserId':_0x46818e['id'],'ChatQueueId':_0x1bf8cc['id']});});});});});}})[_0xd31e('0x21')](respondWithStatusCode(_0xb31534,null))['catch'](handleError(_0xb31534,null));};exports[_0xd31e('0x7c')]=function(_0x1db499,_0x2af659,_0x4e0007){return db['Team'][_0xd31e('0x56')]({'where':{'id':_0x1db499['query'][_0xd31e('0x75')]},'attributes':['id'],'include':[{'model':db[_0xd31e('0x6a')],'as':_0xd31e('0x76'),'attributes':['id'],'raw':!![]}]})[_0xd31e('0x21')](handleEntityNotFound(_0x2af659,null))[_0xd31e('0x21')](function(_0x35b160){var _0x1cc99d=_[_0xd31e('0x3e')](_0x35b160,'id');var _0xa3dd9d=[];var _0x401b3c=[];var _0x178b61=squel[_0xd31e('0x7d')]();_0x178b61[_0xd31e('0x7e')](_0xd31e('0x7f'))['from'](_0xd31e('0x80'),'tq')[_0xd31e('0x81')]('user_has_teams','ut',_0xd31e('0x82'))[_0xd31e('0x4e')](_0xd31e('0x83'),_0x1db499[_0xd31e('0x64')]['id']);for(var _0x316ad4=0x0;_0x316ad4<_0x35b160[_0xd31e('0x49')];_0x316ad4+=0x1){let _0x5130e9=_0x35b160[_0x316ad4];for(var _0x34d5ee=0x0;_0x34d5ee<_0x5130e9[_0xd31e('0x76')]['length'];_0x34d5ee+=0x1){let _0x4f376d=_0x5130e9['Agents'][_0x34d5ee];var _0x42481f=_0x178b61[_0xd31e('0x84')]();_0x42481f[_0xd31e('0x4e')](_0xd31e('0x85'),_0x4f376d['id']);_0x401b3c['push'](db[_0xd31e('0x78')][_0xd31e('0x44')](_0x42481f[_0xd31e('0x86')](),{'type':db[_0xd31e('0x78')][_0xd31e('0x87')][_0xd31e('0x88')]})['then'](function(_0x3e3b9f){if(_0x3e3b9f[_0xd31e('0x49')]===0x1){return _0x4f376d['id'];}else{var _0x3cb9a2=_['every'](_[_0xd31e('0x3e')](_0x3e3b9f,_0xd31e('0x89')),function(_0xabe2ce){return _[_0xd31e('0x8a')](_0x1cc99d,_0xabe2ce);});if(_0x3cb9a2){return _0x4f376d['id'];}}}));}}return BPromise[_0xd31e('0x8b')](_0x401b3c)[_0xd31e('0x21')](function(_0xaa47e1){_0xa3dd9d=_(_0xa3dd9d)[_0xd31e('0x8c')](_0xaa47e1)['compact']()[_0xd31e('0x8d')]();return db[_0xd31e('0x3f')][_0xd31e('0x5a')]({'where':{'id':_0x1db499['params']['id']}})['then'](function(_0x25dd6d){return db[_0xd31e('0x78')][_0xd31e('0x79')](function(_0x22ab37){return _0x25dd6d[_0xd31e('0x7c')](_0x1db499[_0xd31e('0x44')][_0xd31e('0x75')],{'transaction':_0x22ab37})[_0xd31e('0x21')](function(){if(!_['isEmpty'](_0xa3dd9d)){return _0x25dd6d[_0xd31e('0x8e')](_0xa3dd9d,{'transaction':_0x22ab37});}})['then'](function(){_0xa3dd9d[_0xd31e('0x8f')](function(_0x188586){socket['emit'](_0xd31e('0x90'),{'UserId':_0x188586,'ChatQueueId':_0x25dd6d['id']});});});});});});})[_0xd31e('0x21')](respondWithStatusCode(_0x2af659,null))[_0xd31e('0x2b')](handleError(_0x2af659,null));};exports[_0xd31e('0x91')]=function(_0x30c071,_0x52ae59,_0x4a5664){return db[_0xd31e('0x3f')][_0xd31e('0x5a')]({'where':{'id':_0x30c071[_0xd31e('0x64')]['id']}})[_0xd31e('0x21')](handleEntityNotFound(_0x52ae59,null))[_0xd31e('0x21')](function(_0x4b0fe6){if(_0x4b0fe6){return _0x4b0fe6['addAgents'](_0x30c071[_0xd31e('0x5c')]['ids'],_[_0xd31e('0x92')](_0x30c071['body'],[_0xd31e('0x75'),'id'])||{})['spread'](function(_0x3b28d2){for(var _0x47dad8=0x0;_0x47dad8<_0x30c071['body'][_0xd31e('0x75')][_0xd31e('0x49')];_0x47dad8+=0x1){socket['emit'](_0xd31e('0x93'),{'UserId':Number(_0x30c071[_0xd31e('0x5c')][_0xd31e('0x75')][_0x47dad8]),'ChatQueueId':Number(_0x30c071[_0xd31e('0x64')]['id'])});}return _0x3b28d2;});}})[_0xd31e('0x21')](respondWithResult(_0x52ae59,null))[_0xd31e('0x2b')](handleError(_0x52ae59,null));};exports['removeAgents']=function(_0x5784dd,_0x578586,_0x49a67b){return db[_0xd31e('0x3f')]['find']({'where':{'id':_0x5784dd['params']['id']}})[_0xd31e('0x21')](handleEntityNotFound(_0x578586,null))[_0xd31e('0x21')](function(_0x1cdc83){if(_0x1cdc83){return _0x1cdc83[_0xd31e('0x8e')](_0x5784dd['query'][_0xd31e('0x75')])[_0xd31e('0x21')](function(){if(_[_0xd31e('0x94')](_0x5784dd[_0xd31e('0x44')]['ids'])){for(var _0x5adf29=0x0;_0x5adf29<_0x5784dd['query']['ids'][_0xd31e('0x49')];_0x5adf29+=0x1){socket[_0xd31e('0x7b')](_0xd31e('0x90'),{'UserId':Number(_0x5784dd['query'][_0xd31e('0x75')][_0x5adf29]),'ChatQueueId':Number(_0x5784dd[_0xd31e('0x64')]['id'])});}}else{socket[_0xd31e('0x7b')](_0xd31e('0x90'),{'UserId':Number(_0x5784dd['query'][_0xd31e('0x75')]),'ChatQueueId':Number(_0x5784dd[_0xd31e('0x64')]['id'])});}});}})[_0xd31e('0x21')](respondWithStatusCode(_0x578586,null))[_0xd31e('0x2b')](handleError(_0x578586,null));};exports[_0xd31e('0x95')]=function(_0x339d68,_0x1044b3,_0x10b91a){var _0x15ec0a={};var _0x23adc6={};var _0x189286;var _0x185892;return db['ChatQueue'][_0xd31e('0x66')]({'where':{'id':_0x339d68[_0xd31e('0x64')]['id']}})[_0xd31e('0x21')](handleEntityNotFound(_0x1044b3,null))[_0xd31e('0x21')](function(_0x300bfe){if(_0x300bfe){_0x189286=_0x300bfe;_0x23adc6[_0xd31e('0x4a')]=_['keys'](db[_0xd31e('0x6a')][_0xd31e('0x59')]);_0x23adc6[_0xd31e('0x44')]=_[_0xd31e('0x43')](_0x339d68[_0xd31e('0x44')]);_0x23adc6[_0xd31e('0x45')]=_[_0xd31e('0x46')](_0x23adc6[_0xd31e('0x4a')],_0x23adc6[_0xd31e('0x44')]);_0x15ec0a[_0xd31e('0x48')]=_[_0xd31e('0x46')](_0x23adc6['model'],qs[_0xd31e('0x47')](_0x339d68[_0xd31e('0x44')]['fields']));_0x15ec0a[_0xd31e('0x48')]=_0x15ec0a[_0xd31e('0x48')]['length']?_0x15ec0a[_0xd31e('0x48')]:_0x23adc6[_0xd31e('0x4a')];_0x15ec0a[_0xd31e('0x4c')]=qs[_0xd31e('0x4d')](_0x339d68[_0xd31e('0x44')][_0xd31e('0x4d')]);_0x15ec0a[_0xd31e('0x4e')]=qs['filters'](_[_0xd31e('0x4f')](_0x339d68['query'],_0x23adc6[_0xd31e('0x45')]));if(_0x339d68['query'][_0xd31e('0x52')]){_0x15ec0a[_0xd31e('0x4e')]=_[_0xd31e('0x50')](_0x15ec0a[_0xd31e('0x4e')],{'$or':_[_0xd31e('0x3e')](_0x15ec0a[_0xd31e('0x48')],function(_0x513c11){var _0x236142={};_0x236142[_0x513c11]={'$like':'%'+_0x339d68[_0xd31e('0x44')][_0xd31e('0x52')]+'%'};return _0x236142;})});}_0x15ec0a=_[_0xd31e('0x50')]({},_0x15ec0a,_0x339d68[_0xd31e('0x53')]);return _0x189286[_0xd31e('0x95')](_0x15ec0a);}})[_0xd31e('0x21')](function(_0x41f52d){if(_0x41f52d){_0x185892=_0x41f52d[_0xd31e('0x49')];if(!_0x339d68['query'][_0xd31e('0x4b')](_0xd31e('0x68'))){_0x15ec0a[_0xd31e('0x33')]=qs[_0xd31e('0x33')](_0x339d68[_0xd31e('0x44')][_0xd31e('0x33')]);_0x15ec0a[_0xd31e('0x30')]=qs['offset'](_0x339d68[_0xd31e('0x44')]['offset']);}return _0x189286[_0xd31e('0x95')](_0x15ec0a);}})[_0xd31e('0x21')](function(_0x20aac8){if(_0x20aac8){return _0x20aac8?{'count':_0x185892,'rows':_0x20aac8}:null;}})['then'](respondWithResult(_0x1044b3,null))['catch'](handleError(_0x1044b3,null));};