52d41a35cccc83bab74550dc6e80200aa00e2bf7
[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 _0x535c=['find','params','describe','getMembers','findOne','UserChatQueue','keys','hasOwnProperty','order','sort','filters','ChatQueueId','merge','filter','options','findAll','findAndCountAll','map','agent','chatPause','updatedAt','createdAt','rows','%s/%s','SIP','getTeams','Team','pick','nolimit','ids','User','Agents','online','interface','sequelize','transaction','addTeams','each','removeTeams','select','field','tq.TeamId','from','join','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','every','TeamId','includes','union','compact','value','isEmpty','removeAgents','forEach','userChatQueue:remove','addAgents','spread','emit','userChatQueue:save','isArray','getAgents','bluebird','util','squel','ioredis','../../components/parsers/qs','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','sendStatus','status','end','json','offset','limit','undefined','count','set','then','destroy','get','error','stack','name','send','rawAttributes','fieldName','type','getOptions','where','include','query','ChatQueue','catch','show','model','intersection','fields','attributes','length','includeAll','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update'];(function(_0x4bec00,_0x4d673b){var _0x18a02e=function(_0x290fe6){while(--_0x290fe6){_0x4bec00['push'](_0x4bec00['shift']());}};_0x18a02e(++_0x4d673b);}(_0x535c,0x131));var _0xc535=function(_0x4f6afc,_0x4dfa88){_0x4f6afc=_0x4f6afc-0x0;var _0x256eeb=_0x535c[_0x4f6afc];return _0x256eeb;};'use strict';var BPromise=require(_0xc535('0x0'));var util=require(_0xc535('0x1'));var _=require('lodash');var squel=require(_0xc535('0x2'));var Redis=require(_0xc535('0x3'));var qs=require(_0xc535('0x4'));var logger=require('../../config/logger')('api');var config=require(_0xc535('0x5'));var db=require(_0xc535('0x6'))['db'];config['redis']=_[_0xc535('0x7')](config[_0xc535('0x8')],{'host':_0xc535('0x9'),'port':0x18eb});var socket=require(_0xc535('0xa'))(new Redis(config[_0xc535('0x8')]));require('./chatQueue.socket')[_0xc535('0xb')](socket);function respondWithStatusCode(_0x30d9d8,_0x282bb5){_0x282bb5=_0x282bb5||0xcc;return function(_0x50b5e8){if(_0x50b5e8){return _0x30d9d8[_0xc535('0xc')](_0x282bb5);}return _0x30d9d8[_0xc535('0xd')](_0x282bb5)[_0xc535('0xe')]();};}function respondWithResult(_0x573298,_0x43d777){_0x43d777=_0x43d777||0xc8;return function(_0x627ef6){if(_0x627ef6){return _0x573298[_0xc535('0xd')](_0x43d777)[_0xc535('0xf')](_0x627ef6);}};}function respondWithFilteredResult(_0x91bf46,_0x3f5855){return function(_0x17a2a6){if(_0x17a2a6){var _0x2bd1b4=typeof _0x3f5855[_0xc535('0x10')]==='undefined'&&typeof _0x3f5855[_0xc535('0x11')]===_0xc535('0x12');var _0x35f829=_0x17a2a6[_0xc535('0x13')];var _0x263b6c=_0x2bd1b4?0x0:_0x3f5855[_0xc535('0x10')];var _0x39c28f=_0x2bd1b4?_0x17a2a6[_0xc535('0x13')]:_0x3f5855[_0xc535('0x10')]+_0x3f5855[_0xc535('0x11')];var _0x47c0c2;if(_0x39c28f>=_0x35f829){_0x39c28f=_0x35f829;_0x47c0c2=0xc8;}else{_0x47c0c2=0xce;}_0x91bf46['status'](_0x47c0c2);return _0x91bf46[_0xc535('0x14')]('Content-Range',_0x263b6c+'-'+_0x39c28f+'/'+_0x35f829)[_0xc535('0xf')](_0x17a2a6);}return null;};}function saveUpdates(_0x3a596c){return function(_0x399354){if(_0x399354){return _0x399354['update'](_0x3a596c)[_0xc535('0x15')](function(_0x29114b){return _0x29114b;});}return null;};}function removeEntity(_0x59afef){return function(_0x2e0593){if(_0x2e0593){return _0x2e0593[_0xc535('0x16')]()[_0xc535('0x15')](function(){var _0x426f23=_0x2e0593[_0xc535('0x17')]({'plain':!![]});var _0x321f5b='ChatQueues';return db['UserProfileResource'][_0xc535('0x16')]({'where':{'type':_0x321f5b,'resourceId':_0x426f23['id']}})[_0xc535('0x15')](function(){return _0x2e0593;});})[_0xc535('0x15')](function(){_0x59afef[_0xc535('0xd')](0xcc)[_0xc535('0xe')]();});}};}function handleEntityNotFound(_0x2451b9){return function(_0x254c58){if(!_0x254c58){_0x2451b9[_0xc535('0xc')](0x194);}return _0x254c58;};}function handleError(_0x212e28,_0x57a818){_0x57a818=_0x57a818||0x1f4;return function(_0x2af66f){logger[_0xc535('0x18')](_0x2af66f[_0xc535('0x19')]);if(_0x2af66f[_0xc535('0x1a')]){delete _0x2af66f['name'];}_0x212e28[_0xc535('0xd')](_0x57a818)[_0xc535('0x1b')](_0x2af66f);};}exports['index']=function(_0x10f70f,_0x4b26aa){var _0x471ea7={};var _0x4ef53c={'count':0x0,'rows':[]};var _0x4d6f11=_['map'](db['ChatQueue'][_0xc535('0x1c')],function(_0x8b7202){return{'name':_0x8b7202[_0xc535('0x1d')],'type':_0x8b7202[_0xc535('0x1e')]['key']};});_0x471ea7=qs[_0xc535('0x1f')](_0x4d6f11,_0x10f70f);var _0x52a018={'where':_0x471ea7[_0xc535('0x20')]};return db['ChatQueue'][_0xc535('0x13')](_0x52a018)['then'](function(_0x3f244e){_0x4ef53c[_0xc535('0x13')]=_0x3f244e;_0x471ea7[_0xc535('0x21')]=qs['include'](_0x10f70f[_0xc535('0x22')]);return db[_0xc535('0x23')]['findAll'](_0x471ea7);})['then'](function(_0x476aff){_0x4ef53c['rows']=_0x476aff;return _0x4ef53c;})[_0xc535('0x15')](respondWithFilteredResult(_0x4b26aa,_0x471ea7))[_0xc535('0x24')](handleError(_0x4b26aa,null));};exports[_0xc535('0x25')]=function(_0x351071,_0x1ca736){var _0xcef36f={'raw':!![],'where':{'id':_0x351071['params']['id']}},_0x5ef666={};_0x5ef666[_0xc535('0x26')]=_['keys'](db[_0xc535('0x23')]['rawAttributes']);_0x5ef666[_0xc535('0x22')]=_['keys'](_0x351071['query']);_0x5ef666['filters']=_[_0xc535('0x27')](_0x5ef666[_0xc535('0x26')],_0x5ef666[_0xc535('0x22')]);_0xcef36f['attributes']=_[_0xc535('0x27')](_0x5ef666[_0xc535('0x26')],qs[_0xc535('0x28')](_0x351071[_0xc535('0x22')]['fields']));_0xcef36f[_0xc535('0x29')]=_0xcef36f[_0xc535('0x29')][_0xc535('0x2a')]?_0xcef36f[_0xc535('0x29')]:_0x5ef666[_0xc535('0x26')];if(_0x351071[_0xc535('0x22')][_0xc535('0x2b')]){_0xcef36f[_0xc535('0x21')]=[{'all':!![]}];}_0xcef36f=_['merge']({},_0xcef36f,_0x351071['options']);return db[_0xc535('0x23')]['find'](_0xcef36f)[_0xc535('0x15')](handleEntityNotFound(_0x1ca736,null))[_0xc535('0x15')](respondWithResult(_0x1ca736,null))[_0xc535('0x24')](handleError(_0x1ca736,null));};exports[_0xc535('0x2c')]=function(_0x3b072f,_0x487af9){return db[_0xc535('0x23')][_0xc535('0x2c')](_0x3b072f[_0xc535('0x2d')],{})[_0xc535('0x15')](function(_0x2c5784){var _0x355737=_0x3b072f[_0xc535('0x2e')][_0xc535('0x17')]({'plain':!![]});if(!_0x355737)throw new Error(_0xc535('0x2f'));if(_0x355737[_0xc535('0x30')]===_0xc535('0x2e')){var _0x55bcd6=_0x2c5784['get']({'plain':!![]});var _0x21ed92='ChatQueues';return db[_0xc535('0x31')]['find']({'where':{'name':_0x21ed92,'userProfileId':_0x355737[_0xc535('0x32')]},'raw':!![]})[_0xc535('0x15')](function(_0x58b8f6){if(_0x58b8f6&&_0x58b8f6[_0xc535('0x33')]===0x0){return db[_0xc535('0x34')][_0xc535('0x2c')]({'name':_0x55bcd6['name'],'resourceId':_0x55bcd6['id'],'type':_0x58b8f6['name'],'sectionId':_0x58b8f6['id']},{})[_0xc535('0x15')](function(){return _0x2c5784;});}else{return _0x2c5784;}})[_0xc535('0x24')](function(_0x4edf85){logger['error'](_0xc535('0x35'),_0x4edf85);throw _0x4edf85;});}return _0x2c5784;})[_0xc535('0x15')](respondWithResult(_0x487af9,0xc9))[_0xc535('0x24')](handleError(_0x487af9,null));};exports[_0xc535('0x36')]=function(_0x56ccff,_0x3fd15f){if(_0x56ccff[_0xc535('0x2d')]['id']){delete _0x56ccff['body']['id'];}return db[_0xc535('0x23')][_0xc535('0x37')]({'where':{'id':_0x56ccff[_0xc535('0x38')]['id']}})[_0xc535('0x15')](handleEntityNotFound(_0x3fd15f,null))[_0xc535('0x15')](saveUpdates(_0x56ccff[_0xc535('0x2d')],null))[_0xc535('0x15')](respondWithResult(_0x3fd15f,null))[_0xc535('0x24')](handleError(_0x3fd15f,null));};exports['destroy']=function(_0xf8f694,_0x29f5df){return db[_0xc535('0x23')][_0xc535('0x37')]({'where':{'id':_0xf8f694[_0xc535('0x38')]['id']}})[_0xc535('0x15')](handleEntityNotFound(_0x29f5df,null))[_0xc535('0x15')](removeEntity(_0x29f5df,null))[_0xc535('0x24')](handleError(_0x29f5df,null));};exports['describe']=function(_0x3b58d8,_0x59cdb3){return db['ChatQueue'][_0xc535('0x39')]()[_0xc535('0x15')](respondWithResult(_0x59cdb3,null))[_0xc535('0x24')](handleError(_0x59cdb3,null));};exports[_0xc535('0x3a')]=function(_0xab4bc0,_0x5e38a6){var _0x36bfed={'raw':!![],'where':{}},_0x4e9e15={},_0x4087a9;return db[_0xc535('0x23')][_0xc535('0x3b')]({'where':{'id':_0xab4bc0['params']['id']}})[_0xc535('0x15')](handleEntityNotFound(_0x5e38a6,null))[_0xc535('0x15')](function(_0x528735){if(_0x528735){_0x4087a9=_0x528735[_0xc535('0x17')]({'plain':!![]});_0x4e9e15[_0xc535('0x26')]=_['keys'](db[_0xc535('0x3c')][_0xc535('0x1c')]);_0x4e9e15['query']=_[_0xc535('0x3d')](_0xab4bc0['query']);_0x4e9e15['filters']=_['intersection'](_0x4e9e15[_0xc535('0x26')],_0x4e9e15[_0xc535('0x22')]);_0x36bfed[_0xc535('0x29')]=_[_0xc535('0x27')](_0x4e9e15[_0xc535('0x26')],qs[_0xc535('0x28')](_0xab4bc0[_0xc535('0x22')][_0xc535('0x28')]));_0x36bfed['attributes']=_0x36bfed[_0xc535('0x29')][_0xc535('0x2a')]?_0x36bfed[_0xc535('0x29')]:_0x4e9e15['model'];if(!_0xab4bc0[_0xc535('0x22')][_0xc535('0x3e')]('nolimit')){_0x36bfed[_0xc535('0x11')]=qs[_0xc535('0x11')](_0xab4bc0[_0xc535('0x22')][_0xc535('0x11')]);_0x36bfed['offset']=qs[_0xc535('0x10')](_0xab4bc0[_0xc535('0x22')][_0xc535('0x10')]);}_0x36bfed[_0xc535('0x3f')]=qs['sort'](_0xab4bc0[_0xc535('0x22')][_0xc535('0x40')]);_0x36bfed[_0xc535('0x20')]=qs[_0xc535('0x41')](_['pick'](_0xab4bc0[_0xc535('0x22')],_0x4e9e15[_0xc535('0x41')]));_0x36bfed[_0xc535('0x20')][_0xc535('0x42')]=_0x528735['id'];if(_0xab4bc0[_0xc535('0x22')]['filter']){_0x36bfed['where']=_[_0xc535('0x43')](_0x36bfed['where'],{'$or':_['map'](_0x36bfed[_0xc535('0x29')],function(_0x41312a){var _0x1bdbc3={};_0x1bdbc3[_0x41312a]={'$like':'%'+_0xab4bc0[_0xc535('0x22')][_0xc535('0x44')]+'%'};return _0x1bdbc3;})});}_0x36bfed=_['merge']({},_0x36bfed,_0xab4bc0[_0xc535('0x45')]);return db[_0xc535('0x3c')][_0xc535('0x46')](_0x36bfed);}})['then'](function(_0x1ad22b){if(_0x1ad22b){return db['User'][_0xc535('0x47')]({'where':{'id':_[_0xc535('0x48')](_0x1ad22b,'UserId'),'role':_0xc535('0x49')},'attributes':['id','name',_0xc535('0x4a'),_0xc535('0x4b'),_0xc535('0x4c')]});}})[_0xc535('0x15')](function(_0x14370b){if(_0x14370b){return{'count':_0x14370b['count'],'rows':_['map'](_0x14370b[_0xc535('0x4d')],function(_0x45be82){return{'membername':_0x45be82[_0xc535('0x1a')],'UserId':_0x45be82['id'],'queue_name':_0x4087a9[_0xc535('0x1a')],'ChatQueueId':_0x4087a9['id'],'interface':util['format'](_0xc535('0x4e'),_0xc535('0x4f'),_0x45be82['name']),'penalty':0x0,'paused':_0x45be82['chatPause'],'createdAt':_0x45be82[_0xc535('0x4c')],'updatedAt':_0x45be82[_0xc535('0x4b')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x5e38a6,_0x36bfed))[_0xc535('0x24')](handleError(_0x5e38a6,null));};exports[_0xc535('0x50')]=function(_0x23a2ba,_0x726c62){var _0x3b9126={};var _0x7f14a8={};var _0x2567fd;var _0x10d8f2;return db[_0xc535('0x23')]['findOne']({'where':{'id':_0x23a2ba[_0xc535('0x38')]['id']}})[_0xc535('0x15')](handleEntityNotFound(_0x726c62,null))[_0xc535('0x15')](function(_0x262614){if(_0x262614){_0x2567fd=_0x262614;_0x7f14a8[_0xc535('0x26')]=_[_0xc535('0x3d')](db[_0xc535('0x51')]['rawAttributes']);_0x7f14a8['query']=_[_0xc535('0x3d')](_0x23a2ba['query']);_0x7f14a8['filters']=_[_0xc535('0x27')](_0x7f14a8['model'],_0x7f14a8[_0xc535('0x22')]);_0x3b9126[_0xc535('0x29')]=_[_0xc535('0x27')](_0x7f14a8['model'],qs[_0xc535('0x28')](_0x23a2ba[_0xc535('0x22')][_0xc535('0x28')]));_0x3b9126[_0xc535('0x29')]=_0x3b9126[_0xc535('0x29')]['length']?_0x3b9126['attributes']:_0x7f14a8[_0xc535('0x26')];_0x3b9126[_0xc535('0x3f')]=qs['sort'](_0x23a2ba['query']['sort']);_0x3b9126[_0xc535('0x20')]=qs[_0xc535('0x41')](_[_0xc535('0x52')](_0x23a2ba['query'],_0x7f14a8[_0xc535('0x41')]));if(_0x23a2ba['query'][_0xc535('0x44')]){_0x3b9126[_0xc535('0x20')]=_[_0xc535('0x43')](_0x3b9126['where'],{'$or':_['map'](_0x3b9126['attributes'],function(_0x4ebbd8){var _0xf59aaa={};_0xf59aaa[_0x4ebbd8]={'$like':'%'+_0x23a2ba[_0xc535('0x22')]['filter']+'%'};return _0xf59aaa;})});}_0x3b9126=_[_0xc535('0x43')]({},_0x3b9126,_0x23a2ba[_0xc535('0x45')]);return _0x2567fd[_0xc535('0x50')](_0x3b9126);}})[_0xc535('0x15')](function(_0x8215e6){if(_0x8215e6){_0x10d8f2=_0x8215e6['length'];if(!_0x23a2ba[_0xc535('0x22')]['hasOwnProperty'](_0xc535('0x53'))){_0x3b9126[_0xc535('0x11')]=qs[_0xc535('0x11')](_0x23a2ba[_0xc535('0x22')][_0xc535('0x11')]);_0x3b9126['offset']=qs['offset'](_0x23a2ba[_0xc535('0x22')][_0xc535('0x10')]);}return _0x2567fd[_0xc535('0x50')](_0x3b9126);}})['then'](function(_0x454d28){if(_0x454d28){return _0x454d28?{'count':_0x10d8f2,'rows':_0x454d28}:null;}})['then'](respondWithResult(_0x726c62,null))[_0xc535('0x24')](handleError(_0x726c62,null));};exports['addTeams']=function(_0x562a7b,_0xa67501){var _0x3cd46d=_0x562a7b[_0xc535('0x2d')][_0xc535('0x54')];return db[_0xc535('0x51')]['findAll']({'where':{'id':_0x3cd46d},'attributes':['id'],'include':[{'model':db[_0xc535('0x55')],'as':_0xc535('0x56'),'attributes':['id','name',_0xc535('0x57'),'voicePause',_0xc535('0x58')],'raw':!![]}]})[_0xc535('0x15')](function(_0x537faf){if(_0x537faf){var _0x315e1a=_['flatMap'](_0x537faf,function(_0x3824f6){var _0x28f2ab=_0x3824f6[_0xc535('0x17')]({'plain':!![]});return _0x28f2ab[_0xc535('0x56')];});return db['ChatQueue']['find']({'where':{'id':_0x562a7b[_0xc535('0x38')]['id']}})[_0xc535('0x15')](function(_0x4b0a16){return db[_0xc535('0x59')][_0xc535('0x5a')](function(_0x3046ae){return _0x4b0a16[_0xc535('0x5b')](_0x3cd46d,{'transaction':_0x3046ae})[_0xc535('0x15')](function(){return BPromise[_0xc535('0x5c')](_0x315e1a,function(_0x15e94f){return db[_0xc535('0x3c')]['findOrCreate']({'where':{'UserId':_0x15e94f['id'],'ChatQueueId':_0x562a7b[_0xc535('0x38')]['id']},'transaction':_0x3046ae});});})[_0xc535('0x15')](function(){_0x315e1a['forEach'](function(_0x353833){socket['emit']('userChatQueue:save',{'UserId':_0x353833['id'],'ChatQueueId':_0x4b0a16['id']});});});});});}})[_0xc535('0x15')](respondWithStatusCode(_0xa67501,null))[_0xc535('0x24')](handleError(_0xa67501,null));};exports[_0xc535('0x5d')]=function(_0x9cda5d,_0x6705d4){return db[_0xc535('0x51')][_0xc535('0x46')]({'where':{'id':_0x9cda5d[_0xc535('0x22')][_0xc535('0x54')]},'attributes':['id'],'include':[{'model':db[_0xc535('0x55')],'as':_0xc535('0x56'),'attributes':['id'],'raw':!![]}]})[_0xc535('0x15')](handleEntityNotFound(_0x6705d4,null))[_0xc535('0x15')](function(_0x3316e4){var _0x1d4931=_[_0xc535('0x48')](_0x3316e4,'id');var _0x4bc425=[];var _0x356a3e=[];var _0x218485=squel[_0xc535('0x5e')]();_0x218485[_0xc535('0x5f')](_0xc535('0x60'))[_0xc535('0x61')]('team_has_chat_queues','tq')[_0xc535('0x62')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0xc535('0x63'),_0x9cda5d[_0xc535('0x38')]['id']);for(var _0x17a82d=0x0;_0x17a82d<_0x3316e4[_0xc535('0x2a')];_0x17a82d+=0x1){let _0x5ba034=_0x3316e4[_0x17a82d];for(var _0x111c27=0x0;_0x111c27<_0x5ba034[_0xc535('0x56')][_0xc535('0x2a')];_0x111c27+=0x1){let _0x46c55b=_0x5ba034[_0xc535('0x56')][_0x111c27];var _0x3b0beb=_0x218485[_0xc535('0x64')]();_0x3b0beb[_0xc535('0x20')](_0xc535('0x65'),_0x46c55b['id']);_0x356a3e[_0xc535('0x66')](db['sequelize']['query'](_0x3b0beb[_0xc535('0x67')](),{'type':db[_0xc535('0x59')]['QueryTypes']['SELECT']})['then'](function(_0x22ad6a){if(_0x22ad6a[_0xc535('0x2a')]===0x1){return _0x46c55b['id'];}else{var _0x28b339=_[_0xc535('0x68')](_[_0xc535('0x48')](_0x22ad6a,_0xc535('0x69')),function(_0x33fada){return _[_0xc535('0x6a')](_0x1d4931,_0x33fada);});if(_0x28b339){return _0x46c55b['id'];}}}));}}return BPromise['all'](_0x356a3e)['then'](function(_0x3a5a9d){_0x4bc425=_(_0x4bc425)[_0xc535('0x6b')](_0x3a5a9d)[_0xc535('0x6c')]()[_0xc535('0x6d')]();return db[_0xc535('0x23')][_0xc535('0x37')]({'where':{'id':_0x9cda5d['params']['id']}})[_0xc535('0x15')](function(_0x3f0b21){return db[_0xc535('0x59')][_0xc535('0x5a')](function(_0x2f4a1d){return _0x3f0b21[_0xc535('0x5d')](_0x9cda5d[_0xc535('0x22')][_0xc535('0x54')],{'transaction':_0x2f4a1d})['then'](function(){if(!_[_0xc535('0x6e')](_0x4bc425)){return _0x3f0b21[_0xc535('0x6f')](_0x4bc425,{'transaction':_0x2f4a1d});}})[_0xc535('0x15')](function(){_0x4bc425[_0xc535('0x70')](function(_0x2e3e6b){socket['emit'](_0xc535('0x71'),{'UserId':_0x2e3e6b,'ChatQueueId':_0x3f0b21['id']});});});});});});})[_0xc535('0x15')](respondWithStatusCode(_0x6705d4,null))[_0xc535('0x24')](handleError(_0x6705d4,null));};exports[_0xc535('0x72')]=function(_0x2725cb,_0x335973){return db[_0xc535('0x23')][_0xc535('0x37')]({'where':{'id':_0x2725cb['params']['id']}})[_0xc535('0x15')](handleEntityNotFound(_0x335973,null))[_0xc535('0x15')](function(_0x6de2ea){if(_0x6de2ea){return _0x6de2ea[_0xc535('0x72')](_0x2725cb[_0xc535('0x2d')][_0xc535('0x54')],_['omit'](_0x2725cb['body'],[_0xc535('0x54'),'id'])||{})[_0xc535('0x73')](function(_0x2f5d3e){for(var _0x4c5f79=0x0;_0x4c5f79<_0x2725cb['body'][_0xc535('0x54')][_0xc535('0x2a')];_0x4c5f79+=0x1){socket[_0xc535('0x74')](_0xc535('0x75'),{'UserId':Number(_0x2725cb[_0xc535('0x2d')]['ids'][_0x4c5f79]),'ChatQueueId':Number(_0x2725cb['params']['id'])});}return _0x2f5d3e;});}})[_0xc535('0x15')](respondWithResult(_0x335973,null))[_0xc535('0x24')](handleError(_0x335973,null));};exports[_0xc535('0x6f')]=function(_0x29a968,_0x34cf17){return db[_0xc535('0x23')][_0xc535('0x37')]({'where':{'id':_0x29a968['params']['id']}})['then'](handleEntityNotFound(_0x34cf17,null))[_0xc535('0x15')](function(_0x16911b){if(_0x16911b){return _0x16911b['removeAgents'](_0x29a968[_0xc535('0x22')][_0xc535('0x54')])[_0xc535('0x15')](function(){if(_[_0xc535('0x76')](_0x29a968[_0xc535('0x22')][_0xc535('0x54')])){for(var _0xd4982e=0x0;_0xd4982e<_0x29a968[_0xc535('0x22')][_0xc535('0x54')][_0xc535('0x2a')];_0xd4982e+=0x1){socket[_0xc535('0x74')](_0xc535('0x71'),{'UserId':Number(_0x29a968[_0xc535('0x22')][_0xc535('0x54')][_0xd4982e]),'ChatQueueId':Number(_0x29a968[_0xc535('0x38')]['id'])});}}else{socket[_0xc535('0x74')](_0xc535('0x71'),{'UserId':Number(_0x29a968['query'][_0xc535('0x54')]),'ChatQueueId':Number(_0x29a968[_0xc535('0x38')]['id'])});}});}})[_0xc535('0x15')](respondWithStatusCode(_0x34cf17,null))[_0xc535('0x24')](handleError(_0x34cf17,null));};exports[_0xc535('0x77')]=function(_0x21737b,_0x4db3ed){var _0x5e1d9d={};var _0x5bd6f5={};var _0x409bd2;var _0x1c7879;return db[_0xc535('0x23')][_0xc535('0x3b')]({'where':{'id':_0x21737b[_0xc535('0x38')]['id']}})[_0xc535('0x15')](handleEntityNotFound(_0x4db3ed,null))[_0xc535('0x15')](function(_0x52a832){if(_0x52a832){_0x409bd2=_0x52a832;_0x5bd6f5[_0xc535('0x26')]=_[_0xc535('0x3d')](db['User'][_0xc535('0x1c')]);_0x5bd6f5['query']=_[_0xc535('0x3d')](_0x21737b[_0xc535('0x22')]);_0x5bd6f5['filters']=_[_0xc535('0x27')](_0x5bd6f5[_0xc535('0x26')],_0x5bd6f5[_0xc535('0x22')]);_0x5e1d9d['attributes']=_[_0xc535('0x27')](_0x5bd6f5[_0xc535('0x26')],qs['fields'](_0x21737b['query']['fields']));_0x5e1d9d['attributes']=_0x5e1d9d[_0xc535('0x29')][_0xc535('0x2a')]?_0x5e1d9d[_0xc535('0x29')]:_0x5bd6f5['model'];_0x5e1d9d[_0xc535('0x3f')]=qs[_0xc535('0x40')](_0x21737b['query'][_0xc535('0x40')]);_0x5e1d9d[_0xc535('0x20')]=qs[_0xc535('0x41')](_['pick'](_0x21737b[_0xc535('0x22')],_0x5bd6f5[_0xc535('0x41')]));if(_0x21737b[_0xc535('0x22')][_0xc535('0x44')]){_0x5e1d9d[_0xc535('0x20')]=_[_0xc535('0x43')](_0x5e1d9d['where'],{'$or':_[_0xc535('0x48')](_0x5e1d9d[_0xc535('0x29')],function(_0x4d8e21){var _0x4657dc={};_0x4657dc[_0x4d8e21]={'$like':'%'+_0x21737b[_0xc535('0x22')]['filter']+'%'};return _0x4657dc;})});}_0x5e1d9d=_[_0xc535('0x43')]({},_0x5e1d9d,_0x21737b[_0xc535('0x45')]);return _0x409bd2[_0xc535('0x77')](_0x5e1d9d);}})[_0xc535('0x15')](function(_0x105d74){if(_0x105d74){_0x1c7879=_0x105d74[_0xc535('0x2a')];if(!_0x21737b[_0xc535('0x22')][_0xc535('0x3e')](_0xc535('0x53'))){_0x5e1d9d['limit']=qs['limit'](_0x21737b[_0xc535('0x22')][_0xc535('0x11')]);_0x5e1d9d['offset']=qs[_0xc535('0x10')](_0x21737b[_0xc535('0x22')]['offset']);}return _0x409bd2[_0xc535('0x77')](_0x5e1d9d);}})[_0xc535('0x15')](function(_0x2790ff){if(_0x2790ff){return _0x2790ff?{'count':_0x1c7879,'rows':_0x2790ff}:null;}})['then'](respondWithResult(_0x4db3ed,null))[_0xc535('0x24')](handleError(_0x4db3ed,null));};