Built motion from commit (unavailable).|2.6.0
[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 _0xae6e=['addTeams','Team','findAll','Agents','voicePause','interface','flatMap','sequelize','each','findOrCreate','userChatQueue:save','User','select','field','from','team_has_chat_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','includes','all','union','compact','value','ids','removeAgents','emit','addAgents','omit','spread','isArray','userChatQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','ejs','fs-extra','squel','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','socket.io-emitter','redis','./chatQueue.socket','register','jayson/promise','client','http','request','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','code','error','message','catch','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','get','ChatQueues','stack','name','map','ChatQueue','fieldName','type','query','filters','intersection','fields','attributes','model','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','include','rows','show','params','keys','length','includeAll','find','create','body','user','role','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMembers','findOne','UserChatQueue','rawAttributes','hasOwnProperty','ChatQueueId','findAndCountAll','UserId','agent','format','%s/%s','SIP','chatPause','createdAt','getTeams'];(function(_0x513aa5,_0x1fba79){var _0x1a1a7c=function(_0x240e3f){while(--_0x240e3f){_0x513aa5['push'](_0x513aa5['shift']());}};_0x1a1a7c(++_0x1fba79);}(_0xae6e,0x1e5));var _0xeae6=function(_0x23ab60,_0x3f7603){_0x23ab60=_0x23ab60-0x0;var _0x4a88aa=_0xae6e[_0x23ab60];return _0x4a88aa;};'use strict';var emlformat=require(_0xeae6('0x0'));var rimraf=require(_0xeae6('0x1'));var zipdir=require(_0xeae6('0x2'));var jsonpatch=require(_0xeae6('0x3'));var rp=require(_0xeae6('0x4'));var moment=require('moment');var BPromise=require(_0xeae6('0x5'));var Mustache=require('mustache');var util=require(_0xeae6('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xeae6('0x7'));var fs=require('fs');var fs_extra=require(_0xeae6('0x8'));var _=require('lodash');var squel=require(_0xeae6('0x9'));var crypto=require(_0xeae6('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xeae6('0xb'));var querystring=require(_0xeae6('0xc'));var Papa=require(_0xeae6('0xd'));var Redis=require(_0xeae6('0xe'));var authService=require(_0xeae6('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xeae6('0x10'));var hardwareService=require(_0xeae6('0x11'));var logger=require(_0xeae6('0x12'))(_0xeae6('0x13'));var utils=require(_0xeae6('0x14'));var config=require(_0xeae6('0x15'));var licenseUtil=require(_0xeae6('0x16'));var db=require(_0xeae6('0x17'))['db'];config['redis']=_[_0xeae6('0x18')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xeae6('0x19'))(new Redis(config[_0xeae6('0x1a')]));require(_0xeae6('0x1b'))[_0xeae6('0x1c')](socket);var jayson=require(_0xeae6('0x1d'));var client=jayson[_0xeae6('0x1e')][_0xeae6('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x1b91cf,_0x34a0e5,_0x5e5f55,_0x553429){return new BPromise(function(_0x163f8d,_0xaf10c5){var _0x35f217=_0x553429||client;return _0x35f217[_0xeae6('0x20')](_0x1b91cf,_0x5e5f55)['then'](function(_0x257290){logger[_0xeae6('0x21')](_0xeae6('0x22'),_0x34a0e5,_0xeae6('0x23'));logger[_0xeae6('0x24')](_0xeae6('0x25'),_0x34a0e5,_0xeae6('0x23'),JSON[_0xeae6('0x26')](_0x257290));if(_0x257290['error']){if(_0x257290['error'][_0xeae6('0x27')]===0x1f4){logger['error'](_0xeae6('0x22'),_0x34a0e5,_0x257290[_0xeae6('0x28')][_0xeae6('0x29')]);return _0xaf10c5(_0x257290['error'][_0xeae6('0x29')]);}logger[_0xeae6('0x28')](_0xeae6('0x22'),_0x34a0e5,_0x257290[_0xeae6('0x28')][_0xeae6('0x29')]);return _0x163f8d(_0x257290[_0xeae6('0x28')][_0xeae6('0x29')]);}else{logger[_0xeae6('0x21')]('ChatQueue,\x20%s,\x20%s',_0x34a0e5,'request\x20sent');_0x163f8d(_0x257290['result'][_0xeae6('0x29')]);}})[_0xeae6('0x2a')](function(_0x47435b){logger[_0xeae6('0x28')](_0xeae6('0x22'),_0x34a0e5,_0x47435b);_0xaf10c5(_0x47435b);});});}function respondWithStatusCode(_0x3dabff,_0x172349){_0x172349=_0x172349||0xcc;return function(_0x4e9d77){if(_0x4e9d77){return _0x3dabff[_0xeae6('0x2b')](_0x172349);}return _0x3dabff['status'](_0x172349)['end']();};}function respondWithResult(_0x4ac10f,_0x1399da){_0x1399da=_0x1399da||0xc8;return function(_0x27c04d){if(_0x27c04d){return _0x4ac10f[_0xeae6('0x2c')](_0x1399da)[_0xeae6('0x2d')](_0x27c04d);}};}function respondWithFilteredResult(_0x54b4e1,_0x47a462){return function(_0x538dfb){if(_0x538dfb){var _0x22fa08=typeof _0x47a462[_0xeae6('0x2e')]===_0xeae6('0x2f')&&typeof _0x47a462['limit']===_0xeae6('0x2f');var _0xf7af49=_0x538dfb[_0xeae6('0x30')];var _0x4d90ba=_0x22fa08?0x0:_0x47a462['offset'];var _0x2c3a4e=_0x22fa08?_0x538dfb[_0xeae6('0x30')]:_0x47a462[_0xeae6('0x2e')]+_0x47a462[_0xeae6('0x31')];var _0x436854;if(_0x2c3a4e>=_0xf7af49){_0x2c3a4e=_0xf7af49;_0x436854=0xc8;}else{_0x436854=0xce;}_0x54b4e1[_0xeae6('0x2c')](_0x436854);return _0x54b4e1[_0xeae6('0x32')](_0xeae6('0x33'),_0x4d90ba+'-'+_0x2c3a4e+'/'+_0xf7af49)[_0xeae6('0x2d')](_0x538dfb);}return null;};}function patchUpdates(_0x1726cd){return function(_0x4760ad){try{jsonpatch[_0xeae6('0x34')](_0x4760ad,_0x1726cd,!![]);}catch(_0x2b463d){return BPromise['reject'](_0x2b463d);}return _0x4760ad[_0xeae6('0x35')]();};}function saveUpdates(_0x187cb0,_0x284700){return function(_0x6da4e7){if(_0x6da4e7){return _0x6da4e7[_0xeae6('0x36')](_0x187cb0)[_0xeae6('0x37')](function(_0x4b88d8){return _0x4b88d8;});}return null;};}function removeEntity(_0x15c7b3,_0x309a39){return function(_0x3a9bdf){if(_0x3a9bdf){return _0x3a9bdf[_0xeae6('0x38')]()[_0xeae6('0x37')](function(){var _0x31cfe3=_0x3a9bdf[_0xeae6('0x39')]({'plain':!![]});var _0x2d0a90=_0xeae6('0x3a');return db['UserProfileResource'][_0xeae6('0x38')]({'where':{'type':_0x2d0a90,'resourceId':_0x31cfe3['id']}})[_0xeae6('0x37')](function(){return _0x3a9bdf;});})[_0xeae6('0x37')](function(){_0x15c7b3[_0xeae6('0x2c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23c5cd,_0x150cda){return function(_0x15eb87){if(!_0x15eb87){_0x23c5cd['sendStatus'](0x194);}return _0x15eb87;};}function handleError(_0x2f3422,_0x59d3e0){_0x59d3e0=_0x59d3e0||0x1f4;return function(_0x17c72f){logger['error'](_0x17c72f[_0xeae6('0x3b')]);if(_0x17c72f[_0xeae6('0x3c')]){delete _0x17c72f['name'];}_0x2f3422[_0xeae6('0x2c')](_0x59d3e0)['send'](_0x17c72f);};}exports['index']=function(_0x26b08d,_0xb453cb){var _0x48c631={},_0x1da578={},_0x10a970={'count':0x0,'rows':[]};var _0x1f68f6=_[_0xeae6('0x3d')](db[_0xeae6('0x3e')]['rawAttributes'],function(_0x3e7f21){return{'name':_0x3e7f21[_0xeae6('0x3f')],'type':_0x3e7f21[_0xeae6('0x40')]['key']};});_0x1da578['model']=_[_0xeae6('0x3d')](_0x1f68f6,'name');_0x1da578[_0xeae6('0x41')]=_['keys'](_0x26b08d[_0xeae6('0x41')]);_0x1da578[_0xeae6('0x42')]=_[_0xeae6('0x43')](_0x1da578['model'],_0x1da578['query']);_0x48c631['attributes']=_[_0xeae6('0x43')](_0x1da578['model'],qs[_0xeae6('0x44')](_0x26b08d[_0xeae6('0x41')]['fields']));_0x48c631[_0xeae6('0x45')]=_0x48c631[_0xeae6('0x45')]['length']?_0x48c631['attributes']:_0x1da578[_0xeae6('0x46')];if(!_0x26b08d['query']['hasOwnProperty'](_0xeae6('0x47'))){_0x48c631[_0xeae6('0x31')]=qs['limit'](_0x26b08d[_0xeae6('0x41')][_0xeae6('0x31')]);_0x48c631[_0xeae6('0x2e')]=qs[_0xeae6('0x2e')](_0x26b08d[_0xeae6('0x41')][_0xeae6('0x2e')]);}_0x48c631[_0xeae6('0x48')]=qs[_0xeae6('0x49')](_0x26b08d[_0xeae6('0x41')][_0xeae6('0x49')]);_0x48c631['where']=qs[_0xeae6('0x42')](_[_0xeae6('0x4a')](_0x26b08d['query'],_0x1da578[_0xeae6('0x42')]),_0x1f68f6);if(_0x26b08d[_0xeae6('0x41')]['filter']){_0x48c631[_0xeae6('0x4b')]=_[_0xeae6('0x4c')](_0x48c631['where'],{'$or':_[_0xeae6('0x3d')](_0x1f68f6,function(_0x5783fd){if(_0x5783fd['type']!==_0xeae6('0x4d')){var _0x525bc7={};_0x525bc7[_0x5783fd[_0xeae6('0x3c')]]={'$like':'%'+_0x26b08d[_0xeae6('0x41')][_0xeae6('0x4e')]+'%'};return _0x525bc7;}})});}_0x48c631=_[_0xeae6('0x4c')]({},_0x48c631,_0x26b08d[_0xeae6('0x4f')]);var _0x327894={'where':_0x48c631['where']};return db[_0xeae6('0x3e')][_0xeae6('0x30')](_0x327894)[_0xeae6('0x37')](function(_0x5eac0b){_0x10a970['count']=_0x5eac0b;if(_0x26b08d[_0xeae6('0x41')]['includeAll']){_0x48c631[_0xeae6('0x50')]=[{'all':!![]}];}return db[_0xeae6('0x3e')]['findAll'](_0x48c631);})['then'](function(_0x492f1b){_0x10a970[_0xeae6('0x51')]=_0x492f1b;return _0x10a970;})['then'](respondWithFilteredResult(_0xb453cb,_0x48c631))[_0xeae6('0x2a')](handleError(_0xb453cb,null));};exports[_0xeae6('0x52')]=function(_0x4aa50a,_0x3858d0){var _0x4ce7a5={'raw':!![],'where':{'id':_0x4aa50a[_0xeae6('0x53')]['id']}},_0xcdb9a2={};_0xcdb9a2[_0xeae6('0x46')]=_[_0xeae6('0x54')](db[_0xeae6('0x3e')]['rawAttributes']);_0xcdb9a2[_0xeae6('0x41')]=_[_0xeae6('0x54')](_0x4aa50a[_0xeae6('0x41')]);_0xcdb9a2[_0xeae6('0x42')]=_[_0xeae6('0x43')](_0xcdb9a2[_0xeae6('0x46')],_0xcdb9a2['query']);_0x4ce7a5[_0xeae6('0x45')]=_[_0xeae6('0x43')](_0xcdb9a2[_0xeae6('0x46')],qs[_0xeae6('0x44')](_0x4aa50a[_0xeae6('0x41')][_0xeae6('0x44')]));_0x4ce7a5[_0xeae6('0x45')]=_0x4ce7a5[_0xeae6('0x45')][_0xeae6('0x55')]?_0x4ce7a5[_0xeae6('0x45')]:_0xcdb9a2[_0xeae6('0x46')];if(_0x4aa50a['query'][_0xeae6('0x56')]){_0x4ce7a5[_0xeae6('0x50')]=[{'all':!![]}];}_0x4ce7a5=_[_0xeae6('0x4c')]({},_0x4ce7a5,_0x4aa50a[_0xeae6('0x4f')]);return db['ChatQueue'][_0xeae6('0x57')](_0x4ce7a5)[_0xeae6('0x37')](handleEntityNotFound(_0x3858d0,null))[_0xeae6('0x37')](respondWithResult(_0x3858d0,null))[_0xeae6('0x2a')](handleError(_0x3858d0,null));};exports[_0xeae6('0x58')]=function(_0x57f4e5,_0x875d7){return db[_0xeae6('0x3e')][_0xeae6('0x58')](_0x57f4e5[_0xeae6('0x59')],{})[_0xeae6('0x37')](function(_0x4524f6){var _0xffa3d4=_0x57f4e5[_0xeae6('0x5a')][_0xeae6('0x39')]({'plain':!![]});if(!_0xffa3d4)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xffa3d4[_0xeae6('0x5b')]===_0xeae6('0x5a')){var _0x39d0aa=_0x4524f6[_0xeae6('0x39')]({'plain':!![]});var _0x930879=_0xeae6('0x3a');return db[_0xeae6('0x5c')][_0xeae6('0x57')]({'where':{'name':_0x930879,'userProfileId':_0xffa3d4[_0xeae6('0x5d')]},'raw':!![]})['then'](function(_0xc23704){if(_0xc23704&&_0xc23704['autoAssociation']===0x0){return db[_0xeae6('0x5e')]['create']({'name':_0x39d0aa['name'],'resourceId':_0x39d0aa['id'],'type':_0xc23704['name'],'sectionId':_0xc23704['id']},{})[_0xeae6('0x37')](function(){return _0x4524f6;});}else{return _0x4524f6;}})[_0xeae6('0x2a')](function(_0xfd8606){logger[_0xeae6('0x28')](_0xeae6('0x5f'),_0xfd8606);throw _0xfd8606;});}return _0x4524f6;})[_0xeae6('0x37')](respondWithResult(_0x875d7,0xc9))[_0xeae6('0x2a')](handleError(_0x875d7,null));};exports['update']=function(_0x323162,_0x3b6709){if(_0x323162[_0xeae6('0x59')]['id']){delete _0x323162[_0xeae6('0x59')]['id'];}return db[_0xeae6('0x3e')][_0xeae6('0x57')]({'where':{'id':_0x323162[_0xeae6('0x53')]['id']}})[_0xeae6('0x37')](handleEntityNotFound(_0x3b6709,null))[_0xeae6('0x37')](saveUpdates(_0x323162[_0xeae6('0x59')],null))['then'](respondWithResult(_0x3b6709,null))[_0xeae6('0x2a')](handleError(_0x3b6709,null));};exports[_0xeae6('0x38')]=function(_0xeb4b81,_0x44edaf){return db[_0xeae6('0x3e')][_0xeae6('0x57')]({'where':{'id':_0xeb4b81[_0xeae6('0x53')]['id']}})[_0xeae6('0x37')](handleEntityNotFound(_0x44edaf,null))[_0xeae6('0x37')](removeEntity(_0x44edaf,null))['catch'](handleError(_0x44edaf,null));};exports['describe']=function(_0x37cc93,_0xf972a5){return db[_0xeae6('0x3e')]['describe']()[_0xeae6('0x37')](respondWithResult(_0xf972a5,null))[_0xeae6('0x2a')](handleError(_0xf972a5,null));};exports[_0xeae6('0x60')]=function(_0x212057,_0x5cb3ca,_0x298bbf){var _0x3535c1={'raw':!![],'where':{}},_0x2c8954={},_0x5a2023;return db[_0xeae6('0x3e')][_0xeae6('0x61')]({'where':{'id':_0x212057[_0xeae6('0x53')]['id']}})['then'](handleEntityNotFound(_0x5cb3ca,null))[_0xeae6('0x37')](function(_0x407cef){if(_0x407cef){_0x5a2023=_0x407cef[_0xeae6('0x39')]({'plain':!![]});_0x2c8954['model']=_['keys'](db[_0xeae6('0x62')][_0xeae6('0x63')]);_0x2c8954[_0xeae6('0x41')]=_[_0xeae6('0x54')](_0x212057[_0xeae6('0x41')]);_0x2c8954['filters']=_['intersection'](_0x2c8954['model'],_0x2c8954['query']);_0x3535c1[_0xeae6('0x45')]=_[_0xeae6('0x43')](_0x2c8954['model'],qs[_0xeae6('0x44')](_0x212057[_0xeae6('0x41')][_0xeae6('0x44')]));_0x3535c1[_0xeae6('0x45')]=_0x3535c1[_0xeae6('0x45')][_0xeae6('0x55')]?_0x3535c1[_0xeae6('0x45')]:_0x2c8954['model'];if(!_0x212057[_0xeae6('0x41')][_0xeae6('0x64')]('nolimit')){_0x3535c1[_0xeae6('0x31')]=qs['limit'](_0x212057[_0xeae6('0x41')]['limit']);_0x3535c1[_0xeae6('0x2e')]=qs[_0xeae6('0x2e')](_0x212057['query'][_0xeae6('0x2e')]);}_0x3535c1[_0xeae6('0x48')]=qs[_0xeae6('0x49')](_0x212057['query'][_0xeae6('0x49')]);_0x3535c1[_0xeae6('0x4b')]=qs['filters'](_[_0xeae6('0x4a')](_0x212057[_0xeae6('0x41')],_0x2c8954[_0xeae6('0x42')]));_0x3535c1[_0xeae6('0x4b')][_0xeae6('0x65')]=_0x407cef['id'];if(_0x212057[_0xeae6('0x41')][_0xeae6('0x4e')]){_0x3535c1['where']=_[_0xeae6('0x4c')](_0x3535c1['where'],{'$or':_['map'](_0x3535c1['attributes'],function(_0x38f2cd){var _0x3add6f={};_0x3add6f[_0x38f2cd]={'$like':'%'+_0x212057[_0xeae6('0x41')][_0xeae6('0x4e')]+'%'};return _0x3add6f;})});}_0x3535c1=_[_0xeae6('0x4c')]({},_0x3535c1,_0x212057['options']);return db[_0xeae6('0x62')]['findAll'](_0x3535c1);}})[_0xeae6('0x37')](function(_0x4d6f15){if(_0x4d6f15){return db['User'][_0xeae6('0x66')]({'where':{'id':_[_0xeae6('0x3d')](_0x4d6f15,_0xeae6('0x67')),'role':_0xeae6('0x68')},'attributes':['id','name','chatPause','updatedAt','createdAt']});}})[_0xeae6('0x37')](function(_0x57cc5c){if(_0x57cc5c){return{'count':_0x57cc5c[_0xeae6('0x30')],'rows':_['map'](_0x57cc5c[_0xeae6('0x51')],function(_0x2acdf6){return{'membername':_0x2acdf6[_0xeae6('0x3c')],'UserId':_0x2acdf6['id'],'queue_name':_0x5a2023[_0xeae6('0x3c')],'ChatQueueId':_0x5a2023['id'],'interface':util[_0xeae6('0x69')](_0xeae6('0x6a'),_0xeae6('0x6b'),_0x2acdf6[_0xeae6('0x3c')]),'penalty':0x0,'paused':_0x2acdf6[_0xeae6('0x6c')],'createdAt':_0x2acdf6[_0xeae6('0x6d')],'updatedAt':_0x2acdf6['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x5cb3ca,_0x3535c1))[_0xeae6('0x2a')](handleError(_0x5cb3ca,null));};exports[_0xeae6('0x6e')]=function(_0x223433,_0x23f833,_0x960130){var _0x4e9572={};var _0x3e1263={};var _0x37208f;var _0xa78ac6;return db[_0xeae6('0x3e')]['findOne']({'where':{'id':_0x223433[_0xeae6('0x53')]['id']}})[_0xeae6('0x37')](handleEntityNotFound(_0x23f833,null))[_0xeae6('0x37')](function(_0x112374){if(_0x112374){_0x37208f=_0x112374;_0x3e1263['model']=_[_0xeae6('0x54')](db['Team'][_0xeae6('0x63')]);_0x3e1263['query']=_[_0xeae6('0x54')](_0x223433[_0xeae6('0x41')]);_0x3e1263['filters']=_[_0xeae6('0x43')](_0x3e1263[_0xeae6('0x46')],_0x3e1263[_0xeae6('0x41')]);_0x4e9572[_0xeae6('0x45')]=_[_0xeae6('0x43')](_0x3e1263[_0xeae6('0x46')],qs[_0xeae6('0x44')](_0x223433['query'][_0xeae6('0x44')]));_0x4e9572[_0xeae6('0x45')]=_0x4e9572['attributes'][_0xeae6('0x55')]?_0x4e9572['attributes']:_0x3e1263['model'];_0x4e9572[_0xeae6('0x48')]=qs[_0xeae6('0x49')](_0x223433[_0xeae6('0x41')][_0xeae6('0x49')]);_0x4e9572[_0xeae6('0x4b')]=qs[_0xeae6('0x42')](_[_0xeae6('0x4a')](_0x223433[_0xeae6('0x41')],_0x3e1263['filters']));if(_0x223433[_0xeae6('0x41')][_0xeae6('0x4e')]){_0x4e9572[_0xeae6('0x4b')]=_[_0xeae6('0x4c')](_0x4e9572['where'],{'$or':_[_0xeae6('0x3d')](_0x4e9572[_0xeae6('0x45')],function(_0xe1540){var _0x568e3a={};_0x568e3a[_0xe1540]={'$like':'%'+_0x223433[_0xeae6('0x41')][_0xeae6('0x4e')]+'%'};return _0x568e3a;})});}_0x4e9572=_[_0xeae6('0x4c')]({},_0x4e9572,_0x223433[_0xeae6('0x4f')]);return _0x37208f[_0xeae6('0x6e')](_0x4e9572);}})[_0xeae6('0x37')](function(_0x3c8a3e){if(_0x3c8a3e){_0xa78ac6=_0x3c8a3e[_0xeae6('0x55')];if(!_0x223433['query'][_0xeae6('0x64')]('nolimit')){_0x4e9572[_0xeae6('0x31')]=qs[_0xeae6('0x31')](_0x223433[_0xeae6('0x41')]['limit']);_0x4e9572[_0xeae6('0x2e')]=qs[_0xeae6('0x2e')](_0x223433[_0xeae6('0x41')]['offset']);}return _0x37208f[_0xeae6('0x6e')](_0x4e9572);}})[_0xeae6('0x37')](function(_0x2c591a){if(_0x2c591a){return _0x2c591a?{'count':_0xa78ac6,'rows':_0x2c591a}:null;}})[_0xeae6('0x37')](respondWithResult(_0x23f833,null))[_0xeae6('0x2a')](handleError(_0x23f833,null));};exports[_0xeae6('0x6f')]=function(_0x262891,_0x29a5fe,_0x29db00){var _0x40221f=_0x262891[_0xeae6('0x59')]['ids'];return db[_0xeae6('0x70')][_0xeae6('0x71')]({'where':{'id':_0x40221f},'attributes':['id'],'include':[{'model':db['User'],'as':_0xeae6('0x72'),'attributes':['id','name','online',_0xeae6('0x73'),_0xeae6('0x74')],'raw':!![]}]})[_0xeae6('0x37')](function(_0x4b4265){if(_0x4b4265){var _0x1269dd=_[_0xeae6('0x75')](_0x4b4265,function(_0x35ba91){var _0xb39d40=_0x35ba91['get']({'plain':!![]});return _0xb39d40[_0xeae6('0x72')];});return db[_0xeae6('0x3e')][_0xeae6('0x57')]({'where':{'id':_0x262891['params']['id']}})[_0xeae6('0x37')](function(_0x3f3f4e){return db[_0xeae6('0x76')]['transaction'](function(_0x80dfb7){return _0x3f3f4e['addTeams'](_0x40221f,{'transaction':_0x80dfb7})[_0xeae6('0x37')](function(){return BPromise[_0xeae6('0x77')](_0x1269dd,function(_0x3b0e1b){return db[_0xeae6('0x62')][_0xeae6('0x78')]({'where':{'UserId':_0x3b0e1b['id'],'ChatQueueId':_0x262891['params']['id']},'transaction':_0x80dfb7});});})[_0xeae6('0x37')](function(){_0x1269dd['forEach'](function(_0x5a504f){socket['emit'](_0xeae6('0x79'),{'UserId':_0x5a504f['id'],'ChatQueueId':_0x3f3f4e['id']});});});});});}})['then'](respondWithStatusCode(_0x29a5fe,null))[_0xeae6('0x2a')](handleError(_0x29a5fe,null));};exports['removeTeams']=function(_0xfc5fc9,_0x117ead,_0x219ecf){return db['Team'][_0xeae6('0x71')]({'where':{'id':_0xfc5fc9[_0xeae6('0x41')]['ids']},'attributes':['id'],'include':[{'model':db[_0xeae6('0x7a')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x117ead,null))[_0xeae6('0x37')](function(_0x2b9b7b){var _0x3dd13e=_[_0xeae6('0x3d')](_0x2b9b7b,'id');var _0x3fcb67=[];var _0x8bc9eb=[];var _0x322d4c=squel[_0xeae6('0x7b')]();_0x322d4c[_0xeae6('0x7c')]('tq.TeamId')[_0xeae6('0x7d')](_0xeae6('0x7e'),'tq')['join'](_0xeae6('0x7f'),'ut',_0xeae6('0x80'))[_0xeae6('0x4b')]('ChatQueueId\x20=\x20?',_0xfc5fc9['params']['id']);for(var _0x2b2313=0x0;_0x2b2313<_0x2b9b7b[_0xeae6('0x55')];_0x2b2313+=0x1){let _0x2a2baa=_0x2b9b7b[_0x2b2313];for(var _0x38f70a=0x0;_0x38f70a<_0x2a2baa[_0xeae6('0x72')][_0xeae6('0x55')];_0x38f70a+=0x1){let _0x4e9cf6=_0x2a2baa[_0xeae6('0x72')][_0x38f70a];var _0x49d2e4=_0x322d4c[_0xeae6('0x81')]();_0x49d2e4['where'](_0xeae6('0x82'),_0x4e9cf6['id']);_0x8bc9eb[_0xeae6('0x83')](db[_0xeae6('0x76')]['query'](_0x49d2e4[_0xeae6('0x84')](),{'type':db['sequelize'][_0xeae6('0x85')][_0xeae6('0x86')]})['then'](function(_0x3cdb95){if(_0x3cdb95[_0xeae6('0x55')]===0x1){return _0x4e9cf6['id'];}else{var _0x44093b=_['every'](_['map'](_0x3cdb95,'TeamId'),function(_0x5a1bb9){return _[_0xeae6('0x87')](_0x3dd13e,_0x5a1bb9);});if(_0x44093b){return _0x4e9cf6['id'];}}}));}}return BPromise[_0xeae6('0x88')](_0x8bc9eb)[_0xeae6('0x37')](function(_0x38d53d){_0x3fcb67=_(_0x3fcb67)[_0xeae6('0x89')](_0x38d53d)[_0xeae6('0x8a')]()[_0xeae6('0x8b')]();return db[_0xeae6('0x3e')]['find']({'where':{'id':_0xfc5fc9[_0xeae6('0x53')]['id']}})[_0xeae6('0x37')](function(_0x106063){return db[_0xeae6('0x76')]['transaction'](function(_0x5bfc8d){return _0x106063['removeTeams'](_0xfc5fc9['query'][_0xeae6('0x8c')],{'transaction':_0x5bfc8d})[_0xeae6('0x37')](function(){if(!_['isEmpty'](_0x3fcb67)){return _0x106063[_0xeae6('0x8d')](_0x3fcb67,{'transaction':_0x5bfc8d});}})[_0xeae6('0x37')](function(){_0x3fcb67['forEach'](function(_0xd15435){socket[_0xeae6('0x8e')]('userChatQueue:remove',{'UserId':_0xd15435,'ChatQueueId':_0x106063['id']});});});});});});})['then'](respondWithStatusCode(_0x117ead,null))['catch'](handleError(_0x117ead,null));};exports[_0xeae6('0x8f')]=function(_0x535a8b,_0x50c65f,_0x3b6c01){return db[_0xeae6('0x3e')][_0xeae6('0x57')]({'where':{'id':_0x535a8b[_0xeae6('0x53')]['id']}})[_0xeae6('0x37')](handleEntityNotFound(_0x50c65f,null))[_0xeae6('0x37')](function(_0x5794aa){if(_0x5794aa){return _0x5794aa['addAgents'](_0x535a8b['body']['ids'],_[_0xeae6('0x90')](_0x535a8b[_0xeae6('0x59')],[_0xeae6('0x8c'),'id'])||{})[_0xeae6('0x91')](function(_0x4cbfcf){for(var _0x575f87=0x0;_0x575f87<_0x535a8b[_0xeae6('0x59')][_0xeae6('0x8c')][_0xeae6('0x55')];_0x575f87+=0x1){socket[_0xeae6('0x8e')](_0xeae6('0x79'),{'UserId':_0x535a8b[_0xeae6('0x59')][_0xeae6('0x8c')][_0x575f87],'ChatQueueId':_0x535a8b[_0xeae6('0x53')]['id']});}return _0x4cbfcf;});}})[_0xeae6('0x37')](respondWithResult(_0x50c65f,null))[_0xeae6('0x2a')](handleError(_0x50c65f,null));};exports[_0xeae6('0x8d')]=function(_0x495a7c,_0x1a461a,_0xdd684f){return db[_0xeae6('0x3e')]['find']({'where':{'id':_0x495a7c[_0xeae6('0x53')]['id']}})[_0xeae6('0x37')](handleEntityNotFound(_0x1a461a,null))['then'](function(_0x5ab007){if(_0x5ab007){return _0x5ab007['removeAgents'](_0x495a7c['query']['ids'])[_0xeae6('0x37')](function(){if(_[_0xeae6('0x92')](_0x495a7c[_0xeae6('0x41')][_0xeae6('0x8c')])){for(var _0x4a9990=0x0;_0x4a9990<_0x495a7c['query']['ids'][_0xeae6('0x55')];_0x4a9990+=0x1){socket[_0xeae6('0x8e')](_0xeae6('0x93'),{'UserId':Number(_0x495a7c[_0xeae6('0x41')][_0xeae6('0x8c')][_0x4a9990]),'ChatQueueId':Number(_0x495a7c[_0xeae6('0x53')]['id'])});}}else{socket['emit'](_0xeae6('0x93'),{'UserId':Number(_0x495a7c['query'][_0xeae6('0x8c')]),'ChatQueueId':Number(_0x495a7c['params']['id'])});}});}})[_0xeae6('0x37')](respondWithStatusCode(_0x1a461a,null))[_0xeae6('0x2a')](handleError(_0x1a461a,null));};exports[_0xeae6('0x94')]=function(_0x5617ad,_0x399a68,_0x3630a0){var _0x198fc4={};var _0x1d9cc6={};var _0x2ac985;var _0xe574a2;return db['ChatQueue'][_0xeae6('0x61')]({'where':{'id':_0x5617ad[_0xeae6('0x53')]['id']}})[_0xeae6('0x37')](handleEntityNotFound(_0x399a68,null))[_0xeae6('0x37')](function(_0x48ac3c){if(_0x48ac3c){_0x2ac985=_0x48ac3c;_0x1d9cc6[_0xeae6('0x46')]=_[_0xeae6('0x54')](db['User'][_0xeae6('0x63')]);_0x1d9cc6[_0xeae6('0x41')]=_['keys'](_0x5617ad['query']);_0x1d9cc6[_0xeae6('0x42')]=_[_0xeae6('0x43')](_0x1d9cc6[_0xeae6('0x46')],_0x1d9cc6[_0xeae6('0x41')]);_0x198fc4['attributes']=_[_0xeae6('0x43')](_0x1d9cc6[_0xeae6('0x46')],qs[_0xeae6('0x44')](_0x5617ad[_0xeae6('0x41')][_0xeae6('0x44')]));_0x198fc4['attributes']=_0x198fc4[_0xeae6('0x45')][_0xeae6('0x55')]?_0x198fc4[_0xeae6('0x45')]:_0x1d9cc6[_0xeae6('0x46')];_0x198fc4[_0xeae6('0x48')]=qs[_0xeae6('0x49')](_0x5617ad[_0xeae6('0x41')][_0xeae6('0x49')]);_0x198fc4[_0xeae6('0x4b')]=qs[_0xeae6('0x42')](_[_0xeae6('0x4a')](_0x5617ad[_0xeae6('0x41')],_0x1d9cc6['filters']));if(_0x5617ad[_0xeae6('0x41')]['filter']){_0x198fc4[_0xeae6('0x4b')]=_[_0xeae6('0x4c')](_0x198fc4[_0xeae6('0x4b')],{'$or':_['map'](_0x198fc4[_0xeae6('0x45')],function(_0x2b8614){var _0x15a139={};_0x15a139[_0x2b8614]={'$like':'%'+_0x5617ad[_0xeae6('0x41')][_0xeae6('0x4e')]+'%'};return _0x15a139;})});}_0x198fc4=_['merge']({},_0x198fc4,_0x5617ad[_0xeae6('0x4f')]);return _0x2ac985[_0xeae6('0x94')](_0x198fc4);}})['then'](function(_0x571707){if(_0x571707){_0xe574a2=_0x571707[_0xeae6('0x55')];if(!_0x5617ad['query'][_0xeae6('0x64')](_0xeae6('0x47'))){_0x198fc4['limit']=qs[_0xeae6('0x31')](_0x5617ad['query'][_0xeae6('0x31')]);_0x198fc4[_0xeae6('0x2e')]=qs[_0xeae6('0x2e')](_0x5617ad[_0xeae6('0x41')][_0xeae6('0x2e')]);}return _0x2ac985[_0xeae6('0x94')](_0x198fc4);}})['then'](function(_0x1c2e29){if(_0x1c2e29){return _0x1c2e29?{'count':_0xe574a2,'rows':_0x1c2e29}:null;}})['then'](respondWithResult(_0x399a68,null))['catch'](handleError(_0x399a68,null));};