Built motion from commit 10af8726.|2.6.34
[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 _0xa9d6=['../../components/parsers/qs','../../config/logger','../../config/environment','redis','defaults','socket.io-emitter','./chatQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','update','then','destroy','get','ChatQueues','error','stack','name','index','map','ChatQueue','rawAttributes','fieldName','key','getOptions','where','include','query','findAll','rows','catch','model','keys','filters','intersection','attributes','fields','length','includeAll','merge','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserChatQueue','hasOwnProperty','nolimit','order','sort','pick','ChatQueueId','User','findAndCountAll','UserId','agent','chatPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','filter','ids','Agents','online','voicePause','flatMap','sequelize','transaction','addTeams','findOrCreate','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','union','compact','value','isEmpty','removeAgents','emit','userChatQueue:remove','addAgents','isArray','getAgents','options','util','lodash','squel','ioredis'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xa9d6,0xf0));var _0x6a9d=function(_0xd9fbf6,_0x2f5249){_0xd9fbf6=_0xd9fbf6-0x0;var _0x161b91=_0xa9d6[_0xd9fbf6];return _0x161b91;};'use strict';var BPromise=require('bluebird');var util=require(_0x6a9d('0x0'));var _=require(_0x6a9d('0x1'));var squel=require(_0x6a9d('0x2'));var Redis=require(_0x6a9d('0x3'));var qs=require(_0x6a9d('0x4'));var logger=require(_0x6a9d('0x5'))('api');var config=require(_0x6a9d('0x6'));var db=require('../../mysqldb')['db'];config[_0x6a9d('0x7')]=_[_0x6a9d('0x8')](config[_0x6a9d('0x7')],{'host':'localhost','port':0x18eb});var socket=require(_0x6a9d('0x9'))(new Redis(config['redis']));require(_0x6a9d('0xa'))[_0x6a9d('0xb')](socket);function respondWithStatusCode(_0x2a6e50,_0x483c94){_0x483c94=_0x483c94||0xcc;return function(_0x33751b){if(_0x33751b){return _0x2a6e50[_0x6a9d('0xc')](_0x483c94);}return _0x2a6e50[_0x6a9d('0xd')](_0x483c94)[_0x6a9d('0xe')]();};}function respondWithResult(_0x456512,_0x5e281b){_0x5e281b=_0x5e281b||0xc8;return function(_0xbbf930){if(_0xbbf930){return _0x456512[_0x6a9d('0xd')](_0x5e281b)[_0x6a9d('0xf')](_0xbbf930);}};}function respondWithFilteredResult(_0x4ac402,_0x1d3536){return function(_0x5079ba){if(_0x5079ba){var _0x4567a3=typeof _0x1d3536[_0x6a9d('0x10')]===_0x6a9d('0x11')&&typeof _0x1d3536[_0x6a9d('0x12')]===_0x6a9d('0x11');var _0x45a441=_0x5079ba[_0x6a9d('0x13')];var _0x24803a=_0x4567a3?0x0:_0x1d3536[_0x6a9d('0x10')];var _0xd6eb6f=_0x4567a3?_0x5079ba[_0x6a9d('0x13')]:_0x1d3536[_0x6a9d('0x10')]+_0x1d3536['limit'];var _0x1bf0a4;if(_0xd6eb6f>=_0x45a441){_0xd6eb6f=_0x45a441;_0x1bf0a4=0xc8;}else{_0x1bf0a4=0xce;}_0x4ac402[_0x6a9d('0xd')](_0x1bf0a4);return _0x4ac402['set'](_0x6a9d('0x14'),_0x24803a+'-'+_0xd6eb6f+'/'+_0x45a441)['json'](_0x5079ba);}return null;};}function saveUpdates(_0x38409a){return function(_0x7ae1da){if(_0x7ae1da){return _0x7ae1da[_0x6a9d('0x15')](_0x38409a)[_0x6a9d('0x16')](function(_0x2403f5){return _0x2403f5;});}return null;};}function removeEntity(_0xf8bc80){return function(_0x3d69b6){if(_0x3d69b6){return _0x3d69b6[_0x6a9d('0x17')]()[_0x6a9d('0x16')](function(){var _0x897510=_0x3d69b6[_0x6a9d('0x18')]({'plain':!![]});var _0x41f543=_0x6a9d('0x19');return db['UserProfileResource'][_0x6a9d('0x17')]({'where':{'type':_0x41f543,'resourceId':_0x897510['id']}})[_0x6a9d('0x16')](function(){return _0x3d69b6;});})[_0x6a9d('0x16')](function(){_0xf8bc80[_0x6a9d('0xd')](0xcc)[_0x6a9d('0xe')]();});}};}function handleEntityNotFound(_0x5c0091){return function(_0x279610){if(!_0x279610){_0x5c0091[_0x6a9d('0xc')](0x194);}return _0x279610;};}function handleError(_0xd9fb8d,_0x1fc335){_0x1fc335=_0x1fc335||0x1f4;return function(_0x217e14){logger[_0x6a9d('0x1a')](_0x217e14[_0x6a9d('0x1b')]);if(_0x217e14[_0x6a9d('0x1c')]){delete _0x217e14['name'];}_0xd9fb8d[_0x6a9d('0xd')](_0x1fc335)['send'](_0x217e14);};}exports[_0x6a9d('0x1d')]=function(_0xb2fd52,_0x6698e4){var _0x5881b7={};var _0x303aa7={'count':0x0,'rows':[]};var _0xf5eb=_[_0x6a9d('0x1e')](db[_0x6a9d('0x1f')][_0x6a9d('0x20')],function(_0x311ddf){return{'name':_0x311ddf[_0x6a9d('0x21')],'type':_0x311ddf['type'][_0x6a9d('0x22')]};});_0x5881b7=qs[_0x6a9d('0x23')](_0xf5eb,_0xb2fd52);var _0x278bf6={'where':_0x5881b7[_0x6a9d('0x24')]};return db[_0x6a9d('0x1f')][_0x6a9d('0x13')](_0x278bf6)[_0x6a9d('0x16')](function(_0xa96cce){_0x303aa7[_0x6a9d('0x13')]=_0xa96cce;_0x5881b7[_0x6a9d('0x25')]=qs['include'](_0xb2fd52[_0x6a9d('0x26')]);return db[_0x6a9d('0x1f')][_0x6a9d('0x27')](_0x5881b7);})[_0x6a9d('0x16')](function(_0x587526){_0x303aa7[_0x6a9d('0x28')]=_0x587526;return _0x303aa7;})[_0x6a9d('0x16')](respondWithFilteredResult(_0x6698e4,_0x5881b7))[_0x6a9d('0x29')](handleError(_0x6698e4,null));};exports['show']=function(_0x1a68de,_0x4e0a5b){var _0x26cf11={'raw':!![],'where':{'id':_0x1a68de['params']['id']}},_0x53a373={};_0x53a373[_0x6a9d('0x2a')]=_[_0x6a9d('0x2b')](db['ChatQueue'][_0x6a9d('0x20')]);_0x53a373[_0x6a9d('0x26')]=_[_0x6a9d('0x2b')](_0x1a68de[_0x6a9d('0x26')]);_0x53a373[_0x6a9d('0x2c')]=_[_0x6a9d('0x2d')](_0x53a373[_0x6a9d('0x2a')],_0x53a373[_0x6a9d('0x26')]);_0x26cf11[_0x6a9d('0x2e')]=_[_0x6a9d('0x2d')](_0x53a373[_0x6a9d('0x2a')],qs[_0x6a9d('0x2f')](_0x1a68de[_0x6a9d('0x26')][_0x6a9d('0x2f')]));_0x26cf11[_0x6a9d('0x2e')]=_0x26cf11[_0x6a9d('0x2e')][_0x6a9d('0x30')]?_0x26cf11['attributes']:_0x53a373['model'];if(_0x1a68de[_0x6a9d('0x26')][_0x6a9d('0x31')]){_0x26cf11['include']=[{'all':!![]}];}_0x26cf11=_[_0x6a9d('0x32')]({},_0x26cf11,_0x1a68de['options']);return db[_0x6a9d('0x1f')][_0x6a9d('0x33')](_0x26cf11)[_0x6a9d('0x16')](handleEntityNotFound(_0x4e0a5b,null))[_0x6a9d('0x16')](respondWithResult(_0x4e0a5b,null))[_0x6a9d('0x29')](handleError(_0x4e0a5b,null));};exports[_0x6a9d('0x34')]=function(_0x385a6a,_0x34edc8){return db[_0x6a9d('0x1f')]['create'](_0x385a6a[_0x6a9d('0x35')],{})[_0x6a9d('0x16')](function(_0x5e2d2b){var _0x45ee2c=_0x385a6a['user'][_0x6a9d('0x18')]({'plain':!![]});if(!_0x45ee2c)throw new Error(_0x6a9d('0x36'));if(_0x45ee2c[_0x6a9d('0x37')]==='user'){var _0x3df5e8=_0x5e2d2b['get']({'plain':!![]});var _0x3d163c='ChatQueues';return db[_0x6a9d('0x38')][_0x6a9d('0x33')]({'where':{'name':_0x3d163c,'userProfileId':_0x45ee2c[_0x6a9d('0x39')]},'raw':!![]})[_0x6a9d('0x16')](function(_0x207b04){if(_0x207b04&&_0x207b04['autoAssociation']===0x0){return db[_0x6a9d('0x3a')][_0x6a9d('0x34')]({'name':_0x3df5e8[_0x6a9d('0x1c')],'resourceId':_0x3df5e8['id'],'type':_0x207b04[_0x6a9d('0x1c')],'sectionId':_0x207b04['id']},{})['then'](function(){return _0x5e2d2b;});}else{return _0x5e2d2b;}})[_0x6a9d('0x29')](function(_0x414f7d){logger[_0x6a9d('0x1a')](_0x6a9d('0x3b'),_0x414f7d);throw _0x414f7d;});}return _0x5e2d2b;})[_0x6a9d('0x16')](respondWithResult(_0x34edc8,0xc9))[_0x6a9d('0x29')](handleError(_0x34edc8,null));};exports[_0x6a9d('0x15')]=function(_0x4a245e,_0x2a86b2){if(_0x4a245e[_0x6a9d('0x35')]['id']){delete _0x4a245e['body']['id'];}return db[_0x6a9d('0x1f')][_0x6a9d('0x33')]({'where':{'id':_0x4a245e[_0x6a9d('0x3c')]['id']}})['then'](handleEntityNotFound(_0x2a86b2,null))[_0x6a9d('0x16')](saveUpdates(_0x4a245e[_0x6a9d('0x35')],null))[_0x6a9d('0x16')](respondWithResult(_0x2a86b2,null))[_0x6a9d('0x29')](handleError(_0x2a86b2,null));};exports[_0x6a9d('0x17')]=function(_0x36d035,_0x253e04){return db[_0x6a9d('0x1f')][_0x6a9d('0x33')]({'where':{'id':_0x36d035[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](handleEntityNotFound(_0x253e04,null))['then'](removeEntity(_0x253e04,null))[_0x6a9d('0x29')](handleError(_0x253e04,null));};exports[_0x6a9d('0x3d')]=function(_0x472342,_0x45034f){return db['ChatQueue'][_0x6a9d('0x3d')]()['then'](respondWithResult(_0x45034f,null))[_0x6a9d('0x29')](handleError(_0x45034f,null));};exports[_0x6a9d('0x3e')]=function(_0x589df6,_0x39c6e9){var _0xd373a3={'raw':!![],'where':{}},_0x18e295={},_0x62fbb4;return db[_0x6a9d('0x1f')][_0x6a9d('0x3f')]({'where':{'id':_0x589df6[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](handleEntityNotFound(_0x39c6e9,null))[_0x6a9d('0x16')](function(_0x39f408){if(_0x39f408){_0x62fbb4=_0x39f408['get']({'plain':!![]});_0x18e295[_0x6a9d('0x2a')]=_[_0x6a9d('0x2b')](db[_0x6a9d('0x40')][_0x6a9d('0x20')]);_0x18e295[_0x6a9d('0x26')]=_[_0x6a9d('0x2b')](_0x589df6[_0x6a9d('0x26')]);_0x18e295['filters']=_[_0x6a9d('0x2d')](_0x18e295[_0x6a9d('0x2a')],_0x18e295['query']);_0xd373a3[_0x6a9d('0x2e')]=_[_0x6a9d('0x2d')](_0x18e295[_0x6a9d('0x2a')],qs[_0x6a9d('0x2f')](_0x589df6[_0x6a9d('0x26')][_0x6a9d('0x2f')]));_0xd373a3['attributes']=_0xd373a3[_0x6a9d('0x2e')][_0x6a9d('0x30')]?_0xd373a3['attributes']:_0x18e295[_0x6a9d('0x2a')];if(!_0x589df6[_0x6a9d('0x26')][_0x6a9d('0x41')](_0x6a9d('0x42'))){_0xd373a3[_0x6a9d('0x12')]=qs['limit'](_0x589df6['query'][_0x6a9d('0x12')]);_0xd373a3[_0x6a9d('0x10')]=qs[_0x6a9d('0x10')](_0x589df6['query'][_0x6a9d('0x10')]);}_0xd373a3[_0x6a9d('0x43')]=qs[_0x6a9d('0x44')](_0x589df6[_0x6a9d('0x26')]['sort']);_0xd373a3[_0x6a9d('0x24')]=qs[_0x6a9d('0x2c')](_[_0x6a9d('0x45')](_0x589df6[_0x6a9d('0x26')],_0x18e295[_0x6a9d('0x2c')]));_0xd373a3[_0x6a9d('0x24')][_0x6a9d('0x46')]=_0x39f408['id'];if(_0x589df6[_0x6a9d('0x26')]['filter']){_0xd373a3[_0x6a9d('0x24')]=_[_0x6a9d('0x32')](_0xd373a3[_0x6a9d('0x24')],{'$or':_[_0x6a9d('0x1e')](_0xd373a3[_0x6a9d('0x2e')],function(_0x1a84d7){var _0x22e54d={};_0x22e54d[_0x1a84d7]={'$like':'%'+_0x589df6[_0x6a9d('0x26')]['filter']+'%'};return _0x22e54d;})});}_0xd373a3=_[_0x6a9d('0x32')]({},_0xd373a3,_0x589df6['options']);return db[_0x6a9d('0x40')][_0x6a9d('0x27')](_0xd373a3);}})['then'](function(_0x566860){if(_0x566860){return db[_0x6a9d('0x47')][_0x6a9d('0x48')]({'where':{'id':_['map'](_0x566860,_0x6a9d('0x49')),'role':_0x6a9d('0x4a')},'attributes':['id',_0x6a9d('0x1c'),_0x6a9d('0x4b'),_0x6a9d('0x4c'),_0x6a9d('0x4d')]});}})[_0x6a9d('0x16')](function(_0x2446ed){if(_0x2446ed){return{'count':_0x2446ed['count'],'rows':_[_0x6a9d('0x1e')](_0x2446ed[_0x6a9d('0x28')],function(_0x25c7cf){return{'membername':_0x25c7cf[_0x6a9d('0x1c')],'UserId':_0x25c7cf['id'],'queue_name':_0x62fbb4[_0x6a9d('0x1c')],'ChatQueueId':_0x62fbb4['id'],'interface':util[_0x6a9d('0x4e')](_0x6a9d('0x4f'),_0x6a9d('0x50'),_0x25c7cf[_0x6a9d('0x1c')]),'penalty':0x0,'paused':_0x25c7cf[_0x6a9d('0x4b')],'createdAt':_0x25c7cf[_0x6a9d('0x4d')],'updatedAt':_0x25c7cf[_0x6a9d('0x4c')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x6a9d('0x16')](respondWithFilteredResult(_0x39c6e9,_0xd373a3))['catch'](handleError(_0x39c6e9,null));};exports[_0x6a9d('0x51')]=function(_0x2bbfd4,_0x237561){var _0x25b960={};var _0xf72cb0={};var _0x20b457;var _0x5b114b;return db[_0x6a9d('0x1f')][_0x6a9d('0x3f')]({'where':{'id':_0x2bbfd4[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](handleEntityNotFound(_0x237561,null))[_0x6a9d('0x16')](function(_0x4786d5){if(_0x4786d5){_0x20b457=_0x4786d5;_0xf72cb0['model']=_['keys'](db[_0x6a9d('0x52')]['rawAttributes']);_0xf72cb0[_0x6a9d('0x26')]=_[_0x6a9d('0x2b')](_0x2bbfd4[_0x6a9d('0x26')]);_0xf72cb0[_0x6a9d('0x2c')]=_['intersection'](_0xf72cb0[_0x6a9d('0x2a')],_0xf72cb0[_0x6a9d('0x26')]);_0x25b960[_0x6a9d('0x2e')]=_[_0x6a9d('0x2d')](_0xf72cb0[_0x6a9d('0x2a')],qs[_0x6a9d('0x2f')](_0x2bbfd4[_0x6a9d('0x26')][_0x6a9d('0x2f')]));_0x25b960['attributes']=_0x25b960[_0x6a9d('0x2e')][_0x6a9d('0x30')]?_0x25b960[_0x6a9d('0x2e')]:_0xf72cb0[_0x6a9d('0x2a')];_0x25b960[_0x6a9d('0x43')]=qs[_0x6a9d('0x44')](_0x2bbfd4['query']['sort']);_0x25b960[_0x6a9d('0x24')]=qs[_0x6a9d('0x2c')](_[_0x6a9d('0x45')](_0x2bbfd4[_0x6a9d('0x26')],_0xf72cb0['filters']));if(_0x2bbfd4[_0x6a9d('0x26')]['filter']){_0x25b960[_0x6a9d('0x24')]=_[_0x6a9d('0x32')](_0x25b960[_0x6a9d('0x24')],{'$or':_[_0x6a9d('0x1e')](_0x25b960['attributes'],function(_0x50c61f){var _0x1aadd0={};_0x1aadd0[_0x50c61f]={'$like':'%'+_0x2bbfd4['query'][_0x6a9d('0x53')]+'%'};return _0x1aadd0;})});}_0x25b960=_[_0x6a9d('0x32')]({},_0x25b960,_0x2bbfd4['options']);return _0x20b457[_0x6a9d('0x51')](_0x25b960);}})[_0x6a9d('0x16')](function(_0x238d06){if(_0x238d06){_0x5b114b=_0x238d06['length'];if(!_0x2bbfd4[_0x6a9d('0x26')][_0x6a9d('0x41')]('nolimit')){_0x25b960['limit']=qs[_0x6a9d('0x12')](_0x2bbfd4[_0x6a9d('0x26')][_0x6a9d('0x12')]);_0x25b960[_0x6a9d('0x10')]=qs[_0x6a9d('0x10')](_0x2bbfd4[_0x6a9d('0x26')][_0x6a9d('0x10')]);}return _0x20b457[_0x6a9d('0x51')](_0x25b960);}})['then'](function(_0x3ab474){if(_0x3ab474){return _0x3ab474?{'count':_0x5b114b,'rows':_0x3ab474}:null;}})['then'](respondWithResult(_0x237561,null))['catch'](handleError(_0x237561,null));};exports['addTeams']=function(_0x2911a3,_0x42c4a2){var _0x284003=_0x2911a3[_0x6a9d('0x35')][_0x6a9d('0x54')];return db[_0x6a9d('0x52')][_0x6a9d('0x27')]({'where':{'id':_0x284003},'attributes':['id'],'include':[{'model':db[_0x6a9d('0x47')],'as':_0x6a9d('0x55'),'attributes':['id',_0x6a9d('0x1c'),_0x6a9d('0x56'),_0x6a9d('0x57'),'interface'],'raw':!![]}]})[_0x6a9d('0x16')](function(_0x27a150){if(_0x27a150){var _0x3473e1=_[_0x6a9d('0x58')](_0x27a150,function(_0x3e2c62){var _0x33d3ff=_0x3e2c62[_0x6a9d('0x18')]({'plain':!![]});return _0x33d3ff['Agents'];});return db[_0x6a9d('0x1f')][_0x6a9d('0x33')]({'where':{'id':_0x2911a3[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](function(_0x2de048){return db[_0x6a9d('0x59')][_0x6a9d('0x5a')](function(_0x568da8){return _0x2de048[_0x6a9d('0x5b')](_0x284003,{'transaction':_0x568da8})['then'](function(){return BPromise['each'](_0x3473e1,function(_0x521d5f){return db[_0x6a9d('0x40')][_0x6a9d('0x5c')]({'where':{'UserId':_0x521d5f['id'],'ChatQueueId':_0x2911a3[_0x6a9d('0x3c')]['id']},'transaction':_0x568da8});});})['then'](function(){_0x3473e1['forEach'](function(_0x21c081){socket['emit'](_0x6a9d('0x5d'),{'UserId':_0x21c081['id'],'ChatQueueId':_0x2de048['id']});});});});});}})[_0x6a9d('0x16')](respondWithStatusCode(_0x42c4a2,null))[_0x6a9d('0x29')](handleError(_0x42c4a2,null));};exports[_0x6a9d('0x5e')]=function(_0xe5263f,_0x4b27fe){return db[_0x6a9d('0x52')][_0x6a9d('0x27')]({'where':{'id':_0xe5263f[_0x6a9d('0x26')]['ids']},'attributes':['id'],'include':[{'model':db[_0x6a9d('0x47')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x6a9d('0x16')](handleEntityNotFound(_0x4b27fe,null))[_0x6a9d('0x16')](function(_0x37c152){var _0x46d960=_[_0x6a9d('0x1e')](_0x37c152,'id');var _0x2ff594=[];var _0x1a0c1b=[];var _0x284b57=squel[_0x6a9d('0x5f')]();_0x284b57[_0x6a9d('0x60')](_0x6a9d('0x61'))[_0x6a9d('0x62')]('team_has_chat_queues','tq')[_0x6a9d('0x63')](_0x6a9d('0x64'),'ut',_0x6a9d('0x65'))[_0x6a9d('0x24')](_0x6a9d('0x66'),_0xe5263f[_0x6a9d('0x3c')]['id']);for(var _0x24ca07=0x0;_0x24ca07<_0x37c152[_0x6a9d('0x30')];_0x24ca07+=0x1){let _0x4901f8=_0x37c152[_0x24ca07];for(var _0x283b75=0x0;_0x283b75<_0x4901f8[_0x6a9d('0x55')]['length'];_0x283b75+=0x1){let _0x547323=_0x4901f8[_0x6a9d('0x55')][_0x283b75];var _0x27f6cd=_0x284b57[_0x6a9d('0x67')]();_0x27f6cd[_0x6a9d('0x24')](_0x6a9d('0x68'),_0x547323['id']);_0x1a0c1b[_0x6a9d('0x69')](db[_0x6a9d('0x59')][_0x6a9d('0x26')](_0x27f6cd[_0x6a9d('0x6a')](),{'type':db[_0x6a9d('0x59')][_0x6a9d('0x6b')][_0x6a9d('0x6c')]})[_0x6a9d('0x16')](function(_0x449ab3){if(_0x449ab3[_0x6a9d('0x30')]===0x1){return _0x547323['id'];}else{var _0x178a3e=_[_0x6a9d('0x6d')](_[_0x6a9d('0x1e')](_0x449ab3,_0x6a9d('0x6e')),function(_0x62e187){return _['includes'](_0x46d960,_0x62e187);});if(_0x178a3e){return _0x547323['id'];}}}));}}return BPromise['all'](_0x1a0c1b)[_0x6a9d('0x16')](function(_0xf51a37){_0x2ff594=_(_0x2ff594)[_0x6a9d('0x6f')](_0xf51a37)[_0x6a9d('0x70')]()[_0x6a9d('0x71')]();return db[_0x6a9d('0x1f')][_0x6a9d('0x33')]({'where':{'id':_0xe5263f[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](function(_0x2c1fa5){return db[_0x6a9d('0x59')][_0x6a9d('0x5a')](function(_0x3bee36){return _0x2c1fa5[_0x6a9d('0x5e')](_0xe5263f['query'][_0x6a9d('0x54')],{'transaction':_0x3bee36})[_0x6a9d('0x16')](function(){if(!_[_0x6a9d('0x72')](_0x2ff594)){return _0x2c1fa5[_0x6a9d('0x73')](_0x2ff594,{'transaction':_0x3bee36});}})[_0x6a9d('0x16')](function(){_0x2ff594['forEach'](function(_0x3a6f12){socket[_0x6a9d('0x74')](_0x6a9d('0x75'),{'UserId':_0x3a6f12,'ChatQueueId':_0x2c1fa5['id']});});});});});});})[_0x6a9d('0x16')](respondWithStatusCode(_0x4b27fe,null))[_0x6a9d('0x29')](handleError(_0x4b27fe,null));};exports[_0x6a9d('0x76')]=function(_0x1a9cbf,_0x2c0000){return db[_0x6a9d('0x1f')][_0x6a9d('0x33')]({'where':{'id':_0x1a9cbf[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](handleEntityNotFound(_0x2c0000,null))[_0x6a9d('0x16')](function(_0x5c92c4){if(_0x5c92c4){return _0x5c92c4[_0x6a9d('0x76')](_0x1a9cbf[_0x6a9d('0x35')][_0x6a9d('0x54')],_['omit'](_0x1a9cbf[_0x6a9d('0x35')],['ids','id'])||{})['spread'](function(_0x27785e){for(var _0x1978e1=0x0;_0x1978e1<_0x1a9cbf[_0x6a9d('0x35')]['ids'][_0x6a9d('0x30')];_0x1978e1+=0x1){socket[_0x6a9d('0x74')](_0x6a9d('0x5d'),{'UserId':Number(_0x1a9cbf[_0x6a9d('0x35')][_0x6a9d('0x54')][_0x1978e1]),'ChatQueueId':Number(_0x1a9cbf[_0x6a9d('0x3c')]['id'])});}return _0x27785e;});}})[_0x6a9d('0x16')](respondWithResult(_0x2c0000,null))[_0x6a9d('0x29')](handleError(_0x2c0000,null));};exports[_0x6a9d('0x73')]=function(_0x26295e,_0x13b5f8){return db[_0x6a9d('0x1f')][_0x6a9d('0x33')]({'where':{'id':_0x26295e[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](handleEntityNotFound(_0x13b5f8,null))[_0x6a9d('0x16')](function(_0x7475e9){if(_0x7475e9){return _0x7475e9[_0x6a9d('0x73')](_0x26295e[_0x6a9d('0x26')][_0x6a9d('0x54')])[_0x6a9d('0x16')](function(){if(_[_0x6a9d('0x77')](_0x26295e[_0x6a9d('0x26')]['ids'])){for(var _0x3aa794=0x0;_0x3aa794<_0x26295e[_0x6a9d('0x26')][_0x6a9d('0x54')][_0x6a9d('0x30')];_0x3aa794+=0x1){socket['emit'](_0x6a9d('0x75'),{'UserId':Number(_0x26295e[_0x6a9d('0x26')][_0x6a9d('0x54')][_0x3aa794]),'ChatQueueId':Number(_0x26295e['params']['id'])});}}else{socket[_0x6a9d('0x74')](_0x6a9d('0x75'),{'UserId':Number(_0x26295e[_0x6a9d('0x26')]['ids']),'ChatQueueId':Number(_0x26295e[_0x6a9d('0x3c')]['id'])});}});}})[_0x6a9d('0x16')](respondWithStatusCode(_0x13b5f8,null))[_0x6a9d('0x29')](handleError(_0x13b5f8,null));};exports[_0x6a9d('0x78')]=function(_0x5d9fd6,_0x19cbf){var _0x4d89b9={};var _0x42fd03={};var _0xa7abc;var _0x3008af;return db[_0x6a9d('0x1f')][_0x6a9d('0x3f')]({'where':{'id':_0x5d9fd6[_0x6a9d('0x3c')]['id']}})[_0x6a9d('0x16')](handleEntityNotFound(_0x19cbf,null))[_0x6a9d('0x16')](function(_0x16ec00){if(_0x16ec00){_0xa7abc=_0x16ec00;_0x42fd03[_0x6a9d('0x2a')]=_[_0x6a9d('0x2b')](db[_0x6a9d('0x47')][_0x6a9d('0x20')]);_0x42fd03[_0x6a9d('0x26')]=_[_0x6a9d('0x2b')](_0x5d9fd6[_0x6a9d('0x26')]);_0x42fd03[_0x6a9d('0x2c')]=_[_0x6a9d('0x2d')](_0x42fd03[_0x6a9d('0x2a')],_0x42fd03[_0x6a9d('0x26')]);_0x4d89b9['attributes']=_['intersection'](_0x42fd03[_0x6a9d('0x2a')],qs[_0x6a9d('0x2f')](_0x5d9fd6['query'][_0x6a9d('0x2f')]));_0x4d89b9['attributes']=_0x4d89b9[_0x6a9d('0x2e')][_0x6a9d('0x30')]?_0x4d89b9[_0x6a9d('0x2e')]:_0x42fd03[_0x6a9d('0x2a')];_0x4d89b9[_0x6a9d('0x43')]=qs[_0x6a9d('0x44')](_0x5d9fd6['query']['sort']);_0x4d89b9['where']=qs[_0x6a9d('0x2c')](_['pick'](_0x5d9fd6[_0x6a9d('0x26')],_0x42fd03[_0x6a9d('0x2c')]));if(_0x5d9fd6['query']['filter']){_0x4d89b9[_0x6a9d('0x24')]=_[_0x6a9d('0x32')](_0x4d89b9['where'],{'$or':_[_0x6a9d('0x1e')](_0x4d89b9[_0x6a9d('0x2e')],function(_0x56ccf9){var _0x4aeefd={};_0x4aeefd[_0x56ccf9]={'$like':'%'+_0x5d9fd6[_0x6a9d('0x26')][_0x6a9d('0x53')]+'%'};return _0x4aeefd;})});}_0x4d89b9=_[_0x6a9d('0x32')]({},_0x4d89b9,_0x5d9fd6[_0x6a9d('0x79')]);return _0xa7abc[_0x6a9d('0x78')](_0x4d89b9);}})[_0x6a9d('0x16')](function(_0x1d4731){if(_0x1d4731){_0x3008af=_0x1d4731['length'];if(!_0x5d9fd6['query'][_0x6a9d('0x41')](_0x6a9d('0x42'))){_0x4d89b9[_0x6a9d('0x12')]=qs[_0x6a9d('0x12')](_0x5d9fd6[_0x6a9d('0x26')][_0x6a9d('0x12')]);_0x4d89b9[_0x6a9d('0x10')]=qs['offset'](_0x5d9fd6[_0x6a9d('0x26')][_0x6a9d('0x10')]);}return _0xa7abc['getAgents'](_0x4d89b9);}})[_0x6a9d('0x16')](function(_0x1e3309){if(_0x1e3309){return _0x1e3309?{'count':_0x3008af,'rows':_0x1e3309}:null;}})[_0x6a9d('0x16')](respondWithResult(_0x19cbf,null))['catch'](handleError(_0x19cbf,null));};