Built motion from commit 47436d59.|2.6.7
[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 _0x147c=['to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','UserProfileResource','end','sendStatus','error','stack','name','send','index','map','WhatsappQueue','fieldName','type','key','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','keys','rawAttributes','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','WhatsappQueues','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserWhatsappQueue','nolimit','WhatsappQueueId','options','User','UserId','agent','whatsappPause','createdAt','format','%s/%s','updatedAt','Team','getTeams','addTeams','ids','online','voicePause','interface','flatMap','Agents','sequelize','transaction','each','removeTeams','tq.TeamId','team_has_whatsapp_queues','user_has_teams','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','forEach','emit','userWhatsappQueue:remove','addAgents','omit','spread','userWhatsappQueue:save','removeAgents','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox'];(function(_0x8c43de,_0x90ff31){var _0xa6591b=function(_0x469716){while(--_0x469716){_0x8c43de['push'](_0x8c43de['shift']());}};_0xa6591b(++_0x90ff31);}(_0x147c,0x88));var _0xc147=function(_0x48245e,_0x178e51){_0x48245e=_0x48245e-0x0;var _0x4e5e30=_0x147c[_0x48245e];return _0x4e5e30;};'use strict';var emlformat=require(_0xc147('0x0'));var rimraf=require(_0xc147('0x1'));var zipdir=require(_0xc147('0x2'));var jsonpatch=require(_0xc147('0x3'));var rp=require(_0xc147('0x4'));var moment=require(_0xc147('0x5'));var BPromise=require(_0xc147('0x6'));var Mustache=require(_0xc147('0x7'));var util=require(_0xc147('0x8'));var path=require(_0xc147('0x9'));var sox=require(_0xc147('0xa'));var csv=require(_0xc147('0xb'));var ejs=require(_0xc147('0xc'));var fs=require('fs');var fs_extra=require(_0xc147('0xd'));var _=require(_0xc147('0xe'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xc147('0xf'));var deskjs=require(_0xc147('0x10'));var toCsv=require(_0xc147('0xb'));var querystring=require(_0xc147('0x11'));var Papa=require(_0xc147('0x12'));var Redis=require(_0xc147('0x13'));var authService=require(_0xc147('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xc147('0x15'));var hardwareService=require(_0xc147('0x16'));var logger=require(_0xc147('0x17'))(_0xc147('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xc147('0x19'));var db=require(_0xc147('0x1a'))['db'];config[_0xc147('0x1b')]=_[_0xc147('0x1c')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xc147('0x1d'))(new Redis(config[_0xc147('0x1b')]));require('./whatsappQueue.socket')[_0xc147('0x1e')](socket);function respondWithStatusCode(_0x218768,_0x111f1e){_0x111f1e=_0x111f1e||0xcc;return function(_0x5d8685){if(_0x5d8685){return _0x218768['sendStatus'](_0x111f1e);}return _0x218768[_0xc147('0x1f')](_0x111f1e)['end']();};}function respondWithResult(_0x1e22fd,_0x24ec57){_0x24ec57=_0x24ec57||0xc8;return function(_0x483b79){if(_0x483b79){return _0x1e22fd[_0xc147('0x1f')](_0x24ec57)['json'](_0x483b79);}};}function respondWithFilteredResult(_0x33505c,_0x51be3e){return function(_0x215047){if(_0x215047){var _0x807e4c=typeof _0x51be3e[_0xc147('0x20')]===_0xc147('0x21')&&typeof _0x51be3e[_0xc147('0x22')]==='undefined';var _0x3be176=_0x215047['count'];var _0x2e1d49=_0x807e4c?0x0:_0x51be3e[_0xc147('0x20')];var _0x5a61df=_0x807e4c?_0x215047[_0xc147('0x23')]:_0x51be3e[_0xc147('0x20')]+_0x51be3e[_0xc147('0x22')];var _0x2d1ce4;if(_0x5a61df>=_0x3be176){_0x5a61df=_0x3be176;_0x2d1ce4=0xc8;}else{_0x2d1ce4=0xce;}_0x33505c[_0xc147('0x1f')](_0x2d1ce4);return _0x33505c[_0xc147('0x24')](_0xc147('0x25'),_0x2e1d49+'-'+_0x5a61df+'/'+_0x3be176)[_0xc147('0x26')](_0x215047);}return null;};}function patchUpdates(_0x4f3c6d){return function(_0x35b039){try{jsonpatch[_0xc147('0x27')](_0x35b039,_0x4f3c6d,!![]);}catch(_0x48085c){return BPromise[_0xc147('0x28')](_0x48085c);}return _0x35b039[_0xc147('0x29')]();};}function saveUpdates(_0x24694b,_0x3e910e){return function(_0x2f49ff){if(_0x2f49ff){return _0x2f49ff[_0xc147('0x2a')](_0x24694b)[_0xc147('0x2b')](function(_0x369690){return _0x369690;});}return null;};}function removeEntity(_0x4c407b,_0x4acb92){return function(_0x19c5d0){if(_0x19c5d0){return _0x19c5d0[_0xc147('0x2c')]()['then'](function(){var _0x328a36=_0x19c5d0['get']({'plain':!![]});var _0x387613='WhatsappQueues';return db[_0xc147('0x2d')][_0xc147('0x2c')]({'where':{'type':_0x387613,'resourceId':_0x328a36['id']}})[_0xc147('0x2b')](function(){return _0x19c5d0;});})[_0xc147('0x2b')](function(){_0x4c407b[_0xc147('0x1f')](0xcc)[_0xc147('0x2e')]();});}};}function handleEntityNotFound(_0x46f617,_0x47cce1){return function(_0xd9d810){if(!_0xd9d810){_0x46f617[_0xc147('0x2f')](0x194);}return _0xd9d810;};}function handleError(_0x3e1d97,_0xac0d74){_0xac0d74=_0xac0d74||0x1f4;return function(_0x7e4565){logger[_0xc147('0x30')](_0x7e4565[_0xc147('0x31')]);if(_0x7e4565[_0xc147('0x32')]){delete _0x7e4565[_0xc147('0x32')];}_0x3e1d97['status'](_0xac0d74)[_0xc147('0x33')](_0x7e4565);};}exports[_0xc147('0x34')]=function(_0x18660b,_0x53b6d3){var _0x4e5ed6={},_0x24bb23={},_0xb9a51b={'count':0x0,'rows':[]};var _0x4c08f1=_[_0xc147('0x35')](db[_0xc147('0x36')]['rawAttributes'],function(_0x21a188){return{'name':_0x21a188[_0xc147('0x37')],'type':_0x21a188[_0xc147('0x38')][_0xc147('0x39')]};});_0x24bb23['model']=_[_0xc147('0x35')](_0x4c08f1,_0xc147('0x32'));_0x24bb23[_0xc147('0x3a')]=_['keys'](_0x18660b['query']);_0x24bb23[_0xc147('0x3b')]=_['intersection'](_0x24bb23[_0xc147('0x3c')],_0x24bb23[_0xc147('0x3a')]);_0x4e5ed6[_0xc147('0x3d')]=_[_0xc147('0x3e')](_0x24bb23[_0xc147('0x3c')],qs[_0xc147('0x3f')](_0x18660b[_0xc147('0x3a')][_0xc147('0x3f')]));_0x4e5ed6['attributes']=_0x4e5ed6['attributes'][_0xc147('0x40')]?_0x4e5ed6[_0xc147('0x3d')]:_0x24bb23[_0xc147('0x3c')];if(!_0x18660b['query'][_0xc147('0x41')]('nolimit')){_0x4e5ed6[_0xc147('0x22')]=qs['limit'](_0x18660b['query']['limit']);_0x4e5ed6[_0xc147('0x20')]=qs[_0xc147('0x20')](_0x18660b[_0xc147('0x3a')]['offset']);}_0x4e5ed6[_0xc147('0x42')]=qs[_0xc147('0x43')](_0x18660b[_0xc147('0x3a')]['sort']);_0x4e5ed6[_0xc147('0x44')]=qs[_0xc147('0x3b')](_[_0xc147('0x45')](_0x18660b[_0xc147('0x3a')],_0x24bb23['filters']),_0x4c08f1);if(_0x18660b['query'][_0xc147('0x46')]){_0x4e5ed6[_0xc147('0x44')]=_[_0xc147('0x47')](_0x4e5ed6[_0xc147('0x44')],{'$or':_[_0xc147('0x35')](_0x4c08f1,function(_0xc08699){if(_0xc08699[_0xc147('0x38')]!==_0xc147('0x48')){var _0x4ed397={};_0x4ed397[_0xc08699[_0xc147('0x32')]]={'$like':'%'+_0x18660b[_0xc147('0x3a')][_0xc147('0x46')]+'%'};return _0x4ed397;}})});}_0x4e5ed6=_[_0xc147('0x47')]({},_0x4e5ed6,_0x18660b['options']);var _0x3a5445={'where':_0x4e5ed6[_0xc147('0x44')]};return db[_0xc147('0x36')][_0xc147('0x23')](_0x3a5445)[_0xc147('0x2b')](function(_0x4a838a){_0xb9a51b[_0xc147('0x23')]=_0x4a838a;if(_0x18660b[_0xc147('0x3a')][_0xc147('0x49')]){_0x4e5ed6[_0xc147('0x4a')]=[{'all':!![]}];}return db['WhatsappQueue'][_0xc147('0x4b')](_0x4e5ed6);})[_0xc147('0x2b')](function(_0x557718){_0xb9a51b[_0xc147('0x4c')]=_0x557718;return _0xb9a51b;})[_0xc147('0x2b')](respondWithFilteredResult(_0x53b6d3,_0x4e5ed6))['catch'](handleError(_0x53b6d3,null));};exports[_0xc147('0x4d')]=function(_0x1639d6,_0x439d7e){var _0x1e8f07={'raw':!![],'where':{'id':_0x1639d6[_0xc147('0x4e')]['id']}},_0x5f136b={};_0x5f136b['model']=_[_0xc147('0x4f')](db[_0xc147('0x36')][_0xc147('0x50')]);_0x5f136b[_0xc147('0x3a')]=_[_0xc147('0x4f')](_0x1639d6[_0xc147('0x3a')]);_0x5f136b[_0xc147('0x3b')]=_[_0xc147('0x3e')](_0x5f136b[_0xc147('0x3c')],_0x5f136b[_0xc147('0x3a')]);_0x1e8f07[_0xc147('0x3d')]=_[_0xc147('0x3e')](_0x5f136b['model'],qs[_0xc147('0x3f')](_0x1639d6['query'][_0xc147('0x3f')]));_0x1e8f07['attributes']=_0x1e8f07[_0xc147('0x3d')][_0xc147('0x40')]?_0x1e8f07[_0xc147('0x3d')]:_0x5f136b[_0xc147('0x3c')];if(_0x1639d6['query']['includeAll']){_0x1e8f07[_0xc147('0x4a')]=[{'all':!![]}];}_0x1e8f07=_['merge']({},_0x1e8f07,_0x1639d6['options']);return db[_0xc147('0x36')][_0xc147('0x51')](_0x1e8f07)[_0xc147('0x2b')](handleEntityNotFound(_0x439d7e,null))[_0xc147('0x2b')](respondWithResult(_0x439d7e,null))['catch'](handleError(_0x439d7e,null));};exports['create']=function(_0x1dbb50,_0x184c49){return db['WhatsappQueue'][_0xc147('0x52')](_0x1dbb50[_0xc147('0x53')],{})[_0xc147('0x2b')](function(_0x4eeac0){var _0x2acc1b=_0x1dbb50[_0xc147('0x54')][_0xc147('0x55')]({'plain':!![]});if(!_0x2acc1b)throw new Error(_0xc147('0x56'));if(_0x2acc1b[_0xc147('0x57')]===_0xc147('0x54')){var _0x2b82af=_0x4eeac0[_0xc147('0x55')]({'plain':!![]});var _0x34e131=_0xc147('0x58');return db['UserProfileSection'][_0xc147('0x51')]({'where':{'name':_0x34e131,'userProfileId':_0x2acc1b[_0xc147('0x59')]},'raw':!![]})[_0xc147('0x2b')](function(_0x594669){if(_0x594669&&_0x594669[_0xc147('0x5a')]===0x0){return db['UserProfileResource'][_0xc147('0x52')]({'name':_0x2b82af[_0xc147('0x32')],'resourceId':_0x2b82af['id'],'type':_0x594669['name'],'sectionId':_0x594669['id']},{})['then'](function(){return _0x4eeac0;});}else{return _0x4eeac0;}})[_0xc147('0x5b')](function(_0x4027ba){logger['error'](_0xc147('0x5c'),_0x4027ba);throw _0x4027ba;});}return _0x4eeac0;})[_0xc147('0x2b')](respondWithResult(_0x184c49,0xc9))[_0xc147('0x5b')](handleError(_0x184c49,null));};exports[_0xc147('0x2a')]=function(_0x29ad1e,_0x15189f){if(_0x29ad1e[_0xc147('0x53')]['id']){delete _0x29ad1e[_0xc147('0x53')]['id'];}return db[_0xc147('0x36')][_0xc147('0x51')]({'where':{'id':_0x29ad1e['params']['id']}})[_0xc147('0x2b')](handleEntityNotFound(_0x15189f,null))['then'](saveUpdates(_0x29ad1e[_0xc147('0x53')],null))['then'](respondWithResult(_0x15189f,null))[_0xc147('0x5b')](handleError(_0x15189f,null));};exports[_0xc147('0x2c')]=function(_0x321b5a,_0x20dabb){return db['WhatsappQueue'][_0xc147('0x51')]({'where':{'id':_0x321b5a[_0xc147('0x4e')]['id']}})['then'](handleEntityNotFound(_0x20dabb,null))['then'](removeEntity(_0x20dabb,null))[_0xc147('0x5b')](handleError(_0x20dabb,null));};exports[_0xc147('0x5d')]=function(_0xa898f2,_0x118b93){return db[_0xc147('0x36')][_0xc147('0x5d')]()[_0xc147('0x2b')](respondWithResult(_0x118b93,null))[_0xc147('0x5b')](handleError(_0x118b93,null));};exports[_0xc147('0x5e')]=function(_0x29854b,_0x1b629a,_0x38ea2f){var _0x1391f4={'raw':!![],'where':{}},_0x8716f6={},_0x5845b3;return db['WhatsappQueue'][_0xc147('0x5f')]({'where':{'id':_0x29854b[_0xc147('0x4e')]['id']}})[_0xc147('0x2b')](handleEntityNotFound(_0x1b629a,null))[_0xc147('0x2b')](function(_0x71916c){if(_0x71916c){_0x5845b3=_0x71916c['get']({'plain':!![]});_0x8716f6[_0xc147('0x3c')]=_[_0xc147('0x4f')](db[_0xc147('0x60')]['rawAttributes']);_0x8716f6[_0xc147('0x3a')]=_[_0xc147('0x4f')](_0x29854b[_0xc147('0x3a')]);_0x8716f6['filters']=_[_0xc147('0x3e')](_0x8716f6[_0xc147('0x3c')],_0x8716f6[_0xc147('0x3a')]);_0x1391f4[_0xc147('0x3d')]=_[_0xc147('0x3e')](_0x8716f6[_0xc147('0x3c')],qs['fields'](_0x29854b[_0xc147('0x3a')][_0xc147('0x3f')]));_0x1391f4['attributes']=_0x1391f4[_0xc147('0x3d')][_0xc147('0x40')]?_0x1391f4[_0xc147('0x3d')]:_0x8716f6[_0xc147('0x3c')];if(!_0x29854b['query']['hasOwnProperty'](_0xc147('0x61'))){_0x1391f4[_0xc147('0x22')]=qs[_0xc147('0x22')](_0x29854b['query'][_0xc147('0x22')]);_0x1391f4[_0xc147('0x20')]=qs['offset'](_0x29854b[_0xc147('0x3a')][_0xc147('0x20')]);}_0x1391f4[_0xc147('0x42')]=qs[_0xc147('0x43')](_0x29854b['query'][_0xc147('0x43')]);_0x1391f4[_0xc147('0x44')]=qs[_0xc147('0x3b')](_[_0xc147('0x45')](_0x29854b['query'],_0x8716f6[_0xc147('0x3b')]));_0x1391f4[_0xc147('0x44')][_0xc147('0x62')]=_0x71916c['id'];if(_0x29854b[_0xc147('0x3a')]['filter']){_0x1391f4[_0xc147('0x44')]=_[_0xc147('0x47')](_0x1391f4[_0xc147('0x44')],{'$or':_['map'](_0x1391f4[_0xc147('0x3d')],function(_0xaaa6ca){var _0x4cea46={};_0x4cea46[_0xaaa6ca]={'$like':'%'+_0x29854b[_0xc147('0x3a')][_0xc147('0x46')]+'%'};return _0x4cea46;})});}_0x1391f4=_[_0xc147('0x47')]({},_0x1391f4,_0x29854b[_0xc147('0x63')]);return db['UserWhatsappQueue'][_0xc147('0x4b')](_0x1391f4);}})['then'](function(_0x585bf9){if(_0x585bf9){return db[_0xc147('0x64')]['findAndCountAll']({'where':{'id':_['map'](_0x585bf9,_0xc147('0x65')),'role':_0xc147('0x66')},'attributes':['id',_0xc147('0x32'),_0xc147('0x67'),'updatedAt',_0xc147('0x68')]});}})[_0xc147('0x2b')](function(_0x1c8fed){if(_0x1c8fed){return{'count':_0x1c8fed[_0xc147('0x23')],'rows':_['map'](_0x1c8fed['rows'],function(_0x1bcd3d){return{'membername':_0x1bcd3d['name'],'UserId':_0x1bcd3d['id'],'queue_name':_0x5845b3[_0xc147('0x32')],'WhatsappQueueId':_0x5845b3['id'],'interface':util[_0xc147('0x69')](_0xc147('0x6a'),'SIP',_0x1bcd3d[_0xc147('0x32')]),'penalty':0x0,'paused':_0x1bcd3d[_0xc147('0x67')],'createdAt':_0x1bcd3d[_0xc147('0x68')],'updatedAt':_0x1bcd3d[_0xc147('0x6b')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xc147('0x2b')](respondWithFilteredResult(_0x1b629a,_0x1391f4))['catch'](handleError(_0x1b629a,null));};exports['getTeams']=function(_0x1fa2d5,_0x58a84c,_0x4b0253){var _0x197e0d={};var _0x4c8bdd={};var _0x5c357e;var _0xaf0e15;return db[_0xc147('0x36')][_0xc147('0x5f')]({'where':{'id':_0x1fa2d5[_0xc147('0x4e')]['id']}})[_0xc147('0x2b')](handleEntityNotFound(_0x58a84c,null))[_0xc147('0x2b')](function(_0xc93234){if(_0xc93234){_0x5c357e=_0xc93234;_0x4c8bdd[_0xc147('0x3c')]=_['keys'](db[_0xc147('0x6c')][_0xc147('0x50')]);_0x4c8bdd[_0xc147('0x3a')]=_[_0xc147('0x4f')](_0x1fa2d5[_0xc147('0x3a')]);_0x4c8bdd[_0xc147('0x3b')]=_[_0xc147('0x3e')](_0x4c8bdd[_0xc147('0x3c')],_0x4c8bdd[_0xc147('0x3a')]);_0x197e0d[_0xc147('0x3d')]=_[_0xc147('0x3e')](_0x4c8bdd[_0xc147('0x3c')],qs[_0xc147('0x3f')](_0x1fa2d5['query']['fields']));_0x197e0d[_0xc147('0x3d')]=_0x197e0d[_0xc147('0x3d')]['length']?_0x197e0d[_0xc147('0x3d')]:_0x4c8bdd[_0xc147('0x3c')];_0x197e0d[_0xc147('0x42')]=qs['sort'](_0x1fa2d5['query']['sort']);_0x197e0d[_0xc147('0x44')]=qs[_0xc147('0x3b')](_['pick'](_0x1fa2d5['query'],_0x4c8bdd['filters']));if(_0x1fa2d5[_0xc147('0x3a')][_0xc147('0x46')]){_0x197e0d[_0xc147('0x44')]=_[_0xc147('0x47')](_0x197e0d[_0xc147('0x44')],{'$or':_[_0xc147('0x35')](_0x197e0d[_0xc147('0x3d')],function(_0x620ac8){var _0x221cdc={};_0x221cdc[_0x620ac8]={'$like':'%'+_0x1fa2d5[_0xc147('0x3a')][_0xc147('0x46')]+'%'};return _0x221cdc;})});}_0x197e0d=_[_0xc147('0x47')]({},_0x197e0d,_0x1fa2d5['options']);return _0x5c357e[_0xc147('0x6d')](_0x197e0d);}})[_0xc147('0x2b')](function(_0x5370ba){if(_0x5370ba){_0xaf0e15=_0x5370ba[_0xc147('0x40')];if(!_0x1fa2d5[_0xc147('0x3a')][_0xc147('0x41')](_0xc147('0x61'))){_0x197e0d['limit']=qs[_0xc147('0x22')](_0x1fa2d5[_0xc147('0x3a')]['limit']);_0x197e0d['offset']=qs[_0xc147('0x20')](_0x1fa2d5['query'][_0xc147('0x20')]);}return _0x5c357e[_0xc147('0x6d')](_0x197e0d);}})['then'](function(_0x6affe0){if(_0x6affe0){return _0x6affe0?{'count':_0xaf0e15,'rows':_0x6affe0}:null;}})['then'](respondWithResult(_0x58a84c,null))['catch'](handleError(_0x58a84c,null));};exports[_0xc147('0x6e')]=function(_0x20105a,_0x5bf614,_0x4b2208){var _0x4ae10b=_0x20105a[_0xc147('0x53')][_0xc147('0x6f')];return db[_0xc147('0x6c')][_0xc147('0x4b')]({'where':{'id':_0x4ae10b},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0xc147('0x32'),_0xc147('0x70'),_0xc147('0x71'),_0xc147('0x72')],'raw':!![]}]})[_0xc147('0x2b')](function(_0x59ca24){if(_0x59ca24){var _0x2afb24=_[_0xc147('0x73')](_0x59ca24,function(_0x37764a){var _0x671537=_0x37764a['get']({'plain':!![]});return _0x671537[_0xc147('0x74')];});return db[_0xc147('0x36')][_0xc147('0x51')]({'where':{'id':_0x20105a[_0xc147('0x4e')]['id']}})[_0xc147('0x2b')](function(_0x4f8581){return db[_0xc147('0x75')][_0xc147('0x76')](function(_0x453dcc){return _0x4f8581['addTeams'](_0x4ae10b,{'transaction':_0x453dcc})['then'](function(){return BPromise[_0xc147('0x77')](_0x2afb24,function(_0x319eb6){return db[_0xc147('0x60')]['findOrCreate']({'where':{'UserId':_0x319eb6['id'],'WhatsappQueueId':_0x20105a['params']['id']},'transaction':_0x453dcc});});})[_0xc147('0x2b')](function(){_0x2afb24['forEach'](function(_0x377781){socket['emit']('userWhatsappQueue:save',{'UserId':_0x377781['id'],'WhatsappQueueId':_0x4f8581['id']});});});});});}})[_0xc147('0x2b')](respondWithStatusCode(_0x5bf614,null))[_0xc147('0x5b')](handleError(_0x5bf614,null));};exports[_0xc147('0x78')]=function(_0x47cd3a,_0x20eb68,_0x1fe7d9){return db['Team'][_0xc147('0x4b')]({'where':{'id':_0x47cd3a[_0xc147('0x3a')]['ids']},'attributes':['id'],'include':[{'model':db[_0xc147('0x64')],'as':_0xc147('0x74'),'attributes':['id'],'raw':!![]}]})[_0xc147('0x2b')](handleEntityNotFound(_0x20eb68,null))['then'](function(_0x2be968){var _0x56a60f=_[_0xc147('0x35')](_0x2be968,'id');var _0x2052d7=[];var _0xd67e9e=[];var _0x5a26d0=squel['select']();_0x5a26d0['field'](_0xc147('0x79'))['from'](_0xc147('0x7a'),'tq')['join'](_0xc147('0x7b'),'ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0xc147('0x7c'),_0x47cd3a['params']['id']);for(var _0x1279cc=0x0;_0x1279cc<_0x2be968['length'];_0x1279cc+=0x1){let _0x427c98=_0x2be968[_0x1279cc];for(var _0x3897e9=0x0;_0x3897e9<_0x427c98[_0xc147('0x74')][_0xc147('0x40')];_0x3897e9+=0x1){let _0x3a9a50=_0x427c98['Agents'][_0x3897e9];var _0x4fdb65=_0x5a26d0[_0xc147('0x7d')]();_0x4fdb65[_0xc147('0x44')](_0xc147('0x7e'),_0x3a9a50['id']);_0xd67e9e[_0xc147('0x7f')](db['sequelize'][_0xc147('0x3a')](_0x4fdb65[_0xc147('0x80')](),{'type':db[_0xc147('0x75')][_0xc147('0x81')][_0xc147('0x82')]})[_0xc147('0x2b')](function(_0x8b1b1){if(_0x8b1b1[_0xc147('0x40')]===0x1){return _0x3a9a50['id'];}else{var _0x245da7=_[_0xc147('0x83')](_[_0xc147('0x35')](_0x8b1b1,_0xc147('0x84')),function(_0x43a426){return _[_0xc147('0x85')](_0x56a60f,_0x43a426);});if(_0x245da7){return _0x3a9a50['id'];}}}));}}return BPromise[_0xc147('0x86')](_0xd67e9e)['then'](function(_0x1b1b1e){_0x2052d7=_(_0x2052d7)[_0xc147('0x87')](_0x1b1b1e)[_0xc147('0x88')]()['value']();return db[_0xc147('0x36')][_0xc147('0x51')]({'where':{'id':_0x47cd3a[_0xc147('0x4e')]['id']}})[_0xc147('0x2b')](function(_0xdee90e){return db[_0xc147('0x75')][_0xc147('0x76')](function(_0x3fdf6b){return _0xdee90e[_0xc147('0x78')](_0x47cd3a[_0xc147('0x3a')][_0xc147('0x6f')],{'transaction':_0x3fdf6b})[_0xc147('0x2b')](function(){if(!_['isEmpty'](_0x2052d7)){return _0xdee90e['removeAgents'](_0x2052d7,{'transaction':_0x3fdf6b});}})[_0xc147('0x2b')](function(){_0x2052d7[_0xc147('0x89')](function(_0x356659){socket[_0xc147('0x8a')](_0xc147('0x8b'),{'UserId':_0x356659,'WhatsappQueueId':_0xdee90e['id']});});});});});});})['then'](respondWithStatusCode(_0x20eb68,null))[_0xc147('0x5b')](handleError(_0x20eb68,null));};exports[_0xc147('0x8c')]=function(_0x16fa7f,_0x5b9662,_0x2ff520){return db['WhatsappQueue'][_0xc147('0x51')]({'where':{'id':_0x16fa7f[_0xc147('0x4e')]['id']}})[_0xc147('0x2b')](handleEntityNotFound(_0x5b9662,null))[_0xc147('0x2b')](function(_0x5b5707){if(_0x5b5707){return _0x5b5707['addAgents'](_0x16fa7f[_0xc147('0x53')][_0xc147('0x6f')],_[_0xc147('0x8d')](_0x16fa7f['body'],[_0xc147('0x6f'),'id'])||{})[_0xc147('0x8e')](function(_0x408174){for(var _0x29003f=0x0;_0x29003f<_0x16fa7f[_0xc147('0x53')][_0xc147('0x6f')][_0xc147('0x40')];_0x29003f+=0x1){socket[_0xc147('0x8a')](_0xc147('0x8f'),{'UserId':Number(_0x16fa7f[_0xc147('0x53')][_0xc147('0x6f')][_0x29003f]),'WhatsappQueueId':Number(_0x16fa7f['params']['id'])});}return _0x408174;});}})[_0xc147('0x2b')](respondWithResult(_0x5b9662,null))[_0xc147('0x5b')](handleError(_0x5b9662,null));};exports['removeAgents']=function(_0x141599,_0x393d49,_0x2f6162){return db[_0xc147('0x36')][_0xc147('0x51')]({'where':{'id':_0x141599[_0xc147('0x4e')]['id']}})[_0xc147('0x2b')](handleEntityNotFound(_0x393d49,null))['then'](function(_0x4a1c88){if(_0x4a1c88){return _0x4a1c88[_0xc147('0x90')](_0x141599[_0xc147('0x3a')][_0xc147('0x6f')])[_0xc147('0x2b')](function(){if(_[_0xc147('0x91')](_0x141599['query'][_0xc147('0x6f')])){for(var _0x533c01=0x0;_0x533c01<_0x141599['query'][_0xc147('0x6f')][_0xc147('0x40')];_0x533c01+=0x1){socket[_0xc147('0x8a')](_0xc147('0x8b'),{'UserId':Number(_0x141599[_0xc147('0x3a')][_0xc147('0x6f')][_0x533c01]),'WhatsappQueueId':Number(_0x141599[_0xc147('0x4e')]['id'])});}}else{socket[_0xc147('0x8a')](_0xc147('0x8b'),{'UserId':Number(_0x141599['query'][_0xc147('0x6f')]),'WhatsappQueueId':Number(_0x141599[_0xc147('0x4e')]['id'])});}});}})[_0xc147('0x2b')](respondWithStatusCode(_0x393d49,null))['catch'](handleError(_0x393d49,null));};exports[_0xc147('0x92')]=function(_0x270531,_0x2ebd32,_0x2602e1){var _0x57ae1f={};var _0x4cbf26={};var _0xd08fde;var _0x543e9d;return db[_0xc147('0x36')][_0xc147('0x5f')]({'where':{'id':_0x270531[_0xc147('0x4e')]['id']}})[_0xc147('0x2b')](handleEntityNotFound(_0x2ebd32,null))[_0xc147('0x2b')](function(_0x386ff8){if(_0x386ff8){_0xd08fde=_0x386ff8;_0x4cbf26['model']=_['keys'](db[_0xc147('0x64')]['rawAttributes']);_0x4cbf26['query']=_[_0xc147('0x4f')](_0x270531[_0xc147('0x3a')]);_0x4cbf26['filters']=_[_0xc147('0x3e')](_0x4cbf26[_0xc147('0x3c')],_0x4cbf26[_0xc147('0x3a')]);_0x57ae1f[_0xc147('0x3d')]=_['intersection'](_0x4cbf26[_0xc147('0x3c')],qs[_0xc147('0x3f')](_0x270531[_0xc147('0x3a')][_0xc147('0x3f')]));_0x57ae1f[_0xc147('0x3d')]=_0x57ae1f['attributes'][_0xc147('0x40')]?_0x57ae1f[_0xc147('0x3d')]:_0x4cbf26[_0xc147('0x3c')];_0x57ae1f[_0xc147('0x42')]=qs[_0xc147('0x43')](_0x270531['query']['sort']);_0x57ae1f[_0xc147('0x44')]=qs[_0xc147('0x3b')](_['pick'](_0x270531[_0xc147('0x3a')],_0x4cbf26[_0xc147('0x3b')]));if(_0x270531[_0xc147('0x3a')]['filter']){_0x57ae1f[_0xc147('0x44')]=_[_0xc147('0x47')](_0x57ae1f[_0xc147('0x44')],{'$or':_[_0xc147('0x35')](_0x57ae1f[_0xc147('0x3d')],function(_0x241b59){var _0x1d1482={};_0x1d1482[_0x241b59]={'$like':'%'+_0x270531[_0xc147('0x3a')][_0xc147('0x46')]+'%'};return _0x1d1482;})});}_0x57ae1f=_[_0xc147('0x47')]({},_0x57ae1f,_0x270531['options']);return _0xd08fde['getAgents'](_0x57ae1f);}})[_0xc147('0x2b')](function(_0x55d9b4){if(_0x55d9b4){_0x543e9d=_0x55d9b4['length'];if(!_0x270531['query'][_0xc147('0x41')](_0xc147('0x61'))){_0x57ae1f[_0xc147('0x22')]=qs[_0xc147('0x22')](_0x270531[_0xc147('0x3a')][_0xc147('0x22')]);_0x57ae1f[_0xc147('0x20')]=qs['offset'](_0x270531[_0xc147('0x3a')][_0xc147('0x20')]);}return _0xd08fde[_0xc147('0x92')](_0x57ae1f);}})[_0xc147('0x2b')](function(_0x177d42){if(_0x177d42){return _0x177d42?{'count':_0x543e9d,'rows':_0x177d42}:null;}})[_0xc147('0x2b')](respondWithResult(_0x2ebd32,null))[_0xc147('0x5b')](handleError(_0x2ebd32,null));};