f7c5e43c364254a4fd3ee760b998a3e93a32a5f8
[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 _0xb5d5=['status','end','undefined','limit','count','offset','set','Content-Range','then','destroy','get','ChatQueues','error','name','send','index','map','ChatQueue','rawAttributes','fieldName','type','key','getOptions','where','include','findAll','rows','show','params','model','query','keys','intersection','attributes','fields','merge','options','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','describe','findOne','UserChatQueue','length','hasOwnProperty','nolimit','sort','filters','ChatQueueId','filter','findAndCountAll','agent','chatPause','updatedAt','%s/%s','Team','pick','getTeams','addTeams','ids','User','Agents','online','interface','flatMap','sequelize','each','findOrCreate','forEach','emit','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','all','union','value','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','spread','isArray','getAgents','bluebird','util','lodash','squel','ioredis','../../components/parsers/qs','../../config/logger','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register'];(function(_0x3cadbd,_0x12bc43){var _0x296da9=function(_0x3b15fc){while(--_0x3b15fc){_0x3cadbd['push'](_0x3cadbd['shift']());}};_0x296da9(++_0x12bc43);}(_0xb5d5,0x6a));var _0x5b5d=function(_0x4d2210,_0x373069){_0x4d2210=_0x4d2210-0x0;var _0x2f16e7=_0xb5d5[_0x4d2210];return _0x2f16e7;};'use strict';var BPromise=require(_0x5b5d('0x0'));var util=require(_0x5b5d('0x1'));var _=require(_0x5b5d('0x2'));var squel=require(_0x5b5d('0x3'));var Redis=require(_0x5b5d('0x4'));var qs=require(_0x5b5d('0x5'));var logger=require(_0x5b5d('0x6'))('api');var config=require('../../config/environment');var db=require(_0x5b5d('0x7'))['db'];config[_0x5b5d('0x8')]=_[_0x5b5d('0x9')](config[_0x5b5d('0x8')],{'host':_0x5b5d('0xa'),'port':0x18eb});var socket=require(_0x5b5d('0xb'))(new Redis(config[_0x5b5d('0x8')]));require('./chatQueue.socket')[_0x5b5d('0xc')](socket);function respondWithStatusCode(_0x353604,_0x2eb53e){_0x2eb53e=_0x2eb53e||0xcc;return function(_0x38d013){if(_0x38d013){return _0x353604['sendStatus'](_0x2eb53e);}return _0x353604[_0x5b5d('0xd')](_0x2eb53e)[_0x5b5d('0xe')]();};}function respondWithResult(_0x2c47ec,_0x100209){_0x100209=_0x100209||0xc8;return function(_0x28768a){if(_0x28768a){return _0x2c47ec[_0x5b5d('0xd')](_0x100209)['json'](_0x28768a);}};}function respondWithFilteredResult(_0x54b26d,_0x2bc71d){return function(_0x20f201){if(_0x20f201){var _0x29a662=typeof _0x2bc71d['offset']===_0x5b5d('0xf')&&typeof _0x2bc71d[_0x5b5d('0x10')]===_0x5b5d('0xf');var _0x4b8f67=_0x20f201[_0x5b5d('0x11')];var _0x162c24=_0x29a662?0x0:_0x2bc71d['offset'];var _0x2700ec=_0x29a662?_0x20f201[_0x5b5d('0x11')]:_0x2bc71d[_0x5b5d('0x12')]+_0x2bc71d[_0x5b5d('0x10')];var _0x8db3ee;if(_0x2700ec>=_0x4b8f67){_0x2700ec=_0x4b8f67;_0x8db3ee=0xc8;}else{_0x8db3ee=0xce;}_0x54b26d[_0x5b5d('0xd')](_0x8db3ee);return _0x54b26d[_0x5b5d('0x13')](_0x5b5d('0x14'),_0x162c24+'-'+_0x2700ec+'/'+_0x4b8f67)['json'](_0x20f201);}return null;};}function saveUpdates(_0x542c7d){return function(_0x2260cf){if(_0x2260cf){return _0x2260cf['update'](_0x542c7d)[_0x5b5d('0x15')](function(_0x39bb0f){return _0x39bb0f;});}return null;};}function removeEntity(_0x3b7cb2){return function(_0x4b7ec9){if(_0x4b7ec9){return _0x4b7ec9[_0x5b5d('0x16')]()[_0x5b5d('0x15')](function(){var _0x4ce42e=_0x4b7ec9[_0x5b5d('0x17')]({'plain':!![]});var _0x2aef4f=_0x5b5d('0x18');return db['UserProfileResource'][_0x5b5d('0x16')]({'where':{'type':_0x2aef4f,'resourceId':_0x4ce42e['id']}})[_0x5b5d('0x15')](function(){return _0x4b7ec9;});})[_0x5b5d('0x15')](function(){_0x3b7cb2['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4f79d7){return function(_0x2444c8){if(!_0x2444c8){_0x4f79d7['sendStatus'](0x194);}return _0x2444c8;};}function handleError(_0x343df8,_0x4be9c3){_0x4be9c3=_0x4be9c3||0x1f4;return function(_0x92e58e){logger[_0x5b5d('0x19')](_0x92e58e['stack']);if(_0x92e58e[_0x5b5d('0x1a')]){delete _0x92e58e[_0x5b5d('0x1a')];}_0x343df8['status'](_0x4be9c3)[_0x5b5d('0x1b')](_0x92e58e);};}exports[_0x5b5d('0x1c')]=function(_0x1d7aaf,_0x27416e){var _0x4ba8f0={};var _0x3211df={'count':0x0,'rows':[]};var _0x376653=_[_0x5b5d('0x1d')](db[_0x5b5d('0x1e')][_0x5b5d('0x1f')],function(_0x2046b2){return{'name':_0x2046b2[_0x5b5d('0x20')],'type':_0x2046b2[_0x5b5d('0x21')][_0x5b5d('0x22')]};});_0x4ba8f0=qs[_0x5b5d('0x23')](_0x376653,_0x1d7aaf);var _0x32f6d0={'where':_0x4ba8f0[_0x5b5d('0x24')]};return db[_0x5b5d('0x1e')][_0x5b5d('0x11')](_0x32f6d0)['then'](function(_0x2db507){_0x3211df[_0x5b5d('0x11')]=_0x2db507;_0x4ba8f0[_0x5b5d('0x25')]=qs['include'](_0x1d7aaf['query']);return db[_0x5b5d('0x1e')][_0x5b5d('0x26')](_0x4ba8f0);})[_0x5b5d('0x15')](function(_0x2aaef3){_0x3211df[_0x5b5d('0x27')]=_0x2aaef3;return _0x3211df;})[_0x5b5d('0x15')](respondWithFilteredResult(_0x27416e,_0x4ba8f0))['catch'](handleError(_0x27416e,null));};exports[_0x5b5d('0x28')]=function(_0x4013af,_0x5e3f7c){var _0xfc402d={'raw':!![],'where':{'id':_0x4013af[_0x5b5d('0x29')]['id']}},_0xbc6eb3={};_0xbc6eb3[_0x5b5d('0x2a')]=_['keys'](db[_0x5b5d('0x1e')][_0x5b5d('0x1f')]);_0xbc6eb3[_0x5b5d('0x2b')]=_[_0x5b5d('0x2c')](_0x4013af[_0x5b5d('0x2b')]);_0xbc6eb3['filters']=_[_0x5b5d('0x2d')](_0xbc6eb3[_0x5b5d('0x2a')],_0xbc6eb3[_0x5b5d('0x2b')]);_0xfc402d[_0x5b5d('0x2e')]=_[_0x5b5d('0x2d')](_0xbc6eb3[_0x5b5d('0x2a')],qs[_0x5b5d('0x2f')](_0x4013af[_0x5b5d('0x2b')][_0x5b5d('0x2f')]));_0xfc402d[_0x5b5d('0x2e')]=_0xfc402d['attributes']['length']?_0xfc402d[_0x5b5d('0x2e')]:_0xbc6eb3[_0x5b5d('0x2a')];if(_0x4013af[_0x5b5d('0x2b')]['includeAll']){_0xfc402d[_0x5b5d('0x25')]=[{'all':!![]}];}_0xfc402d=_[_0x5b5d('0x30')]({},_0xfc402d,_0x4013af[_0x5b5d('0x31')]);return db[_0x5b5d('0x1e')][_0x5b5d('0x32')](_0xfc402d)[_0x5b5d('0x15')](handleEntityNotFound(_0x5e3f7c,null))[_0x5b5d('0x15')](respondWithResult(_0x5e3f7c,null))[_0x5b5d('0x33')](handleError(_0x5e3f7c,null));};exports[_0x5b5d('0x34')]=function(_0xef3318,_0x19f327){return db['ChatQueue'][_0x5b5d('0x34')](_0xef3318[_0x5b5d('0x35')],{})[_0x5b5d('0x15')](function(_0x3489eb){var _0x2f2fe9=_0xef3318[_0x5b5d('0x36')][_0x5b5d('0x17')]({'plain':!![]});if(!_0x2f2fe9)throw new Error(_0x5b5d('0x37'));if(_0x2f2fe9[_0x5b5d('0x38')]===_0x5b5d('0x36')){var _0x78f4de=_0x3489eb[_0x5b5d('0x17')]({'plain':!![]});var _0x19be9c=_0x5b5d('0x18');return db[_0x5b5d('0x39')][_0x5b5d('0x32')]({'where':{'name':_0x19be9c,'userProfileId':_0x2f2fe9[_0x5b5d('0x3a')]},'raw':!![]})['then'](function(_0x1a5d78){if(_0x1a5d78&&_0x1a5d78['autoAssociation']===0x0){return db[_0x5b5d('0x3b')][_0x5b5d('0x34')]({'name':_0x78f4de['name'],'resourceId':_0x78f4de['id'],'type':_0x1a5d78[_0x5b5d('0x1a')],'sectionId':_0x1a5d78['id']},{})[_0x5b5d('0x15')](function(){return _0x3489eb;});}else{return _0x3489eb;}})[_0x5b5d('0x33')](function(_0x2daccf){logger[_0x5b5d('0x19')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2daccf);throw _0x2daccf;});}return _0x3489eb;})[_0x5b5d('0x15')](respondWithResult(_0x19f327,0xc9))[_0x5b5d('0x33')](handleError(_0x19f327,null));};exports['update']=function(_0x287474,_0x57e8c3){if(_0x287474[_0x5b5d('0x35')]['id']){delete _0x287474['body']['id'];}return db[_0x5b5d('0x1e')][_0x5b5d('0x32')]({'where':{'id':_0x287474['params']['id']}})[_0x5b5d('0x15')](handleEntityNotFound(_0x57e8c3,null))[_0x5b5d('0x15')](saveUpdates(_0x287474[_0x5b5d('0x35')],null))['then'](respondWithResult(_0x57e8c3,null))[_0x5b5d('0x33')](handleError(_0x57e8c3,null));};exports[_0x5b5d('0x16')]=function(_0x483eec,_0x57acde){return db['ChatQueue'][_0x5b5d('0x32')]({'where':{'id':_0x483eec[_0x5b5d('0x29')]['id']}})[_0x5b5d('0x15')](handleEntityNotFound(_0x57acde,null))[_0x5b5d('0x15')](removeEntity(_0x57acde,null))[_0x5b5d('0x33')](handleError(_0x57acde,null));};exports[_0x5b5d('0x3c')]=function(_0x5e1748,_0x2d654d){return db[_0x5b5d('0x1e')][_0x5b5d('0x3c')]()[_0x5b5d('0x15')](respondWithResult(_0x2d654d,null))[_0x5b5d('0x33')](handleError(_0x2d654d,null));};exports['getMembers']=function(_0x32329d,_0x4b462f){var _0x4b5927={'raw':!![],'where':{}},_0x684cf3={},_0x30cd46;return db[_0x5b5d('0x1e')][_0x5b5d('0x3d')]({'where':{'id':_0x32329d[_0x5b5d('0x29')]['id']}})[_0x5b5d('0x15')](handleEntityNotFound(_0x4b462f,null))[_0x5b5d('0x15')](function(_0x17eae2){if(_0x17eae2){_0x30cd46=_0x17eae2['get']({'plain':!![]});_0x684cf3[_0x5b5d('0x2a')]=_[_0x5b5d('0x2c')](db[_0x5b5d('0x3e')][_0x5b5d('0x1f')]);_0x684cf3[_0x5b5d('0x2b')]=_['keys'](_0x32329d[_0x5b5d('0x2b')]);_0x684cf3['filters']=_[_0x5b5d('0x2d')](_0x684cf3[_0x5b5d('0x2a')],_0x684cf3[_0x5b5d('0x2b')]);_0x4b5927[_0x5b5d('0x2e')]=_[_0x5b5d('0x2d')](_0x684cf3['model'],qs[_0x5b5d('0x2f')](_0x32329d[_0x5b5d('0x2b')][_0x5b5d('0x2f')]));_0x4b5927[_0x5b5d('0x2e')]=_0x4b5927['attributes'][_0x5b5d('0x3f')]?_0x4b5927[_0x5b5d('0x2e')]:_0x684cf3['model'];if(!_0x32329d[_0x5b5d('0x2b')][_0x5b5d('0x40')](_0x5b5d('0x41'))){_0x4b5927['limit']=qs['limit'](_0x32329d[_0x5b5d('0x2b')]['limit']);_0x4b5927[_0x5b5d('0x12')]=qs[_0x5b5d('0x12')](_0x32329d[_0x5b5d('0x2b')][_0x5b5d('0x12')]);}_0x4b5927['order']=qs[_0x5b5d('0x42')](_0x32329d[_0x5b5d('0x2b')][_0x5b5d('0x42')]);_0x4b5927['where']=qs[_0x5b5d('0x43')](_['pick'](_0x32329d[_0x5b5d('0x2b')],_0x684cf3['filters']));_0x4b5927[_0x5b5d('0x24')][_0x5b5d('0x44')]=_0x17eae2['id'];if(_0x32329d[_0x5b5d('0x2b')][_0x5b5d('0x45')]){_0x4b5927[_0x5b5d('0x24')]=_[_0x5b5d('0x30')](_0x4b5927[_0x5b5d('0x24')],{'$or':_['map'](_0x4b5927[_0x5b5d('0x2e')],function(_0x2f2b00){var _0x27cc83={};_0x27cc83[_0x2f2b00]={'$like':'%'+_0x32329d['query']['filter']+'%'};return _0x27cc83;})});}_0x4b5927=_[_0x5b5d('0x30')]({},_0x4b5927,_0x32329d[_0x5b5d('0x31')]);return db[_0x5b5d('0x3e')][_0x5b5d('0x26')](_0x4b5927);}})['then'](function(_0x51c7d4){if(_0x51c7d4){return db['User'][_0x5b5d('0x46')]({'where':{'id':_[_0x5b5d('0x1d')](_0x51c7d4,'UserId'),'role':_0x5b5d('0x47')},'attributes':['id',_0x5b5d('0x1a'),_0x5b5d('0x48'),_0x5b5d('0x49'),'createdAt']});}})['then'](function(_0x349ed9){if(_0x349ed9){return{'count':_0x349ed9[_0x5b5d('0x11')],'rows':_[_0x5b5d('0x1d')](_0x349ed9[_0x5b5d('0x27')],function(_0x45c97e){return{'membername':_0x45c97e[_0x5b5d('0x1a')],'UserId':_0x45c97e['id'],'queue_name':_0x30cd46[_0x5b5d('0x1a')],'ChatQueueId':_0x30cd46['id'],'interface':util['format'](_0x5b5d('0x4a'),'SIP',_0x45c97e[_0x5b5d('0x1a')]),'penalty':0x0,'paused':_0x45c97e['chatPause'],'createdAt':_0x45c97e['createdAt'],'updatedAt':_0x45c97e['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x4b462f,_0x4b5927))[_0x5b5d('0x33')](handleError(_0x4b462f,null));};exports['getTeams']=function(_0x56b282,_0x347cab){var _0x476dd5={};var _0x4bf8de={};var _0x5c52f2;var _0xa478ca;return db[_0x5b5d('0x1e')]['findOne']({'where':{'id':_0x56b282[_0x5b5d('0x29')]['id']}})[_0x5b5d('0x15')](handleEntityNotFound(_0x347cab,null))[_0x5b5d('0x15')](function(_0x330b38){if(_0x330b38){_0x5c52f2=_0x330b38;_0x4bf8de[_0x5b5d('0x2a')]=_[_0x5b5d('0x2c')](db[_0x5b5d('0x4b')][_0x5b5d('0x1f')]);_0x4bf8de[_0x5b5d('0x2b')]=_[_0x5b5d('0x2c')](_0x56b282[_0x5b5d('0x2b')]);_0x4bf8de[_0x5b5d('0x43')]=_[_0x5b5d('0x2d')](_0x4bf8de[_0x5b5d('0x2a')],_0x4bf8de[_0x5b5d('0x2b')]);_0x476dd5[_0x5b5d('0x2e')]=_[_0x5b5d('0x2d')](_0x4bf8de[_0x5b5d('0x2a')],qs[_0x5b5d('0x2f')](_0x56b282['query'][_0x5b5d('0x2f')]));_0x476dd5[_0x5b5d('0x2e')]=_0x476dd5[_0x5b5d('0x2e')][_0x5b5d('0x3f')]?_0x476dd5[_0x5b5d('0x2e')]:_0x4bf8de[_0x5b5d('0x2a')];_0x476dd5['order']=qs[_0x5b5d('0x42')](_0x56b282[_0x5b5d('0x2b')]['sort']);_0x476dd5[_0x5b5d('0x24')]=qs[_0x5b5d('0x43')](_[_0x5b5d('0x4c')](_0x56b282[_0x5b5d('0x2b')],_0x4bf8de['filters']));if(_0x56b282[_0x5b5d('0x2b')]['filter']){_0x476dd5[_0x5b5d('0x24')]=_[_0x5b5d('0x30')](_0x476dd5[_0x5b5d('0x24')],{'$or':_[_0x5b5d('0x1d')](_0x476dd5[_0x5b5d('0x2e')],function(_0x3f69cc){var _0x22f591={};_0x22f591[_0x3f69cc]={'$like':'%'+_0x56b282[_0x5b5d('0x2b')][_0x5b5d('0x45')]+'%'};return _0x22f591;})});}_0x476dd5=_['merge']({},_0x476dd5,_0x56b282[_0x5b5d('0x31')]);return _0x5c52f2[_0x5b5d('0x4d')](_0x476dd5);}})[_0x5b5d('0x15')](function(_0x111821){if(_0x111821){_0xa478ca=_0x111821[_0x5b5d('0x3f')];if(!_0x56b282[_0x5b5d('0x2b')][_0x5b5d('0x40')]('nolimit')){_0x476dd5[_0x5b5d('0x10')]=qs[_0x5b5d('0x10')](_0x56b282[_0x5b5d('0x2b')][_0x5b5d('0x10')]);_0x476dd5['offset']=qs[_0x5b5d('0x12')](_0x56b282['query']['offset']);}return _0x5c52f2[_0x5b5d('0x4d')](_0x476dd5);}})[_0x5b5d('0x15')](function(_0x3d4042){if(_0x3d4042){return _0x3d4042?{'count':_0xa478ca,'rows':_0x3d4042}:null;}})[_0x5b5d('0x15')](respondWithResult(_0x347cab,null))[_0x5b5d('0x33')](handleError(_0x347cab,null));};exports[_0x5b5d('0x4e')]=function(_0x3096c1,_0x371b99){var _0x22d46f=_0x3096c1[_0x5b5d('0x35')][_0x5b5d('0x4f')];return db['Team'][_0x5b5d('0x26')]({'where':{'id':_0x22d46f},'attributes':['id'],'include':[{'model':db[_0x5b5d('0x50')],'as':_0x5b5d('0x51'),'attributes':['id','name',_0x5b5d('0x52'),'voicePause',_0x5b5d('0x53')],'raw':!![]}]})['then'](function(_0x2ecdd7){if(_0x2ecdd7){var _0x349cb9=_[_0x5b5d('0x54')](_0x2ecdd7,function(_0x109603){var _0x5ef735=_0x109603[_0x5b5d('0x17')]({'plain':!![]});return _0x5ef735['Agents'];});return db[_0x5b5d('0x1e')]['find']({'where':{'id':_0x3096c1[_0x5b5d('0x29')]['id']}})[_0x5b5d('0x15')](function(_0x2b2fc2){return db[_0x5b5d('0x55')]['transaction'](function(_0x3d6b78){return _0x2b2fc2['addTeams'](_0x22d46f,{'transaction':_0x3d6b78})[_0x5b5d('0x15')](function(){return BPromise[_0x5b5d('0x56')](_0x349cb9,function(_0x420990){return db[_0x5b5d('0x3e')][_0x5b5d('0x57')]({'where':{'UserId':_0x420990['id'],'ChatQueueId':_0x3096c1[_0x5b5d('0x29')]['id']},'transaction':_0x3d6b78});});})[_0x5b5d('0x15')](function(){_0x349cb9[_0x5b5d('0x58')](function(_0x3b5396){socket[_0x5b5d('0x59')](_0x5b5d('0x5a'),{'UserId':_0x3b5396['id'],'ChatQueueId':_0x2b2fc2['id']});});});});});}})['then'](respondWithStatusCode(_0x371b99,null))[_0x5b5d('0x33')](handleError(_0x371b99,null));};exports[_0x5b5d('0x5b')]=function(_0x5df283,_0x1598b6){return db[_0x5b5d('0x4b')]['findAll']({'where':{'id':_0x5df283['query'][_0x5b5d('0x4f')]},'attributes':['id'],'include':[{'model':db[_0x5b5d('0x50')],'as':_0x5b5d('0x51'),'attributes':['id'],'raw':!![]}]})[_0x5b5d('0x15')](handleEntityNotFound(_0x1598b6,null))[_0x5b5d('0x15')](function(_0x468401){var _0x5ba364=_[_0x5b5d('0x1d')](_0x468401,'id');var _0x150851=[];var _0x401792=[];var _0x5dd675=squel[_0x5b5d('0x5c')]();_0x5dd675[_0x5b5d('0x5d')](_0x5b5d('0x5e'))[_0x5b5d('0x5f')](_0x5b5d('0x60'),'tq')[_0x5b5d('0x61')](_0x5b5d('0x62'),'ut',_0x5b5d('0x63'))[_0x5b5d('0x24')](_0x5b5d('0x64'),_0x5df283[_0x5b5d('0x29')]['id']);for(var _0x6e8442=0x0;_0x6e8442<_0x468401[_0x5b5d('0x3f')];_0x6e8442+=0x1){let _0x129cc7=_0x468401[_0x6e8442];for(var _0x7cef05=0x0;_0x7cef05<_0x129cc7['Agents'][_0x5b5d('0x3f')];_0x7cef05+=0x1){let _0x2c31ed=_0x129cc7[_0x5b5d('0x51')][_0x7cef05];var _0x16dbc6=_0x5dd675[_0x5b5d('0x65')]();_0x16dbc6[_0x5b5d('0x24')]('ut.UserId\x20=\x20?',_0x2c31ed['id']);_0x401792[_0x5b5d('0x66')](db[_0x5b5d('0x55')]['query'](_0x16dbc6[_0x5b5d('0x67')](),{'type':db[_0x5b5d('0x55')][_0x5b5d('0x68')][_0x5b5d('0x69')]})['then'](function(_0x36dc99){if(_0x36dc99[_0x5b5d('0x3f')]===0x1){return _0x2c31ed['id'];}else{var _0x286dee=_[_0x5b5d('0x6a')](_['map'](_0x36dc99,_0x5b5d('0x6b')),function(_0xc46119){return _['includes'](_0x5ba364,_0xc46119);});if(_0x286dee){return _0x2c31ed['id'];}}}));}}return BPromise[_0x5b5d('0x6c')](_0x401792)[_0x5b5d('0x15')](function(_0x21edfb){_0x150851=_(_0x150851)[_0x5b5d('0x6d')](_0x21edfb)['compact']()[_0x5b5d('0x6e')]();return db[_0x5b5d('0x1e')][_0x5b5d('0x32')]({'where':{'id':_0x5df283[_0x5b5d('0x29')]['id']}})['then'](function(_0x476114){return db['sequelize']['transaction'](function(_0x1562ff){return _0x476114[_0x5b5d('0x5b')](_0x5df283[_0x5b5d('0x2b')][_0x5b5d('0x4f')],{'transaction':_0x1562ff})[_0x5b5d('0x15')](function(){if(!_[_0x5b5d('0x6f')](_0x150851)){return _0x476114[_0x5b5d('0x70')](_0x150851,{'transaction':_0x1562ff});}})[_0x5b5d('0x15')](function(){_0x150851['forEach'](function(_0x48f7a2){socket[_0x5b5d('0x59')](_0x5b5d('0x71'),{'UserId':_0x48f7a2,'ChatQueueId':_0x476114['id']});});});});});});})[_0x5b5d('0x15')](respondWithStatusCode(_0x1598b6,null))[_0x5b5d('0x33')](handleError(_0x1598b6,null));};exports[_0x5b5d('0x72')]=function(_0x1daff9,_0xdcd04c){return db[_0x5b5d('0x1e')][_0x5b5d('0x32')]({'where':{'id':_0x1daff9[_0x5b5d('0x29')]['id']}})[_0x5b5d('0x15')](handleEntityNotFound(_0xdcd04c,null))[_0x5b5d('0x15')](function(_0x55cb43){if(_0x55cb43){return _0x55cb43[_0x5b5d('0x72')](_0x1daff9['body'][_0x5b5d('0x4f')],_[_0x5b5d('0x73')](_0x1daff9['body'],[_0x5b5d('0x4f'),'id'])||{})[_0x5b5d('0x74')](function(_0x5c3004){for(var _0x2586a3=0x0;_0x2586a3<_0x1daff9['body']['ids'][_0x5b5d('0x3f')];_0x2586a3+=0x1){socket[_0x5b5d('0x59')](_0x5b5d('0x5a'),{'UserId':Number(_0x1daff9['body']['ids'][_0x2586a3]),'ChatQueueId':Number(_0x1daff9[_0x5b5d('0x29')]['id'])});}return _0x5c3004;});}})[_0x5b5d('0x15')](respondWithResult(_0xdcd04c,null))[_0x5b5d('0x33')](handleError(_0xdcd04c,null));};exports[_0x5b5d('0x70')]=function(_0x541af1,_0x32573c){return db[_0x5b5d('0x1e')][_0x5b5d('0x32')]({'where':{'id':_0x541af1[_0x5b5d('0x29')]['id']}})[_0x5b5d('0x15')](handleEntityNotFound(_0x32573c,null))[_0x5b5d('0x15')](function(_0x5a60ea){if(_0x5a60ea){return _0x5a60ea[_0x5b5d('0x70')](_0x541af1[_0x5b5d('0x2b')][_0x5b5d('0x4f')])[_0x5b5d('0x15')](function(){if(_[_0x5b5d('0x75')](_0x541af1[_0x5b5d('0x2b')]['ids'])){for(var _0x199edf=0x0;_0x199edf<_0x541af1[_0x5b5d('0x2b')][_0x5b5d('0x4f')][_0x5b5d('0x3f')];_0x199edf+=0x1){socket[_0x5b5d('0x59')](_0x5b5d('0x71'),{'UserId':Number(_0x541af1['query'][_0x5b5d('0x4f')][_0x199edf]),'ChatQueueId':Number(_0x541af1[_0x5b5d('0x29')]['id'])});}}else{socket[_0x5b5d('0x59')]('userChatQueue:remove',{'UserId':Number(_0x541af1[_0x5b5d('0x2b')][_0x5b5d('0x4f')]),'ChatQueueId':Number(_0x541af1[_0x5b5d('0x29')]['id'])});}});}})[_0x5b5d('0x15')](respondWithStatusCode(_0x32573c,null))['catch'](handleError(_0x32573c,null));};exports['getAgents']=function(_0x2dd9dd,_0x5d5d76){var _0x3765f0={};var _0x359991={};var _0x1f4230;var _0x42a10e;return db[_0x5b5d('0x1e')][_0x5b5d('0x3d')]({'where':{'id':_0x2dd9dd[_0x5b5d('0x29')]['id']}})[_0x5b5d('0x15')](handleEntityNotFound(_0x5d5d76,null))[_0x5b5d('0x15')](function(_0xefd211){if(_0xefd211){_0x1f4230=_0xefd211;_0x359991[_0x5b5d('0x2a')]=_[_0x5b5d('0x2c')](db[_0x5b5d('0x50')][_0x5b5d('0x1f')]);_0x359991['query']=_[_0x5b5d('0x2c')](_0x2dd9dd[_0x5b5d('0x2b')]);_0x359991[_0x5b5d('0x43')]=_[_0x5b5d('0x2d')](_0x359991['model'],_0x359991[_0x5b5d('0x2b')]);_0x3765f0[_0x5b5d('0x2e')]=_[_0x5b5d('0x2d')](_0x359991[_0x5b5d('0x2a')],qs[_0x5b5d('0x2f')](_0x2dd9dd[_0x5b5d('0x2b')]['fields']));_0x3765f0['attributes']=_0x3765f0[_0x5b5d('0x2e')][_0x5b5d('0x3f')]?_0x3765f0[_0x5b5d('0x2e')]:_0x359991['model'];_0x3765f0['order']=qs[_0x5b5d('0x42')](_0x2dd9dd[_0x5b5d('0x2b')][_0x5b5d('0x42')]);_0x3765f0[_0x5b5d('0x24')]=qs['filters'](_[_0x5b5d('0x4c')](_0x2dd9dd['query'],_0x359991[_0x5b5d('0x43')]));if(_0x2dd9dd[_0x5b5d('0x2b')][_0x5b5d('0x45')]){_0x3765f0[_0x5b5d('0x24')]=_[_0x5b5d('0x30')](_0x3765f0[_0x5b5d('0x24')],{'$or':_[_0x5b5d('0x1d')](_0x3765f0[_0x5b5d('0x2e')],function(_0x335328){var _0x5d21ce={};_0x5d21ce[_0x335328]={'$like':'%'+_0x2dd9dd[_0x5b5d('0x2b')]['filter']+'%'};return _0x5d21ce;})});}_0x3765f0=_[_0x5b5d('0x30')]({},_0x3765f0,_0x2dd9dd[_0x5b5d('0x31')]);return _0x1f4230['getAgents'](_0x3765f0);}})[_0x5b5d('0x15')](function(_0x3bbcdd){if(_0x3bbcdd){_0x42a10e=_0x3bbcdd['length'];if(!_0x2dd9dd['query'][_0x5b5d('0x40')](_0x5b5d('0x41'))){_0x3765f0[_0x5b5d('0x10')]=qs['limit'](_0x2dd9dd[_0x5b5d('0x2b')][_0x5b5d('0x10')]);_0x3765f0[_0x5b5d('0x12')]=qs[_0x5b5d('0x12')](_0x2dd9dd[_0x5b5d('0x2b')][_0x5b5d('0x12')]);}return _0x1f4230[_0x5b5d('0x76')](_0x3765f0);}})[_0x5b5d('0x15')](function(_0x41ad8a){if(_0x41ad8a){return _0x41ad8a?{'count':_0x42a10e,'rows':_0x41ad8a}:null;}})[_0x5b5d('0x15')](respondWithResult(_0x5d5d76,null))[_0x5b5d('0x33')](handleError(_0x5d5d76,null));};