9e2edc902e35822af09a4e091f3230427eed7f9d
[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 _0xdf03=['localhost','socket.io-emitter','./whatsappQueue.socket','register','sendStatus','status','end','count','offset','set','Content-Range','json','apply','reject','update','then','destroy','get','error','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','filter','type','VIRTUAL','options','WhatsappQueue','rows','show','includeAll','include','merge','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','WhatsappQueues','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserWhatsappQueue','nolimit','pick','WhatsappQueueId','findAll','User','findAndCountAll','UserId','updatedAt','format','%s/%s','SIP','whatsappPause','createdAt','Team','getTeams','ids','online','voicePause','interface','flatMap','Agents','sequelize','transaction','each','forEach','emit','userWhatsappQueue:save','removeTeams','select','tq.TeamId','from','team_has_whatsapp_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','includes','all','compact','value','isEmpty','userWhatsappQueue:remove','addAgents','removeAgents','isArray','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xdf03,0x75));var _0x3df0=function(_0x131585,_0x1abd33){_0x131585=_0x131585-0x0;var _0x1fcca2=_0xdf03[_0x131585];return _0x1fcca2;};'use strict';var pdf=require(_0x3df0('0x0'));var emlformat=require(_0x3df0('0x1'));var rimraf=require(_0x3df0('0x2'));var zipdir=require(_0x3df0('0x3'));var jsonpatch=require(_0x3df0('0x4'));var rp=require(_0x3df0('0x5'));var moment=require(_0x3df0('0x6'));var BPromise=require(_0x3df0('0x7'));var Mustache=require(_0x3df0('0x8'));var util=require(_0x3df0('0x9'));var path=require(_0x3df0('0xa'));var sox=require(_0x3df0('0xb'));var csv=require(_0x3df0('0xc'));var ejs=require(_0x3df0('0xd'));var fs=require('fs');var _=require(_0x3df0('0xe'));var squel=require(_0x3df0('0xf'));var crypto=require(_0x3df0('0x10'));var jsforce=require(_0x3df0('0x11'));var deskjs=require(_0x3df0('0x12'));var toCsv=require(_0x3df0('0xc'));var querystring=require(_0x3df0('0x13'));var Papa=require(_0x3df0('0x14'));var Redis=require(_0x3df0('0x15'));var authService=require(_0x3df0('0x16'));var qs=require(_0x3df0('0x17'));var as=require(_0x3df0('0x18'));var hardwareService=require(_0x3df0('0x19'));var logger=require(_0x3df0('0x1a'))(_0x3df0('0x1b'));var utils=require(_0x3df0('0x1c'));var config=require(_0x3df0('0x1d'));var licenseUtil=require(_0x3df0('0x1e'));var db=require(_0x3df0('0x1f'))['db'];config[_0x3df0('0x20')]=_[_0x3df0('0x21')](config['redis'],{'host':_0x3df0('0x22'),'port':0x18eb});var socket=require(_0x3df0('0x23'))(new Redis(config[_0x3df0('0x20')]));require(_0x3df0('0x24'))[_0x3df0('0x25')](socket);function respondWithStatusCode(_0x34b71e,_0x1c99fa){_0x1c99fa=_0x1c99fa||0xcc;return function(_0x3eeb9d){if(_0x3eeb9d){return _0x34b71e[_0x3df0('0x26')](_0x1c99fa);}return _0x34b71e[_0x3df0('0x27')](_0x1c99fa)[_0x3df0('0x28')]();};}function respondWithResult(_0x61035c,_0x35af80){_0x35af80=_0x35af80||0xc8;return function(_0x5c2519){if(_0x5c2519){return _0x61035c[_0x3df0('0x27')](_0x35af80)['json'](_0x5c2519);}};}function respondWithFilteredResult(_0x4533cc,_0xabaca3){return function(_0x113536){if(_0x113536){var _0x45ce97=_0x113536[_0x3df0('0x29')],_0x3aeb29=_0xabaca3[_0x3df0('0x2a')],_0x853165=_0xabaca3[_0x3df0('0x2a')]+_0xabaca3['limit'],_0x56512f;if(_0x853165>=_0x45ce97){_0x853165=_0x45ce97;_0x56512f=0xc8;}else{_0x56512f=0xce;}_0x4533cc[_0x3df0('0x27')](_0x56512f);return _0x4533cc[_0x3df0('0x2b')](_0x3df0('0x2c'),_0x3aeb29+'-'+_0x853165+'/'+_0x45ce97)[_0x3df0('0x2d')](_0x113536);}return null;};}function patchUpdates(_0xa75f2c){return function(_0xe5b89a){try{jsonpatch[_0x3df0('0x2e')](_0xe5b89a,_0xa75f2c,!![]);}catch(_0x44c83b){return BPromise[_0x3df0('0x2f')](_0x44c83b);}return _0xe5b89a['save']();};}function saveUpdates(_0x33ded7,_0x3bc7de){return function(_0x37f665){if(_0x37f665){return _0x37f665[_0x3df0('0x30')](_0x33ded7)[_0x3df0('0x31')](function(_0x481475){return _0x481475;});}return null;};}function removeEntity(_0x296301,_0xba68f5){return function(_0x3edf61){if(_0x3edf61){return _0x3edf61[_0x3df0('0x32')]()[_0x3df0('0x31')](function(){var _0x1d2523=_0x3edf61[_0x3df0('0x33')]({'plain':!![]});var _0x148c21='WhatsappQueues';return db['UserProfileResource'][_0x3df0('0x32')]({'where':{'type':_0x148c21,'resourceId':_0x1d2523['id']}})[_0x3df0('0x31')](function(){return _0x3edf61;});})[_0x3df0('0x31')](function(){_0x296301['status'](0xcc)[_0x3df0('0x28')]();});}};}function handleEntityNotFound(_0x49569e,_0x27a7f5){return function(_0x10863f){if(!_0x10863f){_0x49569e[_0x3df0('0x26')](0x194);}return _0x10863f;};}function handleError(_0x249b28,_0x217130){_0x217130=_0x217130||0x1f4;return function(_0x36bc00){logger[_0x3df0('0x34')](_0x36bc00['stack']);if(_0x36bc00[_0x3df0('0x35')]){delete _0x36bc00[_0x3df0('0x35')];}_0x249b28[_0x3df0('0x27')](_0x217130)[_0x3df0('0x36')](_0x36bc00);};}exports[_0x3df0('0x37')]=function(_0x256af7,_0x13dc31){var _0x532e0a={},_0x578ee6={},_0x401d55={'count':0x0,'rows':[]};var _0x442db3=_[_0x3df0('0x38')](db['WhatsappQueue'][_0x3df0('0x39')],function(_0x18dc16){return{'name':_0x18dc16[_0x3df0('0x3a')],'type':_0x18dc16['type'][_0x3df0('0x3b')]};});_0x578ee6[_0x3df0('0x3c')]=_[_0x3df0('0x38')](_0x442db3,_0x3df0('0x35'));_0x578ee6[_0x3df0('0x3d')]=_[_0x3df0('0x3e')](_0x256af7[_0x3df0('0x3d')]);_0x578ee6[_0x3df0('0x3f')]=_[_0x3df0('0x40')](_0x578ee6['model'],_0x578ee6['query']);_0x532e0a[_0x3df0('0x41')]=_[_0x3df0('0x40')](_0x578ee6['model'],qs[_0x3df0('0x42')](_0x256af7[_0x3df0('0x3d')][_0x3df0('0x42')]));_0x532e0a[_0x3df0('0x41')]=_0x532e0a[_0x3df0('0x41')][_0x3df0('0x43')]?_0x532e0a[_0x3df0('0x41')]:_0x578ee6[_0x3df0('0x3c')];if(!_0x256af7[_0x3df0('0x3d')][_0x3df0('0x44')]('nolimit')){_0x532e0a[_0x3df0('0x45')]=qs['limit'](_0x256af7['query']['limit']);_0x532e0a[_0x3df0('0x2a')]=qs['offset'](_0x256af7[_0x3df0('0x3d')][_0x3df0('0x2a')]);}_0x532e0a[_0x3df0('0x46')]=qs[_0x3df0('0x47')](_0x256af7[_0x3df0('0x3d')][_0x3df0('0x47')]);_0x532e0a[_0x3df0('0x48')]=qs[_0x3df0('0x3f')](_['pick'](_0x256af7[_0x3df0('0x3d')],_0x578ee6['filters']),_0x442db3);if(_0x256af7[_0x3df0('0x3d')][_0x3df0('0x49')]){_0x532e0a[_0x3df0('0x48')]=_['merge'](_0x532e0a[_0x3df0('0x48')],{'$or':_[_0x3df0('0x38')](_0x442db3,function(_0x35285f){if(_0x35285f[_0x3df0('0x4a')]!==_0x3df0('0x4b')){var _0x1bf08e={};_0x1bf08e[_0x35285f['name']]={'$like':'%'+_0x256af7[_0x3df0('0x3d')][_0x3df0('0x49')]+'%'};return _0x1bf08e;}})});}_0x532e0a=_['merge']({},_0x532e0a,_0x256af7[_0x3df0('0x4c')]);var _0x25b84a={'where':_0x532e0a[_0x3df0('0x48')]};return db['WhatsappQueue'][_0x3df0('0x29')](_0x25b84a)[_0x3df0('0x31')](function(_0x34c1f0){_0x401d55[_0x3df0('0x29')]=_0x34c1f0;if(_0x256af7[_0x3df0('0x3d')]['includeAll']){_0x532e0a['include']=[{'all':!![]}];}return db[_0x3df0('0x4d')]['findAll'](_0x532e0a);})[_0x3df0('0x31')](function(_0x2cb41b){_0x401d55[_0x3df0('0x4e')]=_0x2cb41b;return _0x401d55;})[_0x3df0('0x31')](respondWithFilteredResult(_0x13dc31,_0x532e0a))['catch'](handleError(_0x13dc31,null));};exports[_0x3df0('0x4f')]=function(_0x233f54,_0x52e30c){var _0x40602a={'raw':!![],'where':{'id':_0x233f54['params']['id']}},_0x1cce6a={};_0x1cce6a[_0x3df0('0x3c')]=_[_0x3df0('0x3e')](db[_0x3df0('0x4d')][_0x3df0('0x39')]);_0x1cce6a[_0x3df0('0x3d')]=_[_0x3df0('0x3e')](_0x233f54[_0x3df0('0x3d')]);_0x1cce6a[_0x3df0('0x3f')]=_[_0x3df0('0x40')](_0x1cce6a[_0x3df0('0x3c')],_0x1cce6a[_0x3df0('0x3d')]);_0x40602a[_0x3df0('0x41')]=_[_0x3df0('0x40')](_0x1cce6a[_0x3df0('0x3c')],qs['fields'](_0x233f54['query']['fields']));_0x40602a[_0x3df0('0x41')]=_0x40602a[_0x3df0('0x41')][_0x3df0('0x43')]?_0x40602a[_0x3df0('0x41')]:_0x1cce6a['model'];if(_0x233f54['query'][_0x3df0('0x50')]){_0x40602a[_0x3df0('0x51')]=[{'all':!![]}];}_0x40602a=_[_0x3df0('0x52')]({},_0x40602a,_0x233f54[_0x3df0('0x4c')]);return db[_0x3df0('0x4d')][_0x3df0('0x53')](_0x40602a)[_0x3df0('0x31')](handleEntityNotFound(_0x52e30c,null))[_0x3df0('0x31')](respondWithResult(_0x52e30c,null))[_0x3df0('0x54')](handleError(_0x52e30c,null));};exports[_0x3df0('0x55')]=function(_0x4466ea,_0x28bef8){return db[_0x3df0('0x4d')][_0x3df0('0x55')](_0x4466ea[_0x3df0('0x56')],{})['then'](function(_0x466b99){var _0x3f4457=_0x4466ea[_0x3df0('0x57')][_0x3df0('0x33')]({'plain':!![]});if(!_0x3f4457)throw new Error(_0x3df0('0x58'));if(_0x3f4457['role']===_0x3df0('0x57')){var _0x3668b8=_0x466b99[_0x3df0('0x33')]({'plain':!![]});var _0x206d28=_0x3df0('0x59');return db['UserProfileSection'][_0x3df0('0x53')]({'where':{'name':_0x206d28,'userProfileId':_0x3f4457[_0x3df0('0x5a')]},'raw':!![]})[_0x3df0('0x31')](function(_0x15b97a){if(_0x15b97a&&_0x15b97a[_0x3df0('0x5b')]===0x0){return db[_0x3df0('0x5c')][_0x3df0('0x55')]({'name':_0x3668b8[_0x3df0('0x35')],'resourceId':_0x3668b8['id'],'type':_0x15b97a[_0x3df0('0x35')],'sectionId':_0x15b97a['id']},{})[_0x3df0('0x31')](function(){return _0x466b99;});}else{return _0x466b99;}})[_0x3df0('0x54')](function(_0x49abb4){logger[_0x3df0('0x34')](_0x3df0('0x5d'),_0x49abb4);throw _0x49abb4;});}return _0x466b99;})[_0x3df0('0x31')](respondWithResult(_0x28bef8,0xc9))[_0x3df0('0x54')](handleError(_0x28bef8,null));};exports['update']=function(_0x5df09e,_0x5efa27){if(_0x5df09e[_0x3df0('0x56')]['id']){delete _0x5df09e[_0x3df0('0x56')]['id'];}return db['WhatsappQueue']['find']({'where':{'id':_0x5df09e['params']['id']}})['then'](handleEntityNotFound(_0x5efa27,null))[_0x3df0('0x31')](saveUpdates(_0x5df09e[_0x3df0('0x56')],null))[_0x3df0('0x31')](respondWithResult(_0x5efa27,null))[_0x3df0('0x54')](handleError(_0x5efa27,null));};exports[_0x3df0('0x32')]=function(_0x27c1a8,_0x3f61f9){return db[_0x3df0('0x4d')][_0x3df0('0x53')]({'where':{'id':_0x27c1a8[_0x3df0('0x5e')]['id']}})[_0x3df0('0x31')](handleEntityNotFound(_0x3f61f9,null))['then'](removeEntity(_0x3f61f9,null))[_0x3df0('0x54')](handleError(_0x3f61f9,null));};exports[_0x3df0('0x5f')]=function(_0xd4a08a,_0x370acf){return db[_0x3df0('0x4d')][_0x3df0('0x5f')]()['then'](respondWithResult(_0x370acf,null))['catch'](handleError(_0x370acf,null));};exports[_0x3df0('0x60')]=function(_0x56ee92,_0x3cff1a,_0x1afc6e){var _0x4d58a3={'raw':!![],'where':{}},_0x1cf94a={},_0x93b822;return db[_0x3df0('0x4d')][_0x3df0('0x61')]({'where':{'id':_0x56ee92[_0x3df0('0x5e')]['id']}})[_0x3df0('0x31')](handleEntityNotFound(_0x3cff1a,null))[_0x3df0('0x31')](function(_0x1a0d09){if(_0x1a0d09){_0x93b822=_0x1a0d09[_0x3df0('0x33')]({'plain':!![]});_0x1cf94a['model']=_[_0x3df0('0x3e')](db[_0x3df0('0x62')][_0x3df0('0x39')]);_0x1cf94a['query']=_[_0x3df0('0x3e')](_0x56ee92[_0x3df0('0x3d')]);_0x1cf94a['filters']=_['intersection'](_0x1cf94a[_0x3df0('0x3c')],_0x1cf94a['query']);_0x4d58a3[_0x3df0('0x41')]=_[_0x3df0('0x40')](_0x1cf94a['model'],qs[_0x3df0('0x42')](_0x56ee92[_0x3df0('0x3d')][_0x3df0('0x42')]));_0x4d58a3[_0x3df0('0x41')]=_0x4d58a3[_0x3df0('0x41')][_0x3df0('0x43')]?_0x4d58a3[_0x3df0('0x41')]:_0x1cf94a['model'];if(!_0x56ee92[_0x3df0('0x3d')][_0x3df0('0x44')](_0x3df0('0x63'))){_0x4d58a3[_0x3df0('0x45')]=qs['limit'](_0x56ee92[_0x3df0('0x3d')][_0x3df0('0x45')]);_0x4d58a3[_0x3df0('0x2a')]=qs[_0x3df0('0x2a')](_0x56ee92[_0x3df0('0x3d')][_0x3df0('0x2a')]);}_0x4d58a3[_0x3df0('0x46')]=qs[_0x3df0('0x47')](_0x56ee92['query'][_0x3df0('0x47')]);_0x4d58a3['where']=qs[_0x3df0('0x3f')](_[_0x3df0('0x64')](_0x56ee92[_0x3df0('0x3d')],_0x1cf94a[_0x3df0('0x3f')]));_0x4d58a3[_0x3df0('0x48')][_0x3df0('0x65')]=_0x1a0d09['id'];if(_0x56ee92[_0x3df0('0x3d')]['filter']){_0x4d58a3[_0x3df0('0x48')]=_['merge'](_0x4d58a3[_0x3df0('0x48')],{'$or':_['map'](_0x4d58a3[_0x3df0('0x41')],function(_0xf0ecac){var _0x2e4d57={};_0x2e4d57[_0xf0ecac]={'$like':'%'+_0x56ee92['query'][_0x3df0('0x49')]+'%'};return _0x2e4d57;})});}_0x4d58a3=_[_0x3df0('0x52')]({},_0x4d58a3,_0x56ee92[_0x3df0('0x4c')]);return db['UserWhatsappQueue'][_0x3df0('0x66')](_0x4d58a3);}})['then'](function(_0x3b4665){if(_0x3b4665){return db[_0x3df0('0x67')][_0x3df0('0x68')]({'where':{'id':_[_0x3df0('0x38')](_0x3b4665,_0x3df0('0x69')),'role':'agent'},'attributes':['id',_0x3df0('0x35'),'whatsappPause',_0x3df0('0x6a'),'createdAt']});}})[_0x3df0('0x31')](function(_0x2767c6){if(_0x2767c6){return{'count':_0x2767c6[_0x3df0('0x29')],'rows':_['map'](_0x2767c6[_0x3df0('0x4e')],function(_0x21a7c4){return{'membername':_0x21a7c4[_0x3df0('0x35')],'UserId':_0x21a7c4['id'],'queue_name':_0x93b822['name'],'WhatsappQueueId':_0x93b822['id'],'interface':util[_0x3df0('0x6b')](_0x3df0('0x6c'),_0x3df0('0x6d'),_0x21a7c4[_0x3df0('0x35')]),'penalty':0x0,'paused':_0x21a7c4[_0x3df0('0x6e')],'createdAt':_0x21a7c4[_0x3df0('0x6f')],'updatedAt':_0x21a7c4[_0x3df0('0x6a')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x3cff1a,_0x4d58a3))[_0x3df0('0x54')](handleError(_0x3cff1a,null));};exports['getTeams']=function(_0x18339d,_0x2a203f,_0x359563){var _0x50fdfe={};var _0x3900bc={};var _0x4f1152;var _0x3163ca;return db[_0x3df0('0x4d')]['findOne']({'where':{'id':_0x18339d[_0x3df0('0x5e')]['id']}})[_0x3df0('0x31')](handleEntityNotFound(_0x2a203f,null))[_0x3df0('0x31')](function(_0x3499d2){if(_0x3499d2){_0x4f1152=_0x3499d2;_0x3900bc[_0x3df0('0x3c')]=_[_0x3df0('0x3e')](db[_0x3df0('0x70')][_0x3df0('0x39')]);_0x3900bc[_0x3df0('0x3d')]=_[_0x3df0('0x3e')](_0x18339d[_0x3df0('0x3d')]);_0x3900bc[_0x3df0('0x3f')]=_['intersection'](_0x3900bc['model'],_0x3900bc['query']);_0x50fdfe[_0x3df0('0x41')]=_[_0x3df0('0x40')](_0x3900bc['model'],qs[_0x3df0('0x42')](_0x18339d[_0x3df0('0x3d')][_0x3df0('0x42')]));_0x50fdfe[_0x3df0('0x41')]=_0x50fdfe[_0x3df0('0x41')][_0x3df0('0x43')]?_0x50fdfe[_0x3df0('0x41')]:_0x3900bc[_0x3df0('0x3c')];_0x50fdfe[_0x3df0('0x46')]=qs[_0x3df0('0x47')](_0x18339d[_0x3df0('0x3d')][_0x3df0('0x47')]);_0x50fdfe['where']=qs[_0x3df0('0x3f')](_[_0x3df0('0x64')](_0x18339d[_0x3df0('0x3d')],_0x3900bc['filters']));if(_0x18339d['query'][_0x3df0('0x49')]){_0x50fdfe[_0x3df0('0x48')]=_[_0x3df0('0x52')](_0x50fdfe[_0x3df0('0x48')],{'$or':_[_0x3df0('0x38')](_0x50fdfe['attributes'],function(_0x3005f0){var _0x2ca605={};_0x2ca605[_0x3005f0]={'$like':'%'+_0x18339d[_0x3df0('0x3d')]['filter']+'%'};return _0x2ca605;})});}_0x50fdfe=_[_0x3df0('0x52')]({},_0x50fdfe,_0x18339d[_0x3df0('0x4c')]);return _0x4f1152[_0x3df0('0x71')](_0x50fdfe);}})[_0x3df0('0x31')](function(_0x2ac4b2){if(_0x2ac4b2){_0x3163ca=_0x2ac4b2[_0x3df0('0x43')];if(!_0x18339d[_0x3df0('0x3d')][_0x3df0('0x44')](_0x3df0('0x63'))){_0x50fdfe[_0x3df0('0x45')]=qs[_0x3df0('0x45')](_0x18339d[_0x3df0('0x3d')]['limit']);_0x50fdfe[_0x3df0('0x2a')]=qs[_0x3df0('0x2a')](_0x18339d[_0x3df0('0x3d')][_0x3df0('0x2a')]);}return _0x4f1152[_0x3df0('0x71')](_0x50fdfe);}})[_0x3df0('0x31')](function(_0x4d9ed4){if(_0x4d9ed4){return _0x4d9ed4?{'count':_0x3163ca,'rows':_0x4d9ed4}:null;}})['then'](respondWithResult(_0x2a203f,null))[_0x3df0('0x54')](handleError(_0x2a203f,null));};exports['addTeams']=function(_0x3c9141,_0xf12516,_0xa114d4){var _0x160900=_0x3c9141[_0x3df0('0x56')][_0x3df0('0x72')];return db[_0x3df0('0x70')]['findAll']({'where':{'id':_0x160900},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id','name',_0x3df0('0x73'),_0x3df0('0x74'),_0x3df0('0x75')],'raw':!![]}]})['then'](function(_0x156676){if(_0x156676){var _0x452521=_[_0x3df0('0x76')](_0x156676,function(_0x3e84f3){var _0x3f6f33=_0x3e84f3[_0x3df0('0x33')]({'plain':!![]});return _0x3f6f33[_0x3df0('0x77')];});return db[_0x3df0('0x4d')][_0x3df0('0x53')]({'where':{'id':_0x3c9141[_0x3df0('0x5e')]['id']}})[_0x3df0('0x31')](function(_0x54bb95){return db[_0x3df0('0x78')][_0x3df0('0x79')](function(_0x2a065c){return _0x54bb95['addTeams'](_0x160900,{'transaction':_0x2a065c})[_0x3df0('0x31')](function(){return BPromise[_0x3df0('0x7a')](_0x452521,function(_0x41c07e){return db[_0x3df0('0x62')]['findOrCreate']({'where':{'UserId':_0x41c07e['id'],'WhatsappQueueId':_0x3c9141[_0x3df0('0x5e')]['id']},'transaction':_0x2a065c});});})[_0x3df0('0x31')](function(){_0x452521[_0x3df0('0x7b')](function(_0x86b9b8){socket[_0x3df0('0x7c')](_0x3df0('0x7d'),{'UserId':_0x86b9b8['id'],'WhatsappQueueId':_0x54bb95['id']});});});});});}})[_0x3df0('0x31')](respondWithStatusCode(_0xf12516,null))[_0x3df0('0x54')](handleError(_0xf12516,null));};exports[_0x3df0('0x7e')]=function(_0xe26087,_0x2e5415,_0x404c8a){return db[_0x3df0('0x70')][_0x3df0('0x66')]({'where':{'id':_0xe26087[_0x3df0('0x3d')][_0x3df0('0x72')]},'attributes':['id'],'include':[{'model':db[_0x3df0('0x67')],'as':_0x3df0('0x77'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x2e5415,null))['then'](function(_0x5b710a){var _0x35c6d6=_[_0x3df0('0x38')](_0x5b710a,'id');var _0x552d62=[];var _0x55bfb5=[];var _0x249ab2=squel[_0x3df0('0x7f')]();_0x249ab2['field'](_0x3df0('0x80'))[_0x3df0('0x81')](_0x3df0('0x82'),'tq')[_0x3df0('0x83')](_0x3df0('0x84'),'ut',_0x3df0('0x85'))[_0x3df0('0x48')](_0x3df0('0x86'),_0xe26087[_0x3df0('0x5e')]['id']);for(var _0x3343de=0x0;_0x3343de<_0x5b710a[_0x3df0('0x43')];_0x3343de+=0x1){let _0xfaf677=_0x5b710a[_0x3343de];for(var _0x183c74=0x0;_0x183c74<_0xfaf677[_0x3df0('0x77')][_0x3df0('0x43')];_0x183c74+=0x1){let _0x501998=_0xfaf677[_0x3df0('0x77')][_0x183c74];var _0x203bc9=_0x249ab2['clone']();_0x203bc9[_0x3df0('0x48')](_0x3df0('0x87'),_0x501998['id']);_0x55bfb5[_0x3df0('0x88')](db['sequelize']['query'](_0x203bc9[_0x3df0('0x89')](),{'type':db[_0x3df0('0x78')][_0x3df0('0x8a')][_0x3df0('0x8b')]})[_0x3df0('0x31')](function(_0x1dca01){if(_0x1dca01['length']===0x1){return _0x501998['id'];}else{var _0x16aeb6=_[_0x3df0('0x8c')](_[_0x3df0('0x38')](_0x1dca01,'TeamId'),function(_0x58685f){return _[_0x3df0('0x8d')](_0x35c6d6,_0x58685f);});if(_0x16aeb6){return _0x501998['id'];}}}));}}return BPromise[_0x3df0('0x8e')](_0x55bfb5)[_0x3df0('0x31')](function(_0xed7e52){_0x552d62=_(_0x552d62)['union'](_0xed7e52)[_0x3df0('0x8f')]()[_0x3df0('0x90')]();return db['WhatsappQueue'][_0x3df0('0x53')]({'where':{'id':_0xe26087[_0x3df0('0x5e')]['id']}})['then'](function(_0x52d155){return db[_0x3df0('0x78')][_0x3df0('0x79')](function(_0x332af1){return _0x52d155[_0x3df0('0x7e')](_0xe26087[_0x3df0('0x3d')][_0x3df0('0x72')],{'transaction':_0x332af1})['then'](function(){if(!_[_0x3df0('0x91')](_0x552d62)){return _0x52d155['removeAgents'](_0x552d62,{'transaction':_0x332af1});}})[_0x3df0('0x31')](function(){_0x552d62[_0x3df0('0x7b')](function(_0x3e2451){socket[_0x3df0('0x7c')](_0x3df0('0x92'),{'UserId':_0x3e2451,'WhatsappQueueId':_0x52d155['id']});});});});});});})[_0x3df0('0x31')](respondWithStatusCode(_0x2e5415,null))[_0x3df0('0x54')](handleError(_0x2e5415,null));};exports[_0x3df0('0x93')]=function(_0x58e406,_0x249c37,_0x164bbe){return db[_0x3df0('0x4d')]['find']({'where':{'id':_0x58e406[_0x3df0('0x5e')]['id']}})['then'](handleEntityNotFound(_0x249c37,null))[_0x3df0('0x31')](function(_0x3286b3){if(_0x3286b3){return _0x3286b3[_0x3df0('0x93')](_0x58e406['body'][_0x3df0('0x72')],_['omit'](_0x58e406[_0x3df0('0x56')],[_0x3df0('0x72'),'id'])||{})['spread'](function(_0x1dc3f8){for(var _0x37df00=0x0;_0x37df00<_0x58e406[_0x3df0('0x56')][_0x3df0('0x72')][_0x3df0('0x43')];_0x37df00+=0x1){socket[_0x3df0('0x7c')](_0x3df0('0x7d'),{'UserId':_0x58e406[_0x3df0('0x56')][_0x3df0('0x72')][_0x37df00],'WhatsappQueueId':_0x58e406[_0x3df0('0x5e')]['id']});}return _0x1dc3f8;});}})[_0x3df0('0x31')](respondWithResult(_0x249c37,null))[_0x3df0('0x54')](handleError(_0x249c37,null));};exports[_0x3df0('0x94')]=function(_0x51b38b,_0x3c8b11,_0x172d0b){return db[_0x3df0('0x4d')][_0x3df0('0x53')]({'where':{'id':_0x51b38b[_0x3df0('0x5e')]['id']}})[_0x3df0('0x31')](handleEntityNotFound(_0x3c8b11,null))[_0x3df0('0x31')](function(_0x47dfee){if(_0x47dfee){return _0x47dfee['removeAgents'](_0x51b38b['query'][_0x3df0('0x72')])[_0x3df0('0x31')](function(){if(_[_0x3df0('0x95')](_0x51b38b[_0x3df0('0x3d')][_0x3df0('0x72')])){for(var _0x4c5ea0=0x0;_0x4c5ea0<_0x51b38b[_0x3df0('0x3d')][_0x3df0('0x72')][_0x3df0('0x43')];_0x4c5ea0+=0x1){socket['emit'](_0x3df0('0x92'),{'UserId':Number(_0x51b38b[_0x3df0('0x3d')][_0x3df0('0x72')][_0x4c5ea0]),'WhatsappQueueId':Number(_0x51b38b[_0x3df0('0x5e')]['id'])});}}else{socket['emit'](_0x3df0('0x92'),{'UserId':Number(_0x51b38b[_0x3df0('0x3d')]['ids']),'WhatsappQueueId':Number(_0x51b38b[_0x3df0('0x5e')]['id'])});}});}})[_0x3df0('0x31')](respondWithStatusCode(_0x3c8b11,null))[_0x3df0('0x54')](handleError(_0x3c8b11,null));};exports[_0x3df0('0x96')]=function(_0x2a63cc,_0x1aed22,_0x41eeb8){var _0x59944d={};var _0xe78c76={};var _0x48f091;var _0x3ba863;return db['WhatsappQueue'][_0x3df0('0x61')]({'where':{'id':_0x2a63cc[_0x3df0('0x5e')]['id']}})[_0x3df0('0x31')](handleEntityNotFound(_0x1aed22,null))[_0x3df0('0x31')](function(_0x2f0860){if(_0x2f0860){_0x48f091=_0x2f0860;_0xe78c76[_0x3df0('0x3c')]=_[_0x3df0('0x3e')](db[_0x3df0('0x67')][_0x3df0('0x39')]);_0xe78c76['query']=_['keys'](_0x2a63cc[_0x3df0('0x3d')]);_0xe78c76['filters']=_[_0x3df0('0x40')](_0xe78c76[_0x3df0('0x3c')],_0xe78c76[_0x3df0('0x3d')]);_0x59944d[_0x3df0('0x41')]=_[_0x3df0('0x40')](_0xe78c76[_0x3df0('0x3c')],qs[_0x3df0('0x42')](_0x2a63cc[_0x3df0('0x3d')][_0x3df0('0x42')]));_0x59944d[_0x3df0('0x41')]=_0x59944d[_0x3df0('0x41')][_0x3df0('0x43')]?_0x59944d['attributes']:_0xe78c76[_0x3df0('0x3c')];_0x59944d[_0x3df0('0x46')]=qs[_0x3df0('0x47')](_0x2a63cc[_0x3df0('0x3d')][_0x3df0('0x47')]);_0x59944d['where']=qs[_0x3df0('0x3f')](_['pick'](_0x2a63cc[_0x3df0('0x3d')],_0xe78c76[_0x3df0('0x3f')]));if(_0x2a63cc[_0x3df0('0x3d')]['filter']){_0x59944d[_0x3df0('0x48')]=_[_0x3df0('0x52')](_0x59944d[_0x3df0('0x48')],{'$or':_['map'](_0x59944d[_0x3df0('0x41')],function(_0x479a45){var _0x29e887={};_0x29e887[_0x479a45]={'$like':'%'+_0x2a63cc['query'][_0x3df0('0x49')]+'%'};return _0x29e887;})});}_0x59944d=_[_0x3df0('0x52')]({},_0x59944d,_0x2a63cc[_0x3df0('0x4c')]);return _0x48f091['getAgents'](_0x59944d);}})[_0x3df0('0x31')](function(_0x532a5c){if(_0x532a5c){_0x3ba863=_0x532a5c[_0x3df0('0x43')];if(!_0x2a63cc[_0x3df0('0x3d')]['hasOwnProperty'](_0x3df0('0x63'))){_0x59944d['limit']=qs['limit'](_0x2a63cc[_0x3df0('0x3d')][_0x3df0('0x45')]);_0x59944d['offset']=qs[_0x3df0('0x2a')](_0x2a63cc[_0x3df0('0x3d')][_0x3df0('0x2a')]);}return _0x48f091['getAgents'](_0x59944d);}})['then'](function(_0x26993e){if(_0x26993e){return _0x26993e?{'count':_0x3ba863,'rows':_0x26993e}:null;}})[_0x3df0('0x31')](respondWithResult(_0x1aed22,null))[_0x3df0('0x54')](handleError(_0x1aed22,null));};