4c211cb96a459bdc4b44d3215bfc9758b7dee63b
[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 _0x993a=['limit','count','offset','reject','save','update','then','get','UserProfileResource','destroy','sendStatus','error','stack','name','send','WhatsappQueue','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','merge','filter','include','rows','catch','show','params','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','WhatsappQueues','UserProfileSection','userProfileId','autoAssociation','describe','getMembers','UserWhatsappQueue','hasOwnProperty','findAll','User','findAndCountAll','UserId','agent','whatsappPause','updatedAt','createdAt','format','SIP','getTeams','findOne','Team','addTeams','ids','online','voicePause','interface','flatMap','Agents','sequelize','transaction','each','findOrCreate','forEach','emit','userWhatsappQueue:save','removeTeams','select','field','tq.TeamId','team_has_whatsapp_queues','join','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','isEmpty','removeAgents','addAgents','omit','spread','userWhatsappQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','register','status','end','json'];(function(_0x3a9841,_0x3ef0a2){var _0x3bc2b9=function(_0x227ce3){while(--_0x227ce3){_0x3a9841['push'](_0x3a9841['shift']());}};_0x3bc2b9(++_0x3ef0a2);}(_0x993a,0x184));var _0xa993=function(_0xb334ec,_0x30d221){_0xb334ec=_0xb334ec-0x0;var _0x6d5ae4=_0x993a[_0xb334ec];return _0x6d5ae4;};'use strict';var emlformat=require(_0xa993('0x0'));var rimraf=require(_0xa993('0x1'));var zipdir=require(_0xa993('0x2'));var jsonpatch=require(_0xa993('0x3'));var rp=require(_0xa993('0x4'));var moment=require('moment');var BPromise=require(_0xa993('0x5'));var Mustache=require(_0xa993('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xa993('0x7'));var ejs=require(_0xa993('0x8'));var fs=require('fs');var fs_extra=require(_0xa993('0x9'));var _=require(_0xa993('0xa'));var squel=require(_0xa993('0xb'));var crypto=require(_0xa993('0xc'));var jsforce=require(_0xa993('0xd'));var deskjs=require(_0xa993('0xe'));var toCsv=require(_0xa993('0x7'));var querystring=require(_0xa993('0xf'));var Papa=require(_0xa993('0x10'));var Redis=require(_0xa993('0x11'));var authService=require(_0xa993('0x12'));var qs=require(_0xa993('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa993('0x14'));var logger=require(_0xa993('0x15'))(_0xa993('0x16'));var utils=require(_0xa993('0x17'));var config=require(_0xa993('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xa993('0x19'))['db'];config[_0xa993('0x1a')]=_[_0xa993('0x1b')](config[_0xa993('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./whatsappQueue.socket')[_0xa993('0x1c')](socket);function respondWithStatusCode(_0x3f459c,_0x2014d8){_0x2014d8=_0x2014d8||0xcc;return function(_0x2de4ff){if(_0x2de4ff){return _0x3f459c['sendStatus'](_0x2014d8);}return _0x3f459c[_0xa993('0x1d')](_0x2014d8)[_0xa993('0x1e')]();};}function respondWithResult(_0x4484ba,_0x4b2a89){_0x4b2a89=_0x4b2a89||0xc8;return function(_0x3f55df){if(_0x3f55df){return _0x4484ba[_0xa993('0x1d')](_0x4b2a89)[_0xa993('0x1f')](_0x3f55df);}};}function respondWithFilteredResult(_0x531a21,_0xfdfd91){return function(_0x115631){if(_0x115631){var _0x49c92f=typeof _0xfdfd91['offset']==='undefined'&&typeof _0xfdfd91[_0xa993('0x20')]==='undefined';var _0x11c391=_0x115631[_0xa993('0x21')];var _0x4b552e=_0x49c92f?0x0:_0xfdfd91[_0xa993('0x22')];var _0x268305=_0x49c92f?_0x115631[_0xa993('0x21')]:_0xfdfd91[_0xa993('0x22')]+_0xfdfd91[_0xa993('0x20')];var _0x3c09ff;if(_0x268305>=_0x11c391){_0x268305=_0x11c391;_0x3c09ff=0xc8;}else{_0x3c09ff=0xce;}_0x531a21['status'](_0x3c09ff);return _0x531a21['set']('Content-Range',_0x4b552e+'-'+_0x268305+'/'+_0x11c391)[_0xa993('0x1f')](_0x115631);}return null;};}function patchUpdates(_0x52bea7){return function(_0x36f692){try{jsonpatch['apply'](_0x36f692,_0x52bea7,!![]);}catch(_0x40f256){return BPromise[_0xa993('0x23')](_0x40f256);}return _0x36f692[_0xa993('0x24')]();};}function saveUpdates(_0x31e3b1,_0x17f35f){return function(_0x319f8f){if(_0x319f8f){return _0x319f8f[_0xa993('0x25')](_0x31e3b1)[_0xa993('0x26')](function(_0x389b1a){return _0x389b1a;});}return null;};}function removeEntity(_0x407598,_0x35c520){return function(_0x4f0089){if(_0x4f0089){return _0x4f0089['destroy']()[_0xa993('0x26')](function(){var _0x3e509c=_0x4f0089[_0xa993('0x27')]({'plain':!![]});var _0x5b7207='WhatsappQueues';return db[_0xa993('0x28')][_0xa993('0x29')]({'where':{'type':_0x5b7207,'resourceId':_0x3e509c['id']}})[_0xa993('0x26')](function(){return _0x4f0089;});})['then'](function(){_0x407598[_0xa993('0x1d')](0xcc)[_0xa993('0x1e')]();});}};}function handleEntityNotFound(_0x47477e,_0x2f687f){return function(_0x5af2be){if(!_0x5af2be){_0x47477e[_0xa993('0x2a')](0x194);}return _0x5af2be;};}function handleError(_0x5a8ca1,_0x510018){_0x510018=_0x510018||0x1f4;return function(_0x3c9678){logger[_0xa993('0x2b')](_0x3c9678[_0xa993('0x2c')]);if(_0x3c9678[_0xa993('0x2d')]){delete _0x3c9678[_0xa993('0x2d')];}_0x5a8ca1['status'](_0x510018)[_0xa993('0x2e')](_0x3c9678);};}exports['index']=function(_0xec0ebe,_0x5280a2){var _0x5b717d={},_0x403b25={},_0x20701b={'count':0x0,'rows':[]};var _0x5d8396=_['map'](db[_0xa993('0x2f')][_0xa993('0x30')],function(_0x5dd832){return{'name':_0x5dd832[_0xa993('0x31')],'type':_0x5dd832[_0xa993('0x32')]['key']};});_0x403b25[_0xa993('0x33')]=_[_0xa993('0x34')](_0x5d8396,_0xa993('0x2d'));_0x403b25[_0xa993('0x35')]=_[_0xa993('0x36')](_0xec0ebe['query']);_0x403b25[_0xa993('0x37')]=_[_0xa993('0x38')](_0x403b25[_0xa993('0x33')],_0x403b25[_0xa993('0x35')]);_0x5b717d[_0xa993('0x39')]=_[_0xa993('0x38')](_0x403b25[_0xa993('0x33')],qs[_0xa993('0x3a')](_0xec0ebe[_0xa993('0x35')]['fields']));_0x5b717d[_0xa993('0x39')]=_0x5b717d[_0xa993('0x39')][_0xa993('0x3b')]?_0x5b717d[_0xa993('0x39')]:_0x403b25[_0xa993('0x33')];if(!_0xec0ebe[_0xa993('0x35')]['hasOwnProperty'](_0xa993('0x3c'))){_0x5b717d[_0xa993('0x20')]=qs['limit'](_0xec0ebe['query'][_0xa993('0x20')]);_0x5b717d[_0xa993('0x22')]=qs[_0xa993('0x22')](_0xec0ebe[_0xa993('0x35')][_0xa993('0x22')]);}_0x5b717d[_0xa993('0x3d')]=qs[_0xa993('0x3e')](_0xec0ebe[_0xa993('0x35')][_0xa993('0x3e')]);_0x5b717d[_0xa993('0x3f')]=qs[_0xa993('0x37')](_[_0xa993('0x40')](_0xec0ebe[_0xa993('0x35')],_0x403b25[_0xa993('0x37')]),_0x5d8396);if(_0xec0ebe[_0xa993('0x35')]['filter']){_0x5b717d['where']=_[_0xa993('0x41')](_0x5b717d[_0xa993('0x3f')],{'$or':_[_0xa993('0x34')](_0x5d8396,function(_0x27ffeb){if(_0x27ffeb[_0xa993('0x32')]!=='VIRTUAL'){var _0x44a6e4={};_0x44a6e4[_0x27ffeb[_0xa993('0x2d')]]={'$like':'%'+_0xec0ebe[_0xa993('0x35')][_0xa993('0x42')]+'%'};return _0x44a6e4;}})});}_0x5b717d=_[_0xa993('0x41')]({},_0x5b717d,_0xec0ebe['options']);var _0x236f1d={'where':_0x5b717d['where']};return db[_0xa993('0x2f')][_0xa993('0x21')](_0x236f1d)['then'](function(_0x107da4){_0x20701b[_0xa993('0x21')]=_0x107da4;if(_0xec0ebe[_0xa993('0x35')]['includeAll']){_0x5b717d[_0xa993('0x43')]=[{'all':!![]}];}return db[_0xa993('0x2f')]['findAll'](_0x5b717d);})[_0xa993('0x26')](function(_0x5e8e11){_0x20701b[_0xa993('0x44')]=_0x5e8e11;return _0x20701b;})[_0xa993('0x26')](respondWithFilteredResult(_0x5280a2,_0x5b717d))[_0xa993('0x45')](handleError(_0x5280a2,null));};exports[_0xa993('0x46')]=function(_0x4c374d,_0x400ccc){var _0x56faed={'raw':!![],'where':{'id':_0x4c374d[_0xa993('0x47')]['id']}},_0x230767={};_0x230767[_0xa993('0x33')]=_['keys'](db['WhatsappQueue'][_0xa993('0x30')]);_0x230767[_0xa993('0x35')]=_['keys'](_0x4c374d[_0xa993('0x35')]);_0x230767['filters']=_[_0xa993('0x38')](_0x230767[_0xa993('0x33')],_0x230767[_0xa993('0x35')]);_0x56faed['attributes']=_['intersection'](_0x230767[_0xa993('0x33')],qs['fields'](_0x4c374d['query'][_0xa993('0x3a')]));_0x56faed[_0xa993('0x39')]=_0x56faed['attributes'][_0xa993('0x3b')]?_0x56faed[_0xa993('0x39')]:_0x230767['model'];if(_0x4c374d[_0xa993('0x35')]['includeAll']){_0x56faed[_0xa993('0x43')]=[{'all':!![]}];}_0x56faed=_['merge']({},_0x56faed,_0x4c374d[_0xa993('0x48')]);return db[_0xa993('0x2f')][_0xa993('0x49')](_0x56faed)[_0xa993('0x26')](handleEntityNotFound(_0x400ccc,null))['then'](respondWithResult(_0x400ccc,null))[_0xa993('0x45')](handleError(_0x400ccc,null));};exports[_0xa993('0x4a')]=function(_0x9d445,_0x55d848){return db[_0xa993('0x2f')]['create'](_0x9d445[_0xa993('0x4b')],{})[_0xa993('0x26')](function(_0x498c70){var _0x391cfd=_0x9d445[_0xa993('0x4c')][_0xa993('0x27')]({'plain':!![]});if(!_0x391cfd)throw new Error(_0xa993('0x4d'));if(_0x391cfd['role']==='user'){var _0x342893=_0x498c70[_0xa993('0x27')]({'plain':!![]});var _0x25765c=_0xa993('0x4e');return db[_0xa993('0x4f')][_0xa993('0x49')]({'where':{'name':_0x25765c,'userProfileId':_0x391cfd[_0xa993('0x50')]},'raw':!![]})[_0xa993('0x26')](function(_0x49d9dc){if(_0x49d9dc&&_0x49d9dc[_0xa993('0x51')]===0x0){return db['UserProfileResource'][_0xa993('0x4a')]({'name':_0x342893[_0xa993('0x2d')],'resourceId':_0x342893['id'],'type':_0x49d9dc[_0xa993('0x2d')],'sectionId':_0x49d9dc['id']},{})[_0xa993('0x26')](function(){return _0x498c70;});}else{return _0x498c70;}})[_0xa993('0x45')](function(_0x5ead77){logger[_0xa993('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5ead77);throw _0x5ead77;});}return _0x498c70;})['then'](respondWithResult(_0x55d848,0xc9))['catch'](handleError(_0x55d848,null));};exports['update']=function(_0x35a92a,_0x5d7636){if(_0x35a92a['body']['id']){delete _0x35a92a[_0xa993('0x4b')]['id'];}return db['WhatsappQueue'][_0xa993('0x49')]({'where':{'id':_0x35a92a[_0xa993('0x47')]['id']}})['then'](handleEntityNotFound(_0x5d7636,null))['then'](saveUpdates(_0x35a92a[_0xa993('0x4b')],null))[_0xa993('0x26')](respondWithResult(_0x5d7636,null))[_0xa993('0x45')](handleError(_0x5d7636,null));};exports['destroy']=function(_0x59ec18,_0x6c7414){return db['WhatsappQueue'][_0xa993('0x49')]({'where':{'id':_0x59ec18[_0xa993('0x47')]['id']}})['then'](handleEntityNotFound(_0x6c7414,null))[_0xa993('0x26')](removeEntity(_0x6c7414,null))[_0xa993('0x45')](handleError(_0x6c7414,null));};exports[_0xa993('0x52')]=function(_0x1e48f2,_0x188e4d){return db['WhatsappQueue'][_0xa993('0x52')]()[_0xa993('0x26')](respondWithResult(_0x188e4d,null))[_0xa993('0x45')](handleError(_0x188e4d,null));};exports[_0xa993('0x53')]=function(_0x1e101a,_0x4c8fa6,_0x1e0203){var _0x5b00d9={'raw':!![],'where':{}},_0x5a31ef={},_0x4e165e;return db[_0xa993('0x2f')]['findOne']({'where':{'id':_0x1e101a[_0xa993('0x47')]['id']}})[_0xa993('0x26')](handleEntityNotFound(_0x4c8fa6,null))[_0xa993('0x26')](function(_0x3aa560){if(_0x3aa560){_0x4e165e=_0x3aa560['get']({'plain':!![]});_0x5a31ef[_0xa993('0x33')]=_[_0xa993('0x36')](db[_0xa993('0x54')][_0xa993('0x30')]);_0x5a31ef['query']=_[_0xa993('0x36')](_0x1e101a['query']);_0x5a31ef[_0xa993('0x37')]=_[_0xa993('0x38')](_0x5a31ef['model'],_0x5a31ef[_0xa993('0x35')]);_0x5b00d9[_0xa993('0x39')]=_[_0xa993('0x38')](_0x5a31ef['model'],qs[_0xa993('0x3a')](_0x1e101a[_0xa993('0x35')][_0xa993('0x3a')]));_0x5b00d9[_0xa993('0x39')]=_0x5b00d9[_0xa993('0x39')][_0xa993('0x3b')]?_0x5b00d9[_0xa993('0x39')]:_0x5a31ef[_0xa993('0x33')];if(!_0x1e101a[_0xa993('0x35')][_0xa993('0x55')](_0xa993('0x3c'))){_0x5b00d9[_0xa993('0x20')]=qs[_0xa993('0x20')](_0x1e101a[_0xa993('0x35')][_0xa993('0x20')]);_0x5b00d9[_0xa993('0x22')]=qs['offset'](_0x1e101a[_0xa993('0x35')]['offset']);}_0x5b00d9[_0xa993('0x3d')]=qs[_0xa993('0x3e')](_0x1e101a[_0xa993('0x35')][_0xa993('0x3e')]);_0x5b00d9[_0xa993('0x3f')]=qs[_0xa993('0x37')](_['pick'](_0x1e101a[_0xa993('0x35')],_0x5a31ef[_0xa993('0x37')]));_0x5b00d9['where']['WhatsappQueueId']=_0x3aa560['id'];if(_0x1e101a[_0xa993('0x35')][_0xa993('0x42')]){_0x5b00d9[_0xa993('0x3f')]=_['merge'](_0x5b00d9[_0xa993('0x3f')],{'$or':_[_0xa993('0x34')](_0x5b00d9[_0xa993('0x39')],function(_0x3d7e7d){var _0x133032={};_0x133032[_0x3d7e7d]={'$like':'%'+_0x1e101a[_0xa993('0x35')][_0xa993('0x42')]+'%'};return _0x133032;})});}_0x5b00d9=_['merge']({},_0x5b00d9,_0x1e101a[_0xa993('0x48')]);return db['UserWhatsappQueue'][_0xa993('0x56')](_0x5b00d9);}})[_0xa993('0x26')](function(_0x466687){if(_0x466687){return db[_0xa993('0x57')][_0xa993('0x58')]({'where':{'id':_[_0xa993('0x34')](_0x466687,_0xa993('0x59')),'role':_0xa993('0x5a')},'attributes':['id','name',_0xa993('0x5b'),_0xa993('0x5c'),_0xa993('0x5d')]});}})[_0xa993('0x26')](function(_0x227781){if(_0x227781){return{'count':_0x227781[_0xa993('0x21')],'rows':_[_0xa993('0x34')](_0x227781['rows'],function(_0x431a60){return{'membername':_0x431a60[_0xa993('0x2d')],'UserId':_0x431a60['id'],'queue_name':_0x4e165e['name'],'WhatsappQueueId':_0x4e165e['id'],'interface':util[_0xa993('0x5e')]('%s/%s',_0xa993('0x5f'),_0x431a60[_0xa993('0x2d')]),'penalty':0x0,'paused':_0x431a60[_0xa993('0x5b')],'createdAt':_0x431a60['createdAt'],'updatedAt':_0x431a60[_0xa993('0x5c')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xa993('0x26')](respondWithFilteredResult(_0x4c8fa6,_0x5b00d9))[_0xa993('0x45')](handleError(_0x4c8fa6,null));};exports[_0xa993('0x60')]=function(_0x3023ba,_0x988fa0,_0x159ec0){var _0x10c903={};var _0x4617f1={};var _0x1a443e;var _0x47aa05;return db[_0xa993('0x2f')][_0xa993('0x61')]({'where':{'id':_0x3023ba['params']['id']}})[_0xa993('0x26')](handleEntityNotFound(_0x988fa0,null))[_0xa993('0x26')](function(_0x4e6145){if(_0x4e6145){_0x1a443e=_0x4e6145;_0x4617f1[_0xa993('0x33')]=_[_0xa993('0x36')](db[_0xa993('0x62')]['rawAttributes']);_0x4617f1[_0xa993('0x35')]=_[_0xa993('0x36')](_0x3023ba[_0xa993('0x35')]);_0x4617f1[_0xa993('0x37')]=_['intersection'](_0x4617f1['model'],_0x4617f1['query']);_0x10c903[_0xa993('0x39')]=_[_0xa993('0x38')](_0x4617f1[_0xa993('0x33')],qs[_0xa993('0x3a')](_0x3023ba[_0xa993('0x35')][_0xa993('0x3a')]));_0x10c903[_0xa993('0x39')]=_0x10c903['attributes'][_0xa993('0x3b')]?_0x10c903[_0xa993('0x39')]:_0x4617f1[_0xa993('0x33')];_0x10c903[_0xa993('0x3d')]=qs[_0xa993('0x3e')](_0x3023ba[_0xa993('0x35')][_0xa993('0x3e')]);_0x10c903[_0xa993('0x3f')]=qs[_0xa993('0x37')](_[_0xa993('0x40')](_0x3023ba['query'],_0x4617f1[_0xa993('0x37')]));if(_0x3023ba[_0xa993('0x35')]['filter']){_0x10c903[_0xa993('0x3f')]=_['merge'](_0x10c903['where'],{'$or':_[_0xa993('0x34')](_0x10c903[_0xa993('0x39')],function(_0x209bd0){var _0x4c6d92={};_0x4c6d92[_0x209bd0]={'$like':'%'+_0x3023ba[_0xa993('0x35')][_0xa993('0x42')]+'%'};return _0x4c6d92;})});}_0x10c903=_['merge']({},_0x10c903,_0x3023ba[_0xa993('0x48')]);return _0x1a443e[_0xa993('0x60')](_0x10c903);}})[_0xa993('0x26')](function(_0x3fc652){if(_0x3fc652){_0x47aa05=_0x3fc652[_0xa993('0x3b')];if(!_0x3023ba['query'][_0xa993('0x55')](_0xa993('0x3c'))){_0x10c903[_0xa993('0x20')]=qs['limit'](_0x3023ba[_0xa993('0x35')][_0xa993('0x20')]);_0x10c903[_0xa993('0x22')]=qs['offset'](_0x3023ba[_0xa993('0x35')]['offset']);}return _0x1a443e['getTeams'](_0x10c903);}})[_0xa993('0x26')](function(_0x200046){if(_0x200046){return _0x200046?{'count':_0x47aa05,'rows':_0x200046}:null;}})[_0xa993('0x26')](respondWithResult(_0x988fa0,null))[_0xa993('0x45')](handleError(_0x988fa0,null));};exports[_0xa993('0x63')]=function(_0x8bb7ef,_0x1ee12f,_0x5a6022){var _0x2268a4=_0x8bb7ef['body'][_0xa993('0x64')];return db['Team'][_0xa993('0x56')]({'where':{'id':_0x2268a4},'attributes':['id'],'include':[{'model':db[_0xa993('0x57')],'as':'Agents','attributes':['id',_0xa993('0x2d'),_0xa993('0x65'),_0xa993('0x66'),_0xa993('0x67')],'raw':!![]}]})[_0xa993('0x26')](function(_0x55fcf5){if(_0x55fcf5){var _0x56b252=_[_0xa993('0x68')](_0x55fcf5,function(_0x1a7e47){var _0x14f1a0=_0x1a7e47['get']({'plain':!![]});return _0x14f1a0[_0xa993('0x69')];});return db[_0xa993('0x2f')][_0xa993('0x49')]({'where':{'id':_0x8bb7ef['params']['id']}})['then'](function(_0x5510fc){return db[_0xa993('0x6a')][_0xa993('0x6b')](function(_0x4d4123){return _0x5510fc[_0xa993('0x63')](_0x2268a4,{'transaction':_0x4d4123})[_0xa993('0x26')](function(){return BPromise[_0xa993('0x6c')](_0x56b252,function(_0x4f1140){return db[_0xa993('0x54')][_0xa993('0x6d')]({'where':{'UserId':_0x4f1140['id'],'WhatsappQueueId':_0x8bb7ef[_0xa993('0x47')]['id']},'transaction':_0x4d4123});});})['then'](function(){_0x56b252[_0xa993('0x6e')](function(_0x2186fe){socket[_0xa993('0x6f')](_0xa993('0x70'),{'UserId':_0x2186fe['id'],'WhatsappQueueId':_0x5510fc['id']});});});});});}})[_0xa993('0x26')](respondWithStatusCode(_0x1ee12f,null))['catch'](handleError(_0x1ee12f,null));};exports[_0xa993('0x71')]=function(_0x3c39a0,_0x2f0a1e,_0x5714e7){return db[_0xa993('0x62')][_0xa993('0x56')]({'where':{'id':_0x3c39a0[_0xa993('0x35')][_0xa993('0x64')]},'attributes':['id'],'include':[{'model':db[_0xa993('0x57')],'as':_0xa993('0x69'),'attributes':['id'],'raw':!![]}]})[_0xa993('0x26')](handleEntityNotFound(_0x2f0a1e,null))[_0xa993('0x26')](function(_0x5e9293){var _0x2fff31=_['map'](_0x5e9293,'id');var _0x576ad3=[];var _0x57f250=[];var _0x5c4578=squel[_0xa993('0x72')]();_0x5c4578[_0xa993('0x73')](_0xa993('0x74'))['from'](_0xa993('0x75'),'tq')[_0xa993('0x76')]('user_has_teams','ut',_0xa993('0x77'))['where'](_0xa993('0x78'),_0x3c39a0[_0xa993('0x47')]['id']);for(var _0x32a1e6=0x0;_0x32a1e6<_0x5e9293['length'];_0x32a1e6+=0x1){let _0x249ecd=_0x5e9293[_0x32a1e6];for(var _0x32392d=0x0;_0x32392d<_0x249ecd[_0xa993('0x69')][_0xa993('0x3b')];_0x32392d+=0x1){let _0x55ea81=_0x249ecd[_0xa993('0x69')][_0x32392d];var _0x346694=_0x5c4578[_0xa993('0x79')]();_0x346694[_0xa993('0x3f')]('ut.UserId\x20=\x20?',_0x55ea81['id']);_0x57f250[_0xa993('0x7a')](db[_0xa993('0x6a')][_0xa993('0x35')](_0x346694[_0xa993('0x7b')](),{'type':db[_0xa993('0x6a')][_0xa993('0x7c')][_0xa993('0x7d')]})[_0xa993('0x26')](function(_0x17cb15){if(_0x17cb15['length']===0x1){return _0x55ea81['id'];}else{var _0x224eff=_[_0xa993('0x7e')](_[_0xa993('0x34')](_0x17cb15,_0xa993('0x7f')),function(_0x153e8c){return _[_0xa993('0x80')](_0x2fff31,_0x153e8c);});if(_0x224eff){return _0x55ea81['id'];}}}));}}return BPromise[_0xa993('0x81')](_0x57f250)['then'](function(_0x1f2e41){_0x576ad3=_(_0x576ad3)[_0xa993('0x82')](_0x1f2e41)[_0xa993('0x83')]()[_0xa993('0x84')]();return db[_0xa993('0x2f')][_0xa993('0x49')]({'where':{'id':_0x3c39a0[_0xa993('0x47')]['id']}})[_0xa993('0x26')](function(_0x3d9ce0){return db[_0xa993('0x6a')][_0xa993('0x6b')](function(_0x471ffd){return _0x3d9ce0['removeTeams'](_0x3c39a0[_0xa993('0x35')][_0xa993('0x64')],{'transaction':_0x471ffd})['then'](function(){if(!_[_0xa993('0x85')](_0x576ad3)){return _0x3d9ce0[_0xa993('0x86')](_0x576ad3,{'transaction':_0x471ffd});}})[_0xa993('0x26')](function(){_0x576ad3['forEach'](function(_0x426343){socket[_0xa993('0x6f')]('userWhatsappQueue:remove',{'UserId':_0x426343,'WhatsappQueueId':_0x3d9ce0['id']});});});});});});})[_0xa993('0x26')](respondWithStatusCode(_0x2f0a1e,null))[_0xa993('0x45')](handleError(_0x2f0a1e,null));};exports[_0xa993('0x87')]=function(_0x55608a,_0x2adb7e,_0x316b7b){return db['WhatsappQueue']['find']({'where':{'id':_0x55608a[_0xa993('0x47')]['id']}})['then'](handleEntityNotFound(_0x2adb7e,null))[_0xa993('0x26')](function(_0x3e0218){if(_0x3e0218){return _0x3e0218[_0xa993('0x87')](_0x55608a['body']['ids'],_[_0xa993('0x88')](_0x55608a[_0xa993('0x4b')],['ids','id'])||{})[_0xa993('0x89')](function(_0xcf26d5){for(var _0x3cac46=0x0;_0x3cac46<_0x55608a[_0xa993('0x4b')][_0xa993('0x64')][_0xa993('0x3b')];_0x3cac46+=0x1){socket[_0xa993('0x6f')](_0xa993('0x70'),{'UserId':Number(_0x55608a[_0xa993('0x4b')][_0xa993('0x64')][_0x3cac46]),'WhatsappQueueId':Number(_0x55608a[_0xa993('0x47')]['id'])});}return _0xcf26d5;});}})[_0xa993('0x26')](respondWithResult(_0x2adb7e,null))[_0xa993('0x45')](handleError(_0x2adb7e,null));};exports['removeAgents']=function(_0x2546fe,_0x57ec35,_0x56f13c){return db[_0xa993('0x2f')][_0xa993('0x49')]({'where':{'id':_0x2546fe[_0xa993('0x47')]['id']}})[_0xa993('0x26')](handleEntityNotFound(_0x57ec35,null))[_0xa993('0x26')](function(_0x1cc1f4){if(_0x1cc1f4){return _0x1cc1f4[_0xa993('0x86')](_0x2546fe['query'][_0xa993('0x64')])[_0xa993('0x26')](function(){if(_['isArray'](_0x2546fe['query'][_0xa993('0x64')])){for(var _0x5c577c=0x0;_0x5c577c<_0x2546fe[_0xa993('0x35')][_0xa993('0x64')][_0xa993('0x3b')];_0x5c577c+=0x1){socket[_0xa993('0x6f')](_0xa993('0x8a'),{'UserId':Number(_0x2546fe[_0xa993('0x35')][_0xa993('0x64')][_0x5c577c]),'WhatsappQueueId':Number(_0x2546fe[_0xa993('0x47')]['id'])});}}else{socket[_0xa993('0x6f')](_0xa993('0x8a'),{'UserId':Number(_0x2546fe['query'][_0xa993('0x64')]),'WhatsappQueueId':Number(_0x2546fe[_0xa993('0x47')]['id'])});}});}})['then'](respondWithStatusCode(_0x57ec35,null))['catch'](handleError(_0x57ec35,null));};exports[_0xa993('0x8b')]=function(_0x2dead1,_0x3c84b9,_0x5cfead){var _0x399adf={};var _0x525ab2={};var _0x58ca82;var _0x4425ba;return db[_0xa993('0x2f')][_0xa993('0x61')]({'where':{'id':_0x2dead1[_0xa993('0x47')]['id']}})[_0xa993('0x26')](handleEntityNotFound(_0x3c84b9,null))[_0xa993('0x26')](function(_0x5efaaa){if(_0x5efaaa){_0x58ca82=_0x5efaaa;_0x525ab2[_0xa993('0x33')]=_[_0xa993('0x36')](db[_0xa993('0x57')][_0xa993('0x30')]);_0x525ab2[_0xa993('0x35')]=_[_0xa993('0x36')](_0x2dead1[_0xa993('0x35')]);_0x525ab2['filters']=_[_0xa993('0x38')](_0x525ab2[_0xa993('0x33')],_0x525ab2[_0xa993('0x35')]);_0x399adf['attributes']=_[_0xa993('0x38')](_0x525ab2[_0xa993('0x33')],qs[_0xa993('0x3a')](_0x2dead1[_0xa993('0x35')][_0xa993('0x3a')]));_0x399adf[_0xa993('0x39')]=_0x399adf['attributes'][_0xa993('0x3b')]?_0x399adf['attributes']:_0x525ab2[_0xa993('0x33')];_0x399adf['order']=qs[_0xa993('0x3e')](_0x2dead1['query'][_0xa993('0x3e')]);_0x399adf[_0xa993('0x3f')]=qs[_0xa993('0x37')](_[_0xa993('0x40')](_0x2dead1[_0xa993('0x35')],_0x525ab2['filters']));if(_0x2dead1[_0xa993('0x35')][_0xa993('0x42')]){_0x399adf[_0xa993('0x3f')]=_[_0xa993('0x41')](_0x399adf[_0xa993('0x3f')],{'$or':_[_0xa993('0x34')](_0x399adf[_0xa993('0x39')],function(_0x2e7f6f){var _0x342dfd={};_0x342dfd[_0x2e7f6f]={'$like':'%'+_0x2dead1[_0xa993('0x35')]['filter']+'%'};return _0x342dfd;})});}_0x399adf=_[_0xa993('0x41')]({},_0x399adf,_0x2dead1[_0xa993('0x48')]);return _0x58ca82[_0xa993('0x8b')](_0x399adf);}})[_0xa993('0x26')](function(_0x14bfba){if(_0x14bfba){_0x4425ba=_0x14bfba[_0xa993('0x3b')];if(!_0x2dead1[_0xa993('0x35')][_0xa993('0x55')](_0xa993('0x3c'))){_0x399adf[_0xa993('0x20')]=qs['limit'](_0x2dead1['query'][_0xa993('0x20')]);_0x399adf[_0xa993('0x22')]=qs[_0xa993('0x22')](_0x2dead1['query'][_0xa993('0x22')]);}return _0x58ca82[_0xa993('0x8b')](_0x399adf);}})[_0xa993('0x26')](function(_0x262d62){if(_0x262d62){return _0x262d62?{'count':_0x4425ba,'rows':_0x262d62}:null;}})[_0xa993('0x26')](respondWithResult(_0x3c84b9,null))[_0xa993('0x45')](handleError(_0x3c84b9,null));};