Built motion from commit dbf3a7e2.|2.6.30
[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 _0x0d42=['omit','spread','userChatQueue:save','isArray','userChatQueue:remove','getAgents','bluebird','util','squel','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','register','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','update','then','get','ChatQueues','destroy','error','stack','name','send','index','map','key','getOptions','where','ChatQueue','include','query','rows','show','params','model','keys','intersection','fields','attributes','includeAll','merge','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMembers','findOne','UserChatQueue','rawAttributes','filters','length','hasOwnProperty','nolimit','sort','pick','filter','findAll','User','findAndCountAll','agent','chatPause','updatedAt','createdAt','format','getTeams','Team','order','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','forEach','emit','removeTeams','select','field','from','team_has_chat_queues','join','user_has_teams','ChatQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','isEmpty','removeAgents','addAgents'];(function(_0x9faff7,_0x59a564){var _0x4f8043=function(_0x5f060d){while(--_0x5f060d){_0x9faff7['push'](_0x9faff7['shift']());}};_0x4f8043(++_0x59a564);}(_0x0d42,0x1ea));var _0x20d4=function(_0x5e4a9c,_0x2c0d9b){_0x5e4a9c=_0x5e4a9c-0x0;var _0x7f3c28=_0x0d42[_0x5e4a9c];return _0x7f3c28;};'use strict';var BPromise=require(_0x20d4('0x0'));var util=require(_0x20d4('0x1'));var _=require('lodash');var squel=require(_0x20d4('0x2'));var Redis=require(_0x20d4('0x3'));var qs=require(_0x20d4('0x4'));var logger=require(_0x20d4('0x5'))(_0x20d4('0x6'));var config=require(_0x20d4('0x7'));var db=require(_0x20d4('0x8'))['db'];config[_0x20d4('0x9')]=_[_0x20d4('0xa')](config[_0x20d4('0x9')],{'host':_0x20d4('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x20d4('0x9')]));require('./chatQueue.socket')[_0x20d4('0xc')](socket);function respondWithStatusCode(_0x45291f,_0x24d44d){_0x24d44d=_0x24d44d||0xcc;return function(_0x5684f7){if(_0x5684f7){return _0x45291f[_0x20d4('0xd')](_0x24d44d);}return _0x45291f[_0x20d4('0xe')](_0x24d44d)[_0x20d4('0xf')]();};}function respondWithResult(_0x369574,_0x44dba1){_0x44dba1=_0x44dba1||0xc8;return function(_0x3aa4f7){if(_0x3aa4f7){return _0x369574[_0x20d4('0xe')](_0x44dba1)['json'](_0x3aa4f7);}};}function respondWithFilteredResult(_0x32d120,_0x49234a){return function(_0x57e66b){if(_0x57e66b){var _0x30a5e1=typeof _0x49234a[_0x20d4('0x10')]===_0x20d4('0x11')&&typeof _0x49234a[_0x20d4('0x12')]==='undefined';var _0x31a4cc=_0x57e66b['count'];var _0x2d19a4=_0x30a5e1?0x0:_0x49234a['offset'];var _0xe6e85b=_0x30a5e1?_0x57e66b[_0x20d4('0x13')]:_0x49234a[_0x20d4('0x10')]+_0x49234a[_0x20d4('0x12')];var _0x42ff3d;if(_0xe6e85b>=_0x31a4cc){_0xe6e85b=_0x31a4cc;_0x42ff3d=0xc8;}else{_0x42ff3d=0xce;}_0x32d120[_0x20d4('0xe')](_0x42ff3d);return _0x32d120['set'](_0x20d4('0x14'),_0x2d19a4+'-'+_0xe6e85b+'/'+_0x31a4cc)[_0x20d4('0x15')](_0x57e66b);}return null;};}function saveUpdates(_0x3d721e){return function(_0x23afcc){if(_0x23afcc){return _0x23afcc[_0x20d4('0x16')](_0x3d721e)[_0x20d4('0x17')](function(_0xcdcd82){return _0xcdcd82;});}return null;};}function removeEntity(_0x11a43d){return function(_0x5195dd){if(_0x5195dd){return _0x5195dd['destroy']()['then'](function(){var _0x2162e0=_0x5195dd[_0x20d4('0x18')]({'plain':!![]});var _0x1a9333=_0x20d4('0x19');return db['UserProfileResource'][_0x20d4('0x1a')]({'where':{'type':_0x1a9333,'resourceId':_0x2162e0['id']}})['then'](function(){return _0x5195dd;});})[_0x20d4('0x17')](function(){_0x11a43d[_0x20d4('0xe')](0xcc)[_0x20d4('0xf')]();});}};}function handleEntityNotFound(_0x6640b3){return function(_0x1900eb){if(!_0x1900eb){_0x6640b3[_0x20d4('0xd')](0x194);}return _0x1900eb;};}function handleError(_0x5aa8db,_0x55682c){_0x55682c=_0x55682c||0x1f4;return function(_0x498fd7){logger[_0x20d4('0x1b')](_0x498fd7[_0x20d4('0x1c')]);if(_0x498fd7[_0x20d4('0x1d')]){delete _0x498fd7[_0x20d4('0x1d')];}_0x5aa8db['status'](_0x55682c)[_0x20d4('0x1e')](_0x498fd7);};}exports[_0x20d4('0x1f')]=function(_0x477a82,_0x3b029f){var _0x5bb299={};var _0x45898e={'count':0x0,'rows':[]};var _0x1db65a=_[_0x20d4('0x20')](db['ChatQueue']['rawAttributes'],function(_0x55606d){return{'name':_0x55606d['fieldName'],'type':_0x55606d['type'][_0x20d4('0x21')]};});_0x5bb299=qs[_0x20d4('0x22')](_0x1db65a,_0x477a82);var _0x469738={'where':_0x5bb299[_0x20d4('0x23')]};return db[_0x20d4('0x24')][_0x20d4('0x13')](_0x469738)['then'](function(_0x3e6c00){_0x45898e[_0x20d4('0x13')]=_0x3e6c00;_0x5bb299[_0x20d4('0x25')]=qs[_0x20d4('0x25')](_0x477a82[_0x20d4('0x26')]);return db[_0x20d4('0x24')]['findAll'](_0x5bb299);})[_0x20d4('0x17')](function(_0x343247){_0x45898e[_0x20d4('0x27')]=_0x343247;return _0x45898e;})[_0x20d4('0x17')](respondWithFilteredResult(_0x3b029f,_0x5bb299))['catch'](handleError(_0x3b029f,null));};exports[_0x20d4('0x28')]=function(_0x1bb21e,_0x6a78fa){var _0x58cb11={'raw':!![],'where':{'id':_0x1bb21e[_0x20d4('0x29')]['id']}},_0x3415c9={};_0x3415c9[_0x20d4('0x2a')]=_[_0x20d4('0x2b')](db[_0x20d4('0x24')]['rawAttributes']);_0x3415c9[_0x20d4('0x26')]=_[_0x20d4('0x2b')](_0x1bb21e[_0x20d4('0x26')]);_0x3415c9['filters']=_[_0x20d4('0x2c')](_0x3415c9[_0x20d4('0x2a')],_0x3415c9[_0x20d4('0x26')]);_0x58cb11['attributes']=_[_0x20d4('0x2c')](_0x3415c9['model'],qs[_0x20d4('0x2d')](_0x1bb21e[_0x20d4('0x26')][_0x20d4('0x2d')]));_0x58cb11[_0x20d4('0x2e')]=_0x58cb11[_0x20d4('0x2e')]['length']?_0x58cb11[_0x20d4('0x2e')]:_0x3415c9[_0x20d4('0x2a')];if(_0x1bb21e['query'][_0x20d4('0x2f')]){_0x58cb11[_0x20d4('0x25')]=[{'all':!![]}];}_0x58cb11=_[_0x20d4('0x30')]({},_0x58cb11,_0x1bb21e[_0x20d4('0x31')]);return db[_0x20d4('0x24')]['find'](_0x58cb11)['then'](handleEntityNotFound(_0x6a78fa,null))[_0x20d4('0x17')](respondWithResult(_0x6a78fa,null))['catch'](handleError(_0x6a78fa,null));};exports[_0x20d4('0x32')]=function(_0x5f1812,_0x59e0c7){return db[_0x20d4('0x24')][_0x20d4('0x32')](_0x5f1812[_0x20d4('0x33')],{})[_0x20d4('0x17')](function(_0x490e1f){var _0x3344e3=_0x5f1812[_0x20d4('0x34')][_0x20d4('0x18')]({'plain':!![]});if(!_0x3344e3)throw new Error(_0x20d4('0x35'));if(_0x3344e3[_0x20d4('0x36')]===_0x20d4('0x34')){var _0x455aed=_0x490e1f[_0x20d4('0x18')]({'plain':!![]});var _0x3708dc=_0x20d4('0x19');return db[_0x20d4('0x37')][_0x20d4('0x38')]({'where':{'name':_0x3708dc,'userProfileId':_0x3344e3[_0x20d4('0x39')]},'raw':!![]})[_0x20d4('0x17')](function(_0x346861){if(_0x346861&&_0x346861['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x455aed[_0x20d4('0x1d')],'resourceId':_0x455aed['id'],'type':_0x346861[_0x20d4('0x1d')],'sectionId':_0x346861['id']},{})[_0x20d4('0x17')](function(){return _0x490e1f;});}else{return _0x490e1f;}})[_0x20d4('0x3a')](function(_0x167827){logger[_0x20d4('0x1b')](_0x20d4('0x3b'),_0x167827);throw _0x167827;});}return _0x490e1f;})[_0x20d4('0x17')](respondWithResult(_0x59e0c7,0xc9))[_0x20d4('0x3a')](handleError(_0x59e0c7,null));};exports[_0x20d4('0x16')]=function(_0x5ad163,_0x4b1f93){if(_0x5ad163['body']['id']){delete _0x5ad163['body']['id'];}return db[_0x20d4('0x24')][_0x20d4('0x38')]({'where':{'id':_0x5ad163[_0x20d4('0x29')]['id']}})[_0x20d4('0x17')](handleEntityNotFound(_0x4b1f93,null))[_0x20d4('0x17')](saveUpdates(_0x5ad163['body'],null))[_0x20d4('0x17')](respondWithResult(_0x4b1f93,null))['catch'](handleError(_0x4b1f93,null));};exports[_0x20d4('0x1a')]=function(_0x106c09,_0x59f156){return db[_0x20d4('0x24')][_0x20d4('0x38')]({'where':{'id':_0x106c09[_0x20d4('0x29')]['id']}})['then'](handleEntityNotFound(_0x59f156,null))[_0x20d4('0x17')](removeEntity(_0x59f156,null))['catch'](handleError(_0x59f156,null));};exports['describe']=function(_0x4915ec,_0x5a0697){return db[_0x20d4('0x24')]['describe']()[_0x20d4('0x17')](respondWithResult(_0x5a0697,null))[_0x20d4('0x3a')](handleError(_0x5a0697,null));};exports[_0x20d4('0x3c')]=function(_0x1b621c,_0x2b7bf7){var _0x2a5838={'raw':!![],'where':{}},_0x387595={},_0x3ae3b0;return db[_0x20d4('0x24')][_0x20d4('0x3d')]({'where':{'id':_0x1b621c[_0x20d4('0x29')]['id']}})['then'](handleEntityNotFound(_0x2b7bf7,null))[_0x20d4('0x17')](function(_0x1a3deb){if(_0x1a3deb){_0x3ae3b0=_0x1a3deb[_0x20d4('0x18')]({'plain':!![]});_0x387595[_0x20d4('0x2a')]=_[_0x20d4('0x2b')](db[_0x20d4('0x3e')][_0x20d4('0x3f')]);_0x387595['query']=_[_0x20d4('0x2b')](_0x1b621c[_0x20d4('0x26')]);_0x387595[_0x20d4('0x40')]=_[_0x20d4('0x2c')](_0x387595['model'],_0x387595[_0x20d4('0x26')]);_0x2a5838[_0x20d4('0x2e')]=_[_0x20d4('0x2c')](_0x387595[_0x20d4('0x2a')],qs[_0x20d4('0x2d')](_0x1b621c['query']['fields']));_0x2a5838['attributes']=_0x2a5838[_0x20d4('0x2e')][_0x20d4('0x41')]?_0x2a5838['attributes']:_0x387595[_0x20d4('0x2a')];if(!_0x1b621c[_0x20d4('0x26')][_0x20d4('0x42')](_0x20d4('0x43'))){_0x2a5838[_0x20d4('0x12')]=qs[_0x20d4('0x12')](_0x1b621c[_0x20d4('0x26')][_0x20d4('0x12')]);_0x2a5838[_0x20d4('0x10')]=qs[_0x20d4('0x10')](_0x1b621c[_0x20d4('0x26')][_0x20d4('0x10')]);}_0x2a5838['order']=qs['sort'](_0x1b621c[_0x20d4('0x26')][_0x20d4('0x44')]);_0x2a5838['where']=qs[_0x20d4('0x40')](_[_0x20d4('0x45')](_0x1b621c['query'],_0x387595['filters']));_0x2a5838[_0x20d4('0x23')]['ChatQueueId']=_0x1a3deb['id'];if(_0x1b621c[_0x20d4('0x26')]['filter']){_0x2a5838['where']=_[_0x20d4('0x30')](_0x2a5838['where'],{'$or':_[_0x20d4('0x20')](_0x2a5838[_0x20d4('0x2e')],function(_0x50ae08){var _0x36594f={};_0x36594f[_0x50ae08]={'$like':'%'+_0x1b621c[_0x20d4('0x26')][_0x20d4('0x46')]+'%'};return _0x36594f;})});}_0x2a5838=_['merge']({},_0x2a5838,_0x1b621c[_0x20d4('0x31')]);return db[_0x20d4('0x3e')][_0x20d4('0x47')](_0x2a5838);}})[_0x20d4('0x17')](function(_0x42b4de){if(_0x42b4de){return db[_0x20d4('0x48')][_0x20d4('0x49')]({'where':{'id':_['map'](_0x42b4de,'UserId'),'role':_0x20d4('0x4a')},'attributes':['id','name',_0x20d4('0x4b'),_0x20d4('0x4c'),_0x20d4('0x4d')]});}})[_0x20d4('0x17')](function(_0x59bbed){if(_0x59bbed){return{'count':_0x59bbed[_0x20d4('0x13')],'rows':_[_0x20d4('0x20')](_0x59bbed[_0x20d4('0x27')],function(_0x3d06b9){return{'membername':_0x3d06b9[_0x20d4('0x1d')],'UserId':_0x3d06b9['id'],'queue_name':_0x3ae3b0[_0x20d4('0x1d')],'ChatQueueId':_0x3ae3b0['id'],'interface':util[_0x20d4('0x4e')]('%s/%s','SIP',_0x3d06b9[_0x20d4('0x1d')]),'penalty':0x0,'paused':_0x3d06b9[_0x20d4('0x4b')],'createdAt':_0x3d06b9[_0x20d4('0x4d')],'updatedAt':_0x3d06b9[_0x20d4('0x4c')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x20d4('0x17')](respondWithFilteredResult(_0x2b7bf7,_0x2a5838))[_0x20d4('0x3a')](handleError(_0x2b7bf7,null));};exports[_0x20d4('0x4f')]=function(_0x33816c,_0x344b7b){var _0x4e6bb6={};var _0x50e2d7={};var _0x1bf85d;var _0x58b53d;return db[_0x20d4('0x24')]['findOne']({'where':{'id':_0x33816c['params']['id']}})[_0x20d4('0x17')](handleEntityNotFound(_0x344b7b,null))[_0x20d4('0x17')](function(_0x1d7ce9){if(_0x1d7ce9){_0x1bf85d=_0x1d7ce9;_0x50e2d7[_0x20d4('0x2a')]=_[_0x20d4('0x2b')](db[_0x20d4('0x50')][_0x20d4('0x3f')]);_0x50e2d7['query']=_['keys'](_0x33816c[_0x20d4('0x26')]);_0x50e2d7[_0x20d4('0x40')]=_[_0x20d4('0x2c')](_0x50e2d7[_0x20d4('0x2a')],_0x50e2d7[_0x20d4('0x26')]);_0x4e6bb6[_0x20d4('0x2e')]=_[_0x20d4('0x2c')](_0x50e2d7[_0x20d4('0x2a')],qs[_0x20d4('0x2d')](_0x33816c[_0x20d4('0x26')][_0x20d4('0x2d')]));_0x4e6bb6[_0x20d4('0x2e')]=_0x4e6bb6[_0x20d4('0x2e')]['length']?_0x4e6bb6['attributes']:_0x50e2d7[_0x20d4('0x2a')];_0x4e6bb6[_0x20d4('0x51')]=qs['sort'](_0x33816c[_0x20d4('0x26')]['sort']);_0x4e6bb6[_0x20d4('0x23')]=qs[_0x20d4('0x40')](_[_0x20d4('0x45')](_0x33816c[_0x20d4('0x26')],_0x50e2d7['filters']));if(_0x33816c[_0x20d4('0x26')][_0x20d4('0x46')]){_0x4e6bb6[_0x20d4('0x23')]=_[_0x20d4('0x30')](_0x4e6bb6[_0x20d4('0x23')],{'$or':_[_0x20d4('0x20')](_0x4e6bb6['attributes'],function(_0x37484d){var _0x2b7903={};_0x2b7903[_0x37484d]={'$like':'%'+_0x33816c['query'][_0x20d4('0x46')]+'%'};return _0x2b7903;})});}_0x4e6bb6=_[_0x20d4('0x30')]({},_0x4e6bb6,_0x33816c['options']);return _0x1bf85d[_0x20d4('0x4f')](_0x4e6bb6);}})[_0x20d4('0x17')](function(_0x4e57a8){if(_0x4e57a8){_0x58b53d=_0x4e57a8['length'];if(!_0x33816c['query'][_0x20d4('0x42')](_0x20d4('0x43'))){_0x4e6bb6[_0x20d4('0x12')]=qs[_0x20d4('0x12')](_0x33816c[_0x20d4('0x26')][_0x20d4('0x12')]);_0x4e6bb6[_0x20d4('0x10')]=qs['offset'](_0x33816c[_0x20d4('0x26')][_0x20d4('0x10')]);}return _0x1bf85d[_0x20d4('0x4f')](_0x4e6bb6);}})['then'](function(_0x54575f){if(_0x54575f){return _0x54575f?{'count':_0x58b53d,'rows':_0x54575f}:null;}})[_0x20d4('0x17')](respondWithResult(_0x344b7b,null))[_0x20d4('0x3a')](handleError(_0x344b7b,null));};exports[_0x20d4('0x52')]=function(_0x1f9d6d,_0x447866){var _0x135c5d=_0x1f9d6d[_0x20d4('0x33')][_0x20d4('0x53')];return db[_0x20d4('0x50')][_0x20d4('0x47')]({'where':{'id':_0x135c5d},'attributes':['id'],'include':[{'model':db[_0x20d4('0x48')],'as':_0x20d4('0x54'),'attributes':['id','name',_0x20d4('0x55'),_0x20d4('0x56'),_0x20d4('0x57')],'raw':!![]}]})[_0x20d4('0x17')](function(_0x445428){if(_0x445428){var _0x259bc3=_[_0x20d4('0x58')](_0x445428,function(_0x480fd7){var _0x4f457c=_0x480fd7[_0x20d4('0x18')]({'plain':!![]});return _0x4f457c[_0x20d4('0x54')];});return db[_0x20d4('0x24')]['find']({'where':{'id':_0x1f9d6d[_0x20d4('0x29')]['id']}})['then'](function(_0x595213){return db[_0x20d4('0x59')][_0x20d4('0x5a')](function(_0x16bdd2){return _0x595213['addTeams'](_0x135c5d,{'transaction':_0x16bdd2})[_0x20d4('0x17')](function(){return BPromise['each'](_0x259bc3,function(_0x31efe1){return db['UserChatQueue']['findOrCreate']({'where':{'UserId':_0x31efe1['id'],'ChatQueueId':_0x1f9d6d[_0x20d4('0x29')]['id']},'transaction':_0x16bdd2});});})[_0x20d4('0x17')](function(){_0x259bc3[_0x20d4('0x5b')](function(_0x4ec9d7){socket[_0x20d4('0x5c')]('userChatQueue:save',{'UserId':_0x4ec9d7['id'],'ChatQueueId':_0x595213['id']});});});});});}})[_0x20d4('0x17')](respondWithStatusCode(_0x447866,null))[_0x20d4('0x3a')](handleError(_0x447866,null));};exports[_0x20d4('0x5d')]=function(_0x3240d2,_0x43bf2d){return db[_0x20d4('0x50')][_0x20d4('0x47')]({'where':{'id':_0x3240d2[_0x20d4('0x26')][_0x20d4('0x53')]},'attributes':['id'],'include':[{'model':db[_0x20d4('0x48')],'as':_0x20d4('0x54'),'attributes':['id'],'raw':!![]}]})[_0x20d4('0x17')](handleEntityNotFound(_0x43bf2d,null))['then'](function(_0x399843){var _0x23fd80=_['map'](_0x399843,'id');var _0x572a29=[];var _0x50a2d9=[];var _0x382795=squel[_0x20d4('0x5e')]();_0x382795[_0x20d4('0x5f')]('tq.TeamId')[_0x20d4('0x60')](_0x20d4('0x61'),'tq')[_0x20d4('0x62')](_0x20d4('0x63'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x20d4('0x23')](_0x20d4('0x64'),_0x3240d2[_0x20d4('0x29')]['id']);for(var _0x516b2d=0x0;_0x516b2d<_0x399843['length'];_0x516b2d+=0x1){let _0x3a3f68=_0x399843[_0x516b2d];for(var _0x580ec0=0x0;_0x580ec0<_0x3a3f68[_0x20d4('0x54')][_0x20d4('0x41')];_0x580ec0+=0x1){let _0x5dcb21=_0x3a3f68[_0x20d4('0x54')][_0x580ec0];var _0x10db9a=_0x382795['clone']();_0x10db9a[_0x20d4('0x23')](_0x20d4('0x65'),_0x5dcb21['id']);_0x50a2d9[_0x20d4('0x66')](db[_0x20d4('0x59')][_0x20d4('0x26')](_0x10db9a[_0x20d4('0x67')](),{'type':db['sequelize'][_0x20d4('0x68')][_0x20d4('0x69')]})[_0x20d4('0x17')](function(_0x1d873f){if(_0x1d873f[_0x20d4('0x41')]===0x1){return _0x5dcb21['id'];}else{var _0x388e57=_[_0x20d4('0x6a')](_[_0x20d4('0x20')](_0x1d873f,_0x20d4('0x6b')),function(_0x1d50bb){return _[_0x20d4('0x6c')](_0x23fd80,_0x1d50bb);});if(_0x388e57){return _0x5dcb21['id'];}}}));}}return BPromise[_0x20d4('0x6d')](_0x50a2d9)[_0x20d4('0x17')](function(_0x220f37){_0x572a29=_(_0x572a29)[_0x20d4('0x6e')](_0x220f37)[_0x20d4('0x6f')]()['value']();return db[_0x20d4('0x24')][_0x20d4('0x38')]({'where':{'id':_0x3240d2['params']['id']}})[_0x20d4('0x17')](function(_0x4b60e5){return db[_0x20d4('0x59')][_0x20d4('0x5a')](function(_0x39b3a5){return _0x4b60e5[_0x20d4('0x5d')](_0x3240d2[_0x20d4('0x26')]['ids'],{'transaction':_0x39b3a5})[_0x20d4('0x17')](function(){if(!_[_0x20d4('0x70')](_0x572a29)){return _0x4b60e5[_0x20d4('0x71')](_0x572a29,{'transaction':_0x39b3a5});}})['then'](function(){_0x572a29['forEach'](function(_0x4dd8fa){socket[_0x20d4('0x5c')]('userChatQueue:remove',{'UserId':_0x4dd8fa,'ChatQueueId':_0x4b60e5['id']});});});});});});})[_0x20d4('0x17')](respondWithStatusCode(_0x43bf2d,null))[_0x20d4('0x3a')](handleError(_0x43bf2d,null));};exports[_0x20d4('0x72')]=function(_0x3d26a5,_0x18bb32){return db[_0x20d4('0x24')]['find']({'where':{'id':_0x3d26a5[_0x20d4('0x29')]['id']}})[_0x20d4('0x17')](handleEntityNotFound(_0x18bb32,null))[_0x20d4('0x17')](function(_0x45a998){if(_0x45a998){return _0x45a998['addAgents'](_0x3d26a5['body'][_0x20d4('0x53')],_[_0x20d4('0x73')](_0x3d26a5[_0x20d4('0x33')],[_0x20d4('0x53'),'id'])||{})[_0x20d4('0x74')](function(_0x49756d){for(var _0x2d9dfb=0x0;_0x2d9dfb<_0x3d26a5[_0x20d4('0x33')]['ids'][_0x20d4('0x41')];_0x2d9dfb+=0x1){socket[_0x20d4('0x5c')](_0x20d4('0x75'),{'UserId':Number(_0x3d26a5['body'][_0x20d4('0x53')][_0x2d9dfb]),'ChatQueueId':Number(_0x3d26a5[_0x20d4('0x29')]['id'])});}return _0x49756d;});}})[_0x20d4('0x17')](respondWithResult(_0x18bb32,null))['catch'](handleError(_0x18bb32,null));};exports['removeAgents']=function(_0x35ae49,_0x2db847){return db[_0x20d4('0x24')]['find']({'where':{'id':_0x35ae49[_0x20d4('0x29')]['id']}})[_0x20d4('0x17')](handleEntityNotFound(_0x2db847,null))[_0x20d4('0x17')](function(_0xf0685f){if(_0xf0685f){return _0xf0685f[_0x20d4('0x71')](_0x35ae49[_0x20d4('0x26')]['ids'])[_0x20d4('0x17')](function(){if(_[_0x20d4('0x76')](_0x35ae49['query']['ids'])){for(var _0x5233cf=0x0;_0x5233cf<_0x35ae49[_0x20d4('0x26')][_0x20d4('0x53')][_0x20d4('0x41')];_0x5233cf+=0x1){socket['emit'](_0x20d4('0x77'),{'UserId':Number(_0x35ae49['query'][_0x20d4('0x53')][_0x5233cf]),'ChatQueueId':Number(_0x35ae49[_0x20d4('0x29')]['id'])});}}else{socket['emit'](_0x20d4('0x77'),{'UserId':Number(_0x35ae49[_0x20d4('0x26')][_0x20d4('0x53')]),'ChatQueueId':Number(_0x35ae49[_0x20d4('0x29')]['id'])});}});}})[_0x20d4('0x17')](respondWithStatusCode(_0x2db847,null))[_0x20d4('0x3a')](handleError(_0x2db847,null));};exports[_0x20d4('0x78')]=function(_0x46e200,_0x2ceff9){var _0x3fea7e={};var _0x1d6a2c={};var _0x107ee8;var _0x48fb7b;return db[_0x20d4('0x24')][_0x20d4('0x3d')]({'where':{'id':_0x46e200[_0x20d4('0x29')]['id']}})['then'](handleEntityNotFound(_0x2ceff9,null))[_0x20d4('0x17')](function(_0x19447a){if(_0x19447a){_0x107ee8=_0x19447a;_0x1d6a2c[_0x20d4('0x2a')]=_[_0x20d4('0x2b')](db['User']['rawAttributes']);_0x1d6a2c[_0x20d4('0x26')]=_[_0x20d4('0x2b')](_0x46e200[_0x20d4('0x26')]);_0x1d6a2c['filters']=_[_0x20d4('0x2c')](_0x1d6a2c[_0x20d4('0x2a')],_0x1d6a2c[_0x20d4('0x26')]);_0x3fea7e[_0x20d4('0x2e')]=_[_0x20d4('0x2c')](_0x1d6a2c['model'],qs[_0x20d4('0x2d')](_0x46e200[_0x20d4('0x26')][_0x20d4('0x2d')]));_0x3fea7e['attributes']=_0x3fea7e['attributes'][_0x20d4('0x41')]?_0x3fea7e[_0x20d4('0x2e')]:_0x1d6a2c[_0x20d4('0x2a')];_0x3fea7e[_0x20d4('0x51')]=qs[_0x20d4('0x44')](_0x46e200[_0x20d4('0x26')][_0x20d4('0x44')]);_0x3fea7e['where']=qs['filters'](_['pick'](_0x46e200['query'],_0x1d6a2c['filters']));if(_0x46e200['query']['filter']){_0x3fea7e[_0x20d4('0x23')]=_[_0x20d4('0x30')](_0x3fea7e[_0x20d4('0x23')],{'$or':_['map'](_0x3fea7e[_0x20d4('0x2e')],function(_0x580730){var _0x2a4dce={};_0x2a4dce[_0x580730]={'$like':'%'+_0x46e200[_0x20d4('0x26')][_0x20d4('0x46')]+'%'};return _0x2a4dce;})});}_0x3fea7e=_[_0x20d4('0x30')]({},_0x3fea7e,_0x46e200[_0x20d4('0x31')]);return _0x107ee8['getAgents'](_0x3fea7e);}})[_0x20d4('0x17')](function(_0x406bb9){if(_0x406bb9){_0x48fb7b=_0x406bb9[_0x20d4('0x41')];if(!_0x46e200[_0x20d4('0x26')]['hasOwnProperty'](_0x20d4('0x43'))){_0x3fea7e[_0x20d4('0x12')]=qs[_0x20d4('0x12')](_0x46e200[_0x20d4('0x26')]['limit']);_0x3fea7e['offset']=qs['offset'](_0x46e200[_0x20d4('0x26')]['offset']);}return _0x107ee8[_0x20d4('0x78')](_0x3fea7e);}})['then'](function(_0x5f08ab){if(_0x5f08ab){return _0x5f08ab?{'count':_0x48fb7b,'rows':_0x5f08ab}:null;}})[_0x20d4('0x17')](respondWithResult(_0x2ceff9,null))[_0x20d4('0x3a')](handleError(_0x2ceff9,null));};