Built motion from commit da617fac.|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 _0x6713=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','jayson/promise','client','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','update','destroy','get','UserProfileResource','name','map','ChatQueue','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','hasOwnProperty','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','show','params','keys','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','findOne','UserChatQueue','length','nolimit','order','ChatQueueId','User','UserId','agent','chatPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','online','voicePause','interface','flatMap','sequelize','each','findOrCreate','forEach','emit','userChatQueue:save','removeTeams','tq.TeamId','from','team_has_chat_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','TeamId','includes','union','compact','transaction','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','isArray','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','util','sox','ejs','fs-extra','crypto','desk.js','querystring','papaparse','ioredis'];(function(_0x263149,_0x1529c5){var _0x49c433=function(_0x189a39){while(--_0x189a39){_0x263149['push'](_0x263149['shift']());}};_0x49c433(++_0x1529c5);}(_0x6713,0x112));var _0x3671=function(_0x343090,_0x433a80){_0x343090=_0x343090-0x0;var _0x3ff3e8=_0x6713[_0x343090];return _0x3ff3e8;};'use strict';var emlformat=require(_0x3671('0x0'));var rimraf=require(_0x3671('0x1'));var zipdir=require(_0x3671('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3671('0x3'));var moment=require(_0x3671('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x3671('0x5'));var path=require('path');var sox=require(_0x3671('0x6'));var csv=require('to-csv');var ejs=require(_0x3671('0x7'));var fs=require('fs');var fs_extra=require(_0x3671('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x3671('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x3671('0xa'));var toCsv=require('to-csv');var querystring=require(_0x3671('0xb'));var Papa=require(_0x3671('0xc'));var Redis=require(_0x3671('0xd'));var authService=require(_0x3671('0xe'));var qs=require(_0x3671('0xf'));var as=require(_0x3671('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3671('0x11'))('api');var utils=require(_0x3671('0x12'));var config=require(_0x3671('0x13'));var licenseUtil=require(_0x3671('0x14'));var db=require(_0x3671('0x15'))['db'];config['redis']=_[_0x3671('0x16')](config[_0x3671('0x17')],{'host':_0x3671('0x18'),'port':0x18eb});var socket=require(_0x3671('0x19'))(new Redis(config[_0x3671('0x17')]));require('./chatQueue.socket')[_0x3671('0x1a')](socket);var jayson=require(_0x3671('0x1b'));var client=jayson[_0x3671('0x1c')]['http']({'port':0x232a});function respondWithRpcPromise(_0x53b9df,_0x508f5d,_0x765daa,_0x2d65f9){return new BPromise(function(_0x50bcce,_0x57adb9){var _0x186d85=_0x2d65f9||client;return _0x186d85[_0x3671('0x1d')](_0x53b9df,_0x765daa)[_0x3671('0x1e')](function(_0x2cbaba){logger[_0x3671('0x1f')](_0x3671('0x20'),_0x508f5d,_0x3671('0x21'));logger['debug']('ChatQueue,\x20%s,\x20%s,\x20%s',_0x508f5d,_0x3671('0x21'),JSON[_0x3671('0x22')](_0x2cbaba));if(_0x2cbaba[_0x3671('0x23')]){if(_0x2cbaba[_0x3671('0x23')][_0x3671('0x24')]===0x1f4){logger[_0x3671('0x23')](_0x3671('0x20'),_0x508f5d,_0x2cbaba[_0x3671('0x23')][_0x3671('0x25')]);return _0x57adb9(_0x2cbaba['error']['message']);}logger['error'](_0x3671('0x20'),_0x508f5d,_0x2cbaba[_0x3671('0x23')][_0x3671('0x25')]);return _0x50bcce(_0x2cbaba[_0x3671('0x23')][_0x3671('0x25')]);}else{logger[_0x3671('0x1f')](_0x3671('0x20'),_0x508f5d,_0x3671('0x21'));_0x50bcce(_0x2cbaba[_0x3671('0x26')]['message']);}})['catch'](function(_0x1c566e){logger['error'](_0x3671('0x20'),_0x508f5d,_0x1c566e);_0x57adb9(_0x1c566e);});});}function respondWithStatusCode(_0x1ca26b,_0xbc35f6){_0xbc35f6=_0xbc35f6||0xcc;return function(_0x1bf11d){if(_0x1bf11d){return _0x1ca26b[_0x3671('0x27')](_0xbc35f6);}return _0x1ca26b[_0x3671('0x28')](_0xbc35f6)[_0x3671('0x29')]();};}function respondWithResult(_0x491465,_0x10e6b9){_0x10e6b9=_0x10e6b9||0xc8;return function(_0x184302){if(_0x184302){return _0x491465[_0x3671('0x28')](_0x10e6b9)[_0x3671('0x2a')](_0x184302);}};}function respondWithFilteredResult(_0x2720f2,_0x32d258){return function(_0x5cf443){if(_0x5cf443){var _0x5a487e=typeof _0x32d258[_0x3671('0x2b')]==='undefined'&&typeof _0x32d258[_0x3671('0x2c')]===_0x3671('0x2d');var _0xb44e80=_0x5cf443[_0x3671('0x2e')];var _0x4b17e8=_0x5a487e?0x0:_0x32d258[_0x3671('0x2b')];var _0x7dbdbf=_0x5a487e?_0x5cf443['count']:_0x32d258[_0x3671('0x2b')]+_0x32d258['limit'];var _0x5b30aa;if(_0x7dbdbf>=_0xb44e80){_0x7dbdbf=_0xb44e80;_0x5b30aa=0xc8;}else{_0x5b30aa=0xce;}_0x2720f2['status'](_0x5b30aa);return _0x2720f2[_0x3671('0x2f')](_0x3671('0x30'),_0x4b17e8+'-'+_0x7dbdbf+'/'+_0xb44e80)['json'](_0x5cf443);}return null;};}function patchUpdates(_0x38bf26){return function(_0x5e77ff){try{jsonpatch['apply'](_0x5e77ff,_0x38bf26,!![]);}catch(_0x2b39d6){return BPromise['reject'](_0x2b39d6);}return _0x5e77ff['save']();};}function saveUpdates(_0x14f95a,_0x2c3b42){return function(_0x462416){if(_0x462416){return _0x462416[_0x3671('0x31')](_0x14f95a)[_0x3671('0x1e')](function(_0x2b2ac3){return _0x2b2ac3;});}return null;};}function removeEntity(_0x2e2a48,_0x3e3806){return function(_0x2e51ca){if(_0x2e51ca){return _0x2e51ca[_0x3671('0x32')]()[_0x3671('0x1e')](function(){var _0x2777ba=_0x2e51ca[_0x3671('0x33')]({'plain':!![]});var _0x152ddf='ChatQueues';return db[_0x3671('0x34')]['destroy']({'where':{'type':_0x152ddf,'resourceId':_0x2777ba['id']}})[_0x3671('0x1e')](function(){return _0x2e51ca;});})[_0x3671('0x1e')](function(){_0x2e2a48['status'](0xcc)[_0x3671('0x29')]();});}};}function handleEntityNotFound(_0x17e22a,_0x56509a){return function(_0x5167b5){if(!_0x5167b5){_0x17e22a[_0x3671('0x27')](0x194);}return _0x5167b5;};}function handleError(_0xb7a8ee,_0x2ce012){_0x2ce012=_0x2ce012||0x1f4;return function(_0x5172b5){logger[_0x3671('0x23')](_0x5172b5['stack']);if(_0x5172b5[_0x3671('0x35')]){delete _0x5172b5[_0x3671('0x35')];}_0xb7a8ee['status'](_0x2ce012)['send'](_0x5172b5);};}exports['index']=function(_0x28a233,_0x52f145){var _0xe04a0c={},_0x2aa638={},_0x16a270={'count':0x0,'rows':[]};var _0x30e1dc=_[_0x3671('0x36')](db[_0x3671('0x37')][_0x3671('0x38')],function(_0x266a4d){return{'name':_0x266a4d[_0x3671('0x39')],'type':_0x266a4d[_0x3671('0x3a')]['key']};});_0x2aa638[_0x3671('0x3b')]=_[_0x3671('0x36')](_0x30e1dc,_0x3671('0x35'));_0x2aa638[_0x3671('0x3c')]=_['keys'](_0x28a233[_0x3671('0x3c')]);_0x2aa638[_0x3671('0x3d')]=_[_0x3671('0x3e')](_0x2aa638[_0x3671('0x3b')],_0x2aa638['query']);_0xe04a0c[_0x3671('0x3f')]=_['intersection'](_0x2aa638[_0x3671('0x3b')],qs[_0x3671('0x40')](_0x28a233['query'][_0x3671('0x40')]));_0xe04a0c[_0x3671('0x3f')]=_0xe04a0c[_0x3671('0x3f')]['length']?_0xe04a0c[_0x3671('0x3f')]:_0x2aa638[_0x3671('0x3b')];if(!_0x28a233[_0x3671('0x3c')][_0x3671('0x41')]('nolimit')){_0xe04a0c[_0x3671('0x2c')]=qs[_0x3671('0x2c')](_0x28a233['query']['limit']);_0xe04a0c['offset']=qs['offset'](_0x28a233['query'][_0x3671('0x2b')]);}_0xe04a0c['order']=qs['sort'](_0x28a233['query'][_0x3671('0x42')]);_0xe04a0c[_0x3671('0x43')]=qs[_0x3671('0x3d')](_[_0x3671('0x44')](_0x28a233[_0x3671('0x3c')],_0x2aa638[_0x3671('0x3d')]),_0x30e1dc);if(_0x28a233[_0x3671('0x3c')][_0x3671('0x45')]){_0xe04a0c[_0x3671('0x43')]=_['merge'](_0xe04a0c[_0x3671('0x43')],{'$or':_[_0x3671('0x36')](_0x30e1dc,function(_0x5098bf){if(_0x5098bf[_0x3671('0x3a')]!==_0x3671('0x46')){var _0x51c92d={};_0x51c92d[_0x5098bf[_0x3671('0x35')]]={'$like':'%'+_0x28a233['query'][_0x3671('0x45')]+'%'};return _0x51c92d;}})});}_0xe04a0c=_[_0x3671('0x47')]({},_0xe04a0c,_0x28a233[_0x3671('0x48')]);var _0x132b52={'where':_0xe04a0c[_0x3671('0x43')]};return db[_0x3671('0x37')][_0x3671('0x2e')](_0x132b52)[_0x3671('0x1e')](function(_0x5ad692){_0x16a270['count']=_0x5ad692;if(_0x28a233[_0x3671('0x3c')]['includeAll']){_0xe04a0c[_0x3671('0x49')]=[{'all':!![]}];}return db['ChatQueue'][_0x3671('0x4a')](_0xe04a0c);})[_0x3671('0x1e')](function(_0x40d309){_0x16a270[_0x3671('0x4b')]=_0x40d309;return _0x16a270;})[_0x3671('0x1e')](respondWithFilteredResult(_0x52f145,_0xe04a0c))['catch'](handleError(_0x52f145,null));};exports[_0x3671('0x4c')]=function(_0x2c9cf7,_0x25c942){var _0x159be2={'raw':!![],'where':{'id':_0x2c9cf7[_0x3671('0x4d')]['id']}},_0x5222a4={};_0x5222a4[_0x3671('0x3b')]=_[_0x3671('0x4e')](db[_0x3671('0x37')][_0x3671('0x38')]);_0x5222a4[_0x3671('0x3c')]=_[_0x3671('0x4e')](_0x2c9cf7[_0x3671('0x3c')]);_0x5222a4['filters']=_[_0x3671('0x3e')](_0x5222a4['model'],_0x5222a4[_0x3671('0x3c')]);_0x159be2[_0x3671('0x3f')]=_[_0x3671('0x3e')](_0x5222a4[_0x3671('0x3b')],qs[_0x3671('0x40')](_0x2c9cf7[_0x3671('0x3c')][_0x3671('0x40')]));_0x159be2['attributes']=_0x159be2[_0x3671('0x3f')]['length']?_0x159be2[_0x3671('0x3f')]:_0x5222a4[_0x3671('0x3b')];if(_0x2c9cf7[_0x3671('0x3c')]['includeAll']){_0x159be2[_0x3671('0x49')]=[{'all':!![]}];}_0x159be2=_['merge']({},_0x159be2,_0x2c9cf7[_0x3671('0x48')]);return db[_0x3671('0x37')][_0x3671('0x4f')](_0x159be2)[_0x3671('0x1e')](handleEntityNotFound(_0x25c942,null))[_0x3671('0x1e')](respondWithResult(_0x25c942,null))[_0x3671('0x50')](handleError(_0x25c942,null));};exports[_0x3671('0x51')]=function(_0x16e3c5,_0x57aa7d){return db[_0x3671('0x37')]['create'](_0x16e3c5['body'],{})[_0x3671('0x1e')](function(_0xa96db8){var _0x42fcb8=_0x16e3c5[_0x3671('0x52')][_0x3671('0x33')]({'plain':!![]});if(!_0x42fcb8)throw new Error(_0x3671('0x53'));if(_0x42fcb8[_0x3671('0x54')]===_0x3671('0x52')){var _0x12a95=_0xa96db8[_0x3671('0x33')]({'plain':!![]});var _0x3d6d28='ChatQueues';return db[_0x3671('0x55')][_0x3671('0x4f')]({'where':{'name':_0x3d6d28,'userProfileId':_0x42fcb8[_0x3671('0x56')]},'raw':!![]})[_0x3671('0x1e')](function(_0x2c3595){if(_0x2c3595&&_0x2c3595[_0x3671('0x57')]===0x0){return db['UserProfileResource'][_0x3671('0x51')]({'name':_0x12a95[_0x3671('0x35')],'resourceId':_0x12a95['id'],'type':_0x2c3595[_0x3671('0x35')],'sectionId':_0x2c3595['id']},{})[_0x3671('0x1e')](function(){return _0xa96db8;});}else{return _0xa96db8;}})[_0x3671('0x50')](function(_0x25c0a1){logger[_0x3671('0x23')](_0x3671('0x58'),_0x25c0a1);throw _0x25c0a1;});}return _0xa96db8;})[_0x3671('0x1e')](respondWithResult(_0x57aa7d,0xc9))[_0x3671('0x50')](handleError(_0x57aa7d,null));};exports[_0x3671('0x31')]=function(_0x46a19a,_0x541be8){if(_0x46a19a[_0x3671('0x59')]['id']){delete _0x46a19a[_0x3671('0x59')]['id'];}return db[_0x3671('0x37')][_0x3671('0x4f')]({'where':{'id':_0x46a19a[_0x3671('0x4d')]['id']}})[_0x3671('0x1e')](handleEntityNotFound(_0x541be8,null))[_0x3671('0x1e')](saveUpdates(_0x46a19a[_0x3671('0x59')],null))[_0x3671('0x1e')](respondWithResult(_0x541be8,null))[_0x3671('0x50')](handleError(_0x541be8,null));};exports[_0x3671('0x32')]=function(_0x21ba83,_0x3a9fa7){return db[_0x3671('0x37')][_0x3671('0x4f')]({'where':{'id':_0x21ba83[_0x3671('0x4d')]['id']}})[_0x3671('0x1e')](handleEntityNotFound(_0x3a9fa7,null))[_0x3671('0x1e')](removeEntity(_0x3a9fa7,null))[_0x3671('0x50')](handleError(_0x3a9fa7,null));};exports[_0x3671('0x5a')]=function(_0x5abba8,_0x15ce03){return db[_0x3671('0x37')][_0x3671('0x5a')]()[_0x3671('0x1e')](respondWithResult(_0x15ce03,null))[_0x3671('0x50')](handleError(_0x15ce03,null));};exports['getMembers']=function(_0x5a0ece,_0x2be030,_0x1d3683){var _0x45075c={'raw':!![],'where':{}},_0x9256ef={},_0x51586e;return db[_0x3671('0x37')][_0x3671('0x5b')]({'where':{'id':_0x5a0ece['params']['id']}})[_0x3671('0x1e')](handleEntityNotFound(_0x2be030,null))[_0x3671('0x1e')](function(_0x56d7db){if(_0x56d7db){_0x51586e=_0x56d7db[_0x3671('0x33')]({'plain':!![]});_0x9256ef['model']=_[_0x3671('0x4e')](db[_0x3671('0x5c')][_0x3671('0x38')]);_0x9256ef[_0x3671('0x3c')]=_['keys'](_0x5a0ece[_0x3671('0x3c')]);_0x9256ef[_0x3671('0x3d')]=_[_0x3671('0x3e')](_0x9256ef[_0x3671('0x3b')],_0x9256ef[_0x3671('0x3c')]);_0x45075c[_0x3671('0x3f')]=_[_0x3671('0x3e')](_0x9256ef[_0x3671('0x3b')],qs[_0x3671('0x40')](_0x5a0ece[_0x3671('0x3c')][_0x3671('0x40')]));_0x45075c[_0x3671('0x3f')]=_0x45075c[_0x3671('0x3f')][_0x3671('0x5d')]?_0x45075c[_0x3671('0x3f')]:_0x9256ef['model'];if(!_0x5a0ece[_0x3671('0x3c')][_0x3671('0x41')](_0x3671('0x5e'))){_0x45075c[_0x3671('0x2c')]=qs[_0x3671('0x2c')](_0x5a0ece['query'][_0x3671('0x2c')]);_0x45075c['offset']=qs[_0x3671('0x2b')](_0x5a0ece[_0x3671('0x3c')]['offset']);}_0x45075c[_0x3671('0x5f')]=qs['sort'](_0x5a0ece['query'][_0x3671('0x42')]);_0x45075c[_0x3671('0x43')]=qs['filters'](_[_0x3671('0x44')](_0x5a0ece[_0x3671('0x3c')],_0x9256ef[_0x3671('0x3d')]));_0x45075c['where'][_0x3671('0x60')]=_0x56d7db['id'];if(_0x5a0ece[_0x3671('0x3c')][_0x3671('0x45')]){_0x45075c[_0x3671('0x43')]=_[_0x3671('0x47')](_0x45075c['where'],{'$or':_[_0x3671('0x36')](_0x45075c[_0x3671('0x3f')],function(_0x1ab6ce){var _0x5e4557={};_0x5e4557[_0x1ab6ce]={'$like':'%'+_0x5a0ece[_0x3671('0x3c')][_0x3671('0x45')]+'%'};return _0x5e4557;})});}_0x45075c=_[_0x3671('0x47')]({},_0x45075c,_0x5a0ece['options']);return db[_0x3671('0x5c')][_0x3671('0x4a')](_0x45075c);}})[_0x3671('0x1e')](function(_0x3942c2){if(_0x3942c2){return db[_0x3671('0x61')]['findAndCountAll']({'where':{'id':_[_0x3671('0x36')](_0x3942c2,_0x3671('0x62')),'role':_0x3671('0x63')},'attributes':['id',_0x3671('0x35'),_0x3671('0x64'),_0x3671('0x65'),_0x3671('0x66')]});}})['then'](function(_0x2a08cf){if(_0x2a08cf){return{'count':_0x2a08cf['count'],'rows':_[_0x3671('0x36')](_0x2a08cf[_0x3671('0x4b')],function(_0x36e1c6){return{'membername':_0x36e1c6[_0x3671('0x35')],'UserId':_0x36e1c6['id'],'queue_name':_0x51586e[_0x3671('0x35')],'ChatQueueId':_0x51586e['id'],'interface':util[_0x3671('0x67')](_0x3671('0x68'),_0x3671('0x69'),_0x36e1c6[_0x3671('0x35')]),'penalty':0x0,'paused':_0x36e1c6[_0x3671('0x64')],'createdAt':_0x36e1c6[_0x3671('0x66')],'updatedAt':_0x36e1c6[_0x3671('0x65')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x3671('0x1e')](respondWithFilteredResult(_0x2be030,_0x45075c))[_0x3671('0x50')](handleError(_0x2be030,null));};exports[_0x3671('0x6a')]=function(_0xaf3d09,_0x567c1d,_0x23b647){var _0x5e7528={};var _0x3fb376={};var _0x4bd66b;var _0xa342b;return db[_0x3671('0x37')]['findOne']({'where':{'id':_0xaf3d09[_0x3671('0x4d')]['id']}})['then'](handleEntityNotFound(_0x567c1d,null))[_0x3671('0x1e')](function(_0x5adf6a){if(_0x5adf6a){_0x4bd66b=_0x5adf6a;_0x3fb376[_0x3671('0x3b')]=_[_0x3671('0x4e')](db[_0x3671('0x6b')]['rawAttributes']);_0x3fb376[_0x3671('0x3c')]=_['keys'](_0xaf3d09[_0x3671('0x3c')]);_0x3fb376[_0x3671('0x3d')]=_['intersection'](_0x3fb376[_0x3671('0x3b')],_0x3fb376[_0x3671('0x3c')]);_0x5e7528[_0x3671('0x3f')]=_[_0x3671('0x3e')](_0x3fb376[_0x3671('0x3b')],qs[_0x3671('0x40')](_0xaf3d09['query']['fields']));_0x5e7528[_0x3671('0x3f')]=_0x5e7528[_0x3671('0x3f')][_0x3671('0x5d')]?_0x5e7528[_0x3671('0x3f')]:_0x3fb376[_0x3671('0x3b')];_0x5e7528[_0x3671('0x5f')]=qs['sort'](_0xaf3d09[_0x3671('0x3c')][_0x3671('0x42')]);_0x5e7528[_0x3671('0x43')]=qs[_0x3671('0x3d')](_[_0x3671('0x44')](_0xaf3d09[_0x3671('0x3c')],_0x3fb376[_0x3671('0x3d')]));if(_0xaf3d09[_0x3671('0x3c')][_0x3671('0x45')]){_0x5e7528['where']=_[_0x3671('0x47')](_0x5e7528['where'],{'$or':_[_0x3671('0x36')](_0x5e7528['attributes'],function(_0x41d937){var _0x4e743e={};_0x4e743e[_0x41d937]={'$like':'%'+_0xaf3d09[_0x3671('0x3c')][_0x3671('0x45')]+'%'};return _0x4e743e;})});}_0x5e7528=_['merge']({},_0x5e7528,_0xaf3d09['options']);return _0x4bd66b[_0x3671('0x6a')](_0x5e7528);}})['then'](function(_0x2b61ae){if(_0x2b61ae){_0xa342b=_0x2b61ae[_0x3671('0x5d')];if(!_0xaf3d09[_0x3671('0x3c')]['hasOwnProperty'](_0x3671('0x5e'))){_0x5e7528[_0x3671('0x2c')]=qs[_0x3671('0x2c')](_0xaf3d09['query'][_0x3671('0x2c')]);_0x5e7528[_0x3671('0x2b')]=qs[_0x3671('0x2b')](_0xaf3d09['query']['offset']);}return _0x4bd66b[_0x3671('0x6a')](_0x5e7528);}})[_0x3671('0x1e')](function(_0x5b0ee0){if(_0x5b0ee0){return _0x5b0ee0?{'count':_0xa342b,'rows':_0x5b0ee0}:null;}})[_0x3671('0x1e')](respondWithResult(_0x567c1d,null))['catch'](handleError(_0x567c1d,null));};exports[_0x3671('0x6c')]=function(_0x5de147,_0xc3dfcf,_0xf3f272){var _0x28278f=_0x5de147[_0x3671('0x59')][_0x3671('0x6d')];return db['Team']['findAll']({'where':{'id':_0x28278f},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x3671('0x35'),_0x3671('0x6e'),_0x3671('0x6f'),_0x3671('0x70')],'raw':!![]}]})[_0x3671('0x1e')](function(_0x288f49){if(_0x288f49){var _0x2a94e8=_[_0x3671('0x71')](_0x288f49,function(_0x309ee9){var _0xaf8224=_0x309ee9[_0x3671('0x33')]({'plain':!![]});return _0xaf8224['Agents'];});return db[_0x3671('0x37')][_0x3671('0x4f')]({'where':{'id':_0x5de147[_0x3671('0x4d')]['id']}})[_0x3671('0x1e')](function(_0x2efd82){return db[_0x3671('0x72')]['transaction'](function(_0x53d32f){return _0x2efd82[_0x3671('0x6c')](_0x28278f,{'transaction':_0x53d32f})[_0x3671('0x1e')](function(){return BPromise[_0x3671('0x73')](_0x2a94e8,function(_0x5f3bf3){return db['UserChatQueue'][_0x3671('0x74')]({'where':{'UserId':_0x5f3bf3['id'],'ChatQueueId':_0x5de147[_0x3671('0x4d')]['id']},'transaction':_0x53d32f});});})[_0x3671('0x1e')](function(){_0x2a94e8[_0x3671('0x75')](function(_0x59efa9){socket[_0x3671('0x76')](_0x3671('0x77'),{'UserId':_0x59efa9['id'],'ChatQueueId':_0x2efd82['id']});});});});});}})[_0x3671('0x1e')](respondWithStatusCode(_0xc3dfcf,null))[_0x3671('0x50')](handleError(_0xc3dfcf,null));};exports[_0x3671('0x78')]=function(_0x2da42d,_0x1e5b25,_0x151133){return db[_0x3671('0x6b')][_0x3671('0x4a')]({'where':{'id':_0x2da42d[_0x3671('0x3c')]['ids']},'attributes':['id'],'include':[{'model':db[_0x3671('0x61')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x3671('0x1e')](handleEntityNotFound(_0x1e5b25,null))[_0x3671('0x1e')](function(_0x59f3e8){var _0x135d86=_[_0x3671('0x36')](_0x59f3e8,'id');var _0xd7b0f3=[];var _0xba0076=[];var _0x412051=squel['select']();_0x412051['field'](_0x3671('0x79'))[_0x3671('0x7a')](_0x3671('0x7b'),'tq')['join'](_0x3671('0x7c'),'ut',_0x3671('0x7d'))[_0x3671('0x43')](_0x3671('0x7e'),_0x2da42d[_0x3671('0x4d')]['id']);for(var _0x5143ab=0x0;_0x5143ab<_0x59f3e8[_0x3671('0x5d')];_0x5143ab+=0x1){let _0x4f12da=_0x59f3e8[_0x5143ab];for(var _0x13b51d=0x0;_0x13b51d<_0x4f12da['Agents'][_0x3671('0x5d')];_0x13b51d+=0x1){let _0x3f10e4=_0x4f12da['Agents'][_0x13b51d];var _0x2c983a=_0x412051['clone']();_0x2c983a[_0x3671('0x43')](_0x3671('0x7f'),_0x3f10e4['id']);_0xba0076[_0x3671('0x80')](db['sequelize'][_0x3671('0x3c')](_0x2c983a[_0x3671('0x81')](),{'type':db[_0x3671('0x72')][_0x3671('0x82')][_0x3671('0x83')]})[_0x3671('0x1e')](function(_0x17c69f){if(_0x17c69f['length']===0x1){return _0x3f10e4['id'];}else{var _0x3e09c5=_['every'](_[_0x3671('0x36')](_0x17c69f,_0x3671('0x84')),function(_0x3c9799){return _[_0x3671('0x85')](_0x135d86,_0x3c9799);});if(_0x3e09c5){return _0x3f10e4['id'];}}}));}}return BPromise['all'](_0xba0076)['then'](function(_0x1c80db){_0xd7b0f3=_(_0xd7b0f3)[_0x3671('0x86')](_0x1c80db)[_0x3671('0x87')]()['value']();return db[_0x3671('0x37')][_0x3671('0x4f')]({'where':{'id':_0x2da42d['params']['id']}})[_0x3671('0x1e')](function(_0x56b57a){return db[_0x3671('0x72')][_0x3671('0x88')](function(_0x9d7615){return _0x56b57a[_0x3671('0x78')](_0x2da42d[_0x3671('0x3c')][_0x3671('0x6d')],{'transaction':_0x9d7615})[_0x3671('0x1e')](function(){if(!_[_0x3671('0x89')](_0xd7b0f3)){return _0x56b57a[_0x3671('0x8a')](_0xd7b0f3,{'transaction':_0x9d7615});}})['then'](function(){_0xd7b0f3['forEach'](function(_0x27f129){socket['emit'](_0x3671('0x8b'),{'UserId':_0x27f129,'ChatQueueId':_0x56b57a['id']});});});});});});})['then'](respondWithStatusCode(_0x1e5b25,null))[_0x3671('0x50')](handleError(_0x1e5b25,null));};exports[_0x3671('0x8c')]=function(_0x3ccf90,_0x4361a0,_0x4bda5a){return db[_0x3671('0x37')][_0x3671('0x4f')]({'where':{'id':_0x3ccf90[_0x3671('0x4d')]['id']}})[_0x3671('0x1e')](handleEntityNotFound(_0x4361a0,null))[_0x3671('0x1e')](function(_0x236714){if(_0x236714){return _0x236714[_0x3671('0x8c')](_0x3ccf90[_0x3671('0x59')][_0x3671('0x6d')],_[_0x3671('0x8d')](_0x3ccf90[_0x3671('0x59')],[_0x3671('0x6d'),'id'])||{})['spread'](function(_0x29d083){for(var _0x14d685=0x0;_0x14d685<_0x3ccf90[_0x3671('0x59')]['ids'][_0x3671('0x5d')];_0x14d685+=0x1){socket[_0x3671('0x76')](_0x3671('0x77'),{'UserId':Number(_0x3ccf90[_0x3671('0x59')][_0x3671('0x6d')][_0x14d685]),'ChatQueueId':Number(_0x3ccf90[_0x3671('0x4d')]['id'])});}return _0x29d083;});}})[_0x3671('0x1e')](respondWithResult(_0x4361a0,null))[_0x3671('0x50')](handleError(_0x4361a0,null));};exports['removeAgents']=function(_0xbaea02,_0x1db395,_0x243062){return db[_0x3671('0x37')][_0x3671('0x4f')]({'where':{'id':_0xbaea02[_0x3671('0x4d')]['id']}})[_0x3671('0x1e')](handleEntityNotFound(_0x1db395,null))['then'](function(_0x195fea){if(_0x195fea){return _0x195fea[_0x3671('0x8a')](_0xbaea02['query'][_0x3671('0x6d')])[_0x3671('0x1e')](function(){if(_[_0x3671('0x8e')](_0xbaea02[_0x3671('0x3c')][_0x3671('0x6d')])){for(var _0x19b2fc=0x0;_0x19b2fc<_0xbaea02['query'][_0x3671('0x6d')][_0x3671('0x5d')];_0x19b2fc+=0x1){socket[_0x3671('0x76')]('userChatQueue:remove',{'UserId':Number(_0xbaea02[_0x3671('0x3c')]['ids'][_0x19b2fc]),'ChatQueueId':Number(_0xbaea02[_0x3671('0x4d')]['id'])});}}else{socket[_0x3671('0x76')](_0x3671('0x8b'),{'UserId':Number(_0xbaea02[_0x3671('0x3c')]['ids']),'ChatQueueId':Number(_0xbaea02[_0x3671('0x4d')]['id'])});}});}})[_0x3671('0x1e')](respondWithStatusCode(_0x1db395,null))[_0x3671('0x50')](handleError(_0x1db395,null));};exports[_0x3671('0x8f')]=function(_0xbc2696,_0x3d3bc9,_0x135286){var _0x1469b9={};var _0x4cf558={};var _0x588e23;var _0xcca819;return db[_0x3671('0x37')][_0x3671('0x5b')]({'where':{'id':_0xbc2696[_0x3671('0x4d')]['id']}})[_0x3671('0x1e')](handleEntityNotFound(_0x3d3bc9,null))[_0x3671('0x1e')](function(_0x19ff6c){if(_0x19ff6c){_0x588e23=_0x19ff6c;_0x4cf558['model']=_[_0x3671('0x4e')](db[_0x3671('0x61')][_0x3671('0x38')]);_0x4cf558['query']=_[_0x3671('0x4e')](_0xbc2696['query']);_0x4cf558[_0x3671('0x3d')]=_[_0x3671('0x3e')](_0x4cf558[_0x3671('0x3b')],_0x4cf558[_0x3671('0x3c')]);_0x1469b9[_0x3671('0x3f')]=_[_0x3671('0x3e')](_0x4cf558[_0x3671('0x3b')],qs['fields'](_0xbc2696[_0x3671('0x3c')][_0x3671('0x40')]));_0x1469b9[_0x3671('0x3f')]=_0x1469b9[_0x3671('0x3f')]['length']?_0x1469b9[_0x3671('0x3f')]:_0x4cf558[_0x3671('0x3b')];_0x1469b9['order']=qs['sort'](_0xbc2696[_0x3671('0x3c')][_0x3671('0x42')]);_0x1469b9[_0x3671('0x43')]=qs[_0x3671('0x3d')](_[_0x3671('0x44')](_0xbc2696['query'],_0x4cf558[_0x3671('0x3d')]));if(_0xbc2696[_0x3671('0x3c')]['filter']){_0x1469b9['where']=_[_0x3671('0x47')](_0x1469b9[_0x3671('0x43')],{'$or':_['map'](_0x1469b9[_0x3671('0x3f')],function(_0x552667){var _0x1af9f2={};_0x1af9f2[_0x552667]={'$like':'%'+_0xbc2696[_0x3671('0x3c')][_0x3671('0x45')]+'%'};return _0x1af9f2;})});}_0x1469b9=_['merge']({},_0x1469b9,_0xbc2696[_0x3671('0x48')]);return _0x588e23[_0x3671('0x8f')](_0x1469b9);}})['then'](function(_0x47b3af){if(_0x47b3af){_0xcca819=_0x47b3af['length'];if(!_0xbc2696[_0x3671('0x3c')][_0x3671('0x41')](_0x3671('0x5e'))){_0x1469b9[_0x3671('0x2c')]=qs['limit'](_0xbc2696[_0x3671('0x3c')][_0x3671('0x2c')]);_0x1469b9[_0x3671('0x2b')]=qs[_0x3671('0x2b')](_0xbc2696[_0x3671('0x3c')][_0x3671('0x2b')]);}return _0x588e23[_0x3671('0x8f')](_0x1469b9);}})['then'](function(_0x9ac553){if(_0x9ac553){return _0x9ac553?{'count':_0xcca819,'rows':_0x9ac553}:null;}})[_0x3671('0x1e')](respondWithResult(_0x3d3bc9,null))['catch'](handleError(_0x3d3bc9,null));};