37e3e944bb30f90251b1346b12c7635294b169ac
[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 _0xe657=['UserChatQueue','hasOwnProperty','order','sort','pick','filter','options','User','UserId','agent','chatPause','updatedAt','format','%s/%s','createdAt','getTeams','Team','nolimit','addTeams','ids','findAll','Agents','interface','flatMap','sequelize','each','forEach','emit','userChatQueue:save','removeTeams','field','tq.TeamId','team_has_chat_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','every','all','union','compact','value','transaction','removeAgents','userChatQueue:remove','addAgents','omit','spread','isArray','getAgents','util','lodash','squel','ioredis','../../components/parsers/qs','api','../../mysqldb','redis','defaults','socket.io-emitter','./chatQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','then','destroy','get','UserProfileResource','error','stack','name','send','map','ChatQueue','rawAttributes','fieldName','key','where','include','rows','catch','show','params','model','keys','query','filters','intersection','fields','attributes','length','merge','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','describe','getMembers','findOne'];(function(_0x4893c3,_0x35c8b5){var _0x75f46e=function(_0x4553bb){while(--_0x4553bb){_0x4893c3['push'](_0x4893c3['shift']());}};_0x75f46e(++_0x35c8b5);}(_0xe657,0x11d));var _0x7e65=function(_0x2f52d5,_0x513a9d){_0x2f52d5=_0x2f52d5-0x0;var _0x4c1bdc=_0xe657[_0x2f52d5];return _0x4c1bdc;};'use strict';var BPromise=require('bluebird');var util=require(_0x7e65('0x0'));var _=require(_0x7e65('0x1'));var squel=require(_0x7e65('0x2'));var Redis=require(_0x7e65('0x3'));var qs=require(_0x7e65('0x4'));var logger=require('../../config/logger')(_0x7e65('0x5'));var config=require('../../config/environment');var db=require(_0x7e65('0x6'))['db'];config[_0x7e65('0x7')]=_[_0x7e65('0x8')](config[_0x7e65('0x7')],{'host':'localhost','port':0x18eb});var socket=require(_0x7e65('0x9'))(new Redis(config[_0x7e65('0x7')]));require(_0x7e65('0xa'))[_0x7e65('0xb')](socket);function respondWithStatusCode(_0x21055f,_0x5b8643){_0x5b8643=_0x5b8643||0xcc;return function(_0x582796){if(_0x582796){return _0x21055f[_0x7e65('0xc')](_0x5b8643);}return _0x21055f[_0x7e65('0xd')](_0x5b8643)[_0x7e65('0xe')]();};}function respondWithResult(_0x8a7831,_0x2a06bb){_0x2a06bb=_0x2a06bb||0xc8;return function(_0x36ca09){if(_0x36ca09){return _0x8a7831[_0x7e65('0xd')](_0x2a06bb)[_0x7e65('0xf')](_0x36ca09);}};}function respondWithFilteredResult(_0x45eccc,_0x54e0cd){return function(_0x4f6b24){if(_0x4f6b24){var _0x551b78=typeof _0x54e0cd[_0x7e65('0x10')]===_0x7e65('0x11')&&typeof _0x54e0cd[_0x7e65('0x12')]===_0x7e65('0x11');var _0x3c1dd7=_0x4f6b24[_0x7e65('0x13')];var _0x271488=_0x551b78?0x0:_0x54e0cd[_0x7e65('0x10')];var _0x5c0a76=_0x551b78?_0x4f6b24[_0x7e65('0x13')]:_0x54e0cd[_0x7e65('0x10')]+_0x54e0cd['limit'];var _0x478d85;if(_0x5c0a76>=_0x3c1dd7){_0x5c0a76=_0x3c1dd7;_0x478d85=0xc8;}else{_0x478d85=0xce;}_0x45eccc['status'](_0x478d85);return _0x45eccc[_0x7e65('0x14')](_0x7e65('0x15'),_0x271488+'-'+_0x5c0a76+'/'+_0x3c1dd7)[_0x7e65('0xf')](_0x4f6b24);}return null;};}function saveUpdates(_0x451bb5){return function(_0x47161c){if(_0x47161c){return _0x47161c[_0x7e65('0x16')](_0x451bb5)[_0x7e65('0x17')](function(_0x1e72bc){return _0x1e72bc;});}return null;};}function removeEntity(_0x2543af){return function(_0x221cf3){if(_0x221cf3){return _0x221cf3[_0x7e65('0x18')]()[_0x7e65('0x17')](function(){var _0x11e505=_0x221cf3[_0x7e65('0x19')]({'plain':!![]});var _0x18cd4a='ChatQueues';return db[_0x7e65('0x1a')][_0x7e65('0x18')]({'where':{'type':_0x18cd4a,'resourceId':_0x11e505['id']}})[_0x7e65('0x17')](function(){return _0x221cf3;});})['then'](function(){_0x2543af[_0x7e65('0xd')](0xcc)['end']();});}};}function handleEntityNotFound(_0x75bd56){return function(_0x2d0fd4){if(!_0x2d0fd4){_0x75bd56[_0x7e65('0xc')](0x194);}return _0x2d0fd4;};}function handleError(_0xf5267b,_0x171633){_0x171633=_0x171633||0x1f4;return function(_0x4ebfdc){logger[_0x7e65('0x1b')](_0x4ebfdc[_0x7e65('0x1c')]);if(_0x4ebfdc['name']){delete _0x4ebfdc[_0x7e65('0x1d')];}_0xf5267b[_0x7e65('0xd')](_0x171633)[_0x7e65('0x1e')](_0x4ebfdc);};}exports['index']=function(_0x3dcfbb,_0x31dc1b){var _0x5b1808={};var _0x30d807={'count':0x0,'rows':[]};var _0x2dde3a=_[_0x7e65('0x1f')](db[_0x7e65('0x20')][_0x7e65('0x21')],function(_0x535d51){return{'name':_0x535d51[_0x7e65('0x22')],'type':_0x535d51['type'][_0x7e65('0x23')]};});_0x5b1808=qs['getOptions'](_0x2dde3a,_0x3dcfbb);var _0x38c687={'where':_0x5b1808[_0x7e65('0x24')]};return db[_0x7e65('0x20')][_0x7e65('0x13')](_0x38c687)['then'](function(_0x664704){_0x30d807[_0x7e65('0x13')]=_0x664704;_0x5b1808[_0x7e65('0x25')]=qs[_0x7e65('0x25')](_0x3dcfbb['query']);return db['ChatQueue']['findAll'](_0x5b1808);})[_0x7e65('0x17')](function(_0x2fba3c){_0x30d807[_0x7e65('0x26')]=_0x2fba3c;return _0x30d807;})[_0x7e65('0x17')](respondWithFilteredResult(_0x31dc1b,_0x5b1808))[_0x7e65('0x27')](handleError(_0x31dc1b,null));};exports[_0x7e65('0x28')]=function(_0x33a495,_0x12bc0a){var _0x21cdeb={'raw':!![],'where':{'id':_0x33a495[_0x7e65('0x29')]['id']}},_0x10e1ba={};_0x10e1ba[_0x7e65('0x2a')]=_[_0x7e65('0x2b')](db[_0x7e65('0x20')]['rawAttributes']);_0x10e1ba[_0x7e65('0x2c')]=_[_0x7e65('0x2b')](_0x33a495[_0x7e65('0x2c')]);_0x10e1ba[_0x7e65('0x2d')]=_['intersection'](_0x10e1ba[_0x7e65('0x2a')],_0x10e1ba[_0x7e65('0x2c')]);_0x21cdeb['attributes']=_[_0x7e65('0x2e')](_0x10e1ba[_0x7e65('0x2a')],qs[_0x7e65('0x2f')](_0x33a495[_0x7e65('0x2c')]['fields']));_0x21cdeb[_0x7e65('0x30')]=_0x21cdeb[_0x7e65('0x30')][_0x7e65('0x31')]?_0x21cdeb[_0x7e65('0x30')]:_0x10e1ba[_0x7e65('0x2a')];if(_0x33a495[_0x7e65('0x2c')]['includeAll']){_0x21cdeb[_0x7e65('0x25')]=[{'all':!![]}];}_0x21cdeb=_[_0x7e65('0x32')]({},_0x21cdeb,_0x33a495['options']);return db['ChatQueue'][_0x7e65('0x33')](_0x21cdeb)['then'](handleEntityNotFound(_0x12bc0a,null))[_0x7e65('0x17')](respondWithResult(_0x12bc0a,null))[_0x7e65('0x27')](handleError(_0x12bc0a,null));};exports[_0x7e65('0x34')]=function(_0x5a9763,_0x52bf30){return db['ChatQueue']['create'](_0x5a9763[_0x7e65('0x35')],{})['then'](function(_0x6ca1){var _0x55e395=_0x5a9763[_0x7e65('0x36')][_0x7e65('0x19')]({'plain':!![]});if(!_0x55e395)throw new Error(_0x7e65('0x37'));if(_0x55e395[_0x7e65('0x38')]===_0x7e65('0x36')){var _0x4b367f=_0x6ca1[_0x7e65('0x19')]({'plain':!![]});var _0x258933='ChatQueues';return db[_0x7e65('0x39')][_0x7e65('0x33')]({'where':{'name':_0x258933,'userProfileId':_0x55e395[_0x7e65('0x3a')]},'raw':!![]})['then'](function(_0x20ec04){if(_0x20ec04&&_0x20ec04[_0x7e65('0x3b')]===0x0){return db[_0x7e65('0x1a')]['create']({'name':_0x4b367f[_0x7e65('0x1d')],'resourceId':_0x4b367f['id'],'type':_0x20ec04[_0x7e65('0x1d')],'sectionId':_0x20ec04['id']},{})[_0x7e65('0x17')](function(){return _0x6ca1;});}else{return _0x6ca1;}})[_0x7e65('0x27')](function(_0x177e74){logger[_0x7e65('0x1b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x177e74);throw _0x177e74;});}return _0x6ca1;})[_0x7e65('0x17')](respondWithResult(_0x52bf30,0xc9))[_0x7e65('0x27')](handleError(_0x52bf30,null));};exports['update']=function(_0x5cf2d2,_0x162683){if(_0x5cf2d2[_0x7e65('0x35')]['id']){delete _0x5cf2d2[_0x7e65('0x35')]['id'];}return db[_0x7e65('0x20')][_0x7e65('0x33')]({'where':{'id':_0x5cf2d2[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](handleEntityNotFound(_0x162683,null))['then'](saveUpdates(_0x5cf2d2[_0x7e65('0x35')],null))[_0x7e65('0x17')](respondWithResult(_0x162683,null))[_0x7e65('0x27')](handleError(_0x162683,null));};exports[_0x7e65('0x18')]=function(_0x3fa7e5,_0x4f855c){return db[_0x7e65('0x20')][_0x7e65('0x33')]({'where':{'id':_0x3fa7e5[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](handleEntityNotFound(_0x4f855c,null))[_0x7e65('0x17')](removeEntity(_0x4f855c,null))['catch'](handleError(_0x4f855c,null));};exports[_0x7e65('0x3c')]=function(_0x2249b4,_0x39e52d){return db['ChatQueue'][_0x7e65('0x3c')]()['then'](respondWithResult(_0x39e52d,null))[_0x7e65('0x27')](handleError(_0x39e52d,null));};exports[_0x7e65('0x3d')]=function(_0x3a8d83,_0x23b2d9){var _0x7e3c46={'raw':!![],'where':{}},_0x1ad7e8={},_0x14f638;return db[_0x7e65('0x20')][_0x7e65('0x3e')]({'where':{'id':_0x3a8d83[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](handleEntityNotFound(_0x23b2d9,null))[_0x7e65('0x17')](function(_0x47f8da){if(_0x47f8da){_0x14f638=_0x47f8da[_0x7e65('0x19')]({'plain':!![]});_0x1ad7e8[_0x7e65('0x2a')]=_['keys'](db[_0x7e65('0x3f')][_0x7e65('0x21')]);_0x1ad7e8['query']=_[_0x7e65('0x2b')](_0x3a8d83[_0x7e65('0x2c')]);_0x1ad7e8['filters']=_[_0x7e65('0x2e')](_0x1ad7e8[_0x7e65('0x2a')],_0x1ad7e8[_0x7e65('0x2c')]);_0x7e3c46['attributes']=_['intersection'](_0x1ad7e8[_0x7e65('0x2a')],qs[_0x7e65('0x2f')](_0x3a8d83[_0x7e65('0x2c')][_0x7e65('0x2f')]));_0x7e3c46[_0x7e65('0x30')]=_0x7e3c46['attributes']['length']?_0x7e3c46[_0x7e65('0x30')]:_0x1ad7e8['model'];if(!_0x3a8d83[_0x7e65('0x2c')][_0x7e65('0x40')]('nolimit')){_0x7e3c46[_0x7e65('0x12')]=qs['limit'](_0x3a8d83['query'][_0x7e65('0x12')]);_0x7e3c46[_0x7e65('0x10')]=qs['offset'](_0x3a8d83[_0x7e65('0x2c')][_0x7e65('0x10')]);}_0x7e3c46[_0x7e65('0x41')]=qs[_0x7e65('0x42')](_0x3a8d83['query'][_0x7e65('0x42')]);_0x7e3c46[_0x7e65('0x24')]=qs[_0x7e65('0x2d')](_[_0x7e65('0x43')](_0x3a8d83['query'],_0x1ad7e8[_0x7e65('0x2d')]));_0x7e3c46[_0x7e65('0x24')]['ChatQueueId']=_0x47f8da['id'];if(_0x3a8d83['query'][_0x7e65('0x44')]){_0x7e3c46[_0x7e65('0x24')]=_[_0x7e65('0x32')](_0x7e3c46[_0x7e65('0x24')],{'$or':_[_0x7e65('0x1f')](_0x7e3c46[_0x7e65('0x30')],function(_0x2e4408){var _0x16b8e7={};_0x16b8e7[_0x2e4408]={'$like':'%'+_0x3a8d83[_0x7e65('0x2c')]['filter']+'%'};return _0x16b8e7;})});}_0x7e3c46=_[_0x7e65('0x32')]({},_0x7e3c46,_0x3a8d83[_0x7e65('0x45')]);return db[_0x7e65('0x3f')]['findAll'](_0x7e3c46);}})[_0x7e65('0x17')](function(_0x3b6592){if(_0x3b6592){return db[_0x7e65('0x46')]['findAndCountAll']({'where':{'id':_['map'](_0x3b6592,_0x7e65('0x47')),'role':_0x7e65('0x48')},'attributes':['id',_0x7e65('0x1d'),_0x7e65('0x49'),_0x7e65('0x4a'),'createdAt']});}})[_0x7e65('0x17')](function(_0x1e3cd1){if(_0x1e3cd1){return{'count':_0x1e3cd1[_0x7e65('0x13')],'rows':_[_0x7e65('0x1f')](_0x1e3cd1[_0x7e65('0x26')],function(_0x39abb6){return{'membername':_0x39abb6[_0x7e65('0x1d')],'UserId':_0x39abb6['id'],'queue_name':_0x14f638[_0x7e65('0x1d')],'ChatQueueId':_0x14f638['id'],'interface':util[_0x7e65('0x4b')](_0x7e65('0x4c'),'SIP',_0x39abb6['name']),'penalty':0x0,'paused':_0x39abb6[_0x7e65('0x49')],'createdAt':_0x39abb6[_0x7e65('0x4d')],'updatedAt':_0x39abb6['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x7e65('0x17')](respondWithFilteredResult(_0x23b2d9,_0x7e3c46))['catch'](handleError(_0x23b2d9,null));};exports[_0x7e65('0x4e')]=function(_0x1336f1,_0x14feb0){var _0x2929a2={};var _0x1ec07d={};var _0x1a91b6;var _0x44b180;return db[_0x7e65('0x20')]['findOne']({'where':{'id':_0x1336f1[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](handleEntityNotFound(_0x14feb0,null))['then'](function(_0x5812e6){if(_0x5812e6){_0x1a91b6=_0x5812e6;_0x1ec07d['model']=_['keys'](db[_0x7e65('0x4f')][_0x7e65('0x21')]);_0x1ec07d[_0x7e65('0x2c')]=_[_0x7e65('0x2b')](_0x1336f1[_0x7e65('0x2c')]);_0x1ec07d['filters']=_[_0x7e65('0x2e')](_0x1ec07d[_0x7e65('0x2a')],_0x1ec07d[_0x7e65('0x2c')]);_0x2929a2[_0x7e65('0x30')]=_[_0x7e65('0x2e')](_0x1ec07d[_0x7e65('0x2a')],qs[_0x7e65('0x2f')](_0x1336f1[_0x7e65('0x2c')][_0x7e65('0x2f')]));_0x2929a2[_0x7e65('0x30')]=_0x2929a2[_0x7e65('0x30')][_0x7e65('0x31')]?_0x2929a2[_0x7e65('0x30')]:_0x1ec07d[_0x7e65('0x2a')];_0x2929a2['order']=qs[_0x7e65('0x42')](_0x1336f1['query'][_0x7e65('0x42')]);_0x2929a2[_0x7e65('0x24')]=qs[_0x7e65('0x2d')](_[_0x7e65('0x43')](_0x1336f1[_0x7e65('0x2c')],_0x1ec07d['filters']));if(_0x1336f1['query'][_0x7e65('0x44')]){_0x2929a2['where']=_[_0x7e65('0x32')](_0x2929a2[_0x7e65('0x24')],{'$or':_['map'](_0x2929a2['attributes'],function(_0x2c8205){var _0x2831a8={};_0x2831a8[_0x2c8205]={'$like':'%'+_0x1336f1[_0x7e65('0x2c')]['filter']+'%'};return _0x2831a8;})});}_0x2929a2=_['merge']({},_0x2929a2,_0x1336f1['options']);return _0x1a91b6[_0x7e65('0x4e')](_0x2929a2);}})[_0x7e65('0x17')](function(_0x3d5be0){if(_0x3d5be0){_0x44b180=_0x3d5be0[_0x7e65('0x31')];if(!_0x1336f1[_0x7e65('0x2c')][_0x7e65('0x40')](_0x7e65('0x50'))){_0x2929a2[_0x7e65('0x12')]=qs['limit'](_0x1336f1[_0x7e65('0x2c')][_0x7e65('0x12')]);_0x2929a2[_0x7e65('0x10')]=qs[_0x7e65('0x10')](_0x1336f1[_0x7e65('0x2c')][_0x7e65('0x10')]);}return _0x1a91b6[_0x7e65('0x4e')](_0x2929a2);}})[_0x7e65('0x17')](function(_0x290276){if(_0x290276){return _0x290276?{'count':_0x44b180,'rows':_0x290276}:null;}})[_0x7e65('0x17')](respondWithResult(_0x14feb0,null))[_0x7e65('0x27')](handleError(_0x14feb0,null));};exports[_0x7e65('0x51')]=function(_0x300400,_0x497856){var _0x5b5626=_0x300400['body'][_0x7e65('0x52')];return db[_0x7e65('0x4f')][_0x7e65('0x53')]({'where':{'id':_0x5b5626},'attributes':['id'],'include':[{'model':db[_0x7e65('0x46')],'as':_0x7e65('0x54'),'attributes':['id',_0x7e65('0x1d'),'online','voicePause',_0x7e65('0x55')],'raw':!![]}]})['then'](function(_0xe51735){if(_0xe51735){var _0xc4a153=_[_0x7e65('0x56')](_0xe51735,function(_0x35b985){var _0x1d46fc=_0x35b985[_0x7e65('0x19')]({'plain':!![]});return _0x1d46fc[_0x7e65('0x54')];});return db[_0x7e65('0x20')][_0x7e65('0x33')]({'where':{'id':_0x300400[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](function(_0x21c636){return db[_0x7e65('0x57')]['transaction'](function(_0x5646ce){return _0x21c636[_0x7e65('0x51')](_0x5b5626,{'transaction':_0x5646ce})[_0x7e65('0x17')](function(){return BPromise[_0x7e65('0x58')](_0xc4a153,function(_0x2ab344){return db[_0x7e65('0x3f')]['findOrCreate']({'where':{'UserId':_0x2ab344['id'],'ChatQueueId':_0x300400[_0x7e65('0x29')]['id']},'transaction':_0x5646ce});});})[_0x7e65('0x17')](function(){_0xc4a153[_0x7e65('0x59')](function(_0x3fb5f3){socket[_0x7e65('0x5a')](_0x7e65('0x5b'),{'UserId':_0x3fb5f3['id'],'ChatQueueId':_0x21c636['id']});});});});});}})[_0x7e65('0x17')](respondWithStatusCode(_0x497856,null))[_0x7e65('0x27')](handleError(_0x497856,null));};exports[_0x7e65('0x5c')]=function(_0x32b7ff,_0x30572d){return db[_0x7e65('0x4f')][_0x7e65('0x53')]({'where':{'id':_0x32b7ff[_0x7e65('0x2c')][_0x7e65('0x52')]},'attributes':['id'],'include':[{'model':db[_0x7e65('0x46')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x7e65('0x17')](handleEntityNotFound(_0x30572d,null))[_0x7e65('0x17')](function(_0x2b526f){var _0x40f809=_['map'](_0x2b526f,'id');var _0x16a261=[];var _0x53a74e=[];var _0x4ad20e=squel['select']();_0x4ad20e[_0x7e65('0x5d')](_0x7e65('0x5e'))['from'](_0x7e65('0x5f'),'tq')['join'](_0x7e65('0x60'),'ut',_0x7e65('0x61'))[_0x7e65('0x24')](_0x7e65('0x62'),_0x32b7ff['params']['id']);for(var _0x98c99e=0x0;_0x98c99e<_0x2b526f[_0x7e65('0x31')];_0x98c99e+=0x1){let _0x3300d2=_0x2b526f[_0x98c99e];for(var _0x4b9d0a=0x0;_0x4b9d0a<_0x3300d2['Agents'][_0x7e65('0x31')];_0x4b9d0a+=0x1){let _0xbc4ab3=_0x3300d2['Agents'][_0x4b9d0a];var _0x4cb93f=_0x4ad20e[_0x7e65('0x63')]();_0x4cb93f['where'](_0x7e65('0x64'),_0xbc4ab3['id']);_0x53a74e[_0x7e65('0x65')](db['sequelize']['query'](_0x4cb93f[_0x7e65('0x66')](),{'type':db[_0x7e65('0x57')]['QueryTypes']['SELECT']})[_0x7e65('0x17')](function(_0x527702){if(_0x527702[_0x7e65('0x31')]===0x1){return _0xbc4ab3['id'];}else{var _0x590833=_[_0x7e65('0x67')](_[_0x7e65('0x1f')](_0x527702,'TeamId'),function(_0x4bddcc){return _['includes'](_0x40f809,_0x4bddcc);});if(_0x590833){return _0xbc4ab3['id'];}}}));}}return BPromise[_0x7e65('0x68')](_0x53a74e)[_0x7e65('0x17')](function(_0x14634b){_0x16a261=_(_0x16a261)[_0x7e65('0x69')](_0x14634b)[_0x7e65('0x6a')]()[_0x7e65('0x6b')]();return db['ChatQueue']['find']({'where':{'id':_0x32b7ff[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](function(_0x3cdc55){return db['sequelize'][_0x7e65('0x6c')](function(_0x21c072){return _0x3cdc55['removeTeams'](_0x32b7ff['query'][_0x7e65('0x52')],{'transaction':_0x21c072})[_0x7e65('0x17')](function(){if(!_['isEmpty'](_0x16a261)){return _0x3cdc55[_0x7e65('0x6d')](_0x16a261,{'transaction':_0x21c072});}})[_0x7e65('0x17')](function(){_0x16a261[_0x7e65('0x59')](function(_0x36d16c){socket[_0x7e65('0x5a')](_0x7e65('0x6e'),{'UserId':_0x36d16c,'ChatQueueId':_0x3cdc55['id']});});});});});});})[_0x7e65('0x17')](respondWithStatusCode(_0x30572d,null))[_0x7e65('0x27')](handleError(_0x30572d,null));};exports[_0x7e65('0x6f')]=function(_0x9c95e6,_0x165854){return db[_0x7e65('0x20')]['find']({'where':{'id':_0x9c95e6[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](handleEntityNotFound(_0x165854,null))[_0x7e65('0x17')](function(_0x213ded){if(_0x213ded){return _0x213ded[_0x7e65('0x6f')](_0x9c95e6['body'][_0x7e65('0x52')],_[_0x7e65('0x70')](_0x9c95e6['body'],['ids','id'])||{})[_0x7e65('0x71')](function(_0x131e52){for(var _0x3a0571=0x0;_0x3a0571<_0x9c95e6['body'][_0x7e65('0x52')]['length'];_0x3a0571+=0x1){socket[_0x7e65('0x5a')](_0x7e65('0x5b'),{'UserId':Number(_0x9c95e6['body'][_0x7e65('0x52')][_0x3a0571]),'ChatQueueId':Number(_0x9c95e6[_0x7e65('0x29')]['id'])});}return _0x131e52;});}})[_0x7e65('0x17')](respondWithResult(_0x165854,null))[_0x7e65('0x27')](handleError(_0x165854,null));};exports[_0x7e65('0x6d')]=function(_0x35c564,_0x3c4696){return db[_0x7e65('0x20')][_0x7e65('0x33')]({'where':{'id':_0x35c564['params']['id']}})[_0x7e65('0x17')](handleEntityNotFound(_0x3c4696,null))[_0x7e65('0x17')](function(_0x3984ac){if(_0x3984ac){return _0x3984ac[_0x7e65('0x6d')](_0x35c564[_0x7e65('0x2c')][_0x7e65('0x52')])[_0x7e65('0x17')](function(){if(_[_0x7e65('0x72')](_0x35c564[_0x7e65('0x2c')]['ids'])){for(var _0x30e547=0x0;_0x30e547<_0x35c564[_0x7e65('0x2c')][_0x7e65('0x52')][_0x7e65('0x31')];_0x30e547+=0x1){socket[_0x7e65('0x5a')](_0x7e65('0x6e'),{'UserId':Number(_0x35c564[_0x7e65('0x2c')][_0x7e65('0x52')][_0x30e547]),'ChatQueueId':Number(_0x35c564[_0x7e65('0x29')]['id'])});}}else{socket[_0x7e65('0x5a')](_0x7e65('0x6e'),{'UserId':Number(_0x35c564['query'][_0x7e65('0x52')]),'ChatQueueId':Number(_0x35c564[_0x7e65('0x29')]['id'])});}});}})['then'](respondWithStatusCode(_0x3c4696,null))['catch'](handleError(_0x3c4696,null));};exports[_0x7e65('0x73')]=function(_0x44734f,_0x22a544){var _0x1aa430={};var _0x465b17={};var _0x267531;var _0x400c04;return db[_0x7e65('0x20')][_0x7e65('0x3e')]({'where':{'id':_0x44734f[_0x7e65('0x29')]['id']}})[_0x7e65('0x17')](handleEntityNotFound(_0x22a544,null))[_0x7e65('0x17')](function(_0x2af27f){if(_0x2af27f){_0x267531=_0x2af27f;_0x465b17[_0x7e65('0x2a')]=_[_0x7e65('0x2b')](db[_0x7e65('0x46')][_0x7e65('0x21')]);_0x465b17[_0x7e65('0x2c')]=_[_0x7e65('0x2b')](_0x44734f[_0x7e65('0x2c')]);_0x465b17[_0x7e65('0x2d')]=_['intersection'](_0x465b17['model'],_0x465b17[_0x7e65('0x2c')]);_0x1aa430[_0x7e65('0x30')]=_[_0x7e65('0x2e')](_0x465b17[_0x7e65('0x2a')],qs[_0x7e65('0x2f')](_0x44734f[_0x7e65('0x2c')][_0x7e65('0x2f')]));_0x1aa430[_0x7e65('0x30')]=_0x1aa430['attributes'][_0x7e65('0x31')]?_0x1aa430[_0x7e65('0x30')]:_0x465b17[_0x7e65('0x2a')];_0x1aa430[_0x7e65('0x41')]=qs[_0x7e65('0x42')](_0x44734f[_0x7e65('0x2c')][_0x7e65('0x42')]);_0x1aa430[_0x7e65('0x24')]=qs[_0x7e65('0x2d')](_[_0x7e65('0x43')](_0x44734f[_0x7e65('0x2c')],_0x465b17[_0x7e65('0x2d')]));if(_0x44734f[_0x7e65('0x2c')][_0x7e65('0x44')]){_0x1aa430[_0x7e65('0x24')]=_[_0x7e65('0x32')](_0x1aa430['where'],{'$or':_[_0x7e65('0x1f')](_0x1aa430[_0x7e65('0x30')],function(_0x4a0371){var _0x935eae={};_0x935eae[_0x4a0371]={'$like':'%'+_0x44734f[_0x7e65('0x2c')][_0x7e65('0x44')]+'%'};return _0x935eae;})});}_0x1aa430=_['merge']({},_0x1aa430,_0x44734f[_0x7e65('0x45')]);return _0x267531[_0x7e65('0x73')](_0x1aa430);}})['then'](function(_0x3def7f){if(_0x3def7f){_0x400c04=_0x3def7f[_0x7e65('0x31')];if(!_0x44734f[_0x7e65('0x2c')][_0x7e65('0x40')](_0x7e65('0x50'))){_0x1aa430[_0x7e65('0x12')]=qs[_0x7e65('0x12')](_0x44734f[_0x7e65('0x2c')][_0x7e65('0x12')]);_0x1aa430[_0x7e65('0x10')]=qs[_0x7e65('0x10')](_0x44734f[_0x7e65('0x2c')][_0x7e65('0x10')]);}return _0x267531[_0x7e65('0x73')](_0x1aa430);}})[_0x7e65('0x17')](function(_0x39b086){if(_0x39b086){return _0x39b086?{'count':_0x400c04,'rows':_0x39b086}:null;}})[_0x7e65('0x17')](respondWithResult(_0x22a544,null))[_0x7e65('0x27')](handleError(_0x22a544,null));};