Built motion from commit 1fd437e9.|2.6.19
[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 _0x76eb=['select','field','tq.TeamId','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','union','value','removeAgents','addAgents','omit','isArray','userChatQueue:remove','getAgents','util','lodash','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','socket.io-emitter','register','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','then','destroy','get','ChatQueues','UserProfileResource','end','error','stack','name','send','index','map','ChatQueue','type','key','getOptions','where','include','findAll','rows','show','model','keys','rawAttributes','filters','query','attributes','fields','length','includeAll','merge','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','getMembers','findOne','UserChatQueue','intersection','hasOwnProperty','nolimit','order','sort','pick','filter','User','findAndCountAll','agent','chatPause','updatedAt','createdAt','SIP','getTeams','Team','options','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','findOrCreate','forEach','emit','userChatQueue:save','removeTeams'];(function(_0x31c183,_0x3aa6eb){var _0x48e56c=function(_0x1d01fa){while(--_0x1d01fa){_0x31c183['push'](_0x31c183['shift']());}};_0x48e56c(++_0x3aa6eb);}(_0x76eb,0x176));var _0xb76e=function(_0x35ebae,_0x4f86c4){_0x35ebae=_0x35ebae-0x0;var _0x1924cf=_0x76eb[_0x35ebae];return _0x1924cf;};'use strict';var BPromise=require('bluebird');var util=require(_0xb76e('0x0'));var _=require(_0xb76e('0x1'));var squel=require('squel');var Redis=require(_0xb76e('0x2'));var qs=require('../../components/parsers/qs');var logger=require(_0xb76e('0x3'))(_0xb76e('0x4'));var config=require(_0xb76e('0x5'));var db=require(_0xb76e('0x6'))['db'];config['redis']=_[_0xb76e('0x7')](config[_0xb76e('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0xb76e('0x9'))(new Redis(config[_0xb76e('0x8')]));require('./chatQueue.socket')[_0xb76e('0xa')](socket);function respondWithStatusCode(_0x59e14a,_0x530ea5){_0x530ea5=_0x530ea5||0xcc;return function(_0x55dc2a){if(_0x55dc2a){return _0x59e14a[_0xb76e('0xb')](_0x530ea5);}return _0x59e14a['status'](_0x530ea5)['end']();};}function respondWithResult(_0x5078f5,_0x35f6b0){_0x35f6b0=_0x35f6b0||0xc8;return function(_0x5ca6da){if(_0x5ca6da){return _0x5078f5[_0xb76e('0xc')](_0x35f6b0)[_0xb76e('0xd')](_0x5ca6da);}};}function respondWithFilteredResult(_0x5bb31e,_0x8b0b1e){return function(_0x2e656f){if(_0x2e656f){var _0x47ecf9=typeof _0x8b0b1e[_0xb76e('0xe')]==='undefined'&&typeof _0x8b0b1e[_0xb76e('0xf')]===_0xb76e('0x10');var _0x2dcb7f=_0x2e656f[_0xb76e('0x11')];var _0x509272=_0x47ecf9?0x0:_0x8b0b1e[_0xb76e('0xe')];var _0x325d8c=_0x47ecf9?_0x2e656f['count']:_0x8b0b1e['offset']+_0x8b0b1e['limit'];var _0xbc6184;if(_0x325d8c>=_0x2dcb7f){_0x325d8c=_0x2dcb7f;_0xbc6184=0xc8;}else{_0xbc6184=0xce;}_0x5bb31e[_0xb76e('0xc')](_0xbc6184);return _0x5bb31e[_0xb76e('0x12')](_0xb76e('0x13'),_0x509272+'-'+_0x325d8c+'/'+_0x2dcb7f)[_0xb76e('0xd')](_0x2e656f);}return null;};}function saveUpdates(_0x44c3cb){return function(_0x3d131b){if(_0x3d131b){return _0x3d131b['update'](_0x44c3cb)[_0xb76e('0x14')](function(_0x4e56a4){return _0x4e56a4;});}return null;};}function removeEntity(_0x5ba985){return function(_0x30896f){if(_0x30896f){return _0x30896f[_0xb76e('0x15')]()[_0xb76e('0x14')](function(){var _0x22e5a0=_0x30896f[_0xb76e('0x16')]({'plain':!![]});var _0x1a2c3c=_0xb76e('0x17');return db[_0xb76e('0x18')][_0xb76e('0x15')]({'where':{'type':_0x1a2c3c,'resourceId':_0x22e5a0['id']}})[_0xb76e('0x14')](function(){return _0x30896f;});})[_0xb76e('0x14')](function(){_0x5ba985['status'](0xcc)[_0xb76e('0x19')]();});}};}function handleEntityNotFound(_0x5d7207){return function(_0x1ddf97){if(!_0x1ddf97){_0x5d7207[_0xb76e('0xb')](0x194);}return _0x1ddf97;};}function handleError(_0x89f626,_0x429441){_0x429441=_0x429441||0x1f4;return function(_0x361712){logger[_0xb76e('0x1a')](_0x361712[_0xb76e('0x1b')]);if(_0x361712[_0xb76e('0x1c')]){delete _0x361712['name'];}_0x89f626[_0xb76e('0xc')](_0x429441)[_0xb76e('0x1d')](_0x361712);};}exports[_0xb76e('0x1e')]=function(_0x58ff59,_0x33344){var _0x1419c8={};var _0x265e4e={'count':0x0,'rows':[]};var _0x50e21e=_[_0xb76e('0x1f')](db[_0xb76e('0x20')]['rawAttributes'],function(_0x7ba9ba){return{'name':_0x7ba9ba['fieldName'],'type':_0x7ba9ba[_0xb76e('0x21')][_0xb76e('0x22')]};});_0x1419c8=qs[_0xb76e('0x23')](_0x50e21e,_0x58ff59);var _0x13c832={'where':_0x1419c8[_0xb76e('0x24')]};return db[_0xb76e('0x20')][_0xb76e('0x11')](_0x13c832)[_0xb76e('0x14')](function(_0x11cc48){_0x265e4e['count']=_0x11cc48;_0x1419c8[_0xb76e('0x25')]=qs[_0xb76e('0x25')](_0x58ff59['query']);return db[_0xb76e('0x20')][_0xb76e('0x26')](_0x1419c8);})[_0xb76e('0x14')](function(_0x33719b){_0x265e4e[_0xb76e('0x27')]=_0x33719b;return _0x265e4e;})['then'](respondWithFilteredResult(_0x33344,_0x1419c8))['catch'](handleError(_0x33344,null));};exports[_0xb76e('0x28')]=function(_0x31cbb0,_0x493680){var _0x18a642={'raw':!![],'where':{'id':_0x31cbb0['params']['id']}},_0x1d063a={};_0x1d063a[_0xb76e('0x29')]=_[_0xb76e('0x2a')](db[_0xb76e('0x20')][_0xb76e('0x2b')]);_0x1d063a['query']=_[_0xb76e('0x2a')](_0x31cbb0['query']);_0x1d063a[_0xb76e('0x2c')]=_['intersection'](_0x1d063a[_0xb76e('0x29')],_0x1d063a[_0xb76e('0x2d')]);_0x18a642[_0xb76e('0x2e')]=_['intersection'](_0x1d063a[_0xb76e('0x29')],qs['fields'](_0x31cbb0[_0xb76e('0x2d')][_0xb76e('0x2f')]));_0x18a642[_0xb76e('0x2e')]=_0x18a642['attributes'][_0xb76e('0x30')]?_0x18a642[_0xb76e('0x2e')]:_0x1d063a[_0xb76e('0x29')];if(_0x31cbb0[_0xb76e('0x2d')][_0xb76e('0x31')]){_0x18a642[_0xb76e('0x25')]=[{'all':!![]}];}_0x18a642=_[_0xb76e('0x32')]({},_0x18a642,_0x31cbb0['options']);return db[_0xb76e('0x20')][_0xb76e('0x33')](_0x18a642)[_0xb76e('0x14')](handleEntityNotFound(_0x493680,null))[_0xb76e('0x14')](respondWithResult(_0x493680,null))[_0xb76e('0x34')](handleError(_0x493680,null));};exports[_0xb76e('0x35')]=function(_0x162568,_0x183a51){return db['ChatQueue'][_0xb76e('0x35')](_0x162568[_0xb76e('0x36')],{})[_0xb76e('0x14')](function(_0x49c01a){var _0x2a52d0=_0x162568['user'][_0xb76e('0x16')]({'plain':!![]});if(!_0x2a52d0)throw new Error(_0xb76e('0x37'));if(_0x2a52d0[_0xb76e('0x38')]===_0xb76e('0x39')){var _0x23d9d1=_0x49c01a['get']({'plain':!![]});var _0x4a08d8=_0xb76e('0x17');return db['UserProfileSection'][_0xb76e('0x33')]({'where':{'name':_0x4a08d8,'userProfileId':_0x2a52d0[_0xb76e('0x3a')]},'raw':!![]})['then'](function(_0x235e25){if(_0x235e25&&_0x235e25[_0xb76e('0x3b')]===0x0){return db['UserProfileResource']['create']({'name':_0x23d9d1[_0xb76e('0x1c')],'resourceId':_0x23d9d1['id'],'type':_0x235e25['name'],'sectionId':_0x235e25['id']},{})[_0xb76e('0x14')](function(){return _0x49c01a;});}else{return _0x49c01a;}})[_0xb76e('0x34')](function(_0xeb3b63){logger[_0xb76e('0x1a')](_0xb76e('0x3c'),_0xeb3b63);throw _0xeb3b63;});}return _0x49c01a;})[_0xb76e('0x14')](respondWithResult(_0x183a51,0xc9))[_0xb76e('0x34')](handleError(_0x183a51,null));};exports[_0xb76e('0x3d')]=function(_0xc39912,_0xc97790){if(_0xc39912[_0xb76e('0x36')]['id']){delete _0xc39912[_0xb76e('0x36')]['id'];}return db[_0xb76e('0x20')][_0xb76e('0x33')]({'where':{'id':_0xc39912[_0xb76e('0x3e')]['id']}})['then'](handleEntityNotFound(_0xc97790,null))[_0xb76e('0x14')](saveUpdates(_0xc39912['body'],null))['then'](respondWithResult(_0xc97790,null))['catch'](handleError(_0xc97790,null));};exports[_0xb76e('0x15')]=function(_0x295101,_0x5b8936){return db['ChatQueue']['find']({'where':{'id':_0x295101['params']['id']}})[_0xb76e('0x14')](handleEntityNotFound(_0x5b8936,null))[_0xb76e('0x14')](removeEntity(_0x5b8936,null))[_0xb76e('0x34')](handleError(_0x5b8936,null));};exports[_0xb76e('0x3f')]=function(_0x35a90f,_0x435c00){return db[_0xb76e('0x20')][_0xb76e('0x3f')]()[_0xb76e('0x14')](respondWithResult(_0x435c00,null))[_0xb76e('0x34')](handleError(_0x435c00,null));};exports[_0xb76e('0x40')]=function(_0xb70b4b,_0x386883){var _0x1f3db6={'raw':!![],'where':{}},_0xae27cc={},_0x3c517f;return db[_0xb76e('0x20')][_0xb76e('0x41')]({'where':{'id':_0xb70b4b[_0xb76e('0x3e')]['id']}})[_0xb76e('0x14')](handleEntityNotFound(_0x386883,null))[_0xb76e('0x14')](function(_0x1a2d0d){if(_0x1a2d0d){_0x3c517f=_0x1a2d0d[_0xb76e('0x16')]({'plain':!![]});_0xae27cc[_0xb76e('0x29')]=_[_0xb76e('0x2a')](db[_0xb76e('0x42')][_0xb76e('0x2b')]);_0xae27cc[_0xb76e('0x2d')]=_[_0xb76e('0x2a')](_0xb70b4b[_0xb76e('0x2d')]);_0xae27cc[_0xb76e('0x2c')]=_[_0xb76e('0x43')](_0xae27cc[_0xb76e('0x29')],_0xae27cc[_0xb76e('0x2d')]);_0x1f3db6[_0xb76e('0x2e')]=_[_0xb76e('0x43')](_0xae27cc['model'],qs['fields'](_0xb70b4b[_0xb76e('0x2d')][_0xb76e('0x2f')]));_0x1f3db6[_0xb76e('0x2e')]=_0x1f3db6[_0xb76e('0x2e')][_0xb76e('0x30')]?_0x1f3db6[_0xb76e('0x2e')]:_0xae27cc[_0xb76e('0x29')];if(!_0xb70b4b[_0xb76e('0x2d')][_0xb76e('0x44')](_0xb76e('0x45'))){_0x1f3db6[_0xb76e('0xf')]=qs['limit'](_0xb70b4b[_0xb76e('0x2d')][_0xb76e('0xf')]);_0x1f3db6[_0xb76e('0xe')]=qs[_0xb76e('0xe')](_0xb70b4b[_0xb76e('0x2d')][_0xb76e('0xe')]);}_0x1f3db6[_0xb76e('0x46')]=qs[_0xb76e('0x47')](_0xb70b4b[_0xb76e('0x2d')][_0xb76e('0x47')]);_0x1f3db6['where']=qs[_0xb76e('0x2c')](_[_0xb76e('0x48')](_0xb70b4b[_0xb76e('0x2d')],_0xae27cc[_0xb76e('0x2c')]));_0x1f3db6[_0xb76e('0x24')]['ChatQueueId']=_0x1a2d0d['id'];if(_0xb70b4b[_0xb76e('0x2d')][_0xb76e('0x49')]){_0x1f3db6[_0xb76e('0x24')]=_[_0xb76e('0x32')](_0x1f3db6['where'],{'$or':_[_0xb76e('0x1f')](_0x1f3db6['attributes'],function(_0x4d6cb4){var _0x1829a5={};_0x1829a5[_0x4d6cb4]={'$like':'%'+_0xb70b4b[_0xb76e('0x2d')][_0xb76e('0x49')]+'%'};return _0x1829a5;})});}_0x1f3db6=_[_0xb76e('0x32')]({},_0x1f3db6,_0xb70b4b['options']);return db[_0xb76e('0x42')]['findAll'](_0x1f3db6);}})[_0xb76e('0x14')](function(_0x5bd484){if(_0x5bd484){return db[_0xb76e('0x4a')][_0xb76e('0x4b')]({'where':{'id':_[_0xb76e('0x1f')](_0x5bd484,'UserId'),'role':_0xb76e('0x4c')},'attributes':['id','name',_0xb76e('0x4d'),_0xb76e('0x4e'),_0xb76e('0x4f')]});}})[_0xb76e('0x14')](function(_0x3bc75b){if(_0x3bc75b){return{'count':_0x3bc75b['count'],'rows':_[_0xb76e('0x1f')](_0x3bc75b[_0xb76e('0x27')],function(_0x2dcc91){return{'membername':_0x2dcc91['name'],'UserId':_0x2dcc91['id'],'queue_name':_0x3c517f['name'],'ChatQueueId':_0x3c517f['id'],'interface':util['format']('%s/%s',_0xb76e('0x50'),_0x2dcc91[_0xb76e('0x1c')]),'penalty':0x0,'paused':_0x2dcc91[_0xb76e('0x4d')],'createdAt':_0x2dcc91[_0xb76e('0x4f')],'updatedAt':_0x2dcc91[_0xb76e('0x4e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xb76e('0x14')](respondWithFilteredResult(_0x386883,_0x1f3db6))[_0xb76e('0x34')](handleError(_0x386883,null));};exports[_0xb76e('0x51')]=function(_0x10c198,_0xa849d6){var _0x1e12f5={};var _0x36f5f3={};var _0x11bead;var _0x35feeb;return db[_0xb76e('0x20')][_0xb76e('0x41')]({'where':{'id':_0x10c198[_0xb76e('0x3e')]['id']}})[_0xb76e('0x14')](handleEntityNotFound(_0xa849d6,null))['then'](function(_0x1cf5e7){if(_0x1cf5e7){_0x11bead=_0x1cf5e7;_0x36f5f3[_0xb76e('0x29')]=_[_0xb76e('0x2a')](db[_0xb76e('0x52')]['rawAttributes']);_0x36f5f3['query']=_[_0xb76e('0x2a')](_0x10c198[_0xb76e('0x2d')]);_0x36f5f3['filters']=_[_0xb76e('0x43')](_0x36f5f3[_0xb76e('0x29')],_0x36f5f3['query']);_0x1e12f5['attributes']=_[_0xb76e('0x43')](_0x36f5f3[_0xb76e('0x29')],qs['fields'](_0x10c198[_0xb76e('0x2d')]['fields']));_0x1e12f5['attributes']=_0x1e12f5[_0xb76e('0x2e')][_0xb76e('0x30')]?_0x1e12f5[_0xb76e('0x2e')]:_0x36f5f3[_0xb76e('0x29')];_0x1e12f5[_0xb76e('0x46')]=qs[_0xb76e('0x47')](_0x10c198[_0xb76e('0x2d')][_0xb76e('0x47')]);_0x1e12f5[_0xb76e('0x24')]=qs[_0xb76e('0x2c')](_[_0xb76e('0x48')](_0x10c198['query'],_0x36f5f3[_0xb76e('0x2c')]));if(_0x10c198[_0xb76e('0x2d')][_0xb76e('0x49')]){_0x1e12f5['where']=_['merge'](_0x1e12f5['where'],{'$or':_[_0xb76e('0x1f')](_0x1e12f5[_0xb76e('0x2e')],function(_0x834b6c){var _0x25bc1e={};_0x25bc1e[_0x834b6c]={'$like':'%'+_0x10c198['query']['filter']+'%'};return _0x25bc1e;})});}_0x1e12f5=_[_0xb76e('0x32')]({},_0x1e12f5,_0x10c198[_0xb76e('0x53')]);return _0x11bead[_0xb76e('0x51')](_0x1e12f5);}})['then'](function(_0x42bc8f){if(_0x42bc8f){_0x35feeb=_0x42bc8f['length'];if(!_0x10c198[_0xb76e('0x2d')]['hasOwnProperty'](_0xb76e('0x45'))){_0x1e12f5[_0xb76e('0xf')]=qs[_0xb76e('0xf')](_0x10c198[_0xb76e('0x2d')][_0xb76e('0xf')]);_0x1e12f5[_0xb76e('0xe')]=qs[_0xb76e('0xe')](_0x10c198[_0xb76e('0x2d')][_0xb76e('0xe')]);}return _0x11bead['getTeams'](_0x1e12f5);}})[_0xb76e('0x14')](function(_0x5ab5f0){if(_0x5ab5f0){return _0x5ab5f0?{'count':_0x35feeb,'rows':_0x5ab5f0}:null;}})[_0xb76e('0x14')](respondWithResult(_0xa849d6,null))[_0xb76e('0x34')](handleError(_0xa849d6,null));};exports[_0xb76e('0x54')]=function(_0x46c0d1,_0x31307d){var _0x389f42=_0x46c0d1[_0xb76e('0x36')][_0xb76e('0x55')];return db[_0xb76e('0x52')][_0xb76e('0x26')]({'where':{'id':_0x389f42},'attributes':['id'],'include':[{'model':db[_0xb76e('0x4a')],'as':_0xb76e('0x56'),'attributes':['id',_0xb76e('0x1c'),_0xb76e('0x57'),_0xb76e('0x58'),_0xb76e('0x59')],'raw':!![]}]})[_0xb76e('0x14')](function(_0xed0b45){if(_0xed0b45){var _0x357851=_[_0xb76e('0x5a')](_0xed0b45,function(_0x414682){var _0x5480af=_0x414682[_0xb76e('0x16')]({'plain':!![]});return _0x5480af['Agents'];});return db[_0xb76e('0x20')][_0xb76e('0x33')]({'where':{'id':_0x46c0d1[_0xb76e('0x3e')]['id']}})[_0xb76e('0x14')](function(_0x202b7a){return db[_0xb76e('0x5b')][_0xb76e('0x5c')](function(_0x35f0e1){return _0x202b7a[_0xb76e('0x54')](_0x389f42,{'transaction':_0x35f0e1})[_0xb76e('0x14')](function(){return BPromise['each'](_0x357851,function(_0xb305d2){return db[_0xb76e('0x42')][_0xb76e('0x5d')]({'where':{'UserId':_0xb305d2['id'],'ChatQueueId':_0x46c0d1[_0xb76e('0x3e')]['id']},'transaction':_0x35f0e1});});})[_0xb76e('0x14')](function(){_0x357851[_0xb76e('0x5e')](function(_0x110ce1){socket[_0xb76e('0x5f')](_0xb76e('0x60'),{'UserId':_0x110ce1['id'],'ChatQueueId':_0x202b7a['id']});});});});});}})[_0xb76e('0x14')](respondWithStatusCode(_0x31307d,null))[_0xb76e('0x34')](handleError(_0x31307d,null));};exports[_0xb76e('0x61')]=function(_0x33589c,_0x3be4d6){return db[_0xb76e('0x52')][_0xb76e('0x26')]({'where':{'id':_0x33589c['query'][_0xb76e('0x55')]},'attributes':['id'],'include':[{'model':db[_0xb76e('0x4a')],'as':_0xb76e('0x56'),'attributes':['id'],'raw':!![]}]})[_0xb76e('0x14')](handleEntityNotFound(_0x3be4d6,null))[_0xb76e('0x14')](function(_0x4cefa9){var _0x23a3ce=_[_0xb76e('0x1f')](_0x4cefa9,'id');var _0x1e018f=[];var _0x51aa44=[];var _0x1d40f8=squel[_0xb76e('0x62')]();_0x1d40f8[_0xb76e('0x63')](_0xb76e('0x64'))['from'](_0xb76e('0x65'),'tq')[_0xb76e('0x66')](_0xb76e('0x67'),'ut',_0xb76e('0x68'))['where'](_0xb76e('0x69'),_0x33589c[_0xb76e('0x3e')]['id']);for(var _0x4a6e44=0x0;_0x4a6e44<_0x4cefa9['length'];_0x4a6e44+=0x1){let _0x3d5492=_0x4cefa9[_0x4a6e44];for(var _0x3d5143=0x0;_0x3d5143<_0x3d5492['Agents'][_0xb76e('0x30')];_0x3d5143+=0x1){let _0x2b672c=_0x3d5492[_0xb76e('0x56')][_0x3d5143];var _0x4adde5=_0x1d40f8['clone']();_0x4adde5[_0xb76e('0x24')](_0xb76e('0x6a'),_0x2b672c['id']);_0x51aa44[_0xb76e('0x6b')](db[_0xb76e('0x5b')][_0xb76e('0x2d')](_0x4adde5[_0xb76e('0x6c')](),{'type':db[_0xb76e('0x5b')][_0xb76e('0x6d')]['SELECT']})[_0xb76e('0x14')](function(_0x2b3d17){if(_0x2b3d17[_0xb76e('0x30')]===0x1){return _0x2b672c['id'];}else{var _0xefd865=_['every'](_[_0xb76e('0x1f')](_0x2b3d17,'TeamId'),function(_0xf977b8){return _['includes'](_0x23a3ce,_0xf977b8);});if(_0xefd865){return _0x2b672c['id'];}}}));}}return BPromise['all'](_0x51aa44)[_0xb76e('0x14')](function(_0x4a8ba3){_0x1e018f=_(_0x1e018f)[_0xb76e('0x6e')](_0x4a8ba3)['compact']()[_0xb76e('0x6f')]();return db['ChatQueue'][_0xb76e('0x33')]({'where':{'id':_0x33589c[_0xb76e('0x3e')]['id']}})[_0xb76e('0x14')](function(_0x163b60){return db['sequelize'][_0xb76e('0x5c')](function(_0x25c28e){return _0x163b60[_0xb76e('0x61')](_0x33589c[_0xb76e('0x2d')][_0xb76e('0x55')],{'transaction':_0x25c28e})[_0xb76e('0x14')](function(){if(!_['isEmpty'](_0x1e018f)){return _0x163b60[_0xb76e('0x70')](_0x1e018f,{'transaction':_0x25c28e});}})[_0xb76e('0x14')](function(){_0x1e018f['forEach'](function(_0x1b0e38){socket['emit']('userChatQueue:remove',{'UserId':_0x1b0e38,'ChatQueueId':_0x163b60['id']});});});});});});})[_0xb76e('0x14')](respondWithStatusCode(_0x3be4d6,null))[_0xb76e('0x34')](handleError(_0x3be4d6,null));};exports['addAgents']=function(_0xd57cb3,_0x44410f){return db['ChatQueue']['find']({'where':{'id':_0xd57cb3[_0xb76e('0x3e')]['id']}})[_0xb76e('0x14')](handleEntityNotFound(_0x44410f,null))['then'](function(_0x3abbb1){if(_0x3abbb1){return _0x3abbb1[_0xb76e('0x71')](_0xd57cb3['body'][_0xb76e('0x55')],_[_0xb76e('0x72')](_0xd57cb3['body'],[_0xb76e('0x55'),'id'])||{})['spread'](function(_0x23b708){for(var _0x433464=0x0;_0x433464<_0xd57cb3[_0xb76e('0x36')][_0xb76e('0x55')][_0xb76e('0x30')];_0x433464+=0x1){socket[_0xb76e('0x5f')](_0xb76e('0x60'),{'UserId':Number(_0xd57cb3[_0xb76e('0x36')][_0xb76e('0x55')][_0x433464]),'ChatQueueId':Number(_0xd57cb3[_0xb76e('0x3e')]['id'])});}return _0x23b708;});}})[_0xb76e('0x14')](respondWithResult(_0x44410f,null))[_0xb76e('0x34')](handleError(_0x44410f,null));};exports[_0xb76e('0x70')]=function(_0x51b78b,_0x12b11e){return db[_0xb76e('0x20')][_0xb76e('0x33')]({'where':{'id':_0x51b78b['params']['id']}})[_0xb76e('0x14')](handleEntityNotFound(_0x12b11e,null))[_0xb76e('0x14')](function(_0x3b1959){if(_0x3b1959){return _0x3b1959[_0xb76e('0x70')](_0x51b78b[_0xb76e('0x2d')][_0xb76e('0x55')])[_0xb76e('0x14')](function(){if(_[_0xb76e('0x73')](_0x51b78b[_0xb76e('0x2d')]['ids'])){for(var _0x4f9ce5=0x0;_0x4f9ce5<_0x51b78b[_0xb76e('0x2d')][_0xb76e('0x55')][_0xb76e('0x30')];_0x4f9ce5+=0x1){socket[_0xb76e('0x5f')](_0xb76e('0x74'),{'UserId':Number(_0x51b78b[_0xb76e('0x2d')][_0xb76e('0x55')][_0x4f9ce5]),'ChatQueueId':Number(_0x51b78b['params']['id'])});}}else{socket['emit']('userChatQueue:remove',{'UserId':Number(_0x51b78b[_0xb76e('0x2d')][_0xb76e('0x55')]),'ChatQueueId':Number(_0x51b78b[_0xb76e('0x3e')]['id'])});}});}})[_0xb76e('0x14')](respondWithStatusCode(_0x12b11e,null))[_0xb76e('0x34')](handleError(_0x12b11e,null));};exports[_0xb76e('0x75')]=function(_0x1aecfc,_0x58edba){var _0xbcdc57={};var _0x1511c3={};var _0x21f9c5;var _0x114f14;return db[_0xb76e('0x20')]['findOne']({'where':{'id':_0x1aecfc['params']['id']}})[_0xb76e('0x14')](handleEntityNotFound(_0x58edba,null))[_0xb76e('0x14')](function(_0x282f70){if(_0x282f70){_0x21f9c5=_0x282f70;_0x1511c3[_0xb76e('0x29')]=_[_0xb76e('0x2a')](db['User'][_0xb76e('0x2b')]);_0x1511c3[_0xb76e('0x2d')]=_[_0xb76e('0x2a')](_0x1aecfc[_0xb76e('0x2d')]);_0x1511c3[_0xb76e('0x2c')]=_[_0xb76e('0x43')](_0x1511c3[_0xb76e('0x29')],_0x1511c3[_0xb76e('0x2d')]);_0xbcdc57['attributes']=_[_0xb76e('0x43')](_0x1511c3[_0xb76e('0x29')],qs[_0xb76e('0x2f')](_0x1aecfc[_0xb76e('0x2d')][_0xb76e('0x2f')]));_0xbcdc57[_0xb76e('0x2e')]=_0xbcdc57[_0xb76e('0x2e')][_0xb76e('0x30')]?_0xbcdc57[_0xb76e('0x2e')]:_0x1511c3[_0xb76e('0x29')];_0xbcdc57[_0xb76e('0x46')]=qs[_0xb76e('0x47')](_0x1aecfc[_0xb76e('0x2d')][_0xb76e('0x47')]);_0xbcdc57[_0xb76e('0x24')]=qs[_0xb76e('0x2c')](_['pick'](_0x1aecfc['query'],_0x1511c3[_0xb76e('0x2c')]));if(_0x1aecfc[_0xb76e('0x2d')]['filter']){_0xbcdc57[_0xb76e('0x24')]=_[_0xb76e('0x32')](_0xbcdc57[_0xb76e('0x24')],{'$or':_['map'](_0xbcdc57['attributes'],function(_0x49b232){var _0x2ddbf6={};_0x2ddbf6[_0x49b232]={'$like':'%'+_0x1aecfc[_0xb76e('0x2d')][_0xb76e('0x49')]+'%'};return _0x2ddbf6;})});}_0xbcdc57=_[_0xb76e('0x32')]({},_0xbcdc57,_0x1aecfc[_0xb76e('0x53')]);return _0x21f9c5['getAgents'](_0xbcdc57);}})[_0xb76e('0x14')](function(_0x26d387){if(_0x26d387){_0x114f14=_0x26d387[_0xb76e('0x30')];if(!_0x1aecfc[_0xb76e('0x2d')][_0xb76e('0x44')]('nolimit')){_0xbcdc57[_0xb76e('0xf')]=qs[_0xb76e('0xf')](_0x1aecfc['query']['limit']);_0xbcdc57[_0xb76e('0xe')]=qs[_0xb76e('0xe')](_0x1aecfc[_0xb76e('0x2d')][_0xb76e('0xe')]);}return _0x21f9c5[_0xb76e('0x75')](_0xbcdc57);}})['then'](function(_0x36a269){if(_0x36a269){return _0x36a269?{'count':_0x114f14,'rows':_0x36a269}:null;}})[_0xb76e('0x14')](respondWithResult(_0x58edba,null))[_0xb76e('0x34')](handleError(_0x58edba,null));};