7028c51fde1cfb0d7c921fc3233b7ed32edac714
[motion2.git] / server / api / whatsappQueue / whatsappQueue.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 _0xf69a=['body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','UserWhatsappQueue','hasOwnProperty','nolimit','sort','where','WhatsappQueueId','filter','map','options','findAndCountAll','UserId','agent','whatsappPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','findOne','order','pick','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','User','select','tq.TeamId','team_has_whatsapp_queues','user_has_teams','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','removeTeams','isEmpty','removeAgents','addAgents','omit','spread','userWhatsappQueue:save','isArray','userWhatsappQueue:remove','getAgents','bluebird','squel','../../components/parsers/qs','../../mysqldb','redis','socket.io-emitter','./whatsappQueue.socket','register','end','status','json','offset','undefined','limit','count','Content-Range','update','then','destroy','get','WhatsappQueues','UserProfileResource','stack','name','send','WhatsappQueue','rawAttributes','fieldName','type','include','query','findAll','rows','catch','show','params','model','keys','filters','intersection','attributes','fields','length','includeAll','merge','find','create'];(function(_0x3f98cf,_0x3e3269){var _0x5c9d8c=function(_0x1a51b7){while(--_0x1a51b7){_0x3f98cf['push'](_0x3f98cf['shift']());}};_0x5c9d8c(++_0x3e3269);}(_0xf69a,0xbf));var _0xaf69=function(_0x43b609,_0xcf0924){_0x43b609=_0x43b609-0x0;var _0x5d4cef=_0xf69a[_0x43b609];return _0x5d4cef;};'use strict';var BPromise=require(_0xaf69('0x0'));var util=require('util');var _=require('lodash');var squel=require(_0xaf69('0x1'));var Redis=require('ioredis');var qs=require(_0xaf69('0x2'));var logger=require('../../config/logger')('api');var config=require('../../config/environment');var db=require(_0xaf69('0x3'))['db'];config[_0xaf69('0x4')]=_['defaults'](config[_0xaf69('0x4')],{'host':'localhost','port':0x18eb});var socket=require(_0xaf69('0x5'))(new Redis(config[_0xaf69('0x4')]));require(_0xaf69('0x6'))[_0xaf69('0x7')](socket);function respondWithStatusCode(_0x417fd6,_0x4269e6){_0x4269e6=_0x4269e6||0xcc;return function(_0x7e3ca8){if(_0x7e3ca8){return _0x417fd6['sendStatus'](_0x4269e6);}return _0x417fd6['status'](_0x4269e6)[_0xaf69('0x8')]();};}function respondWithResult(_0x1a2ad2,_0x482054){_0x482054=_0x482054||0xc8;return function(_0x91731e){if(_0x91731e){return _0x1a2ad2[_0xaf69('0x9')](_0x482054)[_0xaf69('0xa')](_0x91731e);}};}function respondWithFilteredResult(_0xc1b31a,_0x5ac6f6){return function(_0x48374b){if(_0x48374b){var _0x39d375=typeof _0x5ac6f6[_0xaf69('0xb')]===_0xaf69('0xc')&&typeof _0x5ac6f6[_0xaf69('0xd')]===_0xaf69('0xc');var _0x2847b5=_0x48374b[_0xaf69('0xe')];var _0x2efdfd=_0x39d375?0x0:_0x5ac6f6[_0xaf69('0xb')];var _0xaf5d29=_0x39d375?_0x48374b[_0xaf69('0xe')]:_0x5ac6f6[_0xaf69('0xb')]+_0x5ac6f6[_0xaf69('0xd')];var _0x1b13a4;if(_0xaf5d29>=_0x2847b5){_0xaf5d29=_0x2847b5;_0x1b13a4=0xc8;}else{_0x1b13a4=0xce;}_0xc1b31a[_0xaf69('0x9')](_0x1b13a4);return _0xc1b31a['set'](_0xaf69('0xf'),_0x2efdfd+'-'+_0xaf5d29+'/'+_0x2847b5)[_0xaf69('0xa')](_0x48374b);}return null;};}function saveUpdates(_0x5ec64f){return function(_0x42d308){if(_0x42d308){return _0x42d308[_0xaf69('0x10')](_0x5ec64f)[_0xaf69('0x11')](function(_0x566e0e){return _0x566e0e;});}return null;};}function removeEntity(_0x32514d){return function(_0x524a53){if(_0x524a53){return _0x524a53[_0xaf69('0x12')]()['then'](function(){var _0x54fefc=_0x524a53[_0xaf69('0x13')]({'plain':!![]});var _0x5a761c=_0xaf69('0x14');return db[_0xaf69('0x15')][_0xaf69('0x12')]({'where':{'type':_0x5a761c,'resourceId':_0x54fefc['id']}})[_0xaf69('0x11')](function(){return _0x524a53;});})[_0xaf69('0x11')](function(){_0x32514d['status'](0xcc)[_0xaf69('0x8')]();});}};}function handleEntityNotFound(_0x2d9e01){return function(_0x27ee11){if(!_0x27ee11){_0x2d9e01['sendStatus'](0x194);}return _0x27ee11;};}function handleError(_0x4d520d,_0x124bed){_0x124bed=_0x124bed||0x1f4;return function(_0x4be637){logger['error'](_0x4be637[_0xaf69('0x16')]);if(_0x4be637[_0xaf69('0x17')]){delete _0x4be637[_0xaf69('0x17')];}_0x4d520d[_0xaf69('0x9')](_0x124bed)[_0xaf69('0x18')](_0x4be637);};}exports['index']=function(_0x22ab5f,_0x112d69){var _0x14adf7={};var _0x535da6={'count':0x0,'rows':[]};var _0xd0f09e=_['map'](db[_0xaf69('0x19')][_0xaf69('0x1a')],function(_0x21e3a6){return{'name':_0x21e3a6[_0xaf69('0x1b')],'type':_0x21e3a6[_0xaf69('0x1c')]['key']};});_0x14adf7=qs['getOptions'](_0xd0f09e,_0x22ab5f);var _0x183ec5={'where':_0x14adf7['where']};return db[_0xaf69('0x19')][_0xaf69('0xe')](_0x183ec5)[_0xaf69('0x11')](function(_0x464abb){_0x535da6[_0xaf69('0xe')]=_0x464abb;_0x14adf7[_0xaf69('0x1d')]=qs[_0xaf69('0x1d')](_0x22ab5f[_0xaf69('0x1e')]);return db[_0xaf69('0x19')][_0xaf69('0x1f')](_0x14adf7);})['then'](function(_0x71afd6){_0x535da6[_0xaf69('0x20')]=_0x71afd6;return _0x535da6;})['then'](respondWithFilteredResult(_0x112d69,_0x14adf7))[_0xaf69('0x21')](handleError(_0x112d69,null));};exports[_0xaf69('0x22')]=function(_0x4513ea,_0x49ced5){var _0xc73dda={'raw':!![],'where':{'id':_0x4513ea[_0xaf69('0x23')]['id']}},_0x41ebe8={};_0x41ebe8[_0xaf69('0x24')]=_[_0xaf69('0x25')](db[_0xaf69('0x19')]['rawAttributes']);_0x41ebe8[_0xaf69('0x1e')]=_[_0xaf69('0x25')](_0x4513ea[_0xaf69('0x1e')]);_0x41ebe8[_0xaf69('0x26')]=_[_0xaf69('0x27')](_0x41ebe8[_0xaf69('0x24')],_0x41ebe8[_0xaf69('0x1e')]);_0xc73dda[_0xaf69('0x28')]=_[_0xaf69('0x27')](_0x41ebe8[_0xaf69('0x24')],qs[_0xaf69('0x29')](_0x4513ea['query'][_0xaf69('0x29')]));_0xc73dda[_0xaf69('0x28')]=_0xc73dda['attributes'][_0xaf69('0x2a')]?_0xc73dda['attributes']:_0x41ebe8[_0xaf69('0x24')];if(_0x4513ea[_0xaf69('0x1e')][_0xaf69('0x2b')]){_0xc73dda[_0xaf69('0x1d')]=[{'all':!![]}];}_0xc73dda=_[_0xaf69('0x2c')]({},_0xc73dda,_0x4513ea['options']);return db[_0xaf69('0x19')][_0xaf69('0x2d')](_0xc73dda)[_0xaf69('0x11')](handleEntityNotFound(_0x49ced5,null))['then'](respondWithResult(_0x49ced5,null))[_0xaf69('0x21')](handleError(_0x49ced5,null));};exports['create']=function(_0x44bbe2,_0x47d718){return db[_0xaf69('0x19')][_0xaf69('0x2e')](_0x44bbe2[_0xaf69('0x2f')],{})[_0xaf69('0x11')](function(_0x232aaa){var _0x4b6941=_0x44bbe2[_0xaf69('0x30')][_0xaf69('0x13')]({'plain':!![]});if(!_0x4b6941)throw new Error(_0xaf69('0x31'));if(_0x4b6941[_0xaf69('0x32')]===_0xaf69('0x30')){var _0x4cd3c2=_0x232aaa[_0xaf69('0x13')]({'plain':!![]});var _0x12e2e1='WhatsappQueues';return db[_0xaf69('0x33')][_0xaf69('0x2d')]({'where':{'name':_0x12e2e1,'userProfileId':_0x4b6941[_0xaf69('0x34')]},'raw':!![]})['then'](function(_0x279ff8){if(_0x279ff8&&_0x279ff8[_0xaf69('0x35')]===0x0){return db['UserProfileResource']['create']({'name':_0x4cd3c2[_0xaf69('0x17')],'resourceId':_0x4cd3c2['id'],'type':_0x279ff8[_0xaf69('0x17')],'sectionId':_0x279ff8['id']},{})[_0xaf69('0x11')](function(){return _0x232aaa;});}else{return _0x232aaa;}})[_0xaf69('0x21')](function(_0xbf8ce4){logger['error'](_0xaf69('0x36'),_0xbf8ce4);throw _0xbf8ce4;});}return _0x232aaa;})[_0xaf69('0x11')](respondWithResult(_0x47d718,0xc9))['catch'](handleError(_0x47d718,null));};exports['update']=function(_0x3855fe,_0x196ec3){if(_0x3855fe[_0xaf69('0x2f')]['id']){delete _0x3855fe[_0xaf69('0x2f')]['id'];}return db[_0xaf69('0x19')]['find']({'where':{'id':_0x3855fe[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](handleEntityNotFound(_0x196ec3,null))[_0xaf69('0x11')](saveUpdates(_0x3855fe[_0xaf69('0x2f')],null))[_0xaf69('0x11')](respondWithResult(_0x196ec3,null))[_0xaf69('0x21')](handleError(_0x196ec3,null));};exports[_0xaf69('0x12')]=function(_0x3c5fb0,_0x5c5dfa){return db[_0xaf69('0x19')][_0xaf69('0x2d')]({'where':{'id':_0x3c5fb0[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](handleEntityNotFound(_0x5c5dfa,null))[_0xaf69('0x11')](removeEntity(_0x5c5dfa,null))[_0xaf69('0x21')](handleError(_0x5c5dfa,null));};exports['describe']=function(_0x407514,_0x3f3c0b){return db['WhatsappQueue'][_0xaf69('0x37')]()['then'](respondWithResult(_0x3f3c0b,null))[_0xaf69('0x21')](handleError(_0x3f3c0b,null));};exports[_0xaf69('0x38')]=function(_0xb049a2,_0x5df123){var _0x5f3804={'raw':!![],'where':{}},_0x164829={},_0x3fca4e;return db[_0xaf69('0x19')]['findOne']({'where':{'id':_0xb049a2[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](handleEntityNotFound(_0x5df123,null))[_0xaf69('0x11')](function(_0x3df31c){if(_0x3df31c){_0x3fca4e=_0x3df31c['get']({'plain':!![]});_0x164829[_0xaf69('0x24')]=_['keys'](db[_0xaf69('0x39')][_0xaf69('0x1a')]);_0x164829[_0xaf69('0x1e')]=_['keys'](_0xb049a2['query']);_0x164829[_0xaf69('0x26')]=_['intersection'](_0x164829[_0xaf69('0x24')],_0x164829[_0xaf69('0x1e')]);_0x5f3804[_0xaf69('0x28')]=_[_0xaf69('0x27')](_0x164829[_0xaf69('0x24')],qs['fields'](_0xb049a2['query'][_0xaf69('0x29')]));_0x5f3804[_0xaf69('0x28')]=_0x5f3804[_0xaf69('0x28')][_0xaf69('0x2a')]?_0x5f3804[_0xaf69('0x28')]:_0x164829[_0xaf69('0x24')];if(!_0xb049a2[_0xaf69('0x1e')][_0xaf69('0x3a')](_0xaf69('0x3b'))){_0x5f3804[_0xaf69('0xd')]=qs[_0xaf69('0xd')](_0xb049a2[_0xaf69('0x1e')]['limit']);_0x5f3804[_0xaf69('0xb')]=qs['offset'](_0xb049a2[_0xaf69('0x1e')][_0xaf69('0xb')]);}_0x5f3804['order']=qs[_0xaf69('0x3c')](_0xb049a2['query']['sort']);_0x5f3804[_0xaf69('0x3d')]=qs['filters'](_['pick'](_0xb049a2[_0xaf69('0x1e')],_0x164829['filters']));_0x5f3804[_0xaf69('0x3d')][_0xaf69('0x3e')]=_0x3df31c['id'];if(_0xb049a2[_0xaf69('0x1e')][_0xaf69('0x3f')]){_0x5f3804['where']=_[_0xaf69('0x2c')](_0x5f3804[_0xaf69('0x3d')],{'$or':_[_0xaf69('0x40')](_0x5f3804['attributes'],function(_0xd7b574){var _0x11ca27={};_0x11ca27[_0xd7b574]={'$like':'%'+_0xb049a2[_0xaf69('0x1e')][_0xaf69('0x3f')]+'%'};return _0x11ca27;})});}_0x5f3804=_['merge']({},_0x5f3804,_0xb049a2[_0xaf69('0x41')]);return db['UserWhatsappQueue'][_0xaf69('0x1f')](_0x5f3804);}})[_0xaf69('0x11')](function(_0x5ac5eb){if(_0x5ac5eb){return db['User'][_0xaf69('0x42')]({'where':{'id':_[_0xaf69('0x40')](_0x5ac5eb,_0xaf69('0x43')),'role':_0xaf69('0x44')},'attributes':['id',_0xaf69('0x17'),_0xaf69('0x45'),_0xaf69('0x46'),_0xaf69('0x47')]});}})['then'](function(_0x21e14b){if(_0x21e14b){return{'count':_0x21e14b[_0xaf69('0xe')],'rows':_[_0xaf69('0x40')](_0x21e14b[_0xaf69('0x20')],function(_0x350a85){return{'membername':_0x350a85[_0xaf69('0x17')],'UserId':_0x350a85['id'],'queue_name':_0x3fca4e[_0xaf69('0x17')],'WhatsappQueueId':_0x3fca4e['id'],'interface':util[_0xaf69('0x48')](_0xaf69('0x49'),_0xaf69('0x4a'),_0x350a85[_0xaf69('0x17')]),'penalty':0x0,'paused':_0x350a85['whatsappPause'],'createdAt':_0x350a85[_0xaf69('0x47')],'updatedAt':_0x350a85[_0xaf69('0x46')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xaf69('0x11')](respondWithFilteredResult(_0x5df123,_0x5f3804))['catch'](handleError(_0x5df123,null));};exports[_0xaf69('0x4b')]=function(_0x2fd3a6,_0x335779){var _0x4547cd={};var _0x1fc9eb={};var _0x5b22c0;var _0x26de3f;return db[_0xaf69('0x19')][_0xaf69('0x4c')]({'where':{'id':_0x2fd3a6[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](handleEntityNotFound(_0x335779,null))[_0xaf69('0x11')](function(_0x5882b2){if(_0x5882b2){_0x5b22c0=_0x5882b2;_0x1fc9eb['model']=_[_0xaf69('0x25')](db['Team']['rawAttributes']);_0x1fc9eb['query']=_[_0xaf69('0x25')](_0x2fd3a6[_0xaf69('0x1e')]);_0x1fc9eb[_0xaf69('0x26')]=_[_0xaf69('0x27')](_0x1fc9eb[_0xaf69('0x24')],_0x1fc9eb[_0xaf69('0x1e')]);_0x4547cd['attributes']=_[_0xaf69('0x27')](_0x1fc9eb[_0xaf69('0x24')],qs[_0xaf69('0x29')](_0x2fd3a6[_0xaf69('0x1e')][_0xaf69('0x29')]));_0x4547cd['attributes']=_0x4547cd[_0xaf69('0x28')]['length']?_0x4547cd['attributes']:_0x1fc9eb['model'];_0x4547cd[_0xaf69('0x4d')]=qs[_0xaf69('0x3c')](_0x2fd3a6[_0xaf69('0x1e')]['sort']);_0x4547cd[_0xaf69('0x3d')]=qs[_0xaf69('0x26')](_[_0xaf69('0x4e')](_0x2fd3a6[_0xaf69('0x1e')],_0x1fc9eb[_0xaf69('0x26')]));if(_0x2fd3a6['query'][_0xaf69('0x3f')]){_0x4547cd[_0xaf69('0x3d')]=_[_0xaf69('0x2c')](_0x4547cd[_0xaf69('0x3d')],{'$or':_[_0xaf69('0x40')](_0x4547cd[_0xaf69('0x28')],function(_0x1c14d1){var _0x277074={};_0x277074[_0x1c14d1]={'$like':'%'+_0x2fd3a6[_0xaf69('0x1e')][_0xaf69('0x3f')]+'%'};return _0x277074;})});}_0x4547cd=_['merge']({},_0x4547cd,_0x2fd3a6['options']);return _0x5b22c0['getTeams'](_0x4547cd);}})[_0xaf69('0x11')](function(_0x3c7e86){if(_0x3c7e86){_0x26de3f=_0x3c7e86[_0xaf69('0x2a')];if(!_0x2fd3a6['query'][_0xaf69('0x3a')](_0xaf69('0x3b'))){_0x4547cd[_0xaf69('0xd')]=qs[_0xaf69('0xd')](_0x2fd3a6[_0xaf69('0x1e')][_0xaf69('0xd')]);_0x4547cd['offset']=qs[_0xaf69('0xb')](_0x2fd3a6[_0xaf69('0x1e')][_0xaf69('0xb')]);}return _0x5b22c0[_0xaf69('0x4b')](_0x4547cd);}})[_0xaf69('0x11')](function(_0x15f9a5){if(_0x15f9a5){return _0x15f9a5?{'count':_0x26de3f,'rows':_0x15f9a5}:null;}})[_0xaf69('0x11')](respondWithResult(_0x335779,null))[_0xaf69('0x21')](handleError(_0x335779,null));};exports[_0xaf69('0x4f')]=function(_0x12e57c,_0x34951c){var _0x5ccc6a=_0x12e57c[_0xaf69('0x2f')][_0xaf69('0x50')];return db['Team'][_0xaf69('0x1f')]({'where':{'id':_0x5ccc6a},'attributes':['id'],'include':[{'model':db['User'],'as':_0xaf69('0x51'),'attributes':['id',_0xaf69('0x17'),_0xaf69('0x52'),_0xaf69('0x53'),_0xaf69('0x54')],'raw':!![]}]})[_0xaf69('0x11')](function(_0x3ab7e9){if(_0x3ab7e9){var _0x169799=_[_0xaf69('0x55')](_0x3ab7e9,function(_0x16178b){var _0x19a203=_0x16178b['get']({'plain':!![]});return _0x19a203[_0xaf69('0x51')];});return db[_0xaf69('0x19')]['find']({'where':{'id':_0x12e57c[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](function(_0x45d3cb){return db[_0xaf69('0x56')][_0xaf69('0x57')](function(_0x132944){return _0x45d3cb[_0xaf69('0x4f')](_0x5ccc6a,{'transaction':_0x132944})['then'](function(){return BPromise[_0xaf69('0x58')](_0x169799,function(_0x3627c6){return db[_0xaf69('0x39')][_0xaf69('0x59')]({'where':{'UserId':_0x3627c6['id'],'WhatsappQueueId':_0x12e57c[_0xaf69('0x23')]['id']},'transaction':_0x132944});});})[_0xaf69('0x11')](function(){_0x169799[_0xaf69('0x5a')](function(_0x7d51f0){socket[_0xaf69('0x5b')]('userWhatsappQueue:save',{'UserId':_0x7d51f0['id'],'WhatsappQueueId':_0x45d3cb['id']});});});});});}})[_0xaf69('0x11')](respondWithStatusCode(_0x34951c,null))[_0xaf69('0x21')](handleError(_0x34951c,null));};exports['removeTeams']=function(_0x30a165,_0x2c9d7d){return db['Team'][_0xaf69('0x1f')]({'where':{'id':_0x30a165[_0xaf69('0x1e')][_0xaf69('0x50')]},'attributes':['id'],'include':[{'model':db[_0xaf69('0x5c')],'as':_0xaf69('0x51'),'attributes':['id'],'raw':!![]}]})[_0xaf69('0x11')](handleEntityNotFound(_0x2c9d7d,null))[_0xaf69('0x11')](function(_0x42db9a){var _0x26fd37=_['map'](_0x42db9a,'id');var _0x21fe7f=[];var _0x55f998=[];var _0x5eecfc=squel[_0xaf69('0x5d')]();_0x5eecfc['field'](_0xaf69('0x5e'))['from'](_0xaf69('0x5f'),'tq')['join'](_0xaf69('0x60'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xaf69('0x3d')](_0xaf69('0x61'),_0x30a165[_0xaf69('0x23')]['id']);for(var _0x4ebf8d=0x0;_0x4ebf8d<_0x42db9a[_0xaf69('0x2a')];_0x4ebf8d+=0x1){let _0x4d3217=_0x42db9a[_0x4ebf8d];for(var _0x53cdd3=0x0;_0x53cdd3<_0x4d3217[_0xaf69('0x51')][_0xaf69('0x2a')];_0x53cdd3+=0x1){let _0x300b38=_0x4d3217['Agents'][_0x53cdd3];var _0xa1045a=_0x5eecfc[_0xaf69('0x62')]();_0xa1045a['where'](_0xaf69('0x63'),_0x300b38['id']);_0x55f998['push'](db[_0xaf69('0x56')][_0xaf69('0x1e')](_0xa1045a['toString'](),{'type':db[_0xaf69('0x56')][_0xaf69('0x64')][_0xaf69('0x65')]})[_0xaf69('0x11')](function(_0x5d434b){if(_0x5d434b[_0xaf69('0x2a')]===0x1){return _0x300b38['id'];}else{var _0x3bd0b6=_[_0xaf69('0x66')](_['map'](_0x5d434b,_0xaf69('0x67')),function(_0x367505){return _[_0xaf69('0x68')](_0x26fd37,_0x367505);});if(_0x3bd0b6){return _0x300b38['id'];}}}));}}return BPromise[_0xaf69('0x69')](_0x55f998)[_0xaf69('0x11')](function(_0x569508){_0x21fe7f=_(_0x21fe7f)[_0xaf69('0x6a')](_0x569508)[_0xaf69('0x6b')]()[_0xaf69('0x6c')]();return db[_0xaf69('0x19')][_0xaf69('0x2d')]({'where':{'id':_0x30a165['params']['id']}})['then'](function(_0x4b6305){return db[_0xaf69('0x56')]['transaction'](function(_0x57fad8){return _0x4b6305[_0xaf69('0x6d')](_0x30a165[_0xaf69('0x1e')]['ids'],{'transaction':_0x57fad8})['then'](function(){if(!_[_0xaf69('0x6e')](_0x21fe7f)){return _0x4b6305[_0xaf69('0x6f')](_0x21fe7f,{'transaction':_0x57fad8});}})[_0xaf69('0x11')](function(){_0x21fe7f['forEach'](function(_0x1ea873){socket[_0xaf69('0x5b')]('userWhatsappQueue:remove',{'UserId':_0x1ea873,'WhatsappQueueId':_0x4b6305['id']});});});});});});})[_0xaf69('0x11')](respondWithStatusCode(_0x2c9d7d,null))[_0xaf69('0x21')](handleError(_0x2c9d7d,null));};exports[_0xaf69('0x70')]=function(_0x383a4e,_0xc0befc){return db['WhatsappQueue'][_0xaf69('0x2d')]({'where':{'id':_0x383a4e[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](handleEntityNotFound(_0xc0befc,null))['then'](function(_0xa42fac){if(_0xa42fac){return _0xa42fac[_0xaf69('0x70')](_0x383a4e[_0xaf69('0x2f')][_0xaf69('0x50')],_[_0xaf69('0x71')](_0x383a4e[_0xaf69('0x2f')],[_0xaf69('0x50'),'id'])||{})[_0xaf69('0x72')](function(_0x10f178){for(var _0x55197b=0x0;_0x55197b<_0x383a4e['body']['ids'][_0xaf69('0x2a')];_0x55197b+=0x1){socket[_0xaf69('0x5b')](_0xaf69('0x73'),{'UserId':Number(_0x383a4e[_0xaf69('0x2f')][_0xaf69('0x50')][_0x55197b]),'WhatsappQueueId':Number(_0x383a4e['params']['id'])});}return _0x10f178;});}})['then'](respondWithResult(_0xc0befc,null))[_0xaf69('0x21')](handleError(_0xc0befc,null));};exports[_0xaf69('0x6f')]=function(_0x13afa0,_0x6a0ed7){return db[_0xaf69('0x19')][_0xaf69('0x2d')]({'where':{'id':_0x13afa0[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](handleEntityNotFound(_0x6a0ed7,null))['then'](function(_0x1af862){if(_0x1af862){return _0x1af862[_0xaf69('0x6f')](_0x13afa0[_0xaf69('0x1e')][_0xaf69('0x50')])[_0xaf69('0x11')](function(){if(_[_0xaf69('0x74')](_0x13afa0['query'][_0xaf69('0x50')])){for(var _0x2d039a=0x0;_0x2d039a<_0x13afa0[_0xaf69('0x1e')]['ids'][_0xaf69('0x2a')];_0x2d039a+=0x1){socket[_0xaf69('0x5b')](_0xaf69('0x75'),{'UserId':Number(_0x13afa0[_0xaf69('0x1e')][_0xaf69('0x50')][_0x2d039a]),'WhatsappQueueId':Number(_0x13afa0[_0xaf69('0x23')]['id'])});}}else{socket['emit']('userWhatsappQueue:remove',{'UserId':Number(_0x13afa0[_0xaf69('0x1e')]['ids']),'WhatsappQueueId':Number(_0x13afa0['params']['id'])});}});}})['then'](respondWithStatusCode(_0x6a0ed7,null))[_0xaf69('0x21')](handleError(_0x6a0ed7,null));};exports[_0xaf69('0x76')]=function(_0x489cf3,_0x370b42){var _0x560b14={};var _0x2a0eee={};var _0x302a6b;var _0x298fb0;return db[_0xaf69('0x19')][_0xaf69('0x4c')]({'where':{'id':_0x489cf3[_0xaf69('0x23')]['id']}})[_0xaf69('0x11')](handleEntityNotFound(_0x370b42,null))[_0xaf69('0x11')](function(_0x257b76){if(_0x257b76){_0x302a6b=_0x257b76;_0x2a0eee[_0xaf69('0x24')]=_['keys'](db['User'][_0xaf69('0x1a')]);_0x2a0eee[_0xaf69('0x1e')]=_[_0xaf69('0x25')](_0x489cf3['query']);_0x2a0eee[_0xaf69('0x26')]=_['intersection'](_0x2a0eee[_0xaf69('0x24')],_0x2a0eee[_0xaf69('0x1e')]);_0x560b14[_0xaf69('0x28')]=_[_0xaf69('0x27')](_0x2a0eee[_0xaf69('0x24')],qs[_0xaf69('0x29')](_0x489cf3[_0xaf69('0x1e')][_0xaf69('0x29')]));_0x560b14[_0xaf69('0x28')]=_0x560b14[_0xaf69('0x28')][_0xaf69('0x2a')]?_0x560b14[_0xaf69('0x28')]:_0x2a0eee[_0xaf69('0x24')];_0x560b14[_0xaf69('0x4d')]=qs[_0xaf69('0x3c')](_0x489cf3['query']['sort']);_0x560b14[_0xaf69('0x3d')]=qs[_0xaf69('0x26')](_['pick'](_0x489cf3[_0xaf69('0x1e')],_0x2a0eee[_0xaf69('0x26')]));if(_0x489cf3['query'][_0xaf69('0x3f')]){_0x560b14[_0xaf69('0x3d')]=_['merge'](_0x560b14[_0xaf69('0x3d')],{'$or':_[_0xaf69('0x40')](_0x560b14[_0xaf69('0x28')],function(_0x44f4bb){var _0x1f2c24={};_0x1f2c24[_0x44f4bb]={'$like':'%'+_0x489cf3[_0xaf69('0x1e')][_0xaf69('0x3f')]+'%'};return _0x1f2c24;})});}_0x560b14=_[_0xaf69('0x2c')]({},_0x560b14,_0x489cf3[_0xaf69('0x41')]);return _0x302a6b['getAgents'](_0x560b14);}})[_0xaf69('0x11')](function(_0x2e15cb){if(_0x2e15cb){_0x298fb0=_0x2e15cb[_0xaf69('0x2a')];if(!_0x489cf3[_0xaf69('0x1e')][_0xaf69('0x3a')](_0xaf69('0x3b'))){_0x560b14[_0xaf69('0xd')]=qs['limit'](_0x489cf3[_0xaf69('0x1e')][_0xaf69('0xd')]);_0x560b14[_0xaf69('0xb')]=qs['offset'](_0x489cf3[_0xaf69('0x1e')][_0xaf69('0xb')]);}return _0x302a6b[_0xaf69('0x76')](_0x560b14);}})[_0xaf69('0x11')](function(_0x4f87ee){if(_0x4f87ee){return _0x4f87ee?{'count':_0x298fb0,'rows':_0x4f87ee}:null;}})[_0xaf69('0x11')](respondWithResult(_0x370b42,null))[_0xaf69('0x21')](handleError(_0x370b42,null));};