Built motion from commit 351e7f9c.|2.6.31
[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 _0x1417=['pick','ChatQueueId','filter','merge','options','findAll','User','agent','updatedAt','createdAt','format','%s/%s','SIP','chatPause','Team','fields','nolimit','getTeams','ids','online','voicePause','interface','flatMap','sequelize','transaction','addTeams','findOrCreate','forEach','userChatQueue:save','removeTeams','select','field','from','team_has_chat_queues','join','user_has_teams','ChatQueueId\x20=\x20?','Agents','clone','push','toString','QueryTypes','every','TeamId','includes','all','union','isEmpty','removeAgents','emit','userChatQueue:remove','addAgents','omit','spread','getAgents','bluebird','util','lodash','squel','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','./chatQueue.socket','register','status','end','offset','undefined','count','limit','set','Content-Range','json','update','then','UserProfileResource','destroy','error','stack','send','index','map','rawAttributes','fieldName','type','key','getOptions','where','ChatQueue','include','query','rows','catch','show','model','keys','filters','intersection','attributes','length','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','ChatQueues','UserProfileSection','userProfileId','autoAssociation','name','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','findOne','UserChatQueue','hasOwnProperty','order','sort'];(function(_0x82a203,_0x53611f){var _0x598edb=function(_0x42912f){while(--_0x42912f){_0x82a203['push'](_0x82a203['shift']());}};_0x598edb(++_0x53611f);}(_0x1417,0x135));var _0x7141=function(_0x434e19,_0x557e7a){_0x434e19=_0x434e19-0x0;var _0x57739d=_0x1417[_0x434e19];return _0x57739d;};'use strict';var BPromise=require(_0x7141('0x0'));var util=require(_0x7141('0x1'));var _=require(_0x7141('0x2'));var squel=require(_0x7141('0x3'));var Redis=require(_0x7141('0x4'));var qs=require(_0x7141('0x5'));var logger=require(_0x7141('0x6'))(_0x7141('0x7'));var config=require(_0x7141('0x8'));var db=require(_0x7141('0x9'))['db'];config[_0x7141('0xa')]=_[_0x7141('0xb')](config['redis'],{'host':_0x7141('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x7141('0xd'))[_0x7141('0xe')](socket);function respondWithStatusCode(_0x28dfa6,_0x14b72d){_0x14b72d=_0x14b72d||0xcc;return function(_0x39e0b1){if(_0x39e0b1){return _0x28dfa6['sendStatus'](_0x14b72d);}return _0x28dfa6[_0x7141('0xf')](_0x14b72d)[_0x7141('0x10')]();};}function respondWithResult(_0x450b29,_0x5daf08){_0x5daf08=_0x5daf08||0xc8;return function(_0x5d17f6){if(_0x5d17f6){return _0x450b29[_0x7141('0xf')](_0x5daf08)['json'](_0x5d17f6);}};}function respondWithFilteredResult(_0xb656b5,_0x526dac){return function(_0xfbf726){if(_0xfbf726){var _0x54a8f7=typeof _0x526dac[_0x7141('0x11')]==='undefined'&&typeof _0x526dac['limit']===_0x7141('0x12');var _0x3b96e6=_0xfbf726[_0x7141('0x13')];var _0x36c0d1=_0x54a8f7?0x0:_0x526dac[_0x7141('0x11')];var _0x485fed=_0x54a8f7?_0xfbf726['count']:_0x526dac[_0x7141('0x11')]+_0x526dac[_0x7141('0x14')];var _0x347a35;if(_0x485fed>=_0x3b96e6){_0x485fed=_0x3b96e6;_0x347a35=0xc8;}else{_0x347a35=0xce;}_0xb656b5['status'](_0x347a35);return _0xb656b5[_0x7141('0x15')](_0x7141('0x16'),_0x36c0d1+'-'+_0x485fed+'/'+_0x3b96e6)[_0x7141('0x17')](_0xfbf726);}return null;};}function saveUpdates(_0x1ee021){return function(_0x3da9c8){if(_0x3da9c8){return _0x3da9c8[_0x7141('0x18')](_0x1ee021)[_0x7141('0x19')](function(_0x2d2172){return _0x2d2172;});}return null;};}function removeEntity(_0x314c46){return function(_0x132a40){if(_0x132a40){return _0x132a40['destroy']()[_0x7141('0x19')](function(){var _0x584e11=_0x132a40['get']({'plain':!![]});var _0x3a1196='ChatQueues';return db[_0x7141('0x1a')][_0x7141('0x1b')]({'where':{'type':_0x3a1196,'resourceId':_0x584e11['id']}})['then'](function(){return _0x132a40;});})['then'](function(){_0x314c46[_0x7141('0xf')](0xcc)[_0x7141('0x10')]();});}};}function handleEntityNotFound(_0x241b3f){return function(_0x58ffe8){if(!_0x58ffe8){_0x241b3f['sendStatus'](0x194);}return _0x58ffe8;};}function handleError(_0x2b8241,_0x21aa3f){_0x21aa3f=_0x21aa3f||0x1f4;return function(_0x4c65fd){logger[_0x7141('0x1c')](_0x4c65fd[_0x7141('0x1d')]);if(_0x4c65fd['name']){delete _0x4c65fd['name'];}_0x2b8241[_0x7141('0xf')](_0x21aa3f)[_0x7141('0x1e')](_0x4c65fd);};}exports[_0x7141('0x1f')]=function(_0x12d663,_0x29b82e){var _0x3e7a96={};var _0x200ad4={'count':0x0,'rows':[]};var _0x19f44d=_[_0x7141('0x20')](db['ChatQueue'][_0x7141('0x21')],function(_0x537554){return{'name':_0x537554[_0x7141('0x22')],'type':_0x537554[_0x7141('0x23')][_0x7141('0x24')]};});_0x3e7a96=qs[_0x7141('0x25')](_0x19f44d,_0x12d663);var _0x33680a={'where':_0x3e7a96[_0x7141('0x26')]};return db[_0x7141('0x27')][_0x7141('0x13')](_0x33680a)['then'](function(_0x29699c){_0x200ad4[_0x7141('0x13')]=_0x29699c;_0x3e7a96['include']=qs[_0x7141('0x28')](_0x12d663[_0x7141('0x29')]);return db['ChatQueue']['findAll'](_0x3e7a96);})['then'](function(_0x37e63e){_0x200ad4[_0x7141('0x2a')]=_0x37e63e;return _0x200ad4;})['then'](respondWithFilteredResult(_0x29b82e,_0x3e7a96))[_0x7141('0x2b')](handleError(_0x29b82e,null));};exports[_0x7141('0x2c')]=function(_0x4e14d8,_0x332ec2){var _0x258a4e={'raw':!![],'where':{'id':_0x4e14d8['params']['id']}},_0xa84f5b={};_0xa84f5b[_0x7141('0x2d')]=_[_0x7141('0x2e')](db['ChatQueue'][_0x7141('0x21')]);_0xa84f5b[_0x7141('0x29')]=_['keys'](_0x4e14d8[_0x7141('0x29')]);_0xa84f5b[_0x7141('0x2f')]=_[_0x7141('0x30')](_0xa84f5b['model'],_0xa84f5b[_0x7141('0x29')]);_0x258a4e[_0x7141('0x31')]=_[_0x7141('0x30')](_0xa84f5b[_0x7141('0x2d')],qs['fields'](_0x4e14d8['query']['fields']));_0x258a4e['attributes']=_0x258a4e[_0x7141('0x31')][_0x7141('0x32')]?_0x258a4e['attributes']:_0xa84f5b[_0x7141('0x2d')];if(_0x4e14d8[_0x7141('0x29')][_0x7141('0x33')]){_0x258a4e[_0x7141('0x28')]=[{'all':!![]}];}_0x258a4e=_['merge']({},_0x258a4e,_0x4e14d8['options']);return db['ChatQueue'][_0x7141('0x34')](_0x258a4e)[_0x7141('0x19')](handleEntityNotFound(_0x332ec2,null))[_0x7141('0x19')](respondWithResult(_0x332ec2,null))[_0x7141('0x2b')](handleError(_0x332ec2,null));};exports['create']=function(_0x1dae6e,_0x4695e3){return db[_0x7141('0x27')][_0x7141('0x35')](_0x1dae6e[_0x7141('0x36')],{})[_0x7141('0x19')](function(_0xb7fea6){var _0x26c19b=_0x1dae6e[_0x7141('0x37')]['get']({'plain':!![]});if(!_0x26c19b)throw new Error(_0x7141('0x38'));if(_0x26c19b[_0x7141('0x39')]===_0x7141('0x37')){var _0x8c2b16=_0xb7fea6[_0x7141('0x3a')]({'plain':!![]});var _0x3f06c0=_0x7141('0x3b');return db[_0x7141('0x3c')]['find']({'where':{'name':_0x3f06c0,'userProfileId':_0x26c19b[_0x7141('0x3d')]},'raw':!![]})[_0x7141('0x19')](function(_0x2af63c){if(_0x2af63c&&_0x2af63c[_0x7141('0x3e')]===0x0){return db[_0x7141('0x1a')][_0x7141('0x35')]({'name':_0x8c2b16['name'],'resourceId':_0x8c2b16['id'],'type':_0x2af63c[_0x7141('0x3f')],'sectionId':_0x2af63c['id']},{})['then'](function(){return _0xb7fea6;});}else{return _0xb7fea6;}})[_0x7141('0x2b')](function(_0x51e6ef){logger[_0x7141('0x1c')](_0x7141('0x40'),_0x51e6ef);throw _0x51e6ef;});}return _0xb7fea6;})[_0x7141('0x19')](respondWithResult(_0x4695e3,0xc9))[_0x7141('0x2b')](handleError(_0x4695e3,null));};exports['update']=function(_0x292416,_0x2ce4df){if(_0x292416[_0x7141('0x36')]['id']){delete _0x292416[_0x7141('0x36')]['id'];}return db[_0x7141('0x27')][_0x7141('0x34')]({'where':{'id':_0x292416['params']['id']}})[_0x7141('0x19')](handleEntityNotFound(_0x2ce4df,null))[_0x7141('0x19')](saveUpdates(_0x292416['body'],null))[_0x7141('0x19')](respondWithResult(_0x2ce4df,null))[_0x7141('0x2b')](handleError(_0x2ce4df,null));};exports[_0x7141('0x1b')]=function(_0x4a2db5,_0xbf600a){return db[_0x7141('0x27')][_0x7141('0x34')]({'where':{'id':_0x4a2db5[_0x7141('0x41')]['id']}})[_0x7141('0x19')](handleEntityNotFound(_0xbf600a,null))[_0x7141('0x19')](removeEntity(_0xbf600a,null))['catch'](handleError(_0xbf600a,null));};exports[_0x7141('0x42')]=function(_0x2b9b23,_0x456c71){return db['ChatQueue'][_0x7141('0x42')]()['then'](respondWithResult(_0x456c71,null))['catch'](handleError(_0x456c71,null));};exports['getMembers']=function(_0x2141dc,_0x3efbea){var _0x332563={'raw':!![],'where':{}},_0x56dd8={},_0x5c9bfe;return db[_0x7141('0x27')][_0x7141('0x43')]({'where':{'id':_0x2141dc[_0x7141('0x41')]['id']}})[_0x7141('0x19')](handleEntityNotFound(_0x3efbea,null))['then'](function(_0x1f05e1){if(_0x1f05e1){_0x5c9bfe=_0x1f05e1['get']({'plain':!![]});_0x56dd8[_0x7141('0x2d')]=_[_0x7141('0x2e')](db[_0x7141('0x44')][_0x7141('0x21')]);_0x56dd8[_0x7141('0x29')]=_[_0x7141('0x2e')](_0x2141dc[_0x7141('0x29')]);_0x56dd8[_0x7141('0x2f')]=_[_0x7141('0x30')](_0x56dd8[_0x7141('0x2d')],_0x56dd8['query']);_0x332563['attributes']=_[_0x7141('0x30')](_0x56dd8[_0x7141('0x2d')],qs['fields'](_0x2141dc[_0x7141('0x29')]['fields']));_0x332563[_0x7141('0x31')]=_0x332563[_0x7141('0x31')][_0x7141('0x32')]?_0x332563[_0x7141('0x31')]:_0x56dd8['model'];if(!_0x2141dc[_0x7141('0x29')][_0x7141('0x45')]('nolimit')){_0x332563[_0x7141('0x14')]=qs[_0x7141('0x14')](_0x2141dc[_0x7141('0x29')][_0x7141('0x14')]);_0x332563[_0x7141('0x11')]=qs[_0x7141('0x11')](_0x2141dc['query'][_0x7141('0x11')]);}_0x332563[_0x7141('0x46')]=qs[_0x7141('0x47')](_0x2141dc['query'][_0x7141('0x47')]);_0x332563[_0x7141('0x26')]=qs['filters'](_[_0x7141('0x48')](_0x2141dc[_0x7141('0x29')],_0x56dd8[_0x7141('0x2f')]));_0x332563[_0x7141('0x26')][_0x7141('0x49')]=_0x1f05e1['id'];if(_0x2141dc[_0x7141('0x29')][_0x7141('0x4a')]){_0x332563[_0x7141('0x26')]=_['merge'](_0x332563[_0x7141('0x26')],{'$or':_['map'](_0x332563['attributes'],function(_0x4494e8){var _0x6cc2e2={};_0x6cc2e2[_0x4494e8]={'$like':'%'+_0x2141dc[_0x7141('0x29')][_0x7141('0x4a')]+'%'};return _0x6cc2e2;})});}_0x332563=_[_0x7141('0x4b')]({},_0x332563,_0x2141dc[_0x7141('0x4c')]);return db[_0x7141('0x44')][_0x7141('0x4d')](_0x332563);}})['then'](function(_0x1f3034){if(_0x1f3034){return db[_0x7141('0x4e')]['findAndCountAll']({'where':{'id':_['map'](_0x1f3034,'UserId'),'role':_0x7141('0x4f')},'attributes':['id',_0x7141('0x3f'),'chatPause',_0x7141('0x50'),_0x7141('0x51')]});}})[_0x7141('0x19')](function(_0x6c2087){if(_0x6c2087){return{'count':_0x6c2087[_0x7141('0x13')],'rows':_[_0x7141('0x20')](_0x6c2087[_0x7141('0x2a')],function(_0x954877){return{'membername':_0x954877['name'],'UserId':_0x954877['id'],'queue_name':_0x5c9bfe[_0x7141('0x3f')],'ChatQueueId':_0x5c9bfe['id'],'interface':util[_0x7141('0x52')](_0x7141('0x53'),_0x7141('0x54'),_0x954877[_0x7141('0x3f')]),'penalty':0x0,'paused':_0x954877[_0x7141('0x55')],'createdAt':_0x954877[_0x7141('0x51')],'updatedAt':_0x954877[_0x7141('0x50')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x7141('0x19')](respondWithFilteredResult(_0x3efbea,_0x332563))[_0x7141('0x2b')](handleError(_0x3efbea,null));};exports['getTeams']=function(_0x2e5abe,_0x411554){var _0x36c248={};var _0x31f9de={};var _0x3cd37a;var _0x49835b;return db['ChatQueue'][_0x7141('0x43')]({'where':{'id':_0x2e5abe['params']['id']}})[_0x7141('0x19')](handleEntityNotFound(_0x411554,null))['then'](function(_0x76815e){if(_0x76815e){_0x3cd37a=_0x76815e;_0x31f9de[_0x7141('0x2d')]=_['keys'](db[_0x7141('0x56')][_0x7141('0x21')]);_0x31f9de[_0x7141('0x29')]=_[_0x7141('0x2e')](_0x2e5abe[_0x7141('0x29')]);_0x31f9de[_0x7141('0x2f')]=_['intersection'](_0x31f9de[_0x7141('0x2d')],_0x31f9de['query']);_0x36c248[_0x7141('0x31')]=_[_0x7141('0x30')](_0x31f9de['model'],qs[_0x7141('0x57')](_0x2e5abe[_0x7141('0x29')][_0x7141('0x57')]));_0x36c248[_0x7141('0x31')]=_0x36c248[_0x7141('0x31')][_0x7141('0x32')]?_0x36c248[_0x7141('0x31')]:_0x31f9de[_0x7141('0x2d')];_0x36c248[_0x7141('0x46')]=qs[_0x7141('0x47')](_0x2e5abe[_0x7141('0x29')][_0x7141('0x47')]);_0x36c248['where']=qs[_0x7141('0x2f')](_[_0x7141('0x48')](_0x2e5abe[_0x7141('0x29')],_0x31f9de[_0x7141('0x2f')]));if(_0x2e5abe['query']['filter']){_0x36c248[_0x7141('0x26')]=_['merge'](_0x36c248['where'],{'$or':_[_0x7141('0x20')](_0x36c248[_0x7141('0x31')],function(_0x3d742e){var _0x465e53={};_0x465e53[_0x3d742e]={'$like':'%'+_0x2e5abe[_0x7141('0x29')][_0x7141('0x4a')]+'%'};return _0x465e53;})});}_0x36c248=_[_0x7141('0x4b')]({},_0x36c248,_0x2e5abe['options']);return _0x3cd37a['getTeams'](_0x36c248);}})[_0x7141('0x19')](function(_0x1f76e7){if(_0x1f76e7){_0x49835b=_0x1f76e7[_0x7141('0x32')];if(!_0x2e5abe[_0x7141('0x29')][_0x7141('0x45')](_0x7141('0x58'))){_0x36c248['limit']=qs[_0x7141('0x14')](_0x2e5abe['query'][_0x7141('0x14')]);_0x36c248['offset']=qs[_0x7141('0x11')](_0x2e5abe[_0x7141('0x29')][_0x7141('0x11')]);}return _0x3cd37a[_0x7141('0x59')](_0x36c248);}})[_0x7141('0x19')](function(_0x1a659d){if(_0x1a659d){return _0x1a659d?{'count':_0x49835b,'rows':_0x1a659d}:null;}})[_0x7141('0x19')](respondWithResult(_0x411554,null))[_0x7141('0x2b')](handleError(_0x411554,null));};exports['addTeams']=function(_0x2ca9ea,_0x380cef){var _0x84e0bf=_0x2ca9ea[_0x7141('0x36')][_0x7141('0x5a')];return db[_0x7141('0x56')][_0x7141('0x4d')]({'where':{'id':_0x84e0bf},'attributes':['id'],'include':[{'model':db[_0x7141('0x4e')],'as':'Agents','attributes':['id',_0x7141('0x3f'),_0x7141('0x5b'),_0x7141('0x5c'),_0x7141('0x5d')],'raw':!![]}]})['then'](function(_0x340d3a){if(_0x340d3a){var _0x3c99c4=_[_0x7141('0x5e')](_0x340d3a,function(_0x5f0815){var _0x22fa6e=_0x5f0815[_0x7141('0x3a')]({'plain':!![]});return _0x22fa6e['Agents'];});return db[_0x7141('0x27')][_0x7141('0x34')]({'where':{'id':_0x2ca9ea[_0x7141('0x41')]['id']}})[_0x7141('0x19')](function(_0x10fb18){return db[_0x7141('0x5f')][_0x7141('0x60')](function(_0x1d339e){return _0x10fb18[_0x7141('0x61')](_0x84e0bf,{'transaction':_0x1d339e})['then'](function(){return BPromise['each'](_0x3c99c4,function(_0x15dd36){return db[_0x7141('0x44')][_0x7141('0x62')]({'where':{'UserId':_0x15dd36['id'],'ChatQueueId':_0x2ca9ea[_0x7141('0x41')]['id']},'transaction':_0x1d339e});});})['then'](function(){_0x3c99c4[_0x7141('0x63')](function(_0x3209ed){socket['emit'](_0x7141('0x64'),{'UserId':_0x3209ed['id'],'ChatQueueId':_0x10fb18['id']});});});});});}})[_0x7141('0x19')](respondWithStatusCode(_0x380cef,null))[_0x7141('0x2b')](handleError(_0x380cef,null));};exports[_0x7141('0x65')]=function(_0x5813a4,_0x1962ca){return db[_0x7141('0x56')]['findAll']({'where':{'id':_0x5813a4[_0x7141('0x29')][_0x7141('0x5a')]},'attributes':['id'],'include':[{'model':db[_0x7141('0x4e')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x7141('0x19')](handleEntityNotFound(_0x1962ca,null))[_0x7141('0x19')](function(_0x3b99b8){var _0xd7b3c5=_[_0x7141('0x20')](_0x3b99b8,'id');var _0x185a4a=[];var _0x36aaaa=[];var _0x2e27a7=squel[_0x7141('0x66')]();_0x2e27a7[_0x7141('0x67')]('tq.TeamId')[_0x7141('0x68')](_0x7141('0x69'),'tq')[_0x7141('0x6a')](_0x7141('0x6b'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x7141('0x26')](_0x7141('0x6c'),_0x5813a4['params']['id']);for(var _0x262412=0x0;_0x262412<_0x3b99b8[_0x7141('0x32')];_0x262412+=0x1){let _0x13ed86=_0x3b99b8[_0x262412];for(var _0x2d89b0=0x0;_0x2d89b0<_0x13ed86['Agents']['length'];_0x2d89b0+=0x1){let _0x23c946=_0x13ed86[_0x7141('0x6d')][_0x2d89b0];var _0x321e48=_0x2e27a7[_0x7141('0x6e')]();_0x321e48[_0x7141('0x26')]('ut.UserId\x20=\x20?',_0x23c946['id']);_0x36aaaa[_0x7141('0x6f')](db[_0x7141('0x5f')][_0x7141('0x29')](_0x321e48[_0x7141('0x70')](),{'type':db[_0x7141('0x5f')][_0x7141('0x71')]['SELECT']})[_0x7141('0x19')](function(_0x2eb7ba){if(_0x2eb7ba[_0x7141('0x32')]===0x1){return _0x23c946['id'];}else{var _0xf717e=_[_0x7141('0x72')](_[_0x7141('0x20')](_0x2eb7ba,_0x7141('0x73')),function(_0x229cbe){return _[_0x7141('0x74')](_0xd7b3c5,_0x229cbe);});if(_0xf717e){return _0x23c946['id'];}}}));}}return BPromise[_0x7141('0x75')](_0x36aaaa)[_0x7141('0x19')](function(_0x9f32da){_0x185a4a=_(_0x185a4a)[_0x7141('0x76')](_0x9f32da)['compact']()['value']();return db[_0x7141('0x27')][_0x7141('0x34')]({'where':{'id':_0x5813a4[_0x7141('0x41')]['id']}})[_0x7141('0x19')](function(_0x12790a){return db['sequelize'][_0x7141('0x60')](function(_0x254055){return _0x12790a[_0x7141('0x65')](_0x5813a4['query'][_0x7141('0x5a')],{'transaction':_0x254055})[_0x7141('0x19')](function(){if(!_[_0x7141('0x77')](_0x185a4a)){return _0x12790a[_0x7141('0x78')](_0x185a4a,{'transaction':_0x254055});}})[_0x7141('0x19')](function(){_0x185a4a['forEach'](function(_0x464b31){socket[_0x7141('0x79')](_0x7141('0x7a'),{'UserId':_0x464b31,'ChatQueueId':_0x12790a['id']});});});});});});})[_0x7141('0x19')](respondWithStatusCode(_0x1962ca,null))[_0x7141('0x2b')](handleError(_0x1962ca,null));};exports[_0x7141('0x7b')]=function(_0x278bea,_0x542bc1){return db[_0x7141('0x27')][_0x7141('0x34')]({'where':{'id':_0x278bea['params']['id']}})[_0x7141('0x19')](handleEntityNotFound(_0x542bc1,null))[_0x7141('0x19')](function(_0x528abc){if(_0x528abc){return _0x528abc[_0x7141('0x7b')](_0x278bea[_0x7141('0x36')][_0x7141('0x5a')],_[_0x7141('0x7c')](_0x278bea[_0x7141('0x36')],[_0x7141('0x5a'),'id'])||{})[_0x7141('0x7d')](function(_0x250257){for(var _0x30a7dd=0x0;_0x30a7dd<_0x278bea[_0x7141('0x36')][_0x7141('0x5a')][_0x7141('0x32')];_0x30a7dd+=0x1){socket[_0x7141('0x79')]('userChatQueue:save',{'UserId':Number(_0x278bea[_0x7141('0x36')][_0x7141('0x5a')][_0x30a7dd]),'ChatQueueId':Number(_0x278bea[_0x7141('0x41')]['id'])});}return _0x250257;});}})[_0x7141('0x19')](respondWithResult(_0x542bc1,null))[_0x7141('0x2b')](handleError(_0x542bc1,null));};exports[_0x7141('0x78')]=function(_0x1912a0,_0x2c8546){return db['ChatQueue'][_0x7141('0x34')]({'where':{'id':_0x1912a0['params']['id']}})[_0x7141('0x19')](handleEntityNotFound(_0x2c8546,null))[_0x7141('0x19')](function(_0x4d8121){if(_0x4d8121){return _0x4d8121[_0x7141('0x78')](_0x1912a0['query'][_0x7141('0x5a')])[_0x7141('0x19')](function(){if(_['isArray'](_0x1912a0[_0x7141('0x29')][_0x7141('0x5a')])){for(var _0x5d4dcf=0x0;_0x5d4dcf<_0x1912a0[_0x7141('0x29')][_0x7141('0x5a')][_0x7141('0x32')];_0x5d4dcf+=0x1){socket[_0x7141('0x79')](_0x7141('0x7a'),{'UserId':Number(_0x1912a0[_0x7141('0x29')]['ids'][_0x5d4dcf]),'ChatQueueId':Number(_0x1912a0[_0x7141('0x41')]['id'])});}}else{socket['emit']('userChatQueue:remove',{'UserId':Number(_0x1912a0[_0x7141('0x29')][_0x7141('0x5a')]),'ChatQueueId':Number(_0x1912a0['params']['id'])});}});}})[_0x7141('0x19')](respondWithStatusCode(_0x2c8546,null))[_0x7141('0x2b')](handleError(_0x2c8546,null));};exports[_0x7141('0x7e')]=function(_0x2367c8,_0x544ff2){var _0x5288c3={};var _0x2abc0f={};var _0x11831f;var _0x8a2089;return db[_0x7141('0x27')][_0x7141('0x43')]({'where':{'id':_0x2367c8['params']['id']}})[_0x7141('0x19')](handleEntityNotFound(_0x544ff2,null))['then'](function(_0x874e7c){if(_0x874e7c){_0x11831f=_0x874e7c;_0x2abc0f[_0x7141('0x2d')]=_['keys'](db['User'][_0x7141('0x21')]);_0x2abc0f['query']=_[_0x7141('0x2e')](_0x2367c8[_0x7141('0x29')]);_0x2abc0f['filters']=_[_0x7141('0x30')](_0x2abc0f[_0x7141('0x2d')],_0x2abc0f[_0x7141('0x29')]);_0x5288c3[_0x7141('0x31')]=_[_0x7141('0x30')](_0x2abc0f[_0x7141('0x2d')],qs[_0x7141('0x57')](_0x2367c8[_0x7141('0x29')][_0x7141('0x57')]));_0x5288c3['attributes']=_0x5288c3[_0x7141('0x31')][_0x7141('0x32')]?_0x5288c3[_0x7141('0x31')]:_0x2abc0f[_0x7141('0x2d')];_0x5288c3[_0x7141('0x46')]=qs['sort'](_0x2367c8[_0x7141('0x29')]['sort']);_0x5288c3[_0x7141('0x26')]=qs[_0x7141('0x2f')](_['pick'](_0x2367c8[_0x7141('0x29')],_0x2abc0f[_0x7141('0x2f')]));if(_0x2367c8[_0x7141('0x29')]['filter']){_0x5288c3[_0x7141('0x26')]=_[_0x7141('0x4b')](_0x5288c3[_0x7141('0x26')],{'$or':_[_0x7141('0x20')](_0x5288c3[_0x7141('0x31')],function(_0x2f05e0){var _0x21dd32={};_0x21dd32[_0x2f05e0]={'$like':'%'+_0x2367c8[_0x7141('0x29')][_0x7141('0x4a')]+'%'};return _0x21dd32;})});}_0x5288c3=_['merge']({},_0x5288c3,_0x2367c8['options']);return _0x11831f['getAgents'](_0x5288c3);}})[_0x7141('0x19')](function(_0x2c7126){if(_0x2c7126){_0x8a2089=_0x2c7126[_0x7141('0x32')];if(!_0x2367c8[_0x7141('0x29')]['hasOwnProperty'](_0x7141('0x58'))){_0x5288c3['limit']=qs['limit'](_0x2367c8[_0x7141('0x29')][_0x7141('0x14')]);_0x5288c3[_0x7141('0x11')]=qs[_0x7141('0x11')](_0x2367c8[_0x7141('0x29')][_0x7141('0x11')]);}return _0x11831f[_0x7141('0x7e')](_0x5288c3);}})[_0x7141('0x19')](function(_0x50cc6a){if(_0x50cc6a){return _0x50cc6a?{'count':_0x8a2089,'rows':_0x50cc6a}:null;}})['then'](respondWithResult(_0x544ff2,null))[_0x7141('0x2b')](handleError(_0x544ff2,null));};