5c5775b29565c8794cb9e2ab129dbfe85b4c1d29
[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 _0xcef8=['ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','TeamId','all','transaction','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','spread','isArray','getAgents','util','lodash','squel','ioredis','../../components/parsers/qs','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatQueue.socket','sendStatus','status','end','json','offset','undefined','limit','Content-Range','update','get','UserProfileResource','then','error','name','send','index','map','ChatQueue','rawAttributes','fieldName','getOptions','where','count','include','query','findAll','rows','show','keys','filters','model','intersection','fields','length','includeAll','merge','options','find','catch','create','body','user','role','ChatQueues','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','destroy','describe','getMembers','findOne','UserChatQueue','attributes','hasOwnProperty','nolimit','order','sort','pick','ChatQueueId','filter','User','findAndCountAll','UserId','agent','chatPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','addTeams','ids','Team','Agents','online','voicePause','interface','sequelize','each','forEach','emit','userChatQueue:save','select','field','tq.TeamId','from','team_has_chat_queues','join'];(function(_0x149bdf,_0x4eeb79){var _0x2d55a3=function(_0x39bdd5){while(--_0x39bdd5){_0x149bdf['push'](_0x149bdf['shift']());}};_0x2d55a3(++_0x4eeb79);}(_0xcef8,0x101));var _0x8cef=function(_0x453e2a,_0x32febf){_0x453e2a=_0x453e2a-0x0;var _0x51c753=_0xcef8[_0x453e2a];return _0x51c753;};'use strict';var BPromise=require('bluebird');var util=require(_0x8cef('0x0'));var _=require(_0x8cef('0x1'));var squel=require(_0x8cef('0x2'));var Redis=require(_0x8cef('0x3'));var qs=require(_0x8cef('0x4'));var logger=require(_0x8cef('0x5'))('api');var config=require(_0x8cef('0x6'));var db=require(_0x8cef('0x7'))['db'];config[_0x8cef('0x8')]=_[_0x8cef('0x9')](config['redis'],{'host':_0x8cef('0xa'),'port':0x18eb});var socket=require(_0x8cef('0xb'))(new Redis(config[_0x8cef('0x8')]));require(_0x8cef('0xc'))['register'](socket);function respondWithStatusCode(_0x1e304b,_0x4d8b1b){_0x4d8b1b=_0x4d8b1b||0xcc;return function(_0x5e8db5){if(_0x5e8db5){return _0x1e304b[_0x8cef('0xd')](_0x4d8b1b);}return _0x1e304b[_0x8cef('0xe')](_0x4d8b1b)[_0x8cef('0xf')]();};}function respondWithResult(_0xd16a88,_0x25d9b0){_0x25d9b0=_0x25d9b0||0xc8;return function(_0x57149b){if(_0x57149b){return _0xd16a88[_0x8cef('0xe')](_0x25d9b0)[_0x8cef('0x10')](_0x57149b);}};}function respondWithFilteredResult(_0x42e387,_0x26f1fa){return function(_0x4dc166){if(_0x4dc166){var _0x319d49=typeof _0x26f1fa[_0x8cef('0x11')]===_0x8cef('0x12')&&typeof _0x26f1fa[_0x8cef('0x13')]===_0x8cef('0x12');var _0x535b02=_0x4dc166['count'];var _0x57b399=_0x319d49?0x0:_0x26f1fa['offset'];var _0x524917=_0x319d49?_0x4dc166['count']:_0x26f1fa[_0x8cef('0x11')]+_0x26f1fa[_0x8cef('0x13')];var _0x360922;if(_0x524917>=_0x535b02){_0x524917=_0x535b02;_0x360922=0xc8;}else{_0x360922=0xce;}_0x42e387[_0x8cef('0xe')](_0x360922);return _0x42e387['set'](_0x8cef('0x14'),_0x57b399+'-'+_0x524917+'/'+_0x535b02)[_0x8cef('0x10')](_0x4dc166);}return null;};}function saveUpdates(_0x15f88f){return function(_0x21eea7){if(_0x21eea7){return _0x21eea7[_0x8cef('0x15')](_0x15f88f)['then'](function(_0x430b88){return _0x430b88;});}return null;};}function removeEntity(_0x1af9ca){return function(_0x3c3782){if(_0x3c3782){return _0x3c3782['destroy']()['then'](function(){var _0x151262=_0x3c3782[_0x8cef('0x16')]({'plain':!![]});var _0x20fe39='ChatQueues';return db[_0x8cef('0x17')]['destroy']({'where':{'type':_0x20fe39,'resourceId':_0x151262['id']}})['then'](function(){return _0x3c3782;});})[_0x8cef('0x18')](function(){_0x1af9ca['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xc9b2a9){return function(_0x14f185){if(!_0x14f185){_0xc9b2a9[_0x8cef('0xd')](0x194);}return _0x14f185;};}function handleError(_0x18599c,_0x4c6776){_0x4c6776=_0x4c6776||0x1f4;return function(_0x19e318){logger[_0x8cef('0x19')](_0x19e318['stack']);if(_0x19e318['name']){delete _0x19e318[_0x8cef('0x1a')];}_0x18599c[_0x8cef('0xe')](_0x4c6776)[_0x8cef('0x1b')](_0x19e318);};}exports[_0x8cef('0x1c')]=function(_0x4885a6,_0xa9ce1e){var _0x181a26={};var _0x21162d={'count':0x0,'rows':[]};var _0x82e208=_[_0x8cef('0x1d')](db[_0x8cef('0x1e')][_0x8cef('0x1f')],function(_0x1690e7){return{'name':_0x1690e7[_0x8cef('0x20')],'type':_0x1690e7['type']['key']};});_0x181a26=qs[_0x8cef('0x21')](_0x82e208,_0x4885a6);var _0x3d3f7c={'where':_0x181a26[_0x8cef('0x22')]};return db[_0x8cef('0x1e')][_0x8cef('0x23')](_0x3d3f7c)[_0x8cef('0x18')](function(_0x1564a3){_0x21162d['count']=_0x1564a3;_0x181a26[_0x8cef('0x24')]=qs[_0x8cef('0x24')](_0x4885a6[_0x8cef('0x25')]);return db['ChatQueue'][_0x8cef('0x26')](_0x181a26);})[_0x8cef('0x18')](function(_0x202409){_0x21162d[_0x8cef('0x27')]=_0x202409;return _0x21162d;})[_0x8cef('0x18')](respondWithFilteredResult(_0xa9ce1e,_0x181a26))['catch'](handleError(_0xa9ce1e,null));};exports[_0x8cef('0x28')]=function(_0x22c271,_0x4fa9a9){var _0x5955f0={'raw':!![],'where':{'id':_0x22c271['params']['id']}},_0x192b6c={};_0x192b6c['model']=_['keys'](db['ChatQueue'][_0x8cef('0x1f')]);_0x192b6c['query']=_[_0x8cef('0x29')](_0x22c271[_0x8cef('0x25')]);_0x192b6c[_0x8cef('0x2a')]=_['intersection'](_0x192b6c[_0x8cef('0x2b')],_0x192b6c[_0x8cef('0x25')]);_0x5955f0['attributes']=_[_0x8cef('0x2c')](_0x192b6c[_0x8cef('0x2b')],qs[_0x8cef('0x2d')](_0x22c271[_0x8cef('0x25')][_0x8cef('0x2d')]));_0x5955f0['attributes']=_0x5955f0['attributes'][_0x8cef('0x2e')]?_0x5955f0['attributes']:_0x192b6c[_0x8cef('0x2b')];if(_0x22c271[_0x8cef('0x25')][_0x8cef('0x2f')]){_0x5955f0[_0x8cef('0x24')]=[{'all':!![]}];}_0x5955f0=_[_0x8cef('0x30')]({},_0x5955f0,_0x22c271[_0x8cef('0x31')]);return db[_0x8cef('0x1e')][_0x8cef('0x32')](_0x5955f0)[_0x8cef('0x18')](handleEntityNotFound(_0x4fa9a9,null))[_0x8cef('0x18')](respondWithResult(_0x4fa9a9,null))[_0x8cef('0x33')](handleError(_0x4fa9a9,null));};exports['create']=function(_0x11b327,_0x196e12){return db['ChatQueue'][_0x8cef('0x34')](_0x11b327[_0x8cef('0x35')],{})[_0x8cef('0x18')](function(_0x196aaa){var _0x2ef19d=_0x11b327[_0x8cef('0x36')][_0x8cef('0x16')]({'plain':!![]});if(!_0x2ef19d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2ef19d[_0x8cef('0x37')]===_0x8cef('0x36')){var _0x1fbebc=_0x196aaa['get']({'plain':!![]});var _0x2463a7=_0x8cef('0x38');return db[_0x8cef('0x39')]['find']({'where':{'name':_0x2463a7,'userProfileId':_0x2ef19d[_0x8cef('0x3a')]},'raw':!![]})[_0x8cef('0x18')](function(_0x25cf7f){if(_0x25cf7f&&_0x25cf7f['autoAssociation']===0x0){return db[_0x8cef('0x17')][_0x8cef('0x34')]({'name':_0x1fbebc[_0x8cef('0x1a')],'resourceId':_0x1fbebc['id'],'type':_0x25cf7f[_0x8cef('0x1a')],'sectionId':_0x25cf7f['id']},{})['then'](function(){return _0x196aaa;});}else{return _0x196aaa;}})[_0x8cef('0x33')](function(_0x161228){logger['error'](_0x8cef('0x3b'),_0x161228);throw _0x161228;});}return _0x196aaa;})[_0x8cef('0x18')](respondWithResult(_0x196e12,0xc9))[_0x8cef('0x33')](handleError(_0x196e12,null));};exports[_0x8cef('0x15')]=function(_0x303ea9,_0x11f776){if(_0x303ea9[_0x8cef('0x35')]['id']){delete _0x303ea9[_0x8cef('0x35')]['id'];}return db[_0x8cef('0x1e')]['find']({'where':{'id':_0x303ea9[_0x8cef('0x3c')]['id']}})[_0x8cef('0x18')](handleEntityNotFound(_0x11f776,null))[_0x8cef('0x18')](saveUpdates(_0x303ea9['body'],null))[_0x8cef('0x18')](respondWithResult(_0x11f776,null))[_0x8cef('0x33')](handleError(_0x11f776,null));};exports[_0x8cef('0x3d')]=function(_0x57bcb3,_0x12a933){return db[_0x8cef('0x1e')][_0x8cef('0x32')]({'where':{'id':_0x57bcb3['params']['id']}})['then'](handleEntityNotFound(_0x12a933,null))[_0x8cef('0x18')](removeEntity(_0x12a933,null))['catch'](handleError(_0x12a933,null));};exports['describe']=function(_0x4cd7ec,_0x48c45d){return db[_0x8cef('0x1e')][_0x8cef('0x3e')]()[_0x8cef('0x18')](respondWithResult(_0x48c45d,null))[_0x8cef('0x33')](handleError(_0x48c45d,null));};exports[_0x8cef('0x3f')]=function(_0x32fb38,_0x304ce2){var _0x7dad96={'raw':!![],'where':{}},_0x26ba49={},_0x17d10f;return db[_0x8cef('0x1e')][_0x8cef('0x40')]({'where':{'id':_0x32fb38[_0x8cef('0x3c')]['id']}})[_0x8cef('0x18')](handleEntityNotFound(_0x304ce2,null))[_0x8cef('0x18')](function(_0x2acf3d){if(_0x2acf3d){_0x17d10f=_0x2acf3d[_0x8cef('0x16')]({'plain':!![]});_0x26ba49[_0x8cef('0x2b')]=_[_0x8cef('0x29')](db[_0x8cef('0x41')][_0x8cef('0x1f')]);_0x26ba49['query']=_['keys'](_0x32fb38[_0x8cef('0x25')]);_0x26ba49['filters']=_[_0x8cef('0x2c')](_0x26ba49[_0x8cef('0x2b')],_0x26ba49[_0x8cef('0x25')]);_0x7dad96[_0x8cef('0x42')]=_['intersection'](_0x26ba49['model'],qs[_0x8cef('0x2d')](_0x32fb38[_0x8cef('0x25')][_0x8cef('0x2d')]));_0x7dad96['attributes']=_0x7dad96[_0x8cef('0x42')]['length']?_0x7dad96[_0x8cef('0x42')]:_0x26ba49[_0x8cef('0x2b')];if(!_0x32fb38[_0x8cef('0x25')][_0x8cef('0x43')](_0x8cef('0x44'))){_0x7dad96[_0x8cef('0x13')]=qs[_0x8cef('0x13')](_0x32fb38['query']['limit']);_0x7dad96['offset']=qs[_0x8cef('0x11')](_0x32fb38[_0x8cef('0x25')][_0x8cef('0x11')]);}_0x7dad96[_0x8cef('0x45')]=qs['sort'](_0x32fb38['query'][_0x8cef('0x46')]);_0x7dad96[_0x8cef('0x22')]=qs[_0x8cef('0x2a')](_[_0x8cef('0x47')](_0x32fb38[_0x8cef('0x25')],_0x26ba49[_0x8cef('0x2a')]));_0x7dad96['where'][_0x8cef('0x48')]=_0x2acf3d['id'];if(_0x32fb38[_0x8cef('0x25')][_0x8cef('0x49')]){_0x7dad96[_0x8cef('0x22')]=_[_0x8cef('0x30')](_0x7dad96[_0x8cef('0x22')],{'$or':_[_0x8cef('0x1d')](_0x7dad96[_0x8cef('0x42')],function(_0x311a21){var _0x3b6ae2={};_0x3b6ae2[_0x311a21]={'$like':'%'+_0x32fb38['query'][_0x8cef('0x49')]+'%'};return _0x3b6ae2;})});}_0x7dad96=_[_0x8cef('0x30')]({},_0x7dad96,_0x32fb38[_0x8cef('0x31')]);return db['UserChatQueue'][_0x8cef('0x26')](_0x7dad96);}})[_0x8cef('0x18')](function(_0x69580d){if(_0x69580d){return db[_0x8cef('0x4a')][_0x8cef('0x4b')]({'where':{'id':_[_0x8cef('0x1d')](_0x69580d,_0x8cef('0x4c')),'role':_0x8cef('0x4d')},'attributes':['id',_0x8cef('0x1a'),_0x8cef('0x4e'),_0x8cef('0x4f'),_0x8cef('0x50')]});}})[_0x8cef('0x18')](function(_0x4ed40c){if(_0x4ed40c){return{'count':_0x4ed40c[_0x8cef('0x23')],'rows':_['map'](_0x4ed40c[_0x8cef('0x27')],function(_0x49455f){return{'membername':_0x49455f[_0x8cef('0x1a')],'UserId':_0x49455f['id'],'queue_name':_0x17d10f[_0x8cef('0x1a')],'ChatQueueId':_0x17d10f['id'],'interface':util[_0x8cef('0x51')](_0x8cef('0x52'),_0x8cef('0x53'),_0x49455f[_0x8cef('0x1a')]),'penalty':0x0,'paused':_0x49455f[_0x8cef('0x4e')],'createdAt':_0x49455f[_0x8cef('0x50')],'updatedAt':_0x49455f[_0x8cef('0x4f')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x304ce2,_0x7dad96))[_0x8cef('0x33')](handleError(_0x304ce2,null));};exports['getTeams']=function(_0x3a3f71,_0x519875){var _0x142060={};var _0x2e6f01={};var _0x35f660;var _0x24423f;return db[_0x8cef('0x1e')]['findOne']({'where':{'id':_0x3a3f71['params']['id']}})[_0x8cef('0x18')](handleEntityNotFound(_0x519875,null))[_0x8cef('0x18')](function(_0x35f043){if(_0x35f043){_0x35f660=_0x35f043;_0x2e6f01['model']=_[_0x8cef('0x29')](db['Team'][_0x8cef('0x1f')]);_0x2e6f01[_0x8cef('0x25')]=_['keys'](_0x3a3f71[_0x8cef('0x25')]);_0x2e6f01['filters']=_[_0x8cef('0x2c')](_0x2e6f01[_0x8cef('0x2b')],_0x2e6f01[_0x8cef('0x25')]);_0x142060[_0x8cef('0x42')]=_[_0x8cef('0x2c')](_0x2e6f01[_0x8cef('0x2b')],qs[_0x8cef('0x2d')](_0x3a3f71[_0x8cef('0x25')]['fields']));_0x142060['attributes']=_0x142060[_0x8cef('0x42')]['length']?_0x142060[_0x8cef('0x42')]:_0x2e6f01['model'];_0x142060[_0x8cef('0x45')]=qs[_0x8cef('0x46')](_0x3a3f71[_0x8cef('0x25')][_0x8cef('0x46')]);_0x142060[_0x8cef('0x22')]=qs[_0x8cef('0x2a')](_[_0x8cef('0x47')](_0x3a3f71[_0x8cef('0x25')],_0x2e6f01[_0x8cef('0x2a')]));if(_0x3a3f71[_0x8cef('0x25')][_0x8cef('0x49')]){_0x142060[_0x8cef('0x22')]=_['merge'](_0x142060[_0x8cef('0x22')],{'$or':_['map'](_0x142060[_0x8cef('0x42')],function(_0x9a2d51){var _0x1bbd86={};_0x1bbd86[_0x9a2d51]={'$like':'%'+_0x3a3f71['query'][_0x8cef('0x49')]+'%'};return _0x1bbd86;})});}_0x142060=_[_0x8cef('0x30')]({},_0x142060,_0x3a3f71['options']);return _0x35f660[_0x8cef('0x54')](_0x142060);}})[_0x8cef('0x18')](function(_0x29953f){if(_0x29953f){_0x24423f=_0x29953f[_0x8cef('0x2e')];if(!_0x3a3f71[_0x8cef('0x25')][_0x8cef('0x43')]('nolimit')){_0x142060[_0x8cef('0x13')]=qs[_0x8cef('0x13')](_0x3a3f71[_0x8cef('0x25')][_0x8cef('0x13')]);_0x142060[_0x8cef('0x11')]=qs[_0x8cef('0x11')](_0x3a3f71[_0x8cef('0x25')][_0x8cef('0x11')]);}return _0x35f660[_0x8cef('0x54')](_0x142060);}})[_0x8cef('0x18')](function(_0x4f4314){if(_0x4f4314){return _0x4f4314?{'count':_0x24423f,'rows':_0x4f4314}:null;}})[_0x8cef('0x18')](respondWithResult(_0x519875,null))[_0x8cef('0x33')](handleError(_0x519875,null));};exports[_0x8cef('0x55')]=function(_0x193f85,_0x194ed6){var _0x117fb2=_0x193f85[_0x8cef('0x35')][_0x8cef('0x56')];return db[_0x8cef('0x57')][_0x8cef('0x26')]({'where':{'id':_0x117fb2},'attributes':['id'],'include':[{'model':db[_0x8cef('0x4a')],'as':_0x8cef('0x58'),'attributes':['id','name',_0x8cef('0x59'),_0x8cef('0x5a'),_0x8cef('0x5b')],'raw':!![]}]})[_0x8cef('0x18')](function(_0x12d6db){if(_0x12d6db){var _0x338294=_['flatMap'](_0x12d6db,function(_0x25a737){var _0x220b59=_0x25a737[_0x8cef('0x16')]({'plain':!![]});return _0x220b59[_0x8cef('0x58')];});return db[_0x8cef('0x1e')]['find']({'where':{'id':_0x193f85[_0x8cef('0x3c')]['id']}})[_0x8cef('0x18')](function(_0x1d8f4f){return db[_0x8cef('0x5c')]['transaction'](function(_0x211a5e){return _0x1d8f4f['addTeams'](_0x117fb2,{'transaction':_0x211a5e})[_0x8cef('0x18')](function(){return BPromise[_0x8cef('0x5d')](_0x338294,function(_0xf0a4bc){return db[_0x8cef('0x41')]['findOrCreate']({'where':{'UserId':_0xf0a4bc['id'],'ChatQueueId':_0x193f85[_0x8cef('0x3c')]['id']},'transaction':_0x211a5e});});})['then'](function(){_0x338294[_0x8cef('0x5e')](function(_0x1f29d6){socket[_0x8cef('0x5f')](_0x8cef('0x60'),{'UserId':_0x1f29d6['id'],'ChatQueueId':_0x1d8f4f['id']});});});});});}})[_0x8cef('0x18')](respondWithStatusCode(_0x194ed6,null))[_0x8cef('0x33')](handleError(_0x194ed6,null));};exports['removeTeams']=function(_0x4958a1,_0x11585c){return db[_0x8cef('0x57')]['findAll']({'where':{'id':_0x4958a1[_0x8cef('0x25')][_0x8cef('0x56')]},'attributes':['id'],'include':[{'model':db[_0x8cef('0x4a')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x8cef('0x18')](handleEntityNotFound(_0x11585c,null))[_0x8cef('0x18')](function(_0x41bb8d){var _0x2f21df=_[_0x8cef('0x1d')](_0x41bb8d,'id');var _0x24f48d=[];var _0x28dba1=[];var _0x4eeea1=squel[_0x8cef('0x61')]();_0x4eeea1[_0x8cef('0x62')](_0x8cef('0x63'))[_0x8cef('0x64')](_0x8cef('0x65'),'tq')[_0x8cef('0x66')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0x8cef('0x22')](_0x8cef('0x67'),_0x4958a1[_0x8cef('0x3c')]['id']);for(var _0x1f9a7c=0x0;_0x1f9a7c<_0x41bb8d['length'];_0x1f9a7c+=0x1){let _0x197845=_0x41bb8d[_0x1f9a7c];for(var _0x390dc1=0x0;_0x390dc1<_0x197845['Agents']['length'];_0x390dc1+=0x1){let _0x274fb1=_0x197845['Agents'][_0x390dc1];var _0x9cdc0d=_0x4eeea1[_0x8cef('0x68')]();_0x9cdc0d[_0x8cef('0x22')](_0x8cef('0x69'),_0x274fb1['id']);_0x28dba1[_0x8cef('0x6a')](db[_0x8cef('0x5c')]['query'](_0x9cdc0d[_0x8cef('0x6b')](),{'type':db[_0x8cef('0x5c')][_0x8cef('0x6c')]['SELECT']})[_0x8cef('0x18')](function(_0x3c37f9){if(_0x3c37f9['length']===0x1){return _0x274fb1['id'];}else{var _0x13bff9=_['every'](_[_0x8cef('0x1d')](_0x3c37f9,_0x8cef('0x6d')),function(_0x5aa482){return _['includes'](_0x2f21df,_0x5aa482);});if(_0x13bff9){return _0x274fb1['id'];}}}));}}return BPromise[_0x8cef('0x6e')](_0x28dba1)[_0x8cef('0x18')](function(_0xa1c518){_0x24f48d=_(_0x24f48d)['union'](_0xa1c518)['compact']()['value']();return db[_0x8cef('0x1e')][_0x8cef('0x32')]({'where':{'id':_0x4958a1[_0x8cef('0x3c')]['id']}})['then'](function(_0x23fe37){return db['sequelize'][_0x8cef('0x6f')](function(_0x398ec5){return _0x23fe37['removeTeams'](_0x4958a1[_0x8cef('0x25')][_0x8cef('0x56')],{'transaction':_0x398ec5})[_0x8cef('0x18')](function(){if(!_[_0x8cef('0x70')](_0x24f48d)){return _0x23fe37[_0x8cef('0x71')](_0x24f48d,{'transaction':_0x398ec5});}})['then'](function(){_0x24f48d[_0x8cef('0x5e')](function(_0x451a0f){socket[_0x8cef('0x5f')](_0x8cef('0x72'),{'UserId':_0x451a0f,'ChatQueueId':_0x23fe37['id']});});});});});});})['then'](respondWithStatusCode(_0x11585c,null))['catch'](handleError(_0x11585c,null));};exports[_0x8cef('0x73')]=function(_0x851315,_0x195008){return db[_0x8cef('0x1e')][_0x8cef('0x32')]({'where':{'id':_0x851315[_0x8cef('0x3c')]['id']}})[_0x8cef('0x18')](handleEntityNotFound(_0x195008,null))['then'](function(_0x3efa46){if(_0x3efa46){return _0x3efa46[_0x8cef('0x73')](_0x851315[_0x8cef('0x35')][_0x8cef('0x56')],_[_0x8cef('0x74')](_0x851315[_0x8cef('0x35')],['ids','id'])||{})[_0x8cef('0x75')](function(_0x3f400f){for(var _0x3c0019=0x0;_0x3c0019<_0x851315[_0x8cef('0x35')][_0x8cef('0x56')]['length'];_0x3c0019+=0x1){socket[_0x8cef('0x5f')]('userChatQueue:save',{'UserId':Number(_0x851315[_0x8cef('0x35')][_0x8cef('0x56')][_0x3c0019]),'ChatQueueId':Number(_0x851315[_0x8cef('0x3c')]['id'])});}return _0x3f400f;});}})['then'](respondWithResult(_0x195008,null))[_0x8cef('0x33')](handleError(_0x195008,null));};exports['removeAgents']=function(_0x14b414,_0xc12f36){return db[_0x8cef('0x1e')][_0x8cef('0x32')]({'where':{'id':_0x14b414[_0x8cef('0x3c')]['id']}})[_0x8cef('0x18')](handleEntityNotFound(_0xc12f36,null))[_0x8cef('0x18')](function(_0x36bc67){if(_0x36bc67){return _0x36bc67[_0x8cef('0x71')](_0x14b414['query'][_0x8cef('0x56')])[_0x8cef('0x18')](function(){if(_[_0x8cef('0x76')](_0x14b414[_0x8cef('0x25')][_0x8cef('0x56')])){for(var _0x40c015=0x0;_0x40c015<_0x14b414[_0x8cef('0x25')][_0x8cef('0x56')][_0x8cef('0x2e')];_0x40c015+=0x1){socket[_0x8cef('0x5f')](_0x8cef('0x72'),{'UserId':Number(_0x14b414[_0x8cef('0x25')][_0x8cef('0x56')][_0x40c015]),'ChatQueueId':Number(_0x14b414['params']['id'])});}}else{socket[_0x8cef('0x5f')](_0x8cef('0x72'),{'UserId':Number(_0x14b414['query'][_0x8cef('0x56')]),'ChatQueueId':Number(_0x14b414[_0x8cef('0x3c')]['id'])});}});}})[_0x8cef('0x18')](respondWithStatusCode(_0xc12f36,null))[_0x8cef('0x33')](handleError(_0xc12f36,null));};exports['getAgents']=function(_0x206e36,_0x16598a){var _0x28e2a7={};var _0x3bdfd4={};var _0x232b1b;var _0x2f8748;return db['ChatQueue']['findOne']({'where':{'id':_0x206e36['params']['id']}})['then'](handleEntityNotFound(_0x16598a,null))[_0x8cef('0x18')](function(_0xd4b44d){if(_0xd4b44d){_0x232b1b=_0xd4b44d;_0x3bdfd4[_0x8cef('0x2b')]=_[_0x8cef('0x29')](db['User']['rawAttributes']);_0x3bdfd4['query']=_[_0x8cef('0x29')](_0x206e36[_0x8cef('0x25')]);_0x3bdfd4[_0x8cef('0x2a')]=_[_0x8cef('0x2c')](_0x3bdfd4['model'],_0x3bdfd4[_0x8cef('0x25')]);_0x28e2a7['attributes']=_['intersection'](_0x3bdfd4[_0x8cef('0x2b')],qs[_0x8cef('0x2d')](_0x206e36[_0x8cef('0x25')][_0x8cef('0x2d')]));_0x28e2a7['attributes']=_0x28e2a7[_0x8cef('0x42')][_0x8cef('0x2e')]?_0x28e2a7[_0x8cef('0x42')]:_0x3bdfd4[_0x8cef('0x2b')];_0x28e2a7[_0x8cef('0x45')]=qs['sort'](_0x206e36[_0x8cef('0x25')][_0x8cef('0x46')]);_0x28e2a7[_0x8cef('0x22')]=qs[_0x8cef('0x2a')](_[_0x8cef('0x47')](_0x206e36[_0x8cef('0x25')],_0x3bdfd4[_0x8cef('0x2a')]));if(_0x206e36[_0x8cef('0x25')][_0x8cef('0x49')]){_0x28e2a7['where']=_[_0x8cef('0x30')](_0x28e2a7[_0x8cef('0x22')],{'$or':_[_0x8cef('0x1d')](_0x28e2a7['attributes'],function(_0x10a88d){var _0x155bad={};_0x155bad[_0x10a88d]={'$like':'%'+_0x206e36['query']['filter']+'%'};return _0x155bad;})});}_0x28e2a7=_[_0x8cef('0x30')]({},_0x28e2a7,_0x206e36[_0x8cef('0x31')]);return _0x232b1b[_0x8cef('0x77')](_0x28e2a7);}})[_0x8cef('0x18')](function(_0x349f5d){if(_0x349f5d){_0x2f8748=_0x349f5d[_0x8cef('0x2e')];if(!_0x206e36[_0x8cef('0x25')]['hasOwnProperty'](_0x8cef('0x44'))){_0x28e2a7[_0x8cef('0x13')]=qs[_0x8cef('0x13')](_0x206e36[_0x8cef('0x25')]['limit']);_0x28e2a7[_0x8cef('0x11')]=qs['offset'](_0x206e36['query'][_0x8cef('0x11')]);}return _0x232b1b['getAgents'](_0x28e2a7);}})[_0x8cef('0x18')](function(_0x2ac63c){if(_0x2ac63c){return _0x2ac63c?{'count':_0x2f8748,'rows':_0x2ac63c}:null;}})['then'](respondWithResult(_0x16598a,null))[_0x8cef('0x33')](handleError(_0x16598a,null));};