057dd35dc3124bc75128cfc393b8acf9d1ee1f71
[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 _0x457f=['field','from','team_has_chat_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','push','sequelize','QueryTypes','SELECT','every','TeamId','union','compact','ids','isEmpty','removeAgents','userChatQueue:remove','addAgents','spread','isArray','getAgents','bluebird','util','lodash','squel','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./chatQueue.socket','register','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','then','destroy','get','ChatQueues','error','stack','name','send','index','map','ChatQueue','rawAttributes','type','key','getOptions','where','include','query','findAll','catch','show','model','keys','filters','intersection','attributes','fields','length','merge','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','update','params','describe','getMembers','findOne','hasOwnProperty','nolimit','order','sort','pick','filter','UserChatQueue','User','findAndCountAll','chatPause','createdAt','rows','format','%s/%s','SIP','updatedAt','getTeams','options','addTeams','Agents','online','voicePause','flatMap','transaction','each','findOrCreate','forEach','emit','userChatQueue:save','removeTeams','Team','select'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x457f,0x18b));var _0xf457=function(_0x150e01,_0x3fd606){_0x150e01=_0x150e01-0x0;var _0x174a2d=_0x457f[_0x150e01];return _0x174a2d;};'use strict';var BPromise=require(_0xf457('0x0'));var util=require(_0xf457('0x1'));var _=require(_0xf457('0x2'));var squel=require(_0xf457('0x3'));var Redis=require(_0xf457('0x4'));var qs=require('../../components/parsers/qs');var logger=require(_0xf457('0x5'))(_0xf457('0x6'));var config=require(_0xf457('0x7'));var db=require(_0xf457('0x8'))['db'];config[_0xf457('0x9')]=_['defaults'](config[_0xf457('0x9')],{'host':_0xf457('0xa'),'port':0x18eb});var socket=require(_0xf457('0xb'))(new Redis(config[_0xf457('0x9')]));require(_0xf457('0xc'))[_0xf457('0xd')](socket);function respondWithStatusCode(_0x21f323,_0x5eb880){_0x5eb880=_0x5eb880||0xcc;return function(_0x3e195d){if(_0x3e195d){return _0x21f323[_0xf457('0xe')](_0x5eb880);}return _0x21f323['status'](_0x5eb880)[_0xf457('0xf')]();};}function respondWithResult(_0x5cb88e,_0x12a9b6){_0x12a9b6=_0x12a9b6||0xc8;return function(_0x13848c){if(_0x13848c){return _0x5cb88e[_0xf457('0x10')](_0x12a9b6)[_0xf457('0x11')](_0x13848c);}};}function respondWithFilteredResult(_0x25efe2,_0x2f29dd){return function(_0x5bde9a){if(_0x5bde9a){var _0x1c7f8e=typeof _0x2f29dd[_0xf457('0x12')]==='undefined'&&typeof _0x2f29dd[_0xf457('0x13')]===_0xf457('0x14');var _0x1718dd=_0x5bde9a['count'];var _0x255120=_0x1c7f8e?0x0:_0x2f29dd[_0xf457('0x12')];var _0x3ab74a=_0x1c7f8e?_0x5bde9a[_0xf457('0x15')]:_0x2f29dd['offset']+_0x2f29dd[_0xf457('0x13')];var _0x5f3359;if(_0x3ab74a>=_0x1718dd){_0x3ab74a=_0x1718dd;_0x5f3359=0xc8;}else{_0x5f3359=0xce;}_0x25efe2[_0xf457('0x10')](_0x5f3359);return _0x25efe2[_0xf457('0x16')](_0xf457('0x17'),_0x255120+'-'+_0x3ab74a+'/'+_0x1718dd)[_0xf457('0x11')](_0x5bde9a);}return null;};}function saveUpdates(_0x4c4b61){return function(_0x24f294){if(_0x24f294){return _0x24f294['update'](_0x4c4b61)[_0xf457('0x18')](function(_0x11e7d1){return _0x11e7d1;});}return null;};}function removeEntity(_0x5a8bad){return function(_0x3bf9b9){if(_0x3bf9b9){return _0x3bf9b9[_0xf457('0x19')]()[_0xf457('0x18')](function(){var _0x6608e4=_0x3bf9b9[_0xf457('0x1a')]({'plain':!![]});var _0x4d68e3=_0xf457('0x1b');return db['UserProfileResource']['destroy']({'where':{'type':_0x4d68e3,'resourceId':_0x6608e4['id']}})['then'](function(){return _0x3bf9b9;});})[_0xf457('0x18')](function(){_0x5a8bad[_0xf457('0x10')](0xcc)[_0xf457('0xf')]();});}};}function handleEntityNotFound(_0x57f491){return function(_0x396a86){if(!_0x396a86){_0x57f491[_0xf457('0xe')](0x194);}return _0x396a86;};}function handleError(_0x51933f,_0x11fd9d){_0x11fd9d=_0x11fd9d||0x1f4;return function(_0x5c7035){logger[_0xf457('0x1c')](_0x5c7035[_0xf457('0x1d')]);if(_0x5c7035[_0xf457('0x1e')]){delete _0x5c7035[_0xf457('0x1e')];}_0x51933f['status'](_0x11fd9d)[_0xf457('0x1f')](_0x5c7035);};}exports[_0xf457('0x20')]=function(_0x37f398,_0xb8414c){var _0xb9e7c4={};var _0x176ae3={'count':0x0,'rows':[]};var _0x30e8f2=_[_0xf457('0x21')](db[_0xf457('0x22')][_0xf457('0x23')],function(_0x1e214d){return{'name':_0x1e214d['fieldName'],'type':_0x1e214d[_0xf457('0x24')][_0xf457('0x25')]};});_0xb9e7c4=qs[_0xf457('0x26')](_0x30e8f2,_0x37f398);var _0x2ba9e0={'where':_0xb9e7c4[_0xf457('0x27')]};return db[_0xf457('0x22')][_0xf457('0x15')](_0x2ba9e0)[_0xf457('0x18')](function(_0x2d4bda){_0x176ae3[_0xf457('0x15')]=_0x2d4bda;_0xb9e7c4['include']=qs[_0xf457('0x28')](_0x37f398[_0xf457('0x29')]);return db[_0xf457('0x22')][_0xf457('0x2a')](_0xb9e7c4);})['then'](function(_0x2c1f98){_0x176ae3['rows']=_0x2c1f98;return _0x176ae3;})[_0xf457('0x18')](respondWithFilteredResult(_0xb8414c,_0xb9e7c4))[_0xf457('0x2b')](handleError(_0xb8414c,null));};exports[_0xf457('0x2c')]=function(_0x2b4f02,_0x2256c2){var _0x117e5d={'raw':!![],'where':{'id':_0x2b4f02['params']['id']}},_0x5289e8={};_0x5289e8[_0xf457('0x2d')]=_[_0xf457('0x2e')](db[_0xf457('0x22')][_0xf457('0x23')]);_0x5289e8[_0xf457('0x29')]=_['keys'](_0x2b4f02[_0xf457('0x29')]);_0x5289e8[_0xf457('0x2f')]=_[_0xf457('0x30')](_0x5289e8[_0xf457('0x2d')],_0x5289e8[_0xf457('0x29')]);_0x117e5d[_0xf457('0x31')]=_[_0xf457('0x30')](_0x5289e8[_0xf457('0x2d')],qs['fields'](_0x2b4f02[_0xf457('0x29')][_0xf457('0x32')]));_0x117e5d[_0xf457('0x31')]=_0x117e5d[_0xf457('0x31')][_0xf457('0x33')]?_0x117e5d[_0xf457('0x31')]:_0x5289e8[_0xf457('0x2d')];if(_0x2b4f02[_0xf457('0x29')]['includeAll']){_0x117e5d[_0xf457('0x28')]=[{'all':!![]}];}_0x117e5d=_[_0xf457('0x34')]({},_0x117e5d,_0x2b4f02['options']);return db['ChatQueue'][_0xf457('0x35')](_0x117e5d)[_0xf457('0x18')](handleEntityNotFound(_0x2256c2,null))[_0xf457('0x18')](respondWithResult(_0x2256c2,null))[_0xf457('0x2b')](handleError(_0x2256c2,null));};exports[_0xf457('0x36')]=function(_0x4537d1,_0x5e4474){return db[_0xf457('0x22')][_0xf457('0x36')](_0x4537d1[_0xf457('0x37')],{})['then'](function(_0x539468){var _0x4a58c1=_0x4537d1[_0xf457('0x38')][_0xf457('0x1a')]({'plain':!![]});if(!_0x4a58c1)throw new Error(_0xf457('0x39'));if(_0x4a58c1[_0xf457('0x3a')]===_0xf457('0x38')){var _0x3141c1=_0x539468[_0xf457('0x1a')]({'plain':!![]});var _0x2b64a6=_0xf457('0x1b');return db[_0xf457('0x3b')][_0xf457('0x35')]({'where':{'name':_0x2b64a6,'userProfileId':_0x4a58c1[_0xf457('0x3c')]},'raw':!![]})[_0xf457('0x18')](function(_0x505da9){if(_0x505da9&&_0x505da9[_0xf457('0x3d')]===0x0){return db[_0xf457('0x3e')]['create']({'name':_0x3141c1[_0xf457('0x1e')],'resourceId':_0x3141c1['id'],'type':_0x505da9[_0xf457('0x1e')],'sectionId':_0x505da9['id']},{})['then'](function(){return _0x539468;});}else{return _0x539468;}})[_0xf457('0x2b')](function(_0x1c65ef){logger[_0xf457('0x1c')](_0xf457('0x3f'),_0x1c65ef);throw _0x1c65ef;});}return _0x539468;})[_0xf457('0x18')](respondWithResult(_0x5e4474,0xc9))['catch'](handleError(_0x5e4474,null));};exports[_0xf457('0x40')]=function(_0x19f1ad,_0x393d27){if(_0x19f1ad[_0xf457('0x37')]['id']){delete _0x19f1ad['body']['id'];}return db[_0xf457('0x22')][_0xf457('0x35')]({'where':{'id':_0x19f1ad['params']['id']}})[_0xf457('0x18')](handleEntityNotFound(_0x393d27,null))['then'](saveUpdates(_0x19f1ad['body'],null))[_0xf457('0x18')](respondWithResult(_0x393d27,null))['catch'](handleError(_0x393d27,null));};exports[_0xf457('0x19')]=function(_0x2fcb45,_0x22ca76){return db['ChatQueue']['find']({'where':{'id':_0x2fcb45[_0xf457('0x41')]['id']}})['then'](handleEntityNotFound(_0x22ca76,null))['then'](removeEntity(_0x22ca76,null))[_0xf457('0x2b')](handleError(_0x22ca76,null));};exports[_0xf457('0x42')]=function(_0xdf7a1,_0x1bdb1d){return db['ChatQueue']['describe']()[_0xf457('0x18')](respondWithResult(_0x1bdb1d,null))[_0xf457('0x2b')](handleError(_0x1bdb1d,null));};exports[_0xf457('0x43')]=function(_0xbc4d3f,_0x335b25){var _0x2f1dbe={'raw':!![],'where':{}},_0x2698cb={},_0xdb7060;return db[_0xf457('0x22')][_0xf457('0x44')]({'where':{'id':_0xbc4d3f[_0xf457('0x41')]['id']}})[_0xf457('0x18')](handleEntityNotFound(_0x335b25,null))['then'](function(_0xa807c3){if(_0xa807c3){_0xdb7060=_0xa807c3[_0xf457('0x1a')]({'plain':!![]});_0x2698cb[_0xf457('0x2d')]=_[_0xf457('0x2e')](db['UserChatQueue']['rawAttributes']);_0x2698cb['query']=_['keys'](_0xbc4d3f['query']);_0x2698cb[_0xf457('0x2f')]=_[_0xf457('0x30')](_0x2698cb[_0xf457('0x2d')],_0x2698cb[_0xf457('0x29')]);_0x2f1dbe[_0xf457('0x31')]=_['intersection'](_0x2698cb[_0xf457('0x2d')],qs[_0xf457('0x32')](_0xbc4d3f[_0xf457('0x29')][_0xf457('0x32')]));_0x2f1dbe['attributes']=_0x2f1dbe[_0xf457('0x31')][_0xf457('0x33')]?_0x2f1dbe[_0xf457('0x31')]:_0x2698cb['model'];if(!_0xbc4d3f['query'][_0xf457('0x45')](_0xf457('0x46'))){_0x2f1dbe['limit']=qs['limit'](_0xbc4d3f['query'][_0xf457('0x13')]);_0x2f1dbe[_0xf457('0x12')]=qs[_0xf457('0x12')](_0xbc4d3f[_0xf457('0x29')][_0xf457('0x12')]);}_0x2f1dbe[_0xf457('0x47')]=qs[_0xf457('0x48')](_0xbc4d3f['query'][_0xf457('0x48')]);_0x2f1dbe[_0xf457('0x27')]=qs[_0xf457('0x2f')](_[_0xf457('0x49')](_0xbc4d3f[_0xf457('0x29')],_0x2698cb[_0xf457('0x2f')]));_0x2f1dbe[_0xf457('0x27')]['ChatQueueId']=_0xa807c3['id'];if(_0xbc4d3f[_0xf457('0x29')]['filter']){_0x2f1dbe[_0xf457('0x27')]=_[_0xf457('0x34')](_0x2f1dbe[_0xf457('0x27')],{'$or':_[_0xf457('0x21')](_0x2f1dbe[_0xf457('0x31')],function(_0x1e6c6a){var _0x482589={};_0x482589[_0x1e6c6a]={'$like':'%'+_0xbc4d3f['query'][_0xf457('0x4a')]+'%'};return _0x482589;})});}_0x2f1dbe=_[_0xf457('0x34')]({},_0x2f1dbe,_0xbc4d3f['options']);return db[_0xf457('0x4b')][_0xf457('0x2a')](_0x2f1dbe);}})[_0xf457('0x18')](function(_0x4bf555){if(_0x4bf555){return db[_0xf457('0x4c')][_0xf457('0x4d')]({'where':{'id':_[_0xf457('0x21')](_0x4bf555,'UserId'),'role':'agent'},'attributes':['id',_0xf457('0x1e'),_0xf457('0x4e'),'updatedAt',_0xf457('0x4f')]});}})[_0xf457('0x18')](function(_0x39223a){if(_0x39223a){return{'count':_0x39223a[_0xf457('0x15')],'rows':_['map'](_0x39223a[_0xf457('0x50')],function(_0x199b6c){return{'membername':_0x199b6c[_0xf457('0x1e')],'UserId':_0x199b6c['id'],'queue_name':_0xdb7060[_0xf457('0x1e')],'ChatQueueId':_0xdb7060['id'],'interface':util[_0xf457('0x51')](_0xf457('0x52'),_0xf457('0x53'),_0x199b6c[_0xf457('0x1e')]),'penalty':0x0,'paused':_0x199b6c[_0xf457('0x4e')],'createdAt':_0x199b6c[_0xf457('0x4f')],'updatedAt':_0x199b6c[_0xf457('0x54')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xf457('0x18')](respondWithFilteredResult(_0x335b25,_0x2f1dbe))[_0xf457('0x2b')](handleError(_0x335b25,null));};exports[_0xf457('0x55')]=function(_0x4d5bdc,_0x4fe83b){var _0x5dd23c={};var _0x1156ae={};var _0x4213f0;var _0xb41770;return db['ChatQueue']['findOne']({'where':{'id':_0x4d5bdc[_0xf457('0x41')]['id']}})['then'](handleEntityNotFound(_0x4fe83b,null))[_0xf457('0x18')](function(_0x2f6ec0){if(_0x2f6ec0){_0x4213f0=_0x2f6ec0;_0x1156ae['model']=_['keys'](db['Team']['rawAttributes']);_0x1156ae[_0xf457('0x29')]=_[_0xf457('0x2e')](_0x4d5bdc[_0xf457('0x29')]);_0x1156ae[_0xf457('0x2f')]=_[_0xf457('0x30')](_0x1156ae['model'],_0x1156ae[_0xf457('0x29')]);_0x5dd23c['attributes']=_[_0xf457('0x30')](_0x1156ae[_0xf457('0x2d')],qs[_0xf457('0x32')](_0x4d5bdc[_0xf457('0x29')][_0xf457('0x32')]));_0x5dd23c[_0xf457('0x31')]=_0x5dd23c[_0xf457('0x31')][_0xf457('0x33')]?_0x5dd23c[_0xf457('0x31')]:_0x1156ae['model'];_0x5dd23c[_0xf457('0x47')]=qs[_0xf457('0x48')](_0x4d5bdc['query']['sort']);_0x5dd23c[_0xf457('0x27')]=qs[_0xf457('0x2f')](_[_0xf457('0x49')](_0x4d5bdc[_0xf457('0x29')],_0x1156ae[_0xf457('0x2f')]));if(_0x4d5bdc[_0xf457('0x29')][_0xf457('0x4a')]){_0x5dd23c[_0xf457('0x27')]=_[_0xf457('0x34')](_0x5dd23c['where'],{'$or':_[_0xf457('0x21')](_0x5dd23c[_0xf457('0x31')],function(_0x384a4f){var _0x21da05={};_0x21da05[_0x384a4f]={'$like':'%'+_0x4d5bdc['query']['filter']+'%'};return _0x21da05;})});}_0x5dd23c=_[_0xf457('0x34')]({},_0x5dd23c,_0x4d5bdc[_0xf457('0x56')]);return _0x4213f0[_0xf457('0x55')](_0x5dd23c);}})['then'](function(_0x45dc11){if(_0x45dc11){_0xb41770=_0x45dc11[_0xf457('0x33')];if(!_0x4d5bdc[_0xf457('0x29')][_0xf457('0x45')](_0xf457('0x46'))){_0x5dd23c[_0xf457('0x13')]=qs[_0xf457('0x13')](_0x4d5bdc[_0xf457('0x29')][_0xf457('0x13')]);_0x5dd23c[_0xf457('0x12')]=qs['offset'](_0x4d5bdc[_0xf457('0x29')]['offset']);}return _0x4213f0[_0xf457('0x55')](_0x5dd23c);}})[_0xf457('0x18')](function(_0xf80866){if(_0xf80866){return _0xf80866?{'count':_0xb41770,'rows':_0xf80866}:null;}})['then'](respondWithResult(_0x4fe83b,null))[_0xf457('0x2b')](handleError(_0x4fe83b,null));};exports[_0xf457('0x57')]=function(_0x337a3c,_0x3c8c1e){var _0x3649b3=_0x337a3c['body']['ids'];return db['Team'][_0xf457('0x2a')]({'where':{'id':_0x3649b3},'attributes':['id'],'include':[{'model':db['User'],'as':_0xf457('0x58'),'attributes':['id','name',_0xf457('0x59'),_0xf457('0x5a'),'interface'],'raw':!![]}]})[_0xf457('0x18')](function(_0x13dfc8){if(_0x13dfc8){var _0x3f3529=_[_0xf457('0x5b')](_0x13dfc8,function(_0x16e653){var _0x3c6530=_0x16e653['get']({'plain':!![]});return _0x3c6530['Agents'];});return db[_0xf457('0x22')]['find']({'where':{'id':_0x337a3c[_0xf457('0x41')]['id']}})[_0xf457('0x18')](function(_0x4858f0){return db['sequelize'][_0xf457('0x5c')](function(_0x3db878){return _0x4858f0['addTeams'](_0x3649b3,{'transaction':_0x3db878})[_0xf457('0x18')](function(){return BPromise[_0xf457('0x5d')](_0x3f3529,function(_0x34dfe1){return db[_0xf457('0x4b')][_0xf457('0x5e')]({'where':{'UserId':_0x34dfe1['id'],'ChatQueueId':_0x337a3c[_0xf457('0x41')]['id']},'transaction':_0x3db878});});})[_0xf457('0x18')](function(){_0x3f3529[_0xf457('0x5f')](function(_0x1daa56){socket[_0xf457('0x60')](_0xf457('0x61'),{'UserId':_0x1daa56['id'],'ChatQueueId':_0x4858f0['id']});});});});});}})[_0xf457('0x18')](respondWithStatusCode(_0x3c8c1e,null))['catch'](handleError(_0x3c8c1e,null));};exports[_0xf457('0x62')]=function(_0x1ddcb9,_0x2cc6b4){return db[_0xf457('0x63')]['findAll']({'where':{'id':_0x1ddcb9[_0xf457('0x29')]['ids']},'attributes':['id'],'include':[{'model':db[_0xf457('0x4c')],'as':_0xf457('0x58'),'attributes':['id'],'raw':!![]}]})[_0xf457('0x18')](handleEntityNotFound(_0x2cc6b4,null))[_0xf457('0x18')](function(_0x5c24f7){var _0x925346=_[_0xf457('0x21')](_0x5c24f7,'id');var _0x3b3f5d=[];var _0x3e2d61=[];var _0x1c0501=squel[_0xf457('0x64')]();_0x1c0501[_0xf457('0x65')]('tq.TeamId')[_0xf457('0x66')](_0xf457('0x67'),'tq')['join'](_0xf457('0x68'),'ut',_0xf457('0x69'))['where'](_0xf457('0x6a'),_0x1ddcb9[_0xf457('0x41')]['id']);for(var _0x3ea697=0x0;_0x3ea697<_0x5c24f7[_0xf457('0x33')];_0x3ea697+=0x1){let _0x560faa=_0x5c24f7[_0x3ea697];for(var _0x347fcb=0x0;_0x347fcb<_0x560faa[_0xf457('0x58')][_0xf457('0x33')];_0x347fcb+=0x1){let _0x1a7eef=_0x560faa[_0xf457('0x58')][_0x347fcb];var _0x331b68=_0x1c0501[_0xf457('0x6b')]();_0x331b68[_0xf457('0x27')]('ut.UserId\x20=\x20?',_0x1a7eef['id']);_0x3e2d61[_0xf457('0x6c')](db[_0xf457('0x6d')]['query'](_0x331b68['toString'](),{'type':db[_0xf457('0x6d')][_0xf457('0x6e')][_0xf457('0x6f')]})[_0xf457('0x18')](function(_0x268111){if(_0x268111[_0xf457('0x33')]===0x1){return _0x1a7eef['id'];}else{var _0x51af24=_[_0xf457('0x70')](_['map'](_0x268111,_0xf457('0x71')),function(_0x22163c){return _['includes'](_0x925346,_0x22163c);});if(_0x51af24){return _0x1a7eef['id'];}}}));}}return BPromise['all'](_0x3e2d61)[_0xf457('0x18')](function(_0x1b17f4){_0x3b3f5d=_(_0x3b3f5d)[_0xf457('0x72')](_0x1b17f4)[_0xf457('0x73')]()['value']();return db[_0xf457('0x22')][_0xf457('0x35')]({'where':{'id':_0x1ddcb9['params']['id']}})[_0xf457('0x18')](function(_0x5ce9c7){return db[_0xf457('0x6d')]['transaction'](function(_0x5520a2){return _0x5ce9c7[_0xf457('0x62')](_0x1ddcb9['query'][_0xf457('0x74')],{'transaction':_0x5520a2})[_0xf457('0x18')](function(){if(!_[_0xf457('0x75')](_0x3b3f5d)){return _0x5ce9c7[_0xf457('0x76')](_0x3b3f5d,{'transaction':_0x5520a2});}})[_0xf457('0x18')](function(){_0x3b3f5d[_0xf457('0x5f')](function(_0x10d748){socket[_0xf457('0x60')](_0xf457('0x77'),{'UserId':_0x10d748,'ChatQueueId':_0x5ce9c7['id']});});});});});});})['then'](respondWithStatusCode(_0x2cc6b4,null))['catch'](handleError(_0x2cc6b4,null));};exports[_0xf457('0x78')]=function(_0x7f1478,_0xf50db6){return db[_0xf457('0x22')][_0xf457('0x35')]({'where':{'id':_0x7f1478[_0xf457('0x41')]['id']}})[_0xf457('0x18')](handleEntityNotFound(_0xf50db6,null))[_0xf457('0x18')](function(_0x3c7531){if(_0x3c7531){return _0x3c7531[_0xf457('0x78')](_0x7f1478[_0xf457('0x37')][_0xf457('0x74')],_['omit'](_0x7f1478['body'],[_0xf457('0x74'),'id'])||{})[_0xf457('0x79')](function(_0xda8eb){for(var _0x53c5f5=0x0;_0x53c5f5<_0x7f1478[_0xf457('0x37')][_0xf457('0x74')][_0xf457('0x33')];_0x53c5f5+=0x1){socket[_0xf457('0x60')](_0xf457('0x61'),{'UserId':Number(_0x7f1478[_0xf457('0x37')]['ids'][_0x53c5f5]),'ChatQueueId':Number(_0x7f1478[_0xf457('0x41')]['id'])});}return _0xda8eb;});}})[_0xf457('0x18')](respondWithResult(_0xf50db6,null))[_0xf457('0x2b')](handleError(_0xf50db6,null));};exports[_0xf457('0x76')]=function(_0x159184,_0x311743){return db[_0xf457('0x22')]['find']({'where':{'id':_0x159184[_0xf457('0x41')]['id']}})[_0xf457('0x18')](handleEntityNotFound(_0x311743,null))[_0xf457('0x18')](function(_0x197ec7){if(_0x197ec7){return _0x197ec7['removeAgents'](_0x159184[_0xf457('0x29')]['ids'])['then'](function(){if(_[_0xf457('0x7a')](_0x159184['query'][_0xf457('0x74')])){for(var _0x128533=0x0;_0x128533<_0x159184['query'][_0xf457('0x74')][_0xf457('0x33')];_0x128533+=0x1){socket['emit'](_0xf457('0x77'),{'UserId':Number(_0x159184[_0xf457('0x29')]['ids'][_0x128533]),'ChatQueueId':Number(_0x159184[_0xf457('0x41')]['id'])});}}else{socket[_0xf457('0x60')](_0xf457('0x77'),{'UserId':Number(_0x159184[_0xf457('0x29')][_0xf457('0x74')]),'ChatQueueId':Number(_0x159184['params']['id'])});}});}})[_0xf457('0x18')](respondWithStatusCode(_0x311743,null))['catch'](handleError(_0x311743,null));};exports[_0xf457('0x7b')]=function(_0x3380c1,_0x22b5b9){var _0xdf0cf5={};var _0x524ce2={};var _0x56c117;var _0x317d77;return db[_0xf457('0x22')][_0xf457('0x44')]({'where':{'id':_0x3380c1['params']['id']}})['then'](handleEntityNotFound(_0x22b5b9,null))['then'](function(_0x500a83){if(_0x500a83){_0x56c117=_0x500a83;_0x524ce2[_0xf457('0x2d')]=_['keys'](db[_0xf457('0x4c')][_0xf457('0x23')]);_0x524ce2[_0xf457('0x29')]=_[_0xf457('0x2e')](_0x3380c1['query']);_0x524ce2[_0xf457('0x2f')]=_['intersection'](_0x524ce2[_0xf457('0x2d')],_0x524ce2[_0xf457('0x29')]);_0xdf0cf5[_0xf457('0x31')]=_[_0xf457('0x30')](_0x524ce2[_0xf457('0x2d')],qs['fields'](_0x3380c1[_0xf457('0x29')][_0xf457('0x32')]));_0xdf0cf5[_0xf457('0x31')]=_0xdf0cf5[_0xf457('0x31')][_0xf457('0x33')]?_0xdf0cf5['attributes']:_0x524ce2[_0xf457('0x2d')];_0xdf0cf5[_0xf457('0x47')]=qs[_0xf457('0x48')](_0x3380c1[_0xf457('0x29')][_0xf457('0x48')]);_0xdf0cf5[_0xf457('0x27')]=qs[_0xf457('0x2f')](_[_0xf457('0x49')](_0x3380c1['query'],_0x524ce2[_0xf457('0x2f')]));if(_0x3380c1[_0xf457('0x29')][_0xf457('0x4a')]){_0xdf0cf5[_0xf457('0x27')]=_[_0xf457('0x34')](_0xdf0cf5[_0xf457('0x27')],{'$or':_[_0xf457('0x21')](_0xdf0cf5[_0xf457('0x31')],function(_0x4380c1){var _0x153515={};_0x153515[_0x4380c1]={'$like':'%'+_0x3380c1[_0xf457('0x29')]['filter']+'%'};return _0x153515;})});}_0xdf0cf5=_['merge']({},_0xdf0cf5,_0x3380c1[_0xf457('0x56')]);return _0x56c117[_0xf457('0x7b')](_0xdf0cf5);}})[_0xf457('0x18')](function(_0x1a5dd6){if(_0x1a5dd6){_0x317d77=_0x1a5dd6[_0xf457('0x33')];if(!_0x3380c1['query'][_0xf457('0x45')](_0xf457('0x46'))){_0xdf0cf5[_0xf457('0x13')]=qs[_0xf457('0x13')](_0x3380c1[_0xf457('0x29')][_0xf457('0x13')]);_0xdf0cf5[_0xf457('0x12')]=qs['offset'](_0x3380c1[_0xf457('0x29')]['offset']);}return _0x56c117[_0xf457('0x7b')](_0xdf0cf5);}})[_0xf457('0x18')](function(_0x32456a){if(_0x32456a){return _0x32456a?{'count':_0x317d77,'rows':_0x32456a}:null;}})[_0xf457('0x18')](respondWithResult(_0x22b5b9,null))[_0xf457('0x2b')](handleError(_0x22b5b9,null));};