47d28bc1188f4ce70795f5f645db69e9d8fba12f
[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 _0x6ae5=['addTeams','findOrCreate','forEach','emit','removeTeams','field','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','compact','value','transaction','isEmpty','removeAgents','addAgents','omit','spread','userChatQueue:save','userChatQueue:remove','getAgents','bluebird','util','lodash','squel','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','./chatQueue.socket','sendStatus','status','json','offset','undefined','limit','count','set','then','destroy','get','ChatQueues','UserProfileResource','error','name','send','index','map','rawAttributes','fieldName','type','getOptions','ChatQueue','include','query','findAll','rows','catch','params','model','keys','attributes','intersection','fields','length','includeAll','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','UserChatQueue','filters','hasOwnProperty','nolimit','order','where','pick','ChatQueueId','filter','User','agent','chatPause','updatedAt','format','%s/%s','SIP','createdAt','getTeams','findOne','Team','sort','ids','online','voicePause','interface','flatMap','Agents','sequelize'];(function(_0x34d346,_0x4c6502){var _0x122d76=function(_0x22a5fd){while(--_0x22a5fd){_0x34d346['push'](_0x34d346['shift']());}};_0x122d76(++_0x4c6502);}(_0x6ae5,0x192));var _0x56ae=function(_0xea0909,_0x50b5f9){_0xea0909=_0xea0909-0x0;var _0x468855=_0x6ae5[_0xea0909];return _0x468855;};'use strict';var BPromise=require(_0x56ae('0x0'));var util=require(_0x56ae('0x1'));var _=require(_0x56ae('0x2'));var squel=require(_0x56ae('0x3'));var Redis=require('ioredis');var qs=require(_0x56ae('0x4'));var logger=require(_0x56ae('0x5'))(_0x56ae('0x6'));var config=require(_0x56ae('0x7'));var db=require(_0x56ae('0x8'))['db'];config['redis']=_[_0x56ae('0x9')](config[_0x56ae('0xa')],{'host':_0x56ae('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x56ae('0xc'))['register'](socket);function respondWithStatusCode(_0x17bd31,_0x35080a){_0x35080a=_0x35080a||0xcc;return function(_0x1a965e){if(_0x1a965e){return _0x17bd31[_0x56ae('0xd')](_0x35080a);}return _0x17bd31[_0x56ae('0xe')](_0x35080a)['end']();};}function respondWithResult(_0x407064,_0x3032e7){_0x3032e7=_0x3032e7||0xc8;return function(_0x44e59e){if(_0x44e59e){return _0x407064[_0x56ae('0xe')](_0x3032e7)[_0x56ae('0xf')](_0x44e59e);}};}function respondWithFilteredResult(_0x3b8015,_0x36c46b){return function(_0x1da7f2){if(_0x1da7f2){var _0x1b2d67=typeof _0x36c46b[_0x56ae('0x10')]===_0x56ae('0x11')&&typeof _0x36c46b[_0x56ae('0x12')]===_0x56ae('0x11');var _0x15074e=_0x1da7f2[_0x56ae('0x13')];var _0x11287f=_0x1b2d67?0x0:_0x36c46b[_0x56ae('0x10')];var _0x5ed57b=_0x1b2d67?_0x1da7f2[_0x56ae('0x13')]:_0x36c46b[_0x56ae('0x10')]+_0x36c46b[_0x56ae('0x12')];var _0x2a3f27;if(_0x5ed57b>=_0x15074e){_0x5ed57b=_0x15074e;_0x2a3f27=0xc8;}else{_0x2a3f27=0xce;}_0x3b8015[_0x56ae('0xe')](_0x2a3f27);return _0x3b8015[_0x56ae('0x14')]('Content-Range',_0x11287f+'-'+_0x5ed57b+'/'+_0x15074e)['json'](_0x1da7f2);}return null;};}function saveUpdates(_0x4e87de){return function(_0x315867){if(_0x315867){return _0x315867['update'](_0x4e87de)[_0x56ae('0x15')](function(_0x262c8c){return _0x262c8c;});}return null;};}function removeEntity(_0x556b05){return function(_0x508c32){if(_0x508c32){return _0x508c32[_0x56ae('0x16')]()[_0x56ae('0x15')](function(){var _0x4c33d0=_0x508c32[_0x56ae('0x17')]({'plain':!![]});var _0x6bd387=_0x56ae('0x18');return db[_0x56ae('0x19')][_0x56ae('0x16')]({'where':{'type':_0x6bd387,'resourceId':_0x4c33d0['id']}})[_0x56ae('0x15')](function(){return _0x508c32;});})['then'](function(){_0x556b05[_0x56ae('0xe')](0xcc)['end']();});}};}function handleEntityNotFound(_0xce8c32){return function(_0x24f0ac){if(!_0x24f0ac){_0xce8c32[_0x56ae('0xd')](0x194);}return _0x24f0ac;};}function handleError(_0x104923,_0x3c4771){_0x3c4771=_0x3c4771||0x1f4;return function(_0x4d7000){logger[_0x56ae('0x1a')](_0x4d7000['stack']);if(_0x4d7000[_0x56ae('0x1b')]){delete _0x4d7000[_0x56ae('0x1b')];}_0x104923[_0x56ae('0xe')](_0x3c4771)[_0x56ae('0x1c')](_0x4d7000);};}exports[_0x56ae('0x1d')]=function(_0x258ff4,_0x4918a1){var _0x31acc6={};var _0x492e49={'count':0x0,'rows':[]};var _0x4311fe=_[_0x56ae('0x1e')](db['ChatQueue'][_0x56ae('0x1f')],function(_0x149674){return{'name':_0x149674[_0x56ae('0x20')],'type':_0x149674[_0x56ae('0x21')]['key']};});_0x31acc6=qs[_0x56ae('0x22')](_0x4311fe,_0x258ff4);var _0x5e83f0={'where':_0x31acc6['where']};return db[_0x56ae('0x23')][_0x56ae('0x13')](_0x5e83f0)[_0x56ae('0x15')](function(_0x479001){_0x492e49[_0x56ae('0x13')]=_0x479001;_0x31acc6[_0x56ae('0x24')]=qs[_0x56ae('0x24')](_0x258ff4[_0x56ae('0x25')]);return db['ChatQueue'][_0x56ae('0x26')](_0x31acc6);})[_0x56ae('0x15')](function(_0x17184c){_0x492e49[_0x56ae('0x27')]=_0x17184c;return _0x492e49;})[_0x56ae('0x15')](respondWithFilteredResult(_0x4918a1,_0x31acc6))[_0x56ae('0x28')](handleError(_0x4918a1,null));};exports['show']=function(_0x10796a,_0x30893a){var _0xecb789={'raw':!![],'where':{'id':_0x10796a[_0x56ae('0x29')]['id']}},_0x3db311={};_0x3db311[_0x56ae('0x2a')]=_[_0x56ae('0x2b')](db[_0x56ae('0x23')][_0x56ae('0x1f')]);_0x3db311['query']=_['keys'](_0x10796a[_0x56ae('0x25')]);_0x3db311['filters']=_['intersection'](_0x3db311[_0x56ae('0x2a')],_0x3db311[_0x56ae('0x25')]);_0xecb789[_0x56ae('0x2c')]=_[_0x56ae('0x2d')](_0x3db311[_0x56ae('0x2a')],qs[_0x56ae('0x2e')](_0x10796a['query'][_0x56ae('0x2e')]));_0xecb789[_0x56ae('0x2c')]=_0xecb789[_0x56ae('0x2c')][_0x56ae('0x2f')]?_0xecb789[_0x56ae('0x2c')]:_0x3db311[_0x56ae('0x2a')];if(_0x10796a[_0x56ae('0x25')][_0x56ae('0x30')]){_0xecb789[_0x56ae('0x24')]=[{'all':!![]}];}_0xecb789=_[_0x56ae('0x31')]({},_0xecb789,_0x10796a[_0x56ae('0x32')]);return db['ChatQueue'][_0x56ae('0x33')](_0xecb789)[_0x56ae('0x15')](handleEntityNotFound(_0x30893a,null))[_0x56ae('0x15')](respondWithResult(_0x30893a,null))[_0x56ae('0x28')](handleError(_0x30893a,null));};exports[_0x56ae('0x34')]=function(_0x303ddf,_0x56f863){return db[_0x56ae('0x23')][_0x56ae('0x34')](_0x303ddf[_0x56ae('0x35')],{})[_0x56ae('0x15')](function(_0x2fa3c7){var _0x871a7c=_0x303ddf[_0x56ae('0x36')]['get']({'plain':!![]});if(!_0x871a7c)throw new Error(_0x56ae('0x37'));if(_0x871a7c[_0x56ae('0x38')]===_0x56ae('0x36')){var _0x41f7e2=_0x2fa3c7[_0x56ae('0x17')]({'plain':!![]});var _0x4b4b2c=_0x56ae('0x18');return db[_0x56ae('0x39')]['find']({'where':{'name':_0x4b4b2c,'userProfileId':_0x871a7c[_0x56ae('0x3a')]},'raw':!![]})[_0x56ae('0x15')](function(_0x24d434){if(_0x24d434&&_0x24d434[_0x56ae('0x3b')]===0x0){return db[_0x56ae('0x19')][_0x56ae('0x34')]({'name':_0x41f7e2[_0x56ae('0x1b')],'resourceId':_0x41f7e2['id'],'type':_0x24d434['name'],'sectionId':_0x24d434['id']},{})[_0x56ae('0x15')](function(){return _0x2fa3c7;});}else{return _0x2fa3c7;}})['catch'](function(_0x56f2f2){logger[_0x56ae('0x1a')](_0x56ae('0x3c'),_0x56f2f2);throw _0x56f2f2;});}return _0x2fa3c7;})['then'](respondWithResult(_0x56f863,0xc9))['catch'](handleError(_0x56f863,null));};exports['update']=function(_0x464851,_0xa57627){if(_0x464851['body']['id']){delete _0x464851[_0x56ae('0x35')]['id'];}return db[_0x56ae('0x23')][_0x56ae('0x33')]({'where':{'id':_0x464851['params']['id']}})[_0x56ae('0x15')](handleEntityNotFound(_0xa57627,null))[_0x56ae('0x15')](saveUpdates(_0x464851[_0x56ae('0x35')],null))['then'](respondWithResult(_0xa57627,null))[_0x56ae('0x28')](handleError(_0xa57627,null));};exports['destroy']=function(_0x4d94a7,_0x4c962e){return db['ChatQueue'][_0x56ae('0x33')]({'where':{'id':_0x4d94a7[_0x56ae('0x29')]['id']}})[_0x56ae('0x15')](handleEntityNotFound(_0x4c962e,null))[_0x56ae('0x15')](removeEntity(_0x4c962e,null))[_0x56ae('0x28')](handleError(_0x4c962e,null));};exports[_0x56ae('0x3d')]=function(_0x120e63,_0x398db8){return db[_0x56ae('0x23')][_0x56ae('0x3d')]()[_0x56ae('0x15')](respondWithResult(_0x398db8,null))[_0x56ae('0x28')](handleError(_0x398db8,null));};exports['getMembers']=function(_0xd228e0,_0x18e1ed){var _0x330690={'raw':!![],'where':{}},_0x48f02d={},_0x480541;return db['ChatQueue']['findOne']({'where':{'id':_0xd228e0['params']['id']}})[_0x56ae('0x15')](handleEntityNotFound(_0x18e1ed,null))['then'](function(_0xa5fd90){if(_0xa5fd90){_0x480541=_0xa5fd90[_0x56ae('0x17')]({'plain':!![]});_0x48f02d[_0x56ae('0x2a')]=_[_0x56ae('0x2b')](db[_0x56ae('0x3e')][_0x56ae('0x1f')]);_0x48f02d[_0x56ae('0x25')]=_[_0x56ae('0x2b')](_0xd228e0['query']);_0x48f02d[_0x56ae('0x3f')]=_[_0x56ae('0x2d')](_0x48f02d[_0x56ae('0x2a')],_0x48f02d['query']);_0x330690[_0x56ae('0x2c')]=_[_0x56ae('0x2d')](_0x48f02d[_0x56ae('0x2a')],qs[_0x56ae('0x2e')](_0xd228e0['query'][_0x56ae('0x2e')]));_0x330690[_0x56ae('0x2c')]=_0x330690[_0x56ae('0x2c')]['length']?_0x330690['attributes']:_0x48f02d['model'];if(!_0xd228e0['query'][_0x56ae('0x40')](_0x56ae('0x41'))){_0x330690['limit']=qs[_0x56ae('0x12')](_0xd228e0[_0x56ae('0x25')][_0x56ae('0x12')]);_0x330690[_0x56ae('0x10')]=qs[_0x56ae('0x10')](_0xd228e0[_0x56ae('0x25')][_0x56ae('0x10')]);}_0x330690[_0x56ae('0x42')]=qs['sort'](_0xd228e0[_0x56ae('0x25')]['sort']);_0x330690[_0x56ae('0x43')]=qs[_0x56ae('0x3f')](_[_0x56ae('0x44')](_0xd228e0[_0x56ae('0x25')],_0x48f02d[_0x56ae('0x3f')]));_0x330690[_0x56ae('0x43')][_0x56ae('0x45')]=_0xa5fd90['id'];if(_0xd228e0[_0x56ae('0x25')][_0x56ae('0x46')]){_0x330690['where']=_[_0x56ae('0x31')](_0x330690[_0x56ae('0x43')],{'$or':_[_0x56ae('0x1e')](_0x330690['attributes'],function(_0x9809c9){var _0xbb02a7={};_0xbb02a7[_0x9809c9]={'$like':'%'+_0xd228e0['query'][_0x56ae('0x46')]+'%'};return _0xbb02a7;})});}_0x330690=_[_0x56ae('0x31')]({},_0x330690,_0xd228e0[_0x56ae('0x32')]);return db['UserChatQueue']['findAll'](_0x330690);}})[_0x56ae('0x15')](function(_0x57bf6e){if(_0x57bf6e){return db[_0x56ae('0x47')]['findAndCountAll']({'where':{'id':_[_0x56ae('0x1e')](_0x57bf6e,'UserId'),'role':_0x56ae('0x48')},'attributes':['id',_0x56ae('0x1b'),_0x56ae('0x49'),_0x56ae('0x4a'),'createdAt']});}})[_0x56ae('0x15')](function(_0x1ce359){if(_0x1ce359){return{'count':_0x1ce359['count'],'rows':_[_0x56ae('0x1e')](_0x1ce359[_0x56ae('0x27')],function(_0x32117f){return{'membername':_0x32117f[_0x56ae('0x1b')],'UserId':_0x32117f['id'],'queue_name':_0x480541[_0x56ae('0x1b')],'ChatQueueId':_0x480541['id'],'interface':util[_0x56ae('0x4b')](_0x56ae('0x4c'),_0x56ae('0x4d'),_0x32117f[_0x56ae('0x1b')]),'penalty':0x0,'paused':_0x32117f[_0x56ae('0x49')],'createdAt':_0x32117f[_0x56ae('0x4e')],'updatedAt':_0x32117f[_0x56ae('0x4a')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x56ae('0x15')](respondWithFilteredResult(_0x18e1ed,_0x330690))[_0x56ae('0x28')](handleError(_0x18e1ed,null));};exports[_0x56ae('0x4f')]=function(_0x26c6b7,_0x5b277f){var _0x4d274a={};var _0x177bdd={};var _0xc2f008;var _0x589a90;return db[_0x56ae('0x23')][_0x56ae('0x50')]({'where':{'id':_0x26c6b7[_0x56ae('0x29')]['id']}})[_0x56ae('0x15')](handleEntityNotFound(_0x5b277f,null))[_0x56ae('0x15')](function(_0x12c9bd){if(_0x12c9bd){_0xc2f008=_0x12c9bd;_0x177bdd[_0x56ae('0x2a')]=_[_0x56ae('0x2b')](db[_0x56ae('0x51')]['rawAttributes']);_0x177bdd['query']=_[_0x56ae('0x2b')](_0x26c6b7[_0x56ae('0x25')]);_0x177bdd[_0x56ae('0x3f')]=_[_0x56ae('0x2d')](_0x177bdd['model'],_0x177bdd['query']);_0x4d274a[_0x56ae('0x2c')]=_[_0x56ae('0x2d')](_0x177bdd[_0x56ae('0x2a')],qs[_0x56ae('0x2e')](_0x26c6b7[_0x56ae('0x25')][_0x56ae('0x2e')]));_0x4d274a[_0x56ae('0x2c')]=_0x4d274a[_0x56ae('0x2c')][_0x56ae('0x2f')]?_0x4d274a[_0x56ae('0x2c')]:_0x177bdd[_0x56ae('0x2a')];_0x4d274a['order']=qs['sort'](_0x26c6b7[_0x56ae('0x25')][_0x56ae('0x52')]);_0x4d274a[_0x56ae('0x43')]=qs[_0x56ae('0x3f')](_['pick'](_0x26c6b7[_0x56ae('0x25')],_0x177bdd['filters']));if(_0x26c6b7['query'][_0x56ae('0x46')]){_0x4d274a[_0x56ae('0x43')]=_[_0x56ae('0x31')](_0x4d274a[_0x56ae('0x43')],{'$or':_['map'](_0x4d274a[_0x56ae('0x2c')],function(_0x34a0a7){var _0x57e07d={};_0x57e07d[_0x34a0a7]={'$like':'%'+_0x26c6b7['query']['filter']+'%'};return _0x57e07d;})});}_0x4d274a=_[_0x56ae('0x31')]({},_0x4d274a,_0x26c6b7['options']);return _0xc2f008[_0x56ae('0x4f')](_0x4d274a);}})[_0x56ae('0x15')](function(_0x43058f){if(_0x43058f){_0x589a90=_0x43058f[_0x56ae('0x2f')];if(!_0x26c6b7[_0x56ae('0x25')]['hasOwnProperty'](_0x56ae('0x41'))){_0x4d274a['limit']=qs[_0x56ae('0x12')](_0x26c6b7['query'][_0x56ae('0x12')]);_0x4d274a[_0x56ae('0x10')]=qs[_0x56ae('0x10')](_0x26c6b7[_0x56ae('0x25')][_0x56ae('0x10')]);}return _0xc2f008[_0x56ae('0x4f')](_0x4d274a);}})[_0x56ae('0x15')](function(_0x5786d0){if(_0x5786d0){return _0x5786d0?{'count':_0x589a90,'rows':_0x5786d0}:null;}})[_0x56ae('0x15')](respondWithResult(_0x5b277f,null))[_0x56ae('0x28')](handleError(_0x5b277f,null));};exports['addTeams']=function(_0x1ff8ab,_0x4dc4cc){var _0x51b9a4=_0x1ff8ab[_0x56ae('0x35')][_0x56ae('0x53')];return db[_0x56ae('0x51')][_0x56ae('0x26')]({'where':{'id':_0x51b9a4},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x56ae('0x1b'),_0x56ae('0x54'),_0x56ae('0x55'),_0x56ae('0x56')],'raw':!![]}]})['then'](function(_0x4de2f5){if(_0x4de2f5){var _0x3191a1=_[_0x56ae('0x57')](_0x4de2f5,function(_0x479376){var _0x3209e8=_0x479376[_0x56ae('0x17')]({'plain':!![]});return _0x3209e8[_0x56ae('0x58')];});return db[_0x56ae('0x23')][_0x56ae('0x33')]({'where':{'id':_0x1ff8ab[_0x56ae('0x29')]['id']}})[_0x56ae('0x15')](function(_0x3ae451){return db[_0x56ae('0x59')]['transaction'](function(_0x4d69f3){return _0x3ae451[_0x56ae('0x5a')](_0x51b9a4,{'transaction':_0x4d69f3})[_0x56ae('0x15')](function(){return BPromise['each'](_0x3191a1,function(_0x556532){return db[_0x56ae('0x3e')][_0x56ae('0x5b')]({'where':{'UserId':_0x556532['id'],'ChatQueueId':_0x1ff8ab[_0x56ae('0x29')]['id']},'transaction':_0x4d69f3});});})[_0x56ae('0x15')](function(){_0x3191a1[_0x56ae('0x5c')](function(_0x5025d6){socket[_0x56ae('0x5d')]('userChatQueue:save',{'UserId':_0x5025d6['id'],'ChatQueueId':_0x3ae451['id']});});});});});}})[_0x56ae('0x15')](respondWithStatusCode(_0x4dc4cc,null))['catch'](handleError(_0x4dc4cc,null));};exports[_0x56ae('0x5e')]=function(_0xa5d1f2,_0x362f49){return db[_0x56ae('0x51')][_0x56ae('0x26')]({'where':{'id':_0xa5d1f2[_0x56ae('0x25')][_0x56ae('0x53')]},'attributes':['id'],'include':[{'model':db[_0x56ae('0x47')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x56ae('0x15')](handleEntityNotFound(_0x362f49,null))[_0x56ae('0x15')](function(_0xe9953c){var _0x2fc61b=_['map'](_0xe9953c,'id');var _0x1f430e=[];var _0x5767f2=[];var _0x4dc824=squel['select']();_0x4dc824[_0x56ae('0x5f')]('tq.TeamId')[_0x56ae('0x60')](_0x56ae('0x61'),'tq')[_0x56ae('0x62')](_0x56ae('0x63'),'ut',_0x56ae('0x64'))[_0x56ae('0x43')](_0x56ae('0x65'),_0xa5d1f2[_0x56ae('0x29')]['id']);for(var _0x7147ef=0x0;_0x7147ef<_0xe9953c[_0x56ae('0x2f')];_0x7147ef+=0x1){let _0x225c55=_0xe9953c[_0x7147ef];for(var _0x3a6d6b=0x0;_0x3a6d6b<_0x225c55[_0x56ae('0x58')][_0x56ae('0x2f')];_0x3a6d6b+=0x1){let _0x205474=_0x225c55[_0x56ae('0x58')][_0x3a6d6b];var _0x5814dd=_0x4dc824[_0x56ae('0x66')]();_0x5814dd[_0x56ae('0x43')](_0x56ae('0x67'),_0x205474['id']);_0x5767f2[_0x56ae('0x68')](db['sequelize'][_0x56ae('0x25')](_0x5814dd[_0x56ae('0x69')](),{'type':db['sequelize'][_0x56ae('0x6a')][_0x56ae('0x6b')]})[_0x56ae('0x15')](function(_0x4053ee){if(_0x4053ee[_0x56ae('0x2f')]===0x1){return _0x205474['id'];}else{var _0x2e8498=_[_0x56ae('0x6c')](_['map'](_0x4053ee,_0x56ae('0x6d')),function(_0x4c1fb1){return _[_0x56ae('0x6e')](_0x2fc61b,_0x4c1fb1);});if(_0x2e8498){return _0x205474['id'];}}}));}}return BPromise[_0x56ae('0x6f')](_0x5767f2)[_0x56ae('0x15')](function(_0x491525){_0x1f430e=_(_0x1f430e)['union'](_0x491525)[_0x56ae('0x70')]()[_0x56ae('0x71')]();return db[_0x56ae('0x23')][_0x56ae('0x33')]({'where':{'id':_0xa5d1f2[_0x56ae('0x29')]['id']}})[_0x56ae('0x15')](function(_0x278d58){return db['sequelize'][_0x56ae('0x72')](function(_0x36bde1){return _0x278d58[_0x56ae('0x5e')](_0xa5d1f2['query']['ids'],{'transaction':_0x36bde1})['then'](function(){if(!_[_0x56ae('0x73')](_0x1f430e)){return _0x278d58[_0x56ae('0x74')](_0x1f430e,{'transaction':_0x36bde1});}})['then'](function(){_0x1f430e['forEach'](function(_0x3f2bae){socket[_0x56ae('0x5d')]('userChatQueue:remove',{'UserId':_0x3f2bae,'ChatQueueId':_0x278d58['id']});});});});});});})[_0x56ae('0x15')](respondWithStatusCode(_0x362f49,null))[_0x56ae('0x28')](handleError(_0x362f49,null));};exports['addAgents']=function(_0x342444,_0xdcffb3){return db[_0x56ae('0x23')][_0x56ae('0x33')]({'where':{'id':_0x342444['params']['id']}})[_0x56ae('0x15')](handleEntityNotFound(_0xdcffb3,null))['then'](function(_0x11321b){if(_0x11321b){return _0x11321b[_0x56ae('0x75')](_0x342444[_0x56ae('0x35')][_0x56ae('0x53')],_[_0x56ae('0x76')](_0x342444[_0x56ae('0x35')],[_0x56ae('0x53'),'id'])||{})[_0x56ae('0x77')](function(_0xc595c4){for(var _0x189398=0x0;_0x189398<_0x342444['body'][_0x56ae('0x53')][_0x56ae('0x2f')];_0x189398+=0x1){socket[_0x56ae('0x5d')](_0x56ae('0x78'),{'UserId':Number(_0x342444[_0x56ae('0x35')][_0x56ae('0x53')][_0x189398]),'ChatQueueId':Number(_0x342444[_0x56ae('0x29')]['id'])});}return _0xc595c4;});}})['then'](respondWithResult(_0xdcffb3,null))[_0x56ae('0x28')](handleError(_0xdcffb3,null));};exports[_0x56ae('0x74')]=function(_0x94a57d,_0x3fcdcc){return db[_0x56ae('0x23')]['find']({'where':{'id':_0x94a57d[_0x56ae('0x29')]['id']}})[_0x56ae('0x15')](handleEntityNotFound(_0x3fcdcc,null))[_0x56ae('0x15')](function(_0x34dcdb){if(_0x34dcdb){return _0x34dcdb[_0x56ae('0x74')](_0x94a57d['query'][_0x56ae('0x53')])[_0x56ae('0x15')](function(){if(_['isArray'](_0x94a57d[_0x56ae('0x25')][_0x56ae('0x53')])){for(var _0x3ffdd9=0x0;_0x3ffdd9<_0x94a57d[_0x56ae('0x25')]['ids'][_0x56ae('0x2f')];_0x3ffdd9+=0x1){socket[_0x56ae('0x5d')](_0x56ae('0x79'),{'UserId':Number(_0x94a57d[_0x56ae('0x25')][_0x56ae('0x53')][_0x3ffdd9]),'ChatQueueId':Number(_0x94a57d[_0x56ae('0x29')]['id'])});}}else{socket['emit'](_0x56ae('0x79'),{'UserId':Number(_0x94a57d[_0x56ae('0x25')][_0x56ae('0x53')]),'ChatQueueId':Number(_0x94a57d[_0x56ae('0x29')]['id'])});}});}})[_0x56ae('0x15')](respondWithStatusCode(_0x3fcdcc,null))[_0x56ae('0x28')](handleError(_0x3fcdcc,null));};exports[_0x56ae('0x7a')]=function(_0x435e58,_0x2a1926){var _0x12288f={};var _0x5deaa9={};var _0x415125;var _0x1d5ec1;return db[_0x56ae('0x23')]['findOne']({'where':{'id':_0x435e58[_0x56ae('0x29')]['id']}})[_0x56ae('0x15')](handleEntityNotFound(_0x2a1926,null))[_0x56ae('0x15')](function(_0x4efcb8){if(_0x4efcb8){_0x415125=_0x4efcb8;_0x5deaa9[_0x56ae('0x2a')]=_[_0x56ae('0x2b')](db[_0x56ae('0x47')][_0x56ae('0x1f')]);_0x5deaa9['query']=_[_0x56ae('0x2b')](_0x435e58['query']);_0x5deaa9[_0x56ae('0x3f')]=_[_0x56ae('0x2d')](_0x5deaa9['model'],_0x5deaa9[_0x56ae('0x25')]);_0x12288f['attributes']=_['intersection'](_0x5deaa9[_0x56ae('0x2a')],qs[_0x56ae('0x2e')](_0x435e58[_0x56ae('0x25')]['fields']));_0x12288f[_0x56ae('0x2c')]=_0x12288f[_0x56ae('0x2c')][_0x56ae('0x2f')]?_0x12288f['attributes']:_0x5deaa9['model'];_0x12288f[_0x56ae('0x42')]=qs[_0x56ae('0x52')](_0x435e58[_0x56ae('0x25')]['sort']);_0x12288f[_0x56ae('0x43')]=qs[_0x56ae('0x3f')](_[_0x56ae('0x44')](_0x435e58[_0x56ae('0x25')],_0x5deaa9['filters']));if(_0x435e58['query']['filter']){_0x12288f[_0x56ae('0x43')]=_[_0x56ae('0x31')](_0x12288f[_0x56ae('0x43')],{'$or':_[_0x56ae('0x1e')](_0x12288f['attributes'],function(_0x1fd21c){var _0x5f42f0={};_0x5f42f0[_0x1fd21c]={'$like':'%'+_0x435e58['query']['filter']+'%'};return _0x5f42f0;})});}_0x12288f=_[_0x56ae('0x31')]({},_0x12288f,_0x435e58['options']);return _0x415125[_0x56ae('0x7a')](_0x12288f);}})[_0x56ae('0x15')](function(_0x3d21a3){if(_0x3d21a3){_0x1d5ec1=_0x3d21a3['length'];if(!_0x435e58[_0x56ae('0x25')][_0x56ae('0x40')]('nolimit')){_0x12288f[_0x56ae('0x12')]=qs[_0x56ae('0x12')](_0x435e58[_0x56ae('0x25')][_0x56ae('0x12')]);_0x12288f[_0x56ae('0x10')]=qs[_0x56ae('0x10')](_0x435e58[_0x56ae('0x25')][_0x56ae('0x10')]);}return _0x415125[_0x56ae('0x7a')](_0x12288f);}})[_0x56ae('0x15')](function(_0x5bb9e7){if(_0x5bb9e7){return _0x5bb9e7?{'count':_0x1d5ec1,'rows':_0x5bb9e7}:null;}})[_0x56ae('0x15')](respondWithResult(_0x2a1926,null))['catch'](handleError(_0x2a1926,null));};