abcb749fccc87c9e60303c8d10c255695c7be057
[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 _0x41e6=['addTeams','ids','Agents','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','userChatQueue:save','removeTeams','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','push','toString','QueryTypes','TeamId','union','value','isEmpty','removeAgents','emit','userChatQueue:remove','addAgents','omit','spread','isArray','getAgents','bluebird','lodash','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./chatQueue.socket','register','end','status','offset','undefined','limit','count','set','Content-Range','json','then','destroy','get','ChatQueues','sendStatus','error','stack','name','send','index','map','fieldName','type','key','where','include','query','findAll','rows','catch','show','model','keys','ChatQueue','rawAttributes','filters','intersection','fields','attributes','length','includeAll','merge','options','find','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','describe','getMembers','findOne','UserChatQueue','hasOwnProperty','nolimit','order','sort','pick','ChatQueueId','filter','User','UserId','updatedAt','createdAt','format','%s/%s','chatPause','params','Team','getTeams'];(function(_0x3a48b7,_0x2c74d8){var _0x5c6680=function(_0x1c4e29){while(--_0x1c4e29){_0x3a48b7['push'](_0x3a48b7['shift']());}};_0x5c6680(++_0x2c74d8);}(_0x41e6,0x199));var _0x641e=function(_0x1acc2d,_0x1cfdac){_0x1acc2d=_0x1acc2d-0x0;var _0x1cc820=_0x41e6[_0x1acc2d];return _0x1cc820;};'use strict';var BPromise=require(_0x641e('0x0'));var util=require('util');var _=require(_0x641e('0x1'));var squel=require('squel');var Redis=require('ioredis');var qs=require(_0x641e('0x2'));var logger=require(_0x641e('0x3'))(_0x641e('0x4'));var config=require(_0x641e('0x5'));var db=require(_0x641e('0x6'))['db'];config['redis']=_[_0x641e('0x7')](config[_0x641e('0x8')],{'host':_0x641e('0x9'),'port':0x18eb});var socket=require(_0x641e('0xa'))(new Redis(config[_0x641e('0x8')]));require(_0x641e('0xb'))[_0x641e('0xc')](socket);function respondWithStatusCode(_0x5a290a,_0x4ab63b){_0x4ab63b=_0x4ab63b||0xcc;return function(_0xe40eda){if(_0xe40eda){return _0x5a290a['sendStatus'](_0x4ab63b);}return _0x5a290a['status'](_0x4ab63b)[_0x641e('0xd')]();};}function respondWithResult(_0x3f7dcc,_0x53d183){_0x53d183=_0x53d183||0xc8;return function(_0x55cc7c){if(_0x55cc7c){return _0x3f7dcc[_0x641e('0xe')](_0x53d183)['json'](_0x55cc7c);}};}function respondWithFilteredResult(_0x3fb091,_0x39d109){return function(_0xd4b4bc){if(_0xd4b4bc){var _0xc04898=typeof _0x39d109[_0x641e('0xf')]===_0x641e('0x10')&&typeof _0x39d109[_0x641e('0x11')]==='undefined';var _0x1a3f4c=_0xd4b4bc['count'];var _0x4f8825=_0xc04898?0x0:_0x39d109[_0x641e('0xf')];var _0x5bffc5=_0xc04898?_0xd4b4bc[_0x641e('0x12')]:_0x39d109[_0x641e('0xf')]+_0x39d109[_0x641e('0x11')];var _0x252f2d;if(_0x5bffc5>=_0x1a3f4c){_0x5bffc5=_0x1a3f4c;_0x252f2d=0xc8;}else{_0x252f2d=0xce;}_0x3fb091['status'](_0x252f2d);return _0x3fb091[_0x641e('0x13')](_0x641e('0x14'),_0x4f8825+'-'+_0x5bffc5+'/'+_0x1a3f4c)[_0x641e('0x15')](_0xd4b4bc);}return null;};}function saveUpdates(_0x19640e){return function(_0x4394bc){if(_0x4394bc){return _0x4394bc['update'](_0x19640e)[_0x641e('0x16')](function(_0x4743c2){return _0x4743c2;});}return null;};}function removeEntity(_0x58bad2){return function(_0x44d7a7){if(_0x44d7a7){return _0x44d7a7[_0x641e('0x17')]()[_0x641e('0x16')](function(){var _0x4f3bdc=_0x44d7a7[_0x641e('0x18')]({'plain':!![]});var _0x7eab=_0x641e('0x19');return db['UserProfileResource']['destroy']({'where':{'type':_0x7eab,'resourceId':_0x4f3bdc['id']}})[_0x641e('0x16')](function(){return _0x44d7a7;});})[_0x641e('0x16')](function(){_0x58bad2[_0x641e('0xe')](0xcc)[_0x641e('0xd')]();});}};}function handleEntityNotFound(_0x586d11){return function(_0x598e28){if(!_0x598e28){_0x586d11[_0x641e('0x1a')](0x194);}return _0x598e28;};}function handleError(_0x1ab37f,_0x34ecfb){_0x34ecfb=_0x34ecfb||0x1f4;return function(_0x6ec6e1){logger[_0x641e('0x1b')](_0x6ec6e1[_0x641e('0x1c')]);if(_0x6ec6e1[_0x641e('0x1d')]){delete _0x6ec6e1['name'];}_0x1ab37f[_0x641e('0xe')](_0x34ecfb)[_0x641e('0x1e')](_0x6ec6e1);};}exports[_0x641e('0x1f')]=function(_0x2b689c,_0x3bd7ab){var _0x276702={};var _0x3f6c8f={'count':0x0,'rows':[]};var _0x4c899b=_[_0x641e('0x20')](db['ChatQueue']['rawAttributes'],function(_0x4b5515){return{'name':_0x4b5515[_0x641e('0x21')],'type':_0x4b5515[_0x641e('0x22')][_0x641e('0x23')]};});_0x276702=qs['getOptions'](_0x4c899b,_0x2b689c);var _0x251e9e={'where':_0x276702[_0x641e('0x24')]};return db['ChatQueue']['count'](_0x251e9e)[_0x641e('0x16')](function(_0x5104e8){_0x3f6c8f[_0x641e('0x12')]=_0x5104e8;_0x276702[_0x641e('0x25')]=qs[_0x641e('0x25')](_0x2b689c[_0x641e('0x26')]);return db['ChatQueue'][_0x641e('0x27')](_0x276702);})[_0x641e('0x16')](function(_0x1238a7){_0x3f6c8f[_0x641e('0x28')]=_0x1238a7;return _0x3f6c8f;})[_0x641e('0x16')](respondWithFilteredResult(_0x3bd7ab,_0x276702))[_0x641e('0x29')](handleError(_0x3bd7ab,null));};exports[_0x641e('0x2a')]=function(_0x39438e,_0xbc42ae){var _0x3faf29={'raw':!![],'where':{'id':_0x39438e['params']['id']}},_0xf318d9={};_0xf318d9[_0x641e('0x2b')]=_[_0x641e('0x2c')](db[_0x641e('0x2d')][_0x641e('0x2e')]);_0xf318d9[_0x641e('0x26')]=_['keys'](_0x39438e['query']);_0xf318d9[_0x641e('0x2f')]=_[_0x641e('0x30')](_0xf318d9[_0x641e('0x2b')],_0xf318d9['query']);_0x3faf29['attributes']=_['intersection'](_0xf318d9[_0x641e('0x2b')],qs[_0x641e('0x31')](_0x39438e[_0x641e('0x26')][_0x641e('0x31')]));_0x3faf29['attributes']=_0x3faf29[_0x641e('0x32')][_0x641e('0x33')]?_0x3faf29[_0x641e('0x32')]:_0xf318d9[_0x641e('0x2b')];if(_0x39438e[_0x641e('0x26')][_0x641e('0x34')]){_0x3faf29[_0x641e('0x25')]=[{'all':!![]}];}_0x3faf29=_[_0x641e('0x35')]({},_0x3faf29,_0x39438e[_0x641e('0x36')]);return db[_0x641e('0x2d')][_0x641e('0x37')](_0x3faf29)[_0x641e('0x16')](handleEntityNotFound(_0xbc42ae,null))[_0x641e('0x16')](respondWithResult(_0xbc42ae,null))[_0x641e('0x29')](handleError(_0xbc42ae,null));};exports[_0x641e('0x38')]=function(_0x13cc3a,_0x22ad08){return db[_0x641e('0x2d')][_0x641e('0x38')](_0x13cc3a[_0x641e('0x39')],{})[_0x641e('0x16')](function(_0x5b1f94){var _0x39d9f3=_0x13cc3a[_0x641e('0x3a')]['get']({'plain':!![]});if(!_0x39d9f3)throw new Error(_0x641e('0x3b'));if(_0x39d9f3[_0x641e('0x3c')]===_0x641e('0x3a')){var _0x5b7760=_0x5b1f94['get']({'plain':!![]});var _0x20caa5=_0x641e('0x19');return db[_0x641e('0x3d')][_0x641e('0x37')]({'where':{'name':_0x20caa5,'userProfileId':_0x39d9f3[_0x641e('0x3e')]},'raw':!![]})[_0x641e('0x16')](function(_0xa4b1df){if(_0xa4b1df&&_0xa4b1df[_0x641e('0x3f')]===0x0){return db[_0x641e('0x40')][_0x641e('0x38')]({'name':_0x5b7760['name'],'resourceId':_0x5b7760['id'],'type':_0xa4b1df['name'],'sectionId':_0xa4b1df['id']},{})[_0x641e('0x16')](function(){return _0x5b1f94;});}else{return _0x5b1f94;}})['catch'](function(_0x3a2a77){logger[_0x641e('0x1b')](_0x641e('0x41'),_0x3a2a77);throw _0x3a2a77;});}return _0x5b1f94;})[_0x641e('0x16')](respondWithResult(_0x22ad08,0xc9))[_0x641e('0x29')](handleError(_0x22ad08,null));};exports['update']=function(_0x51086a,_0x48dd43){if(_0x51086a[_0x641e('0x39')]['id']){delete _0x51086a[_0x641e('0x39')]['id'];}return db[_0x641e('0x2d')][_0x641e('0x37')]({'where':{'id':_0x51086a['params']['id']}})[_0x641e('0x16')](handleEntityNotFound(_0x48dd43,null))[_0x641e('0x16')](saveUpdates(_0x51086a['body'],null))[_0x641e('0x16')](respondWithResult(_0x48dd43,null))['catch'](handleError(_0x48dd43,null));};exports['destroy']=function(_0x40e7e3,_0x211e6b){return db['ChatQueue']['find']({'where':{'id':_0x40e7e3['params']['id']}})[_0x641e('0x16')](handleEntityNotFound(_0x211e6b,null))[_0x641e('0x16')](removeEntity(_0x211e6b,null))[_0x641e('0x29')](handleError(_0x211e6b,null));};exports[_0x641e('0x42')]=function(_0x5399b4,_0x8b0229){return db[_0x641e('0x2d')][_0x641e('0x42')]()[_0x641e('0x16')](respondWithResult(_0x8b0229,null))[_0x641e('0x29')](handleError(_0x8b0229,null));};exports[_0x641e('0x43')]=function(_0x403e82,_0x40ee18){var _0x2ed109={'raw':!![],'where':{}},_0x57aaa0={},_0x20763b;return db['ChatQueue'][_0x641e('0x44')]({'where':{'id':_0x403e82['params']['id']}})[_0x641e('0x16')](handleEntityNotFound(_0x40ee18,null))['then'](function(_0x14548e){if(_0x14548e){_0x20763b=_0x14548e[_0x641e('0x18')]({'plain':!![]});_0x57aaa0['model']=_['keys'](db[_0x641e('0x45')][_0x641e('0x2e')]);_0x57aaa0['query']=_['keys'](_0x403e82['query']);_0x57aaa0['filters']=_[_0x641e('0x30')](_0x57aaa0['model'],_0x57aaa0[_0x641e('0x26')]);_0x2ed109['attributes']=_[_0x641e('0x30')](_0x57aaa0[_0x641e('0x2b')],qs['fields'](_0x403e82[_0x641e('0x26')][_0x641e('0x31')]));_0x2ed109['attributes']=_0x2ed109['attributes']['length']?_0x2ed109['attributes']:_0x57aaa0[_0x641e('0x2b')];if(!_0x403e82['query'][_0x641e('0x46')](_0x641e('0x47'))){_0x2ed109[_0x641e('0x11')]=qs['limit'](_0x403e82[_0x641e('0x26')][_0x641e('0x11')]);_0x2ed109['offset']=qs[_0x641e('0xf')](_0x403e82[_0x641e('0x26')]['offset']);}_0x2ed109[_0x641e('0x48')]=qs[_0x641e('0x49')](_0x403e82[_0x641e('0x26')][_0x641e('0x49')]);_0x2ed109[_0x641e('0x24')]=qs['filters'](_[_0x641e('0x4a')](_0x403e82[_0x641e('0x26')],_0x57aaa0['filters']));_0x2ed109[_0x641e('0x24')][_0x641e('0x4b')]=_0x14548e['id'];if(_0x403e82[_0x641e('0x26')]['filter']){_0x2ed109[_0x641e('0x24')]=_[_0x641e('0x35')](_0x2ed109[_0x641e('0x24')],{'$or':_['map'](_0x2ed109[_0x641e('0x32')],function(_0x4e41d8){var _0x25924b={};_0x25924b[_0x4e41d8]={'$like':'%'+_0x403e82['query'][_0x641e('0x4c')]+'%'};return _0x25924b;})});}_0x2ed109=_[_0x641e('0x35')]({},_0x2ed109,_0x403e82[_0x641e('0x36')]);return db['UserChatQueue'][_0x641e('0x27')](_0x2ed109);}})['then'](function(_0x25870c){if(_0x25870c){return db[_0x641e('0x4d')]['findAndCountAll']({'where':{'id':_['map'](_0x25870c,_0x641e('0x4e')),'role':'agent'},'attributes':['id',_0x641e('0x1d'),'chatPause',_0x641e('0x4f'),_0x641e('0x50')]});}})['then'](function(_0x199e23){if(_0x199e23){return{'count':_0x199e23[_0x641e('0x12')],'rows':_['map'](_0x199e23[_0x641e('0x28')],function(_0x58600a){return{'membername':_0x58600a[_0x641e('0x1d')],'UserId':_0x58600a['id'],'queue_name':_0x20763b[_0x641e('0x1d')],'ChatQueueId':_0x20763b['id'],'interface':util[_0x641e('0x51')](_0x641e('0x52'),'SIP',_0x58600a[_0x641e('0x1d')]),'penalty':0x0,'paused':_0x58600a[_0x641e('0x53')],'createdAt':_0x58600a['createdAt'],'updatedAt':_0x58600a[_0x641e('0x4f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x641e('0x16')](respondWithFilteredResult(_0x40ee18,_0x2ed109))[_0x641e('0x29')](handleError(_0x40ee18,null));};exports['getTeams']=function(_0x4cbb4f,_0x283c76){var _0x560239={};var _0x1b59b8={};var _0x5de5c3;var _0x5815c5;return db[_0x641e('0x2d')]['findOne']({'where':{'id':_0x4cbb4f[_0x641e('0x54')]['id']}})[_0x641e('0x16')](handleEntityNotFound(_0x283c76,null))[_0x641e('0x16')](function(_0x1139c8){if(_0x1139c8){_0x5de5c3=_0x1139c8;_0x1b59b8[_0x641e('0x2b')]=_[_0x641e('0x2c')](db[_0x641e('0x55')][_0x641e('0x2e')]);_0x1b59b8[_0x641e('0x26')]=_[_0x641e('0x2c')](_0x4cbb4f[_0x641e('0x26')]);_0x1b59b8[_0x641e('0x2f')]=_['intersection'](_0x1b59b8[_0x641e('0x2b')],_0x1b59b8[_0x641e('0x26')]);_0x560239[_0x641e('0x32')]=_['intersection'](_0x1b59b8[_0x641e('0x2b')],qs[_0x641e('0x31')](_0x4cbb4f[_0x641e('0x26')][_0x641e('0x31')]));_0x560239[_0x641e('0x32')]=_0x560239[_0x641e('0x32')][_0x641e('0x33')]?_0x560239[_0x641e('0x32')]:_0x1b59b8[_0x641e('0x2b')];_0x560239['order']=qs[_0x641e('0x49')](_0x4cbb4f[_0x641e('0x26')][_0x641e('0x49')]);_0x560239[_0x641e('0x24')]=qs[_0x641e('0x2f')](_['pick'](_0x4cbb4f[_0x641e('0x26')],_0x1b59b8[_0x641e('0x2f')]));if(_0x4cbb4f[_0x641e('0x26')][_0x641e('0x4c')]){_0x560239['where']=_[_0x641e('0x35')](_0x560239[_0x641e('0x24')],{'$or':_[_0x641e('0x20')](_0x560239[_0x641e('0x32')],function(_0x3b4945){var _0x58ca55={};_0x58ca55[_0x3b4945]={'$like':'%'+_0x4cbb4f[_0x641e('0x26')]['filter']+'%'};return _0x58ca55;})});}_0x560239=_[_0x641e('0x35')]({},_0x560239,_0x4cbb4f[_0x641e('0x36')]);return _0x5de5c3[_0x641e('0x56')](_0x560239);}})[_0x641e('0x16')](function(_0x2ad335){if(_0x2ad335){_0x5815c5=_0x2ad335[_0x641e('0x33')];if(!_0x4cbb4f['query']['hasOwnProperty'](_0x641e('0x47'))){_0x560239[_0x641e('0x11')]=qs[_0x641e('0x11')](_0x4cbb4f[_0x641e('0x26')]['limit']);_0x560239[_0x641e('0xf')]=qs['offset'](_0x4cbb4f[_0x641e('0x26')][_0x641e('0xf')]);}return _0x5de5c3['getTeams'](_0x560239);}})[_0x641e('0x16')](function(_0x1ed5c7){if(_0x1ed5c7){return _0x1ed5c7?{'count':_0x5815c5,'rows':_0x1ed5c7}:null;}})[_0x641e('0x16')](respondWithResult(_0x283c76,null))['catch'](handleError(_0x283c76,null));};exports[_0x641e('0x57')]=function(_0x23fa40,_0x8e25b){var _0x2de13a=_0x23fa40['body'][_0x641e('0x58')];return db['Team'][_0x641e('0x27')]({'where':{'id':_0x2de13a},'attributes':['id'],'include':[{'model':db[_0x641e('0x4d')],'as':_0x641e('0x59'),'attributes':['id',_0x641e('0x1d'),'online',_0x641e('0x5a'),_0x641e('0x5b')],'raw':!![]}]})['then'](function(_0x4d7466){if(_0x4d7466){var _0x4ad15b=_[_0x641e('0x5c')](_0x4d7466,function(_0x5b0644){var _0x24da97=_0x5b0644[_0x641e('0x18')]({'plain':!![]});return _0x24da97[_0x641e('0x59')];});return db[_0x641e('0x2d')][_0x641e('0x37')]({'where':{'id':_0x23fa40[_0x641e('0x54')]['id']}})[_0x641e('0x16')](function(_0x5a45b1){return db[_0x641e('0x5d')][_0x641e('0x5e')](function(_0x3f0ac4){return _0x5a45b1[_0x641e('0x57')](_0x2de13a,{'transaction':_0x3f0ac4})['then'](function(){return BPromise[_0x641e('0x5f')](_0x4ad15b,function(_0x2ea7e8){return db[_0x641e('0x45')][_0x641e('0x60')]({'where':{'UserId':_0x2ea7e8['id'],'ChatQueueId':_0x23fa40[_0x641e('0x54')]['id']},'transaction':_0x3f0ac4});});})[_0x641e('0x16')](function(){_0x4ad15b[_0x641e('0x61')](function(_0x2f6f0a){socket['emit'](_0x641e('0x62'),{'UserId':_0x2f6f0a['id'],'ChatQueueId':_0x5a45b1['id']});});});});});}})[_0x641e('0x16')](respondWithStatusCode(_0x8e25b,null))[_0x641e('0x29')](handleError(_0x8e25b,null));};exports[_0x641e('0x63')]=function(_0x4a77a3,_0x30bcf9){return db[_0x641e('0x55')][_0x641e('0x27')]({'where':{'id':_0x4a77a3[_0x641e('0x26')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x641e('0x16')](handleEntityNotFound(_0x30bcf9,null))[_0x641e('0x16')](function(_0x37ee14){var _0x3ebac1=_[_0x641e('0x20')](_0x37ee14,'id');var _0x4ecd6d=[];var _0xb6e915=[];var _0x684fe5=squel['select']();_0x684fe5[_0x641e('0x64')](_0x641e('0x65'))[_0x641e('0x66')](_0x641e('0x67'),'tq')[_0x641e('0x68')](_0x641e('0x69'),'ut',_0x641e('0x6a'))[_0x641e('0x24')](_0x641e('0x6b'),_0x4a77a3['params']['id']);for(var _0x52765b=0x0;_0x52765b<_0x37ee14[_0x641e('0x33')];_0x52765b+=0x1){let _0x27690e=_0x37ee14[_0x52765b];for(var _0x530957=0x0;_0x530957<_0x27690e[_0x641e('0x59')][_0x641e('0x33')];_0x530957+=0x1){let _0x5be4ad=_0x27690e[_0x641e('0x59')][_0x530957];var _0x5773a9=_0x684fe5[_0x641e('0x6c')]();_0x5773a9[_0x641e('0x24')]('ut.UserId\x20=\x20?',_0x5be4ad['id']);_0xb6e915[_0x641e('0x6d')](db[_0x641e('0x5d')][_0x641e('0x26')](_0x5773a9[_0x641e('0x6e')](),{'type':db['sequelize'][_0x641e('0x6f')]['SELECT']})['then'](function(_0x3cf7a2){if(_0x3cf7a2['length']===0x1){return _0x5be4ad['id'];}else{var _0x16b6c1=_['every'](_['map'](_0x3cf7a2,_0x641e('0x70')),function(_0x43ba73){return _['includes'](_0x3ebac1,_0x43ba73);});if(_0x16b6c1){return _0x5be4ad['id'];}}}));}}return BPromise['all'](_0xb6e915)[_0x641e('0x16')](function(_0x54b2d4){_0x4ecd6d=_(_0x4ecd6d)[_0x641e('0x71')](_0x54b2d4)['compact']()[_0x641e('0x72')]();return db['ChatQueue'][_0x641e('0x37')]({'where':{'id':_0x4a77a3[_0x641e('0x54')]['id']}})[_0x641e('0x16')](function(_0x3bb47e){return db[_0x641e('0x5d')][_0x641e('0x5e')](function(_0x212cdb){return _0x3bb47e[_0x641e('0x63')](_0x4a77a3['query'][_0x641e('0x58')],{'transaction':_0x212cdb})[_0x641e('0x16')](function(){if(!_[_0x641e('0x73')](_0x4ecd6d)){return _0x3bb47e[_0x641e('0x74')](_0x4ecd6d,{'transaction':_0x212cdb});}})['then'](function(){_0x4ecd6d[_0x641e('0x61')](function(_0x4c530c){socket[_0x641e('0x75')](_0x641e('0x76'),{'UserId':_0x4c530c,'ChatQueueId':_0x3bb47e['id']});});});});});});})[_0x641e('0x16')](respondWithStatusCode(_0x30bcf9,null))[_0x641e('0x29')](handleError(_0x30bcf9,null));};exports[_0x641e('0x77')]=function(_0x4ae860,_0x1ea625){return db[_0x641e('0x2d')][_0x641e('0x37')]({'where':{'id':_0x4ae860[_0x641e('0x54')]['id']}})[_0x641e('0x16')](handleEntityNotFound(_0x1ea625,null))[_0x641e('0x16')](function(_0x266df9){if(_0x266df9){return _0x266df9[_0x641e('0x77')](_0x4ae860['body']['ids'],_[_0x641e('0x78')](_0x4ae860[_0x641e('0x39')],['ids','id'])||{})[_0x641e('0x79')](function(_0x5f0ac0){for(var _0xe40bd6=0x0;_0xe40bd6<_0x4ae860['body'][_0x641e('0x58')][_0x641e('0x33')];_0xe40bd6+=0x1){socket['emit'](_0x641e('0x62'),{'UserId':Number(_0x4ae860[_0x641e('0x39')][_0x641e('0x58')][_0xe40bd6]),'ChatQueueId':Number(_0x4ae860['params']['id'])});}return _0x5f0ac0;});}})[_0x641e('0x16')](respondWithResult(_0x1ea625,null))[_0x641e('0x29')](handleError(_0x1ea625,null));};exports[_0x641e('0x74')]=function(_0x58bd2d,_0x58f6e4){return db[_0x641e('0x2d')][_0x641e('0x37')]({'where':{'id':_0x58bd2d[_0x641e('0x54')]['id']}})[_0x641e('0x16')](handleEntityNotFound(_0x58f6e4,null))[_0x641e('0x16')](function(_0x25020f){if(_0x25020f){return _0x25020f[_0x641e('0x74')](_0x58bd2d['query']['ids'])[_0x641e('0x16')](function(){if(_[_0x641e('0x7a')](_0x58bd2d['query'][_0x641e('0x58')])){for(var _0x25fbfe=0x0;_0x25fbfe<_0x58bd2d[_0x641e('0x26')][_0x641e('0x58')][_0x641e('0x33')];_0x25fbfe+=0x1){socket[_0x641e('0x75')](_0x641e('0x76'),{'UserId':Number(_0x58bd2d[_0x641e('0x26')]['ids'][_0x25fbfe]),'ChatQueueId':Number(_0x58bd2d[_0x641e('0x54')]['id'])});}}else{socket['emit'](_0x641e('0x76'),{'UserId':Number(_0x58bd2d['query'][_0x641e('0x58')]),'ChatQueueId':Number(_0x58bd2d[_0x641e('0x54')]['id'])});}});}})[_0x641e('0x16')](respondWithStatusCode(_0x58f6e4,null))['catch'](handleError(_0x58f6e4,null));};exports[_0x641e('0x7b')]=function(_0x43582e,_0x185eae){var _0x181973={};var _0x3de5ad={};var _0x4ba526;var _0x2deb04;return db[_0x641e('0x2d')][_0x641e('0x44')]({'where':{'id':_0x43582e[_0x641e('0x54')]['id']}})[_0x641e('0x16')](handleEntityNotFound(_0x185eae,null))[_0x641e('0x16')](function(_0x10e65c){if(_0x10e65c){_0x4ba526=_0x10e65c;_0x3de5ad[_0x641e('0x2b')]=_[_0x641e('0x2c')](db['User'][_0x641e('0x2e')]);_0x3de5ad[_0x641e('0x26')]=_[_0x641e('0x2c')](_0x43582e[_0x641e('0x26')]);_0x3de5ad['filters']=_[_0x641e('0x30')](_0x3de5ad[_0x641e('0x2b')],_0x3de5ad['query']);_0x181973[_0x641e('0x32')]=_[_0x641e('0x30')](_0x3de5ad[_0x641e('0x2b')],qs[_0x641e('0x31')](_0x43582e[_0x641e('0x26')]['fields']));_0x181973['attributes']=_0x181973[_0x641e('0x32')]['length']?_0x181973[_0x641e('0x32')]:_0x3de5ad[_0x641e('0x2b')];_0x181973[_0x641e('0x48')]=qs[_0x641e('0x49')](_0x43582e[_0x641e('0x26')][_0x641e('0x49')]);_0x181973[_0x641e('0x24')]=qs['filters'](_[_0x641e('0x4a')](_0x43582e[_0x641e('0x26')],_0x3de5ad['filters']));if(_0x43582e[_0x641e('0x26')]['filter']){_0x181973[_0x641e('0x24')]=_[_0x641e('0x35')](_0x181973[_0x641e('0x24')],{'$or':_[_0x641e('0x20')](_0x181973['attributes'],function(_0x5c00bf){var _0x562ac7={};_0x562ac7[_0x5c00bf]={'$like':'%'+_0x43582e[_0x641e('0x26')]['filter']+'%'};return _0x562ac7;})});}_0x181973=_[_0x641e('0x35')]({},_0x181973,_0x43582e[_0x641e('0x36')]);return _0x4ba526[_0x641e('0x7b')](_0x181973);}})['then'](function(_0x5b4266){if(_0x5b4266){_0x2deb04=_0x5b4266[_0x641e('0x33')];if(!_0x43582e[_0x641e('0x26')][_0x641e('0x46')](_0x641e('0x47'))){_0x181973[_0x641e('0x11')]=qs[_0x641e('0x11')](_0x43582e['query'][_0x641e('0x11')]);_0x181973['offset']=qs[_0x641e('0xf')](_0x43582e[_0x641e('0x26')]['offset']);}return _0x4ba526[_0x641e('0x7b')](_0x181973);}})[_0x641e('0x16')](function(_0x235b0d){if(_0x235b0d){return _0x235b0d?{'count':_0x2deb04,'rows':_0x235b0d}:null;}})[_0x641e('0x16')](respondWithResult(_0x185eae,null))['catch'](handleError(_0x185eae,null));};