Built motion from commit 0900f080.|2.5.45
[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 _0x6038=['WhatsappQueue','key','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','includeAll','include','findAll','catch','show','params','keys','rawAttributes','length','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','describe','getMembers','WhatsappQueueId','map','options','UserWhatsappQueue','User','UserId','agent','updatedAt','createdAt','format','%s/%s','SIP','whatsappPause','getTeams','findOne','addTeams','online','interface','flatMap','Agents','transaction','each','findOrCreate','forEach','emit','userWhatsappQueue:save','Team','ids','select','field','tq.TeamId','from','team_has_whatsapp_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','push','sequelize','toString','every','TeamId','union','compact','value','removeTeams','addAgents','omit','spread','removeAgents','isArray','userWhatsappQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappQueue.socket','register','status','end','json','undefined','limit','count','offset','set','reject','save','update','get','WhatsappQueues','UserProfileResource','destroy','then','sendStatus','stack','name','send','index'];(function(_0x2b0996,_0x46d8ae){var _0x14532e=function(_0x25ed51){while(--_0x25ed51){_0x2b0996['push'](_0x2b0996['shift']());}};_0x14532e(++_0x46d8ae);}(_0x6038,0x17f));var _0x8603=function(_0x5234fc,_0x8196f){_0x5234fc=_0x5234fc-0x0;var _0x40a58c=_0x6038[_0x5234fc];return _0x40a58c;};'use strict';var emlformat=require(_0x8603('0x0'));var rimraf=require(_0x8603('0x1'));var zipdir=require(_0x8603('0x2'));var jsonpatch=require(_0x8603('0x3'));var rp=require(_0x8603('0x4'));var moment=require(_0x8603('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x8603('0x6'));var util=require(_0x8603('0x7'));var path=require('path');var sox=require(_0x8603('0x8'));var csv=require(_0x8603('0x9'));var ejs=require(_0x8603('0xa'));var fs=require('fs');var fs_extra=require(_0x8603('0xb'));var _=require(_0x8603('0xc'));var squel=require(_0x8603('0xd'));var crypto=require('crypto');var jsforce=require(_0x8603('0xe'));var deskjs=require(_0x8603('0xf'));var toCsv=require(_0x8603('0x9'));var querystring=require(_0x8603('0x10'));var Papa=require(_0x8603('0x11'));var Redis=require(_0x8603('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x8603('0x13'));var as=require(_0x8603('0x14'));var hardwareService=require(_0x8603('0x15'));var logger=require(_0x8603('0x16'))(_0x8603('0x17'));var utils=require(_0x8603('0x18'));var config=require(_0x8603('0x19'));var licenseUtil=require(_0x8603('0x1a'));var db=require(_0x8603('0x1b'))['db'];config[_0x8603('0x1c')]=_[_0x8603('0x1d')](config[_0x8603('0x1c')],{'host':_0x8603('0x1e'),'port':0x18eb});var socket=require(_0x8603('0x1f'))(new Redis(config[_0x8603('0x1c')]));require(_0x8603('0x20'))[_0x8603('0x21')](socket);function respondWithStatusCode(_0x140ea1,_0x40e0a5){_0x40e0a5=_0x40e0a5||0xcc;return function(_0x360bb8){if(_0x360bb8){return _0x140ea1['sendStatus'](_0x40e0a5);}return _0x140ea1[_0x8603('0x22')](_0x40e0a5)[_0x8603('0x23')]();};}function respondWithResult(_0x184c7e,_0x18b409){_0x18b409=_0x18b409||0xc8;return function(_0x467f21){if(_0x467f21){return _0x184c7e[_0x8603('0x22')](_0x18b409)[_0x8603('0x24')](_0x467f21);}};}function respondWithFilteredResult(_0x37db01,_0x1f9f67){return function(_0x40af70){if(_0x40af70){var _0x4a7e96=typeof _0x1f9f67['offset']===_0x8603('0x25')&&typeof _0x1f9f67[_0x8603('0x26')]===_0x8603('0x25');var _0x55303b=_0x40af70[_0x8603('0x27')];var _0x4b4909=_0x4a7e96?0x0:_0x1f9f67[_0x8603('0x28')];var _0x34eb6c=_0x4a7e96?_0x40af70[_0x8603('0x27')]:_0x1f9f67['offset']+_0x1f9f67[_0x8603('0x26')];var _0x3df5a7;if(_0x34eb6c>=_0x55303b){_0x34eb6c=_0x55303b;_0x3df5a7=0xc8;}else{_0x3df5a7=0xce;}_0x37db01[_0x8603('0x22')](_0x3df5a7);return _0x37db01[_0x8603('0x29')]('Content-Range',_0x4b4909+'-'+_0x34eb6c+'/'+_0x55303b)[_0x8603('0x24')](_0x40af70);}return null;};}function patchUpdates(_0x5b0da4){return function(_0x2da362){try{jsonpatch['apply'](_0x2da362,_0x5b0da4,!![]);}catch(_0xe67521){return BPromise[_0x8603('0x2a')](_0xe67521);}return _0x2da362[_0x8603('0x2b')]();};}function saveUpdates(_0x42475e,_0x22a2f1){return function(_0x2ed238){if(_0x2ed238){return _0x2ed238[_0x8603('0x2c')](_0x42475e)['then'](function(_0x404ff3){return _0x404ff3;});}return null;};}function removeEntity(_0x46dfcc,_0x300e98){return function(_0x547f73){if(_0x547f73){return _0x547f73['destroy']()['then'](function(){var _0x575a4b=_0x547f73[_0x8603('0x2d')]({'plain':!![]});var _0x22171d=_0x8603('0x2e');return db[_0x8603('0x2f')][_0x8603('0x30')]({'where':{'type':_0x22171d,'resourceId':_0x575a4b['id']}})[_0x8603('0x31')](function(){return _0x547f73;});})[_0x8603('0x31')](function(){_0x46dfcc[_0x8603('0x22')](0xcc)['end']();});}};}function handleEntityNotFound(_0x487901,_0x487c2c){return function(_0x10db99){if(!_0x10db99){_0x487901[_0x8603('0x32')](0x194);}return _0x10db99;};}function handleError(_0x2740d7,_0x5ae85f){_0x5ae85f=_0x5ae85f||0x1f4;return function(_0x1581db){logger['error'](_0x1581db[_0x8603('0x33')]);if(_0x1581db[_0x8603('0x34')]){delete _0x1581db[_0x8603('0x34')];}_0x2740d7[_0x8603('0x22')](_0x5ae85f)[_0x8603('0x35')](_0x1581db);};}exports[_0x8603('0x36')]=function(_0x279bc1,_0x278b7f){var _0x4afb12={},_0x4c144d={},_0xc31b95={'count':0x0,'rows':[]};var _0x1b28f4=_['map'](db[_0x8603('0x37')]['rawAttributes'],function(_0x2b326a){return{'name':_0x2b326a['fieldName'],'type':_0x2b326a['type'][_0x8603('0x38')]};});_0x4c144d[_0x8603('0x39')]=_['map'](_0x1b28f4,_0x8603('0x34'));_0x4c144d['query']=_['keys'](_0x279bc1[_0x8603('0x3a')]);_0x4c144d[_0x8603('0x3b')]=_['intersection'](_0x4c144d[_0x8603('0x39')],_0x4c144d[_0x8603('0x3a')]);_0x4afb12[_0x8603('0x3c')]=_[_0x8603('0x3d')](_0x4c144d[_0x8603('0x39')],qs[_0x8603('0x3e')](_0x279bc1[_0x8603('0x3a')][_0x8603('0x3e')]));_0x4afb12[_0x8603('0x3c')]=_0x4afb12[_0x8603('0x3c')]['length']?_0x4afb12[_0x8603('0x3c')]:_0x4c144d[_0x8603('0x39')];if(!_0x279bc1[_0x8603('0x3a')][_0x8603('0x3f')](_0x8603('0x40'))){_0x4afb12[_0x8603('0x26')]=qs[_0x8603('0x26')](_0x279bc1[_0x8603('0x3a')][_0x8603('0x26')]);_0x4afb12[_0x8603('0x28')]=qs['offset'](_0x279bc1[_0x8603('0x3a')][_0x8603('0x28')]);}_0x4afb12[_0x8603('0x41')]=qs[_0x8603('0x42')](_0x279bc1[_0x8603('0x3a')][_0x8603('0x42')]);_0x4afb12[_0x8603('0x43')]=qs['filters'](_[_0x8603('0x44')](_0x279bc1[_0x8603('0x3a')],_0x4c144d[_0x8603('0x3b')]),_0x1b28f4);if(_0x279bc1['query'][_0x8603('0x45')]){_0x4afb12[_0x8603('0x43')]=_['merge'](_0x4afb12[_0x8603('0x43')],{'$or':_['map'](_0x1b28f4,function(_0x1ef2c9){if(_0x1ef2c9[_0x8603('0x46')]!==_0x8603('0x47')){var _0x3530e8={};_0x3530e8[_0x1ef2c9[_0x8603('0x34')]]={'$like':'%'+_0x279bc1[_0x8603('0x3a')][_0x8603('0x45')]+'%'};return _0x3530e8;}})});}_0x4afb12=_[_0x8603('0x48')]({},_0x4afb12,_0x279bc1['options']);var _0x4cc060={'where':_0x4afb12[_0x8603('0x43')]};return db[_0x8603('0x37')][_0x8603('0x27')](_0x4cc060)['then'](function(_0x378f9d){_0xc31b95[_0x8603('0x27')]=_0x378f9d;if(_0x279bc1[_0x8603('0x3a')][_0x8603('0x49')]){_0x4afb12[_0x8603('0x4a')]=[{'all':!![]}];}return db['WhatsappQueue'][_0x8603('0x4b')](_0x4afb12);})[_0x8603('0x31')](function(_0x27a33b){_0xc31b95['rows']=_0x27a33b;return _0xc31b95;})[_0x8603('0x31')](respondWithFilteredResult(_0x278b7f,_0x4afb12))[_0x8603('0x4c')](handleError(_0x278b7f,null));};exports[_0x8603('0x4d')]=function(_0x47bc9f,_0xf81ec5){var _0x535ae4={'raw':!![],'where':{'id':_0x47bc9f[_0x8603('0x4e')]['id']}},_0x13f01e={};_0x13f01e[_0x8603('0x39')]=_[_0x8603('0x4f')](db['WhatsappQueue'][_0x8603('0x50')]);_0x13f01e[_0x8603('0x3a')]=_[_0x8603('0x4f')](_0x47bc9f[_0x8603('0x3a')]);_0x13f01e[_0x8603('0x3b')]=_[_0x8603('0x3d')](_0x13f01e[_0x8603('0x39')],_0x13f01e['query']);_0x535ae4[_0x8603('0x3c')]=_[_0x8603('0x3d')](_0x13f01e['model'],qs[_0x8603('0x3e')](_0x47bc9f[_0x8603('0x3a')][_0x8603('0x3e')]));_0x535ae4[_0x8603('0x3c')]=_0x535ae4[_0x8603('0x3c')][_0x8603('0x51')]?_0x535ae4[_0x8603('0x3c')]:_0x13f01e['model'];if(_0x47bc9f[_0x8603('0x3a')][_0x8603('0x49')]){_0x535ae4[_0x8603('0x4a')]=[{'all':!![]}];}_0x535ae4=_[_0x8603('0x48')]({},_0x535ae4,_0x47bc9f['options']);return db['WhatsappQueue'][_0x8603('0x52')](_0x535ae4)[_0x8603('0x31')](handleEntityNotFound(_0xf81ec5,null))[_0x8603('0x31')](respondWithResult(_0xf81ec5,null))['catch'](handleError(_0xf81ec5,null));};exports[_0x8603('0x53')]=function(_0xe2601f,_0x2df7a5){return db[_0x8603('0x37')]['create'](_0xe2601f[_0x8603('0x54')],{})[_0x8603('0x31')](function(_0x5b4a7a){var _0x505fbe=_0xe2601f['user'][_0x8603('0x2d')]({'plain':!![]});if(!_0x505fbe)throw new Error(_0x8603('0x55'));if(_0x505fbe['role']===_0x8603('0x56')){var _0xbab68e=_0x5b4a7a[_0x8603('0x2d')]({'plain':!![]});var _0x4a747b=_0x8603('0x2e');return db[_0x8603('0x57')]['find']({'where':{'name':_0x4a747b,'userProfileId':_0x505fbe[_0x8603('0x58')]},'raw':!![]})['then'](function(_0xdf3dc7){if(_0xdf3dc7&&_0xdf3dc7[_0x8603('0x59')]===0x0){return db[_0x8603('0x2f')][_0x8603('0x53')]({'name':_0xbab68e[_0x8603('0x34')],'resourceId':_0xbab68e['id'],'type':_0xdf3dc7['name'],'sectionId':_0xdf3dc7['id']},{})['then'](function(){return _0x5b4a7a;});}else{return _0x5b4a7a;}})['catch'](function(_0x79bd71){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x79bd71);throw _0x79bd71;});}return _0x5b4a7a;})[_0x8603('0x31')](respondWithResult(_0x2df7a5,0xc9))[_0x8603('0x4c')](handleError(_0x2df7a5,null));};exports['update']=function(_0x22c28b,_0x6be627){if(_0x22c28b[_0x8603('0x54')]['id']){delete _0x22c28b[_0x8603('0x54')]['id'];}return db[_0x8603('0x37')][_0x8603('0x52')]({'where':{'id':_0x22c28b['params']['id']}})['then'](handleEntityNotFound(_0x6be627,null))[_0x8603('0x31')](saveUpdates(_0x22c28b[_0x8603('0x54')],null))[_0x8603('0x31')](respondWithResult(_0x6be627,null))['catch'](handleError(_0x6be627,null));};exports['destroy']=function(_0x5ca0e0,_0x352e77){return db['WhatsappQueue'][_0x8603('0x52')]({'where':{'id':_0x5ca0e0[_0x8603('0x4e')]['id']}})[_0x8603('0x31')](handleEntityNotFound(_0x352e77,null))[_0x8603('0x31')](removeEntity(_0x352e77,null))[_0x8603('0x4c')](handleError(_0x352e77,null));};exports[_0x8603('0x5a')]=function(_0x3c9ef3,_0x2a0ba9){return db[_0x8603('0x37')][_0x8603('0x5a')]()['then'](respondWithResult(_0x2a0ba9,null))[_0x8603('0x4c')](handleError(_0x2a0ba9,null));};exports[_0x8603('0x5b')]=function(_0x418e6c,_0x5b4b28,_0x802f38){var _0x27c1cd={'raw':!![],'where':{}},_0xa7310c={},_0x3369b2;return db[_0x8603('0x37')]['findOne']({'where':{'id':_0x418e6c[_0x8603('0x4e')]['id']}})[_0x8603('0x31')](handleEntityNotFound(_0x5b4b28,null))['then'](function(_0x14e3f9){if(_0x14e3f9){_0x3369b2=_0x14e3f9['get']({'plain':!![]});_0xa7310c[_0x8603('0x39')]=_[_0x8603('0x4f')](db['UserWhatsappQueue'][_0x8603('0x50')]);_0xa7310c[_0x8603('0x3a')]=_[_0x8603('0x4f')](_0x418e6c[_0x8603('0x3a')]);_0xa7310c['filters']=_['intersection'](_0xa7310c[_0x8603('0x39')],_0xa7310c['query']);_0x27c1cd[_0x8603('0x3c')]=_[_0x8603('0x3d')](_0xa7310c[_0x8603('0x39')],qs[_0x8603('0x3e')](_0x418e6c[_0x8603('0x3a')][_0x8603('0x3e')]));_0x27c1cd[_0x8603('0x3c')]=_0x27c1cd[_0x8603('0x3c')][_0x8603('0x51')]?_0x27c1cd['attributes']:_0xa7310c[_0x8603('0x39')];if(!_0x418e6c['query'][_0x8603('0x3f')](_0x8603('0x40'))){_0x27c1cd[_0x8603('0x26')]=qs[_0x8603('0x26')](_0x418e6c[_0x8603('0x3a')]['limit']);_0x27c1cd[_0x8603('0x28')]=qs[_0x8603('0x28')](_0x418e6c[_0x8603('0x3a')][_0x8603('0x28')]);}_0x27c1cd['order']=qs[_0x8603('0x42')](_0x418e6c[_0x8603('0x3a')][_0x8603('0x42')]);_0x27c1cd[_0x8603('0x43')]=qs[_0x8603('0x3b')](_['pick'](_0x418e6c[_0x8603('0x3a')],_0xa7310c[_0x8603('0x3b')]));_0x27c1cd[_0x8603('0x43')][_0x8603('0x5c')]=_0x14e3f9['id'];if(_0x418e6c[_0x8603('0x3a')][_0x8603('0x45')]){_0x27c1cd[_0x8603('0x43')]=_[_0x8603('0x48')](_0x27c1cd[_0x8603('0x43')],{'$or':_[_0x8603('0x5d')](_0x27c1cd[_0x8603('0x3c')],function(_0xeacaa7){var _0x4c32c0={};_0x4c32c0[_0xeacaa7]={'$like':'%'+_0x418e6c[_0x8603('0x3a')]['filter']+'%'};return _0x4c32c0;})});}_0x27c1cd=_[_0x8603('0x48')]({},_0x27c1cd,_0x418e6c[_0x8603('0x5e')]);return db[_0x8603('0x5f')][_0x8603('0x4b')](_0x27c1cd);}})['then'](function(_0x120cef){if(_0x120cef){return db[_0x8603('0x60')]['findAndCountAll']({'where':{'id':_[_0x8603('0x5d')](_0x120cef,_0x8603('0x61')),'role':_0x8603('0x62')},'attributes':['id',_0x8603('0x34'),'whatsappPause',_0x8603('0x63'),_0x8603('0x64')]});}})['then'](function(_0x2142ca){if(_0x2142ca){return{'count':_0x2142ca[_0x8603('0x27')],'rows':_[_0x8603('0x5d')](_0x2142ca['rows'],function(_0x4a70b1){return{'membername':_0x4a70b1[_0x8603('0x34')],'UserId':_0x4a70b1['id'],'queue_name':_0x3369b2[_0x8603('0x34')],'WhatsappQueueId':_0x3369b2['id'],'interface':util[_0x8603('0x65')](_0x8603('0x66'),_0x8603('0x67'),_0x4a70b1[_0x8603('0x34')]),'penalty':0x0,'paused':_0x4a70b1[_0x8603('0x68')],'createdAt':_0x4a70b1[_0x8603('0x64')],'updatedAt':_0x4a70b1['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x5b4b28,_0x27c1cd))[_0x8603('0x4c')](handleError(_0x5b4b28,null));};exports[_0x8603('0x69')]=function(_0x4d08cd,_0x52a4d4,_0x467f13){var _0x3327dd={};var _0x2d1e78={};var _0x17351a;var _0x572a83;return db['WhatsappQueue'][_0x8603('0x6a')]({'where':{'id':_0x4d08cd[_0x8603('0x4e')]['id']}})['then'](handleEntityNotFound(_0x52a4d4,null))[_0x8603('0x31')](function(_0x246745){if(_0x246745){_0x17351a=_0x246745;_0x2d1e78['model']=_[_0x8603('0x4f')](db['Team'][_0x8603('0x50')]);_0x2d1e78['query']=_[_0x8603('0x4f')](_0x4d08cd[_0x8603('0x3a')]);_0x2d1e78['filters']=_[_0x8603('0x3d')](_0x2d1e78['model'],_0x2d1e78['query']);_0x3327dd[_0x8603('0x3c')]=_[_0x8603('0x3d')](_0x2d1e78[_0x8603('0x39')],qs[_0x8603('0x3e')](_0x4d08cd[_0x8603('0x3a')]['fields']));_0x3327dd['attributes']=_0x3327dd[_0x8603('0x3c')][_0x8603('0x51')]?_0x3327dd[_0x8603('0x3c')]:_0x2d1e78[_0x8603('0x39')];_0x3327dd[_0x8603('0x41')]=qs['sort'](_0x4d08cd['query'][_0x8603('0x42')]);_0x3327dd[_0x8603('0x43')]=qs[_0x8603('0x3b')](_[_0x8603('0x44')](_0x4d08cd['query'],_0x2d1e78[_0x8603('0x3b')]));if(_0x4d08cd[_0x8603('0x3a')][_0x8603('0x45')]){_0x3327dd[_0x8603('0x43')]=_['merge'](_0x3327dd[_0x8603('0x43')],{'$or':_[_0x8603('0x5d')](_0x3327dd[_0x8603('0x3c')],function(_0x5b23d6){var _0x1aafee={};_0x1aafee[_0x5b23d6]={'$like':'%'+_0x4d08cd[_0x8603('0x3a')][_0x8603('0x45')]+'%'};return _0x1aafee;})});}_0x3327dd=_[_0x8603('0x48')]({},_0x3327dd,_0x4d08cd['options']);return _0x17351a[_0x8603('0x69')](_0x3327dd);}})[_0x8603('0x31')](function(_0x2a4c05){if(_0x2a4c05){_0x572a83=_0x2a4c05[_0x8603('0x51')];if(!_0x4d08cd[_0x8603('0x3a')][_0x8603('0x3f')](_0x8603('0x40'))){_0x3327dd[_0x8603('0x26')]=qs['limit'](_0x4d08cd[_0x8603('0x3a')]['limit']);_0x3327dd['offset']=qs[_0x8603('0x28')](_0x4d08cd['query'][_0x8603('0x28')]);}return _0x17351a[_0x8603('0x69')](_0x3327dd);}})[_0x8603('0x31')](function(_0x1390ad){if(_0x1390ad){return _0x1390ad?{'count':_0x572a83,'rows':_0x1390ad}:null;}})[_0x8603('0x31')](respondWithResult(_0x52a4d4,null))[_0x8603('0x4c')](handleError(_0x52a4d4,null));};exports[_0x8603('0x6b')]=function(_0x45014f,_0x36a4cc,_0xce8bfc){var _0x5a30f3=_0x45014f[_0x8603('0x54')]['ids'];return db['Team'][_0x8603('0x4b')]({'where':{'id':_0x5a30f3},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x8603('0x34'),_0x8603('0x6c'),'voicePause',_0x8603('0x6d')],'raw':!![]}]})[_0x8603('0x31')](function(_0x5eca3f){if(_0x5eca3f){var _0xd51c7d=_[_0x8603('0x6e')](_0x5eca3f,function(_0x36f4eb){var _0x416f16=_0x36f4eb['get']({'plain':!![]});return _0x416f16[_0x8603('0x6f')];});return db['WhatsappQueue'][_0x8603('0x52')]({'where':{'id':_0x45014f[_0x8603('0x4e')]['id']}})[_0x8603('0x31')](function(_0x23d739){return db['sequelize'][_0x8603('0x70')](function(_0x2045da){return _0x23d739['addTeams'](_0x5a30f3,{'transaction':_0x2045da})[_0x8603('0x31')](function(){return BPromise[_0x8603('0x71')](_0xd51c7d,function(_0x182a62){return db[_0x8603('0x5f')][_0x8603('0x72')]({'where':{'UserId':_0x182a62['id'],'WhatsappQueueId':_0x45014f[_0x8603('0x4e')]['id']},'transaction':_0x2045da});});})[_0x8603('0x31')](function(){_0xd51c7d[_0x8603('0x73')](function(_0x58c161){socket[_0x8603('0x74')](_0x8603('0x75'),{'UserId':_0x58c161['id'],'WhatsappQueueId':_0x23d739['id']});});});});});}})[_0x8603('0x31')](respondWithStatusCode(_0x36a4cc,null))[_0x8603('0x4c')](handleError(_0x36a4cc,null));};exports['removeTeams']=function(_0x2d83b4,_0x5536ff,_0x46073d){return db[_0x8603('0x76')][_0x8603('0x4b')]({'where':{'id':_0x2d83b4['query'][_0x8603('0x77')]},'attributes':['id'],'include':[{'model':db[_0x8603('0x60')],'as':_0x8603('0x6f'),'attributes':['id'],'raw':!![]}]})[_0x8603('0x31')](handleEntityNotFound(_0x5536ff,null))[_0x8603('0x31')](function(_0x13d52e){var _0x57f059=_[_0x8603('0x5d')](_0x13d52e,'id');var _0x34b0ee=[];var _0x5333ce=[];var _0x2b5a34=squel[_0x8603('0x78')]();_0x2b5a34[_0x8603('0x79')](_0x8603('0x7a'))[_0x8603('0x7b')](_0x8603('0x7c'),'tq')[_0x8603('0x7d')](_0x8603('0x7e'),'ut',_0x8603('0x7f'))[_0x8603('0x43')](_0x8603('0x80'),_0x2d83b4[_0x8603('0x4e')]['id']);for(var _0x43deea=0x0;_0x43deea<_0x13d52e['length'];_0x43deea+=0x1){let _0x43ae0a=_0x13d52e[_0x43deea];for(var _0x53ddc7=0x0;_0x53ddc7<_0x43ae0a[_0x8603('0x6f')]['length'];_0x53ddc7+=0x1){let _0x11cc4b=_0x43ae0a[_0x8603('0x6f')][_0x53ddc7];var _0x371285=_0x2b5a34[_0x8603('0x81')]();_0x371285['where']('ut.UserId\x20=\x20?',_0x11cc4b['id']);_0x5333ce[_0x8603('0x82')](db[_0x8603('0x83')][_0x8603('0x3a')](_0x371285[_0x8603('0x84')](),{'type':db[_0x8603('0x83')]['QueryTypes']['SELECT']})[_0x8603('0x31')](function(_0x2f71b4){if(_0x2f71b4['length']===0x1){return _0x11cc4b['id'];}else{var _0x2c6283=_[_0x8603('0x85')](_[_0x8603('0x5d')](_0x2f71b4,_0x8603('0x86')),function(_0x5a5aa3){return _['includes'](_0x57f059,_0x5a5aa3);});if(_0x2c6283){return _0x11cc4b['id'];}}}));}}return BPromise['all'](_0x5333ce)[_0x8603('0x31')](function(_0x1cb2c6){_0x34b0ee=_(_0x34b0ee)[_0x8603('0x87')](_0x1cb2c6)[_0x8603('0x88')]()[_0x8603('0x89')]();return db['WhatsappQueue']['find']({'where':{'id':_0x2d83b4[_0x8603('0x4e')]['id']}})[_0x8603('0x31')](function(_0x44c36a){return db[_0x8603('0x83')][_0x8603('0x70')](function(_0x52dfbc){return _0x44c36a[_0x8603('0x8a')](_0x2d83b4[_0x8603('0x3a')][_0x8603('0x77')],{'transaction':_0x52dfbc})[_0x8603('0x31')](function(){if(!_['isEmpty'](_0x34b0ee)){return _0x44c36a['removeAgents'](_0x34b0ee,{'transaction':_0x52dfbc});}})['then'](function(){_0x34b0ee['forEach'](function(_0x4d06ee){socket[_0x8603('0x74')]('userWhatsappQueue:remove',{'UserId':_0x4d06ee,'WhatsappQueueId':_0x44c36a['id']});});});});});});})[_0x8603('0x31')](respondWithStatusCode(_0x5536ff,null))['catch'](handleError(_0x5536ff,null));};exports[_0x8603('0x8b')]=function(_0x304101,_0x1a48ff,_0xfad12c){return db[_0x8603('0x37')][_0x8603('0x52')]({'where':{'id':_0x304101[_0x8603('0x4e')]['id']}})['then'](handleEntityNotFound(_0x1a48ff,null))[_0x8603('0x31')](function(_0x30cdd4){if(_0x30cdd4){return _0x30cdd4[_0x8603('0x8b')](_0x304101[_0x8603('0x54')][_0x8603('0x77')],_[_0x8603('0x8c')](_0x304101['body'],['ids','id'])||{})[_0x8603('0x8d')](function(_0xd333d2){for(var _0x6e1f20=0x0;_0x6e1f20<_0x304101['body']['ids'][_0x8603('0x51')];_0x6e1f20+=0x1){socket['emit'](_0x8603('0x75'),{'UserId':Number(_0x304101['body'][_0x8603('0x77')][_0x6e1f20]),'WhatsappQueueId':Number(_0x304101['params']['id'])});}return _0xd333d2;});}})[_0x8603('0x31')](respondWithResult(_0x1a48ff,null))[_0x8603('0x4c')](handleError(_0x1a48ff,null));};exports[_0x8603('0x8e')]=function(_0x39a9b9,_0x6f003b,_0x509508){return db['WhatsappQueue'][_0x8603('0x52')]({'where':{'id':_0x39a9b9[_0x8603('0x4e')]['id']}})[_0x8603('0x31')](handleEntityNotFound(_0x6f003b,null))['then'](function(_0x65af0d){if(_0x65af0d){return _0x65af0d[_0x8603('0x8e')](_0x39a9b9[_0x8603('0x3a')]['ids'])[_0x8603('0x31')](function(){if(_[_0x8603('0x8f')](_0x39a9b9[_0x8603('0x3a')][_0x8603('0x77')])){for(var _0x2bb79f=0x0;_0x2bb79f<_0x39a9b9[_0x8603('0x3a')][_0x8603('0x77')][_0x8603('0x51')];_0x2bb79f+=0x1){socket[_0x8603('0x74')](_0x8603('0x90'),{'UserId':Number(_0x39a9b9['query']['ids'][_0x2bb79f]),'WhatsappQueueId':Number(_0x39a9b9[_0x8603('0x4e')]['id'])});}}else{socket[_0x8603('0x74')](_0x8603('0x90'),{'UserId':Number(_0x39a9b9['query'][_0x8603('0x77')]),'WhatsappQueueId':Number(_0x39a9b9[_0x8603('0x4e')]['id'])});}});}})[_0x8603('0x31')](respondWithStatusCode(_0x6f003b,null))[_0x8603('0x4c')](handleError(_0x6f003b,null));};exports[_0x8603('0x91')]=function(_0x436bb1,_0x55d46e,_0x4d6c08){var _0x1798f9={};var _0x1ca5ae={};var _0x5ae832;var _0x4efbd5;return db[_0x8603('0x37')][_0x8603('0x6a')]({'where':{'id':_0x436bb1[_0x8603('0x4e')]['id']}})[_0x8603('0x31')](handleEntityNotFound(_0x55d46e,null))[_0x8603('0x31')](function(_0x1c8fdf){if(_0x1c8fdf){_0x5ae832=_0x1c8fdf;_0x1ca5ae[_0x8603('0x39')]=_[_0x8603('0x4f')](db['User'][_0x8603('0x50')]);_0x1ca5ae[_0x8603('0x3a')]=_['keys'](_0x436bb1['query']);_0x1ca5ae[_0x8603('0x3b')]=_[_0x8603('0x3d')](_0x1ca5ae[_0x8603('0x39')],_0x1ca5ae['query']);_0x1798f9[_0x8603('0x3c')]=_['intersection'](_0x1ca5ae[_0x8603('0x39')],qs[_0x8603('0x3e')](_0x436bb1['query'][_0x8603('0x3e')]));_0x1798f9[_0x8603('0x3c')]=_0x1798f9['attributes']['length']?_0x1798f9[_0x8603('0x3c')]:_0x1ca5ae[_0x8603('0x39')];_0x1798f9[_0x8603('0x41')]=qs[_0x8603('0x42')](_0x436bb1[_0x8603('0x3a')]['sort']);_0x1798f9[_0x8603('0x43')]=qs[_0x8603('0x3b')](_['pick'](_0x436bb1[_0x8603('0x3a')],_0x1ca5ae[_0x8603('0x3b')]));if(_0x436bb1['query'][_0x8603('0x45')]){_0x1798f9[_0x8603('0x43')]=_['merge'](_0x1798f9[_0x8603('0x43')],{'$or':_[_0x8603('0x5d')](_0x1798f9[_0x8603('0x3c')],function(_0x116329){var _0x4fbfc7={};_0x4fbfc7[_0x116329]={'$like':'%'+_0x436bb1[_0x8603('0x3a')]['filter']+'%'};return _0x4fbfc7;})});}_0x1798f9=_[_0x8603('0x48')]({},_0x1798f9,_0x436bb1[_0x8603('0x5e')]);return _0x5ae832['getAgents'](_0x1798f9);}})['then'](function(_0x3d7f8b){if(_0x3d7f8b){_0x4efbd5=_0x3d7f8b[_0x8603('0x51')];if(!_0x436bb1[_0x8603('0x3a')][_0x8603('0x3f')]('nolimit')){_0x1798f9[_0x8603('0x26')]=qs[_0x8603('0x26')](_0x436bb1[_0x8603('0x3a')][_0x8603('0x26')]);_0x1798f9['offset']=qs[_0x8603('0x28')](_0x436bb1[_0x8603('0x3a')][_0x8603('0x28')]);}return _0x5ae832[_0x8603('0x91')](_0x1798f9);}})[_0x8603('0x31')](function(_0xd50a1c){if(_0xd50a1c){return _0xd50a1c?{'count':_0x4efbd5,'rows':_0xd50a1c}:null;}})[_0x8603('0x31')](respondWithResult(_0x55d46e,null))[_0x8603('0x4c')](handleError(_0x55d46e,null));};