Built motion from commit d1eab355.|2.6.28
[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 _0xa7e2=['isEmpty','removeAgents','emit','userChatQueue:remove','addAgents','omit','spread','getAgents','util','squel','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatQueue.socket','register','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','update','then','destroy','get','ChatQueues','stack','name','send','index','fieldName','type','key','where','include','query','findAll','rows','show','model','keys','ChatQueue','rawAttributes','intersection','attributes','fields','length','includeAll','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','catch','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserChatQueue','limit','order','sort','pick','filters','ChatQueueId','filter','map','User','findAndCountAll','UserId','chatPause','updatedAt','createdAt','format','SIP','getTeams','Team','hasOwnProperty','nolimit','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','addTeams','each','forEach','userChatQueue:save','removeTeams','tq.TeamId','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ut.UserId\x20=\x20?','toString','SELECT','every','includes','all','union','compact','value'];(function(_0x6b5ce,_0x7f4459){var _0x37fb72=function(_0x407c99){while(--_0x407c99){_0x6b5ce['push'](_0x6b5ce['shift']());}};_0x37fb72(++_0x7f4459);}(_0xa7e2,0x176));var _0x2a7e=function(_0x3a87a2,_0x455755){_0x3a87a2=_0x3a87a2-0x0;var _0x15e09a=_0xa7e2[_0x3a87a2];return _0x15e09a;};'use strict';var BPromise=require('bluebird');var util=require(_0x2a7e('0x0'));var _=require('lodash');var squel=require(_0x2a7e('0x1'));var Redis=require(_0x2a7e('0x2'));var qs=require('../../components/parsers/qs');var logger=require(_0x2a7e('0x3'))(_0x2a7e('0x4'));var config=require(_0x2a7e('0x5'));var db=require(_0x2a7e('0x6'))['db'];config[_0x2a7e('0x7')]=_[_0x2a7e('0x8')](config[_0x2a7e('0x7')],{'host':_0x2a7e('0x9'),'port':0x18eb});var socket=require(_0x2a7e('0xa'))(new Redis(config[_0x2a7e('0x7')]));require(_0x2a7e('0xb'))[_0x2a7e('0xc')](socket);function respondWithStatusCode(_0xa5f430,_0x1afb3a){_0x1afb3a=_0x1afb3a||0xcc;return function(_0x3e08a9){if(_0x3e08a9){return _0xa5f430[_0x2a7e('0xd')](_0x1afb3a);}return _0xa5f430[_0x2a7e('0xe')](_0x1afb3a)[_0x2a7e('0xf')]();};}function respondWithResult(_0x2263d5,_0x4606b5){_0x4606b5=_0x4606b5||0xc8;return function(_0x4d9bc1){if(_0x4d9bc1){return _0x2263d5[_0x2a7e('0xe')](_0x4606b5)[_0x2a7e('0x10')](_0x4d9bc1);}};}function respondWithFilteredResult(_0x4f9f28,_0x8b2de8){return function(_0x587ba5){if(_0x587ba5){var _0x5b8a53=typeof _0x8b2de8[_0x2a7e('0x11')]===_0x2a7e('0x12')&&typeof _0x8b2de8['limit']===_0x2a7e('0x12');var _0x3288c6=_0x587ba5['count'];var _0x6a3f86=_0x5b8a53?0x0:_0x8b2de8[_0x2a7e('0x11')];var _0x39b2fe=_0x5b8a53?_0x587ba5[_0x2a7e('0x13')]:_0x8b2de8[_0x2a7e('0x11')]+_0x8b2de8['limit'];var _0x1fd00c;if(_0x39b2fe>=_0x3288c6){_0x39b2fe=_0x3288c6;_0x1fd00c=0xc8;}else{_0x1fd00c=0xce;}_0x4f9f28[_0x2a7e('0xe')](_0x1fd00c);return _0x4f9f28[_0x2a7e('0x14')](_0x2a7e('0x15'),_0x6a3f86+'-'+_0x39b2fe+'/'+_0x3288c6)[_0x2a7e('0x10')](_0x587ba5);}return null;};}function saveUpdates(_0x1ec5fa){return function(_0x3b685a){if(_0x3b685a){return _0x3b685a[_0x2a7e('0x16')](_0x1ec5fa)[_0x2a7e('0x17')](function(_0x5e8d8b){return _0x5e8d8b;});}return null;};}function removeEntity(_0x3de075){return function(_0x102cc6){if(_0x102cc6){return _0x102cc6[_0x2a7e('0x18')]()['then'](function(){var _0x44c11d=_0x102cc6[_0x2a7e('0x19')]({'plain':!![]});var _0x51fa6e=_0x2a7e('0x1a');return db['UserProfileResource'][_0x2a7e('0x18')]({'where':{'type':_0x51fa6e,'resourceId':_0x44c11d['id']}})['then'](function(){return _0x102cc6;});})[_0x2a7e('0x17')](function(){_0x3de075[_0x2a7e('0xe')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1c94c2){return function(_0x31169f){if(!_0x31169f){_0x1c94c2[_0x2a7e('0xd')](0x194);}return _0x31169f;};}function handleError(_0x80750e,_0x81e650){_0x81e650=_0x81e650||0x1f4;return function(_0x4381e8){logger['error'](_0x4381e8[_0x2a7e('0x1b')]);if(_0x4381e8['name']){delete _0x4381e8[_0x2a7e('0x1c')];}_0x80750e[_0x2a7e('0xe')](_0x81e650)[_0x2a7e('0x1d')](_0x4381e8);};}exports[_0x2a7e('0x1e')]=function(_0x52e590,_0x3cbf4c){var _0x101a4d={};var _0x5ccfc0={'count':0x0,'rows':[]};var _0x294c95=_['map'](db['ChatQueue']['rawAttributes'],function(_0x11c666){return{'name':_0x11c666[_0x2a7e('0x1f')],'type':_0x11c666[_0x2a7e('0x20')][_0x2a7e('0x21')]};});_0x101a4d=qs['getOptions'](_0x294c95,_0x52e590);var _0x9dd0ec={'where':_0x101a4d[_0x2a7e('0x22')]};return db['ChatQueue'][_0x2a7e('0x13')](_0x9dd0ec)[_0x2a7e('0x17')](function(_0x372271){_0x5ccfc0['count']=_0x372271;_0x101a4d[_0x2a7e('0x23')]=qs[_0x2a7e('0x23')](_0x52e590[_0x2a7e('0x24')]);return db['ChatQueue'][_0x2a7e('0x25')](_0x101a4d);})[_0x2a7e('0x17')](function(_0x32fe0d){_0x5ccfc0[_0x2a7e('0x26')]=_0x32fe0d;return _0x5ccfc0;})[_0x2a7e('0x17')](respondWithFilteredResult(_0x3cbf4c,_0x101a4d))['catch'](handleError(_0x3cbf4c,null));};exports[_0x2a7e('0x27')]=function(_0x314b62,_0x50c167){var _0x14fa02={'raw':!![],'where':{'id':_0x314b62['params']['id']}},_0x1fbfd6={};_0x1fbfd6[_0x2a7e('0x28')]=_[_0x2a7e('0x29')](db[_0x2a7e('0x2a')][_0x2a7e('0x2b')]);_0x1fbfd6[_0x2a7e('0x24')]=_['keys'](_0x314b62[_0x2a7e('0x24')]);_0x1fbfd6['filters']=_[_0x2a7e('0x2c')](_0x1fbfd6[_0x2a7e('0x28')],_0x1fbfd6[_0x2a7e('0x24')]);_0x14fa02[_0x2a7e('0x2d')]=_[_0x2a7e('0x2c')](_0x1fbfd6[_0x2a7e('0x28')],qs[_0x2a7e('0x2e')](_0x314b62[_0x2a7e('0x24')]['fields']));_0x14fa02[_0x2a7e('0x2d')]=_0x14fa02[_0x2a7e('0x2d')][_0x2a7e('0x2f')]?_0x14fa02['attributes']:_0x1fbfd6[_0x2a7e('0x28')];if(_0x314b62[_0x2a7e('0x24')][_0x2a7e('0x30')]){_0x14fa02['include']=[{'all':!![]}];}_0x14fa02=_[_0x2a7e('0x31')]({},_0x14fa02,_0x314b62[_0x2a7e('0x32')]);return db[_0x2a7e('0x2a')][_0x2a7e('0x33')](_0x14fa02)[_0x2a7e('0x17')](handleEntityNotFound(_0x50c167,null))[_0x2a7e('0x17')](respondWithResult(_0x50c167,null))['catch'](handleError(_0x50c167,null));};exports[_0x2a7e('0x34')]=function(_0x224602,_0x33fa8e){return db[_0x2a7e('0x2a')][_0x2a7e('0x34')](_0x224602[_0x2a7e('0x35')],{})['then'](function(_0x426a8e){var _0x302835=_0x224602[_0x2a7e('0x36')][_0x2a7e('0x19')]({'plain':!![]});if(!_0x302835)throw new Error(_0x2a7e('0x37'));if(_0x302835['role']==='user'){var _0x4074d1=_0x426a8e[_0x2a7e('0x19')]({'plain':!![]});var _0x5a6673=_0x2a7e('0x1a');return db[_0x2a7e('0x38')]['find']({'where':{'name':_0x5a6673,'userProfileId':_0x302835[_0x2a7e('0x39')]},'raw':!![]})['then'](function(_0x412a34){if(_0x412a34&&_0x412a34[_0x2a7e('0x3a')]===0x0){return db['UserProfileResource'][_0x2a7e('0x34')]({'name':_0x4074d1[_0x2a7e('0x1c')],'resourceId':_0x4074d1['id'],'type':_0x412a34[_0x2a7e('0x1c')],'sectionId':_0x412a34['id']},{})[_0x2a7e('0x17')](function(){return _0x426a8e;});}else{return _0x426a8e;}})[_0x2a7e('0x3b')](function(_0x25c6c6){logger[_0x2a7e('0x3c')](_0x2a7e('0x3d'),_0x25c6c6);throw _0x25c6c6;});}return _0x426a8e;})[_0x2a7e('0x17')](respondWithResult(_0x33fa8e,0xc9))[_0x2a7e('0x3b')](handleError(_0x33fa8e,null));};exports[_0x2a7e('0x16')]=function(_0x526c27,_0x355035){if(_0x526c27[_0x2a7e('0x35')]['id']){delete _0x526c27[_0x2a7e('0x35')]['id'];}return db[_0x2a7e('0x2a')][_0x2a7e('0x33')]({'where':{'id':_0x526c27[_0x2a7e('0x3e')]['id']}})[_0x2a7e('0x17')](handleEntityNotFound(_0x355035,null))['then'](saveUpdates(_0x526c27[_0x2a7e('0x35')],null))[_0x2a7e('0x17')](respondWithResult(_0x355035,null))[_0x2a7e('0x3b')](handleError(_0x355035,null));};exports[_0x2a7e('0x18')]=function(_0x1eab55,_0x122448){return db[_0x2a7e('0x2a')][_0x2a7e('0x33')]({'where':{'id':_0x1eab55[_0x2a7e('0x3e')]['id']}})[_0x2a7e('0x17')](handleEntityNotFound(_0x122448,null))[_0x2a7e('0x17')](removeEntity(_0x122448,null))[_0x2a7e('0x3b')](handleError(_0x122448,null));};exports[_0x2a7e('0x3f')]=function(_0x2b564d,_0x1ab942){return db[_0x2a7e('0x2a')][_0x2a7e('0x3f')]()[_0x2a7e('0x17')](respondWithResult(_0x1ab942,null))[_0x2a7e('0x3b')](handleError(_0x1ab942,null));};exports[_0x2a7e('0x40')]=function(_0x307b77,_0x570b7e){var _0x3c5072={'raw':!![],'where':{}},_0x159696={},_0x22e271;return db['ChatQueue'][_0x2a7e('0x41')]({'where':{'id':_0x307b77[_0x2a7e('0x3e')]['id']}})[_0x2a7e('0x17')](handleEntityNotFound(_0x570b7e,null))[_0x2a7e('0x17')](function(_0x573b9c){if(_0x573b9c){_0x22e271=_0x573b9c[_0x2a7e('0x19')]({'plain':!![]});_0x159696[_0x2a7e('0x28')]=_[_0x2a7e('0x29')](db[_0x2a7e('0x42')][_0x2a7e('0x2b')]);_0x159696[_0x2a7e('0x24')]=_['keys'](_0x307b77['query']);_0x159696['filters']=_[_0x2a7e('0x2c')](_0x159696[_0x2a7e('0x28')],_0x159696['query']);_0x3c5072['attributes']=_['intersection'](_0x159696[_0x2a7e('0x28')],qs[_0x2a7e('0x2e')](_0x307b77[_0x2a7e('0x24')]['fields']));_0x3c5072[_0x2a7e('0x2d')]=_0x3c5072[_0x2a7e('0x2d')]['length']?_0x3c5072[_0x2a7e('0x2d')]:_0x159696[_0x2a7e('0x28')];if(!_0x307b77[_0x2a7e('0x24')]['hasOwnProperty']('nolimit')){_0x3c5072[_0x2a7e('0x43')]=qs['limit'](_0x307b77[_0x2a7e('0x24')][_0x2a7e('0x43')]);_0x3c5072[_0x2a7e('0x11')]=qs[_0x2a7e('0x11')](_0x307b77[_0x2a7e('0x24')][_0x2a7e('0x11')]);}_0x3c5072[_0x2a7e('0x44')]=qs['sort'](_0x307b77[_0x2a7e('0x24')][_0x2a7e('0x45')]);_0x3c5072['where']=qs['filters'](_[_0x2a7e('0x46')](_0x307b77[_0x2a7e('0x24')],_0x159696[_0x2a7e('0x47')]));_0x3c5072[_0x2a7e('0x22')][_0x2a7e('0x48')]=_0x573b9c['id'];if(_0x307b77[_0x2a7e('0x24')][_0x2a7e('0x49')]){_0x3c5072[_0x2a7e('0x22')]=_['merge'](_0x3c5072['where'],{'$or':_[_0x2a7e('0x4a')](_0x3c5072[_0x2a7e('0x2d')],function(_0x4e4aaf){var _0x49e14b={};_0x49e14b[_0x4e4aaf]={'$like':'%'+_0x307b77[_0x2a7e('0x24')][_0x2a7e('0x49')]+'%'};return _0x49e14b;})});}_0x3c5072=_[_0x2a7e('0x31')]({},_0x3c5072,_0x307b77[_0x2a7e('0x32')]);return db[_0x2a7e('0x42')]['findAll'](_0x3c5072);}})[_0x2a7e('0x17')](function(_0x2b1e54){if(_0x2b1e54){return db[_0x2a7e('0x4b')][_0x2a7e('0x4c')]({'where':{'id':_[_0x2a7e('0x4a')](_0x2b1e54,_0x2a7e('0x4d')),'role':'agent'},'attributes':['id','name',_0x2a7e('0x4e'),_0x2a7e('0x4f'),_0x2a7e('0x50')]});}})[_0x2a7e('0x17')](function(_0x19dc1c){if(_0x19dc1c){return{'count':_0x19dc1c[_0x2a7e('0x13')],'rows':_[_0x2a7e('0x4a')](_0x19dc1c[_0x2a7e('0x26')],function(_0x523687){return{'membername':_0x523687['name'],'UserId':_0x523687['id'],'queue_name':_0x22e271[_0x2a7e('0x1c')],'ChatQueueId':_0x22e271['id'],'interface':util[_0x2a7e('0x51')]('%s/%s',_0x2a7e('0x52'),_0x523687[_0x2a7e('0x1c')]),'penalty':0x0,'paused':_0x523687[_0x2a7e('0x4e')],'createdAt':_0x523687[_0x2a7e('0x50')],'updatedAt':_0x523687['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x2a7e('0x17')](respondWithFilteredResult(_0x570b7e,_0x3c5072))['catch'](handleError(_0x570b7e,null));};exports[_0x2a7e('0x53')]=function(_0x14b223,_0x8f2746){var _0x4b44fa={};var _0x232f9e={};var _0x48dc46;var _0xb3c31d;return db[_0x2a7e('0x2a')][_0x2a7e('0x41')]({'where':{'id':_0x14b223[_0x2a7e('0x3e')]['id']}})['then'](handleEntityNotFound(_0x8f2746,null))[_0x2a7e('0x17')](function(_0x48bc94){if(_0x48bc94){_0x48dc46=_0x48bc94;_0x232f9e['model']=_['keys'](db[_0x2a7e('0x54')][_0x2a7e('0x2b')]);_0x232f9e['query']=_[_0x2a7e('0x29')](_0x14b223['query']);_0x232f9e[_0x2a7e('0x47')]=_['intersection'](_0x232f9e['model'],_0x232f9e[_0x2a7e('0x24')]);_0x4b44fa[_0x2a7e('0x2d')]=_[_0x2a7e('0x2c')](_0x232f9e[_0x2a7e('0x28')],qs[_0x2a7e('0x2e')](_0x14b223[_0x2a7e('0x24')][_0x2a7e('0x2e')]));_0x4b44fa[_0x2a7e('0x2d')]=_0x4b44fa[_0x2a7e('0x2d')][_0x2a7e('0x2f')]?_0x4b44fa['attributes']:_0x232f9e['model'];_0x4b44fa[_0x2a7e('0x44')]=qs[_0x2a7e('0x45')](_0x14b223[_0x2a7e('0x24')][_0x2a7e('0x45')]);_0x4b44fa[_0x2a7e('0x22')]=qs[_0x2a7e('0x47')](_[_0x2a7e('0x46')](_0x14b223['query'],_0x232f9e[_0x2a7e('0x47')]));if(_0x14b223['query'][_0x2a7e('0x49')]){_0x4b44fa[_0x2a7e('0x22')]=_[_0x2a7e('0x31')](_0x4b44fa[_0x2a7e('0x22')],{'$or':_['map'](_0x4b44fa[_0x2a7e('0x2d')],function(_0x4ed5ab){var _0x351a80={};_0x351a80[_0x4ed5ab]={'$like':'%'+_0x14b223[_0x2a7e('0x24')][_0x2a7e('0x49')]+'%'};return _0x351a80;})});}_0x4b44fa=_[_0x2a7e('0x31')]({},_0x4b44fa,_0x14b223[_0x2a7e('0x32')]);return _0x48dc46['getTeams'](_0x4b44fa);}})[_0x2a7e('0x17')](function(_0x2263cf){if(_0x2263cf){_0xb3c31d=_0x2263cf[_0x2a7e('0x2f')];if(!_0x14b223[_0x2a7e('0x24')][_0x2a7e('0x55')](_0x2a7e('0x56'))){_0x4b44fa[_0x2a7e('0x43')]=qs[_0x2a7e('0x43')](_0x14b223[_0x2a7e('0x24')][_0x2a7e('0x43')]);_0x4b44fa[_0x2a7e('0x11')]=qs['offset'](_0x14b223[_0x2a7e('0x24')][_0x2a7e('0x11')]);}return _0x48dc46[_0x2a7e('0x53')](_0x4b44fa);}})['then'](function(_0x439ecb){if(_0x439ecb){return _0x439ecb?{'count':_0xb3c31d,'rows':_0x439ecb}:null;}})[_0x2a7e('0x17')](respondWithResult(_0x8f2746,null))[_0x2a7e('0x3b')](handleError(_0x8f2746,null));};exports['addTeams']=function(_0x3a0dda,_0x4899af){var _0x74070b=_0x3a0dda[_0x2a7e('0x35')][_0x2a7e('0x57')];return db[_0x2a7e('0x54')][_0x2a7e('0x25')]({'where':{'id':_0x74070b},'attributes':['id'],'include':[{'model':db[_0x2a7e('0x4b')],'as':_0x2a7e('0x58'),'attributes':['id',_0x2a7e('0x1c'),_0x2a7e('0x59'),_0x2a7e('0x5a'),_0x2a7e('0x5b')],'raw':!![]}]})['then'](function(_0x3f3cfb){if(_0x3f3cfb){var _0x20d125=_[_0x2a7e('0x5c')](_0x3f3cfb,function(_0x19f6a4){var _0x3bd94f=_0x19f6a4[_0x2a7e('0x19')]({'plain':!![]});return _0x3bd94f[_0x2a7e('0x58')];});return db['ChatQueue'][_0x2a7e('0x33')]({'where':{'id':_0x3a0dda['params']['id']}})[_0x2a7e('0x17')](function(_0x55bf6f){return db[_0x2a7e('0x5d')][_0x2a7e('0x5e')](function(_0x4e8c8d){return _0x55bf6f[_0x2a7e('0x5f')](_0x74070b,{'transaction':_0x4e8c8d})[_0x2a7e('0x17')](function(){return BPromise[_0x2a7e('0x60')](_0x20d125,function(_0x4f77c4){return db[_0x2a7e('0x42')]['findOrCreate']({'where':{'UserId':_0x4f77c4['id'],'ChatQueueId':_0x3a0dda['params']['id']},'transaction':_0x4e8c8d});});})[_0x2a7e('0x17')](function(){_0x20d125[_0x2a7e('0x61')](function(_0x435611){socket['emit'](_0x2a7e('0x62'),{'UserId':_0x435611['id'],'ChatQueueId':_0x55bf6f['id']});});});});});}})[_0x2a7e('0x17')](respondWithStatusCode(_0x4899af,null))['catch'](handleError(_0x4899af,null));};exports[_0x2a7e('0x63')]=function(_0x1ce2c3,_0x289e1c){return db[_0x2a7e('0x54')]['findAll']({'where':{'id':_0x1ce2c3[_0x2a7e('0x24')][_0x2a7e('0x57')]},'attributes':['id'],'include':[{'model':db[_0x2a7e('0x4b')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x289e1c,null))['then'](function(_0x11ad0a){var _0x1c83c6=_[_0x2a7e('0x4a')](_0x11ad0a,'id');var _0x123cac=[];var _0xdd4a08=[];var _0x31a3ef=squel['select']();_0x31a3ef['field'](_0x2a7e('0x64'))['from'](_0x2a7e('0x65'),'tq')[_0x2a7e('0x66')](_0x2a7e('0x67'),'ut',_0x2a7e('0x68'))[_0x2a7e('0x22')]('ChatQueueId\x20=\x20?',_0x1ce2c3[_0x2a7e('0x3e')]['id']);for(var _0x957bac=0x0;_0x957bac<_0x11ad0a[_0x2a7e('0x2f')];_0x957bac+=0x1){let _0x1bd1dc=_0x11ad0a[_0x957bac];for(var _0x38ac04=0x0;_0x38ac04<_0x1bd1dc[_0x2a7e('0x58')][_0x2a7e('0x2f')];_0x38ac04+=0x1){let _0x2e1f72=_0x1bd1dc[_0x2a7e('0x58')][_0x38ac04];var _0x529dd0=_0x31a3ef['clone']();_0x529dd0['where'](_0x2a7e('0x69'),_0x2e1f72['id']);_0xdd4a08['push'](db[_0x2a7e('0x5d')]['query'](_0x529dd0[_0x2a7e('0x6a')](),{'type':db[_0x2a7e('0x5d')]['QueryTypes'][_0x2a7e('0x6b')]})[_0x2a7e('0x17')](function(_0x4f67e7){if(_0x4f67e7[_0x2a7e('0x2f')]===0x1){return _0x2e1f72['id'];}else{var _0x4b9c2c=_[_0x2a7e('0x6c')](_[_0x2a7e('0x4a')](_0x4f67e7,'TeamId'),function(_0x17b53c){return _[_0x2a7e('0x6d')](_0x1c83c6,_0x17b53c);});if(_0x4b9c2c){return _0x2e1f72['id'];}}}));}}return BPromise[_0x2a7e('0x6e')](_0xdd4a08)[_0x2a7e('0x17')](function(_0x572a25){_0x123cac=_(_0x123cac)[_0x2a7e('0x6f')](_0x572a25)[_0x2a7e('0x70')]()[_0x2a7e('0x71')]();return db[_0x2a7e('0x2a')][_0x2a7e('0x33')]({'where':{'id':_0x1ce2c3[_0x2a7e('0x3e')]['id']}})[_0x2a7e('0x17')](function(_0x20e2c9){return db['sequelize']['transaction'](function(_0x20a289){return _0x20e2c9[_0x2a7e('0x63')](_0x1ce2c3['query'][_0x2a7e('0x57')],{'transaction':_0x20a289})['then'](function(){if(!_[_0x2a7e('0x72')](_0x123cac)){return _0x20e2c9[_0x2a7e('0x73')](_0x123cac,{'transaction':_0x20a289});}})['then'](function(){_0x123cac[_0x2a7e('0x61')](function(_0x184d78){socket[_0x2a7e('0x74')](_0x2a7e('0x75'),{'UserId':_0x184d78,'ChatQueueId':_0x20e2c9['id']});});});});});});})[_0x2a7e('0x17')](respondWithStatusCode(_0x289e1c,null))[_0x2a7e('0x3b')](handleError(_0x289e1c,null));};exports[_0x2a7e('0x76')]=function(_0x54bed7,_0x128172){return db[_0x2a7e('0x2a')][_0x2a7e('0x33')]({'where':{'id':_0x54bed7[_0x2a7e('0x3e')]['id']}})[_0x2a7e('0x17')](handleEntityNotFound(_0x128172,null))[_0x2a7e('0x17')](function(_0x4f0633){if(_0x4f0633){return _0x4f0633['addAgents'](_0x54bed7[_0x2a7e('0x35')][_0x2a7e('0x57')],_[_0x2a7e('0x77')](_0x54bed7[_0x2a7e('0x35')],[_0x2a7e('0x57'),'id'])||{})[_0x2a7e('0x78')](function(_0x4d7fb2){for(var _0x35072c=0x0;_0x35072c<_0x54bed7['body'][_0x2a7e('0x57')][_0x2a7e('0x2f')];_0x35072c+=0x1){socket['emit']('userChatQueue:save',{'UserId':Number(_0x54bed7[_0x2a7e('0x35')][_0x2a7e('0x57')][_0x35072c]),'ChatQueueId':Number(_0x54bed7[_0x2a7e('0x3e')]['id'])});}return _0x4d7fb2;});}})['then'](respondWithResult(_0x128172,null))[_0x2a7e('0x3b')](handleError(_0x128172,null));};exports[_0x2a7e('0x73')]=function(_0x492efc,_0xb76db7){return db[_0x2a7e('0x2a')]['find']({'where':{'id':_0x492efc[_0x2a7e('0x3e')]['id']}})[_0x2a7e('0x17')](handleEntityNotFound(_0xb76db7,null))[_0x2a7e('0x17')](function(_0x521b2e){if(_0x521b2e){return _0x521b2e['removeAgents'](_0x492efc['query'][_0x2a7e('0x57')])[_0x2a7e('0x17')](function(){if(_['isArray'](_0x492efc[_0x2a7e('0x24')]['ids'])){for(var _0x537ccf=0x0;_0x537ccf<_0x492efc[_0x2a7e('0x24')][_0x2a7e('0x57')][_0x2a7e('0x2f')];_0x537ccf+=0x1){socket[_0x2a7e('0x74')](_0x2a7e('0x75'),{'UserId':Number(_0x492efc[_0x2a7e('0x24')][_0x2a7e('0x57')][_0x537ccf]),'ChatQueueId':Number(_0x492efc[_0x2a7e('0x3e')]['id'])});}}else{socket[_0x2a7e('0x74')](_0x2a7e('0x75'),{'UserId':Number(_0x492efc['query'][_0x2a7e('0x57')]),'ChatQueueId':Number(_0x492efc[_0x2a7e('0x3e')]['id'])});}});}})[_0x2a7e('0x17')](respondWithStatusCode(_0xb76db7,null))[_0x2a7e('0x3b')](handleError(_0xb76db7,null));};exports[_0x2a7e('0x79')]=function(_0x30c6ac,_0x3e5bbb){var _0x3fb757={};var _0x28e20d={};var _0xe39c4d;var _0x369ee9;return db[_0x2a7e('0x2a')][_0x2a7e('0x41')]({'where':{'id':_0x30c6ac[_0x2a7e('0x3e')]['id']}})[_0x2a7e('0x17')](handleEntityNotFound(_0x3e5bbb,null))[_0x2a7e('0x17')](function(_0x3ae4df){if(_0x3ae4df){_0xe39c4d=_0x3ae4df;_0x28e20d[_0x2a7e('0x28')]=_[_0x2a7e('0x29')](db['User'][_0x2a7e('0x2b')]);_0x28e20d[_0x2a7e('0x24')]=_[_0x2a7e('0x29')](_0x30c6ac[_0x2a7e('0x24')]);_0x28e20d['filters']=_[_0x2a7e('0x2c')](_0x28e20d[_0x2a7e('0x28')],_0x28e20d['query']);_0x3fb757[_0x2a7e('0x2d')]=_[_0x2a7e('0x2c')](_0x28e20d[_0x2a7e('0x28')],qs[_0x2a7e('0x2e')](_0x30c6ac[_0x2a7e('0x24')][_0x2a7e('0x2e')]));_0x3fb757[_0x2a7e('0x2d')]=_0x3fb757['attributes']['length']?_0x3fb757[_0x2a7e('0x2d')]:_0x28e20d[_0x2a7e('0x28')];_0x3fb757[_0x2a7e('0x44')]=qs['sort'](_0x30c6ac[_0x2a7e('0x24')][_0x2a7e('0x45')]);_0x3fb757['where']=qs[_0x2a7e('0x47')](_[_0x2a7e('0x46')](_0x30c6ac[_0x2a7e('0x24')],_0x28e20d[_0x2a7e('0x47')]));if(_0x30c6ac[_0x2a7e('0x24')][_0x2a7e('0x49')]){_0x3fb757[_0x2a7e('0x22')]=_['merge'](_0x3fb757[_0x2a7e('0x22')],{'$or':_[_0x2a7e('0x4a')](_0x3fb757[_0x2a7e('0x2d')],function(_0x2a4f93){var _0xae6633={};_0xae6633[_0x2a4f93]={'$like':'%'+_0x30c6ac[_0x2a7e('0x24')]['filter']+'%'};return _0xae6633;})});}_0x3fb757=_[_0x2a7e('0x31')]({},_0x3fb757,_0x30c6ac[_0x2a7e('0x32')]);return _0xe39c4d[_0x2a7e('0x79')](_0x3fb757);}})[_0x2a7e('0x17')](function(_0x4bf3bd){if(_0x4bf3bd){_0x369ee9=_0x4bf3bd['length'];if(!_0x30c6ac['query'][_0x2a7e('0x55')](_0x2a7e('0x56'))){_0x3fb757['limit']=qs['limit'](_0x30c6ac['query'][_0x2a7e('0x43')]);_0x3fb757[_0x2a7e('0x11')]=qs[_0x2a7e('0x11')](_0x30c6ac[_0x2a7e('0x24')][_0x2a7e('0x11')]);}return _0xe39c4d[_0x2a7e('0x79')](_0x3fb757);}})[_0x2a7e('0x17')](function(_0x21ba35){if(_0x21ba35){return _0x21ba35?{'count':_0x369ee9,'rows':_0x21ba35}:null;}})['then'](respondWithResult(_0x3e5bbb,null))[_0x2a7e('0x3b')](handleError(_0x3e5bbb,null));};