Built motion from commit 3061e47c.|2.6.31
[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 _0x7ec9=['Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserChatQueue','filters','intersection','hasOwnProperty','order','sort','pick','where','ChatQueueId','filter','merge','map','findAndCountAll','UserId','agent','chatPause','createdAt','%s/%s','SIP','updatedAt','getTeams','nolimit','ids','Team','User','Agents','online','interface','flatMap','transaction','addTeams','each','findOrCreate','forEach','userChatQueue:save','removeTeams','field','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','sequelize','QueryTypes','every','TeamId','includes','all','union','compact','value','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','emit','isArray','getAgents','bluebird','util','squel','ioredis','../../components/parsers/qs','api','../../config/environment','redis','localhost','socket.io-emitter','./chatQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','update','then','UserProfileResource','destroy','stack','name','send','ChatQueue','fieldName','key','include','query','findAll','rows','catch','show','params','keys','rawAttributes','model','attributes','fields','length','options','find','create','body','user','get','role','ChatQueues','UserProfileSection','userProfileId','autoAssociation'];(function(_0x586276,_0x432cae){var _0x109b4b=function(_0x40534f){while(--_0x40534f){_0x586276['push'](_0x586276['shift']());}};_0x109b4b(++_0x432cae);}(_0x7ec9,0x131));var _0x97ec=function(_0x44946b,_0xf874ec){_0x44946b=_0x44946b-0x0;var _0x249bc4=_0x7ec9[_0x44946b];return _0x249bc4;};'use strict';var BPromise=require(_0x97ec('0x0'));var util=require(_0x97ec('0x1'));var _=require('lodash');var squel=require(_0x97ec('0x2'));var Redis=require(_0x97ec('0x3'));var qs=require(_0x97ec('0x4'));var logger=require('../../config/logger')(_0x97ec('0x5'));var config=require(_0x97ec('0x6'));var db=require('../../mysqldb')['db'];config[_0x97ec('0x7')]=_['defaults'](config[_0x97ec('0x7')],{'host':_0x97ec('0x8'),'port':0x18eb});var socket=require(_0x97ec('0x9'))(new Redis(config[_0x97ec('0x7')]));require(_0x97ec('0xa'))[_0x97ec('0xb')](socket);function respondWithStatusCode(_0x51a8b6,_0x17c433){_0x17c433=_0x17c433||0xcc;return function(_0x2bab84){if(_0x2bab84){return _0x51a8b6[_0x97ec('0xc')](_0x17c433);}return _0x51a8b6[_0x97ec('0xd')](_0x17c433)[_0x97ec('0xe')]();};}function respondWithResult(_0x19ad4d,_0x260e90){_0x260e90=_0x260e90||0xc8;return function(_0x1d6b9d){if(_0x1d6b9d){return _0x19ad4d[_0x97ec('0xd')](_0x260e90)[_0x97ec('0xf')](_0x1d6b9d);}};}function respondWithFilteredResult(_0x50ae8f,_0x7068fa){return function(_0x57aa8e){if(_0x57aa8e){var _0x11fa73=typeof _0x7068fa[_0x97ec('0x10')]===_0x97ec('0x11')&&typeof _0x7068fa[_0x97ec('0x12')]===_0x97ec('0x11');var _0x339c4b=_0x57aa8e[_0x97ec('0x13')];var _0x534be4=_0x11fa73?0x0:_0x7068fa[_0x97ec('0x10')];var _0x215b89=_0x11fa73?_0x57aa8e[_0x97ec('0x13')]:_0x7068fa['offset']+_0x7068fa['limit'];var _0x18e856;if(_0x215b89>=_0x339c4b){_0x215b89=_0x339c4b;_0x18e856=0xc8;}else{_0x18e856=0xce;}_0x50ae8f['status'](_0x18e856);return _0x50ae8f['set'](_0x97ec('0x14'),_0x534be4+'-'+_0x215b89+'/'+_0x339c4b)[_0x97ec('0xf')](_0x57aa8e);}return null;};}function saveUpdates(_0x4fe288){return function(_0x4dd3f2){if(_0x4dd3f2){return _0x4dd3f2[_0x97ec('0x15')](_0x4fe288)[_0x97ec('0x16')](function(_0x338021){return _0x338021;});}return null;};}function removeEntity(_0x45c4f9){return function(_0x599857){if(_0x599857){return _0x599857['destroy']()['then'](function(){var _0x4cae52=_0x599857['get']({'plain':!![]});var _0x5824e0='ChatQueues';return db[_0x97ec('0x17')][_0x97ec('0x18')]({'where':{'type':_0x5824e0,'resourceId':_0x4cae52['id']}})[_0x97ec('0x16')](function(){return _0x599857;});})[_0x97ec('0x16')](function(){_0x45c4f9[_0x97ec('0xd')](0xcc)[_0x97ec('0xe')]();});}};}function handleEntityNotFound(_0x4754bb){return function(_0x48838e){if(!_0x48838e){_0x4754bb[_0x97ec('0xc')](0x194);}return _0x48838e;};}function handleError(_0x1e1d76,_0x5ceaa8){_0x5ceaa8=_0x5ceaa8||0x1f4;return function(_0x19cf86){logger['error'](_0x19cf86[_0x97ec('0x19')]);if(_0x19cf86[_0x97ec('0x1a')]){delete _0x19cf86['name'];}_0x1e1d76['status'](_0x5ceaa8)[_0x97ec('0x1b')](_0x19cf86);};}exports['index']=function(_0x545516,_0x1a1fb5){var _0x5a098e={};var _0x5e189c={'count':0x0,'rows':[]};var _0x37ad42=_['map'](db[_0x97ec('0x1c')]['rawAttributes'],function(_0x86aabd){return{'name':_0x86aabd[_0x97ec('0x1d')],'type':_0x86aabd['type'][_0x97ec('0x1e')]};});_0x5a098e=qs['getOptions'](_0x37ad42,_0x545516);var _0x201807={'where':_0x5a098e['where']};return db[_0x97ec('0x1c')][_0x97ec('0x13')](_0x201807)['then'](function(_0x2882d0){_0x5e189c['count']=_0x2882d0;_0x5a098e[_0x97ec('0x1f')]=qs[_0x97ec('0x1f')](_0x545516[_0x97ec('0x20')]);return db['ChatQueue'][_0x97ec('0x21')](_0x5a098e);})['then'](function(_0x262bd8){_0x5e189c[_0x97ec('0x22')]=_0x262bd8;return _0x5e189c;})[_0x97ec('0x16')](respondWithFilteredResult(_0x1a1fb5,_0x5a098e))[_0x97ec('0x23')](handleError(_0x1a1fb5,null));};exports[_0x97ec('0x24')]=function(_0x308dba,_0x1a5f4c){var _0x667275={'raw':!![],'where':{'id':_0x308dba[_0x97ec('0x25')]['id']}},_0x278d7a={};_0x278d7a['model']=_[_0x97ec('0x26')](db['ChatQueue'][_0x97ec('0x27')]);_0x278d7a[_0x97ec('0x20')]=_[_0x97ec('0x26')](_0x308dba[_0x97ec('0x20')]);_0x278d7a['filters']=_['intersection'](_0x278d7a[_0x97ec('0x28')],_0x278d7a[_0x97ec('0x20')]);_0x667275[_0x97ec('0x29')]=_['intersection'](_0x278d7a[_0x97ec('0x28')],qs[_0x97ec('0x2a')](_0x308dba['query'][_0x97ec('0x2a')]));_0x667275[_0x97ec('0x29')]=_0x667275[_0x97ec('0x29')][_0x97ec('0x2b')]?_0x667275[_0x97ec('0x29')]:_0x278d7a[_0x97ec('0x28')];if(_0x308dba[_0x97ec('0x20')]['includeAll']){_0x667275[_0x97ec('0x1f')]=[{'all':!![]}];}_0x667275=_['merge']({},_0x667275,_0x308dba[_0x97ec('0x2c')]);return db[_0x97ec('0x1c')][_0x97ec('0x2d')](_0x667275)[_0x97ec('0x16')](handleEntityNotFound(_0x1a5f4c,null))[_0x97ec('0x16')](respondWithResult(_0x1a5f4c,null))[_0x97ec('0x23')](handleError(_0x1a5f4c,null));};exports['create']=function(_0x395149,_0x1a2bcc){return db[_0x97ec('0x1c')][_0x97ec('0x2e')](_0x395149[_0x97ec('0x2f')],{})[_0x97ec('0x16')](function(_0x5dc4d9){var _0x585e5c=_0x395149[_0x97ec('0x30')][_0x97ec('0x31')]({'plain':!![]});if(!_0x585e5c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x585e5c[_0x97ec('0x32')]===_0x97ec('0x30')){var _0x4f6ebf=_0x5dc4d9[_0x97ec('0x31')]({'plain':!![]});var _0x54f6b6=_0x97ec('0x33');return db[_0x97ec('0x34')]['find']({'where':{'name':_0x54f6b6,'userProfileId':_0x585e5c[_0x97ec('0x35')]},'raw':!![]})['then'](function(_0x238a07){if(_0x238a07&&_0x238a07[_0x97ec('0x36')]===0x0){return db['UserProfileResource']['create']({'name':_0x4f6ebf['name'],'resourceId':_0x4f6ebf['id'],'type':_0x238a07[_0x97ec('0x1a')],'sectionId':_0x238a07['id']},{})['then'](function(){return _0x5dc4d9;});}else{return _0x5dc4d9;}})['catch'](function(_0x4bc403){logger['error'](_0x97ec('0x37'),_0x4bc403);throw _0x4bc403;});}return _0x5dc4d9;})[_0x97ec('0x16')](respondWithResult(_0x1a2bcc,0xc9))[_0x97ec('0x23')](handleError(_0x1a2bcc,null));};exports['update']=function(_0x123793,_0x3ab296){if(_0x123793[_0x97ec('0x2f')]['id']){delete _0x123793[_0x97ec('0x2f')]['id'];}return db[_0x97ec('0x1c')]['find']({'where':{'id':_0x123793[_0x97ec('0x25')]['id']}})['then'](handleEntityNotFound(_0x3ab296,null))[_0x97ec('0x16')](saveUpdates(_0x123793[_0x97ec('0x2f')],null))[_0x97ec('0x16')](respondWithResult(_0x3ab296,null))[_0x97ec('0x23')](handleError(_0x3ab296,null));};exports[_0x97ec('0x18')]=function(_0x7ba6f0,_0x4776b6){return db[_0x97ec('0x1c')]['find']({'where':{'id':_0x7ba6f0[_0x97ec('0x25')]['id']}})[_0x97ec('0x16')](handleEntityNotFound(_0x4776b6,null))[_0x97ec('0x16')](removeEntity(_0x4776b6,null))[_0x97ec('0x23')](handleError(_0x4776b6,null));};exports[_0x97ec('0x38')]=function(_0x2fa56c,_0x2f2383){return db[_0x97ec('0x1c')][_0x97ec('0x38')]()['then'](respondWithResult(_0x2f2383,null))[_0x97ec('0x23')](handleError(_0x2f2383,null));};exports[_0x97ec('0x39')]=function(_0x4d9aa1,_0xf098c9){var _0x4ffe1a={'raw':!![],'where':{}},_0x19e0fe={},_0x3f1f06;return db['ChatQueue'][_0x97ec('0x3a')]({'where':{'id':_0x4d9aa1['params']['id']}})[_0x97ec('0x16')](handleEntityNotFound(_0xf098c9,null))[_0x97ec('0x16')](function(_0x53c8ab){if(_0x53c8ab){_0x3f1f06=_0x53c8ab[_0x97ec('0x31')]({'plain':!![]});_0x19e0fe[_0x97ec('0x28')]=_[_0x97ec('0x26')](db[_0x97ec('0x3b')][_0x97ec('0x27')]);_0x19e0fe[_0x97ec('0x20')]=_[_0x97ec('0x26')](_0x4d9aa1[_0x97ec('0x20')]);_0x19e0fe[_0x97ec('0x3c')]=_[_0x97ec('0x3d')](_0x19e0fe['model'],_0x19e0fe[_0x97ec('0x20')]);_0x4ffe1a['attributes']=_[_0x97ec('0x3d')](_0x19e0fe[_0x97ec('0x28')],qs[_0x97ec('0x2a')](_0x4d9aa1[_0x97ec('0x20')][_0x97ec('0x2a')]));_0x4ffe1a['attributes']=_0x4ffe1a[_0x97ec('0x29')][_0x97ec('0x2b')]?_0x4ffe1a[_0x97ec('0x29')]:_0x19e0fe[_0x97ec('0x28')];if(!_0x4d9aa1['query'][_0x97ec('0x3e')]('nolimit')){_0x4ffe1a['limit']=qs[_0x97ec('0x12')](_0x4d9aa1[_0x97ec('0x20')][_0x97ec('0x12')]);_0x4ffe1a[_0x97ec('0x10')]=qs[_0x97ec('0x10')](_0x4d9aa1[_0x97ec('0x20')][_0x97ec('0x10')]);}_0x4ffe1a[_0x97ec('0x3f')]=qs[_0x97ec('0x40')](_0x4d9aa1[_0x97ec('0x20')][_0x97ec('0x40')]);_0x4ffe1a['where']=qs[_0x97ec('0x3c')](_[_0x97ec('0x41')](_0x4d9aa1[_0x97ec('0x20')],_0x19e0fe[_0x97ec('0x3c')]));_0x4ffe1a[_0x97ec('0x42')][_0x97ec('0x43')]=_0x53c8ab['id'];if(_0x4d9aa1[_0x97ec('0x20')][_0x97ec('0x44')]){_0x4ffe1a['where']=_[_0x97ec('0x45')](_0x4ffe1a['where'],{'$or':_[_0x97ec('0x46')](_0x4ffe1a[_0x97ec('0x29')],function(_0x3e4f6e){var _0x39ca0c={};_0x39ca0c[_0x3e4f6e]={'$like':'%'+_0x4d9aa1[_0x97ec('0x20')]['filter']+'%'};return _0x39ca0c;})});}_0x4ffe1a=_[_0x97ec('0x45')]({},_0x4ffe1a,_0x4d9aa1['options']);return db[_0x97ec('0x3b')][_0x97ec('0x21')](_0x4ffe1a);}})[_0x97ec('0x16')](function(_0x343d33){if(_0x343d33){return db['User'][_0x97ec('0x47')]({'where':{'id':_[_0x97ec('0x46')](_0x343d33,_0x97ec('0x48')),'role':_0x97ec('0x49')},'attributes':['id',_0x97ec('0x1a'),_0x97ec('0x4a'),'updatedAt',_0x97ec('0x4b')]});}})[_0x97ec('0x16')](function(_0x53af9e){if(_0x53af9e){return{'count':_0x53af9e[_0x97ec('0x13')],'rows':_['map'](_0x53af9e[_0x97ec('0x22')],function(_0x40e828){return{'membername':_0x40e828[_0x97ec('0x1a')],'UserId':_0x40e828['id'],'queue_name':_0x3f1f06[_0x97ec('0x1a')],'ChatQueueId':_0x3f1f06['id'],'interface':util['format'](_0x97ec('0x4c'),_0x97ec('0x4d'),_0x40e828['name']),'penalty':0x0,'paused':_0x40e828[_0x97ec('0x4a')],'createdAt':_0x40e828[_0x97ec('0x4b')],'updatedAt':_0x40e828[_0x97ec('0x4e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x97ec('0x16')](respondWithFilteredResult(_0xf098c9,_0x4ffe1a))[_0x97ec('0x23')](handleError(_0xf098c9,null));};exports['getTeams']=function(_0x4e2470,_0x4955d0){var _0x4a99dd={};var _0x1e0ac7={};var _0x11cb20;var _0x1079f9;return db[_0x97ec('0x1c')]['findOne']({'where':{'id':_0x4e2470[_0x97ec('0x25')]['id']}})['then'](handleEntityNotFound(_0x4955d0,null))['then'](function(_0x32407f){if(_0x32407f){_0x11cb20=_0x32407f;_0x1e0ac7[_0x97ec('0x28')]=_[_0x97ec('0x26')](db['Team'][_0x97ec('0x27')]);_0x1e0ac7['query']=_['keys'](_0x4e2470[_0x97ec('0x20')]);_0x1e0ac7[_0x97ec('0x3c')]=_['intersection'](_0x1e0ac7['model'],_0x1e0ac7[_0x97ec('0x20')]);_0x4a99dd[_0x97ec('0x29')]=_[_0x97ec('0x3d')](_0x1e0ac7[_0x97ec('0x28')],qs[_0x97ec('0x2a')](_0x4e2470[_0x97ec('0x20')][_0x97ec('0x2a')]));_0x4a99dd[_0x97ec('0x29')]=_0x4a99dd[_0x97ec('0x29')][_0x97ec('0x2b')]?_0x4a99dd[_0x97ec('0x29')]:_0x1e0ac7[_0x97ec('0x28')];_0x4a99dd[_0x97ec('0x3f')]=qs['sort'](_0x4e2470[_0x97ec('0x20')]['sort']);_0x4a99dd[_0x97ec('0x42')]=qs['filters'](_[_0x97ec('0x41')](_0x4e2470[_0x97ec('0x20')],_0x1e0ac7[_0x97ec('0x3c')]));if(_0x4e2470[_0x97ec('0x20')]['filter']){_0x4a99dd[_0x97ec('0x42')]=_[_0x97ec('0x45')](_0x4a99dd['where'],{'$or':_[_0x97ec('0x46')](_0x4a99dd['attributes'],function(_0x395c26){var _0x432c85={};_0x432c85[_0x395c26]={'$like':'%'+_0x4e2470['query'][_0x97ec('0x44')]+'%'};return _0x432c85;})});}_0x4a99dd=_[_0x97ec('0x45')]({},_0x4a99dd,_0x4e2470[_0x97ec('0x2c')]);return _0x11cb20[_0x97ec('0x4f')](_0x4a99dd);}})['then'](function(_0x57b290){if(_0x57b290){_0x1079f9=_0x57b290[_0x97ec('0x2b')];if(!_0x4e2470[_0x97ec('0x20')]['hasOwnProperty'](_0x97ec('0x50'))){_0x4a99dd[_0x97ec('0x12')]=qs[_0x97ec('0x12')](_0x4e2470['query'][_0x97ec('0x12')]);_0x4a99dd[_0x97ec('0x10')]=qs[_0x97ec('0x10')](_0x4e2470[_0x97ec('0x20')][_0x97ec('0x10')]);}return _0x11cb20[_0x97ec('0x4f')](_0x4a99dd);}})[_0x97ec('0x16')](function(_0x4fe9cb){if(_0x4fe9cb){return _0x4fe9cb?{'count':_0x1079f9,'rows':_0x4fe9cb}:null;}})[_0x97ec('0x16')](respondWithResult(_0x4955d0,null))[_0x97ec('0x23')](handleError(_0x4955d0,null));};exports['addTeams']=function(_0x2cb809,_0x1cdffc){var _0x363a69=_0x2cb809[_0x97ec('0x2f')][_0x97ec('0x51')];return db[_0x97ec('0x52')][_0x97ec('0x21')]({'where':{'id':_0x363a69},'attributes':['id'],'include':[{'model':db[_0x97ec('0x53')],'as':_0x97ec('0x54'),'attributes':['id',_0x97ec('0x1a'),_0x97ec('0x55'),'voicePause',_0x97ec('0x56')],'raw':!![]}]})[_0x97ec('0x16')](function(_0xc93343){if(_0xc93343){var _0x2cde2c=_[_0x97ec('0x57')](_0xc93343,function(_0x5e990a){var _0x253a2a=_0x5e990a['get']({'plain':!![]});return _0x253a2a[_0x97ec('0x54')];});return db[_0x97ec('0x1c')]['find']({'where':{'id':_0x2cb809['params']['id']}})[_0x97ec('0x16')](function(_0x4d3d9e){return db['sequelize'][_0x97ec('0x58')](function(_0x5d758d){return _0x4d3d9e[_0x97ec('0x59')](_0x363a69,{'transaction':_0x5d758d})[_0x97ec('0x16')](function(){return BPromise[_0x97ec('0x5a')](_0x2cde2c,function(_0x5a7b9e){return db[_0x97ec('0x3b')][_0x97ec('0x5b')]({'where':{'UserId':_0x5a7b9e['id'],'ChatQueueId':_0x2cb809['params']['id']},'transaction':_0x5d758d});});})[_0x97ec('0x16')](function(){_0x2cde2c[_0x97ec('0x5c')](function(_0x23ab11){socket['emit'](_0x97ec('0x5d'),{'UserId':_0x23ab11['id'],'ChatQueueId':_0x4d3d9e['id']});});});});});}})[_0x97ec('0x16')](respondWithStatusCode(_0x1cdffc,null))['catch'](handleError(_0x1cdffc,null));};exports[_0x97ec('0x5e')]=function(_0x44f76c,_0x935bb0){return db[_0x97ec('0x52')]['findAll']({'where':{'id':_0x44f76c[_0x97ec('0x20')]['ids']},'attributes':['id'],'include':[{'model':db[_0x97ec('0x53')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x935bb0,null))['then'](function(_0x411e3f){var _0x5e8902=_['map'](_0x411e3f,'id');var _0x422e84=[];var _0x285313=[];var _0x2c53ef=squel['select']();_0x2c53ef[_0x97ec('0x5f')]('tq.TeamId')[_0x97ec('0x60')]('team_has_chat_queues','tq')[_0x97ec('0x61')](_0x97ec('0x62'),'ut',_0x97ec('0x63'))['where'](_0x97ec('0x64'),_0x44f76c[_0x97ec('0x25')]['id']);for(var _0x2cedba=0x0;_0x2cedba<_0x411e3f['length'];_0x2cedba+=0x1){let _0x5044fa=_0x411e3f[_0x2cedba];for(var _0x5be627=0x0;_0x5be627<_0x5044fa[_0x97ec('0x54')][_0x97ec('0x2b')];_0x5be627+=0x1){let _0x5065b1=_0x5044fa[_0x97ec('0x54')][_0x5be627];var _0x4bec90=_0x2c53ef[_0x97ec('0x65')]();_0x4bec90['where'](_0x97ec('0x66'),_0x5065b1['id']);_0x285313['push'](db[_0x97ec('0x67')][_0x97ec('0x20')](_0x4bec90['toString'](),{'type':db['sequelize'][_0x97ec('0x68')]['SELECT']})[_0x97ec('0x16')](function(_0x14285b){if(_0x14285b[_0x97ec('0x2b')]===0x1){return _0x5065b1['id'];}else{var _0x433c47=_[_0x97ec('0x69')](_[_0x97ec('0x46')](_0x14285b,_0x97ec('0x6a')),function(_0x87d639){return _[_0x97ec('0x6b')](_0x5e8902,_0x87d639);});if(_0x433c47){return _0x5065b1['id'];}}}));}}return BPromise[_0x97ec('0x6c')](_0x285313)['then'](function(_0x5c9842){_0x422e84=_(_0x422e84)[_0x97ec('0x6d')](_0x5c9842)[_0x97ec('0x6e')]()[_0x97ec('0x6f')]();return db[_0x97ec('0x1c')][_0x97ec('0x2d')]({'where':{'id':_0x44f76c[_0x97ec('0x25')]['id']}})[_0x97ec('0x16')](function(_0x53db12){return db[_0x97ec('0x67')][_0x97ec('0x58')](function(_0xef97bb){return _0x53db12['removeTeams'](_0x44f76c['query'][_0x97ec('0x51')],{'transaction':_0xef97bb})[_0x97ec('0x16')](function(){if(!_[_0x97ec('0x70')](_0x422e84)){return _0x53db12[_0x97ec('0x71')](_0x422e84,{'transaction':_0xef97bb});}})['then'](function(){_0x422e84[_0x97ec('0x5c')](function(_0x5a3d9f){socket['emit'](_0x97ec('0x72'),{'UserId':_0x5a3d9f,'ChatQueueId':_0x53db12['id']});});});});});});})[_0x97ec('0x16')](respondWithStatusCode(_0x935bb0,null))['catch'](handleError(_0x935bb0,null));};exports[_0x97ec('0x73')]=function(_0x23ada9,_0xb86461){return db['ChatQueue'][_0x97ec('0x2d')]({'where':{'id':_0x23ada9[_0x97ec('0x25')]['id']}})[_0x97ec('0x16')](handleEntityNotFound(_0xb86461,null))[_0x97ec('0x16')](function(_0x3eb364){if(_0x3eb364){return _0x3eb364['addAgents'](_0x23ada9[_0x97ec('0x2f')][_0x97ec('0x51')],_[_0x97ec('0x74')](_0x23ada9[_0x97ec('0x2f')],[_0x97ec('0x51'),'id'])||{})['spread'](function(_0x46606a){for(var _0x2566c7=0x0;_0x2566c7<_0x23ada9[_0x97ec('0x2f')]['ids'][_0x97ec('0x2b')];_0x2566c7+=0x1){socket[_0x97ec('0x75')]('userChatQueue:save',{'UserId':Number(_0x23ada9['body'][_0x97ec('0x51')][_0x2566c7]),'ChatQueueId':Number(_0x23ada9[_0x97ec('0x25')]['id'])});}return _0x46606a;});}})[_0x97ec('0x16')](respondWithResult(_0xb86461,null))[_0x97ec('0x23')](handleError(_0xb86461,null));};exports['removeAgents']=function(_0x13730f,_0x327b61){return db[_0x97ec('0x1c')][_0x97ec('0x2d')]({'where':{'id':_0x13730f[_0x97ec('0x25')]['id']}})[_0x97ec('0x16')](handleEntityNotFound(_0x327b61,null))[_0x97ec('0x16')](function(_0x29801b){if(_0x29801b){return _0x29801b[_0x97ec('0x71')](_0x13730f['query'][_0x97ec('0x51')])[_0x97ec('0x16')](function(){if(_[_0x97ec('0x76')](_0x13730f[_0x97ec('0x20')][_0x97ec('0x51')])){for(var _0x2dde42=0x0;_0x2dde42<_0x13730f[_0x97ec('0x20')][_0x97ec('0x51')][_0x97ec('0x2b')];_0x2dde42+=0x1){socket['emit'](_0x97ec('0x72'),{'UserId':Number(_0x13730f[_0x97ec('0x20')][_0x97ec('0x51')][_0x2dde42]),'ChatQueueId':Number(_0x13730f[_0x97ec('0x25')]['id'])});}}else{socket[_0x97ec('0x75')]('userChatQueue:remove',{'UserId':Number(_0x13730f[_0x97ec('0x20')][_0x97ec('0x51')]),'ChatQueueId':Number(_0x13730f[_0x97ec('0x25')]['id'])});}});}})[_0x97ec('0x16')](respondWithStatusCode(_0x327b61,null))[_0x97ec('0x23')](handleError(_0x327b61,null));};exports['getAgents']=function(_0x215632,_0x257fa0){var _0xb36923={};var _0x39cac9={};var _0x4ed3ad;var _0x46c21d;return db[_0x97ec('0x1c')][_0x97ec('0x3a')]({'where':{'id':_0x215632['params']['id']}})['then'](handleEntityNotFound(_0x257fa0,null))['then'](function(_0x47bd05){if(_0x47bd05){_0x4ed3ad=_0x47bd05;_0x39cac9['model']=_[_0x97ec('0x26')](db[_0x97ec('0x53')][_0x97ec('0x27')]);_0x39cac9['query']=_[_0x97ec('0x26')](_0x215632[_0x97ec('0x20')]);_0x39cac9[_0x97ec('0x3c')]=_[_0x97ec('0x3d')](_0x39cac9[_0x97ec('0x28')],_0x39cac9[_0x97ec('0x20')]);_0xb36923[_0x97ec('0x29')]=_['intersection'](_0x39cac9[_0x97ec('0x28')],qs[_0x97ec('0x2a')](_0x215632[_0x97ec('0x20')][_0x97ec('0x2a')]));_0xb36923[_0x97ec('0x29')]=_0xb36923[_0x97ec('0x29')][_0x97ec('0x2b')]?_0xb36923['attributes']:_0x39cac9[_0x97ec('0x28')];_0xb36923[_0x97ec('0x3f')]=qs['sort'](_0x215632[_0x97ec('0x20')][_0x97ec('0x40')]);_0xb36923[_0x97ec('0x42')]=qs['filters'](_[_0x97ec('0x41')](_0x215632[_0x97ec('0x20')],_0x39cac9[_0x97ec('0x3c')]));if(_0x215632['query']['filter']){_0xb36923[_0x97ec('0x42')]=_[_0x97ec('0x45')](_0xb36923[_0x97ec('0x42')],{'$or':_[_0x97ec('0x46')](_0xb36923[_0x97ec('0x29')],function(_0x2619db){var _0xa7df4c={};_0xa7df4c[_0x2619db]={'$like':'%'+_0x215632['query'][_0x97ec('0x44')]+'%'};return _0xa7df4c;})});}_0xb36923=_[_0x97ec('0x45')]({},_0xb36923,_0x215632['options']);return _0x4ed3ad[_0x97ec('0x77')](_0xb36923);}})[_0x97ec('0x16')](function(_0x3815bc){if(_0x3815bc){_0x46c21d=_0x3815bc[_0x97ec('0x2b')];if(!_0x215632[_0x97ec('0x20')][_0x97ec('0x3e')]('nolimit')){_0xb36923[_0x97ec('0x12')]=qs[_0x97ec('0x12')](_0x215632['query'][_0x97ec('0x12')]);_0xb36923[_0x97ec('0x10')]=qs[_0x97ec('0x10')](_0x215632['query'][_0x97ec('0x10')]);}return _0x4ed3ad[_0x97ec('0x77')](_0xb36923);}})[_0x97ec('0x16')](function(_0x49f97f){if(_0x49f97f){return _0x49f97f?{'count':_0x46c21d,'rows':_0x49f97f}:null;}})['then'](respondWithResult(_0x257fa0,null))[_0x97ec('0x23')](handleError(_0x257fa0,null));};