2a3f006d51c8b85ce359580d868ec37efcb304f0
[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 _0x3000=['query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','name','options','WhatsappQueue','includeAll','findAll','rows','catch','show','keys','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','WhatsappQueues','UserProfileSection','userProfileId','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','describe','getMembers','findOne','UserWhatsappQueue','nolimit','WhatsappQueueId','User','findAndCountAll','UserId','agent','whatsappPause','updatedAt','createdAt','format','SIP','getTeams','addTeams','ids','Team','Agents','online','voicePause','sequelize','transaction','findOrCreate','forEach','emit','userWhatsappQueue:save','removeTeams','select','field','from','team_has_whatsapp_queues','join','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','every','TeamId','includes','value','isEmpty','removeAgents','userWhatsappQueue:remove','addAgents','omit','isArray','getAgents','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','./whatsappQueue.socket','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','end','send','map','rawAttributes','fieldName','type','key'];(function(_0x22dcaa,_0x1f3d23){var _0x4c8a7b=function(_0x15b2be){while(--_0x15b2be){_0x22dcaa['push'](_0x22dcaa['shift']());}};_0x4c8a7b(++_0x1f3d23);}(_0x3000,0xe8));var _0x0300=function(_0x3bf83f,_0x181cac){_0x3bf83f=_0x3bf83f-0x0;var _0x22c4a9=_0x3000[_0x3bf83f];return _0x22c4a9;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0300('0x0'));var zipdir=require(_0x0300('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0300('0x2'));var moment=require(_0x0300('0x3'));var BPromise=require(_0x0300('0x4'));var Mustache=require(_0x0300('0x5'));var util=require('util');var path=require(_0x0300('0x6'));var sox=require(_0x0300('0x7'));var csv=require('to-csv');var ejs=require(_0x0300('0x8'));var fs=require('fs');var fs_extra=require(_0x0300('0x9'));var _=require(_0x0300('0xa'));var squel=require(_0x0300('0xb'));var crypto=require(_0x0300('0xc'));var jsforce=require(_0x0300('0xd'));var deskjs=require(_0x0300('0xe'));var toCsv=require(_0x0300('0xf'));var querystring=require(_0x0300('0x10'));var Papa=require(_0x0300('0x11'));var Redis=require(_0x0300('0x12'));var authService=require(_0x0300('0x13'));var qs=require(_0x0300('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0300('0x15'));var logger=require(_0x0300('0x16'))(_0x0300('0x17'));var utils=require(_0x0300('0x18'));var config=require(_0x0300('0x19'));var licenseUtil=require(_0x0300('0x1a'));var db=require(_0x0300('0x1b'))['db'];config[_0x0300('0x1c')]=_[_0x0300('0x1d')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x0300('0x1c')]));require(_0x0300('0x1e'))['register'](socket);function respondWithStatusCode(_0x1bc0ae,_0x158d5b){_0x158d5b=_0x158d5b||0xcc;return function(_0x44dd17){if(_0x44dd17){return _0x1bc0ae[_0x0300('0x1f')](_0x158d5b);}return _0x1bc0ae['status'](_0x158d5b)['end']();};}function respondWithResult(_0xe33224,_0x2140ec){_0x2140ec=_0x2140ec||0xc8;return function(_0xf671e3){if(_0xf671e3){return _0xe33224[_0x0300('0x20')](_0x2140ec)[_0x0300('0x21')](_0xf671e3);}};}function respondWithFilteredResult(_0x236179,_0x14b822){return function(_0x42868f){if(_0x42868f){var _0x1f1fad=typeof _0x14b822[_0x0300('0x22')]===_0x0300('0x23')&&typeof _0x14b822[_0x0300('0x24')]===_0x0300('0x23');var _0x53d4b5=_0x42868f[_0x0300('0x25')];var _0x580397=_0x1f1fad?0x0:_0x14b822[_0x0300('0x22')];var _0xeec04=_0x1f1fad?_0x42868f[_0x0300('0x25')]:_0x14b822[_0x0300('0x22')]+_0x14b822['limit'];var _0x51ba02;if(_0xeec04>=_0x53d4b5){_0xeec04=_0x53d4b5;_0x51ba02=0xc8;}else{_0x51ba02=0xce;}_0x236179[_0x0300('0x20')](_0x51ba02);return _0x236179[_0x0300('0x26')]('Content-Range',_0x580397+'-'+_0xeec04+'/'+_0x53d4b5)[_0x0300('0x21')](_0x42868f);}return null;};}function patchUpdates(_0x43e506){return function(_0xae73c4){try{jsonpatch[_0x0300('0x27')](_0xae73c4,_0x43e506,!![]);}catch(_0x2e9398){return BPromise[_0x0300('0x28')](_0x2e9398);}return _0xae73c4[_0x0300('0x29')]();};}function saveUpdates(_0x36ad49,_0x805482){return function(_0x339e55){if(_0x339e55){return _0x339e55[_0x0300('0x2a')](_0x36ad49)[_0x0300('0x2b')](function(_0x1ade94){return _0x1ade94;});}return null;};}function removeEntity(_0x552fa3,_0x49c46c){return function(_0x5989fb){if(_0x5989fb){return _0x5989fb[_0x0300('0x2c')]()['then'](function(){var _0x4dfdc7=_0x5989fb['get']({'plain':!![]});var _0x1f9d4f='WhatsappQueues';return db['UserProfileResource'][_0x0300('0x2c')]({'where':{'type':_0x1f9d4f,'resourceId':_0x4dfdc7['id']}})[_0x0300('0x2b')](function(){return _0x5989fb;});})[_0x0300('0x2b')](function(){_0x552fa3[_0x0300('0x20')](0xcc)[_0x0300('0x2d')]();});}};}function handleEntityNotFound(_0x262e02,_0x2ffc90){return function(_0x4e7f46){if(!_0x4e7f46){_0x262e02[_0x0300('0x1f')](0x194);}return _0x4e7f46;};}function handleError(_0x45a8f3,_0x1841c8){_0x1841c8=_0x1841c8||0x1f4;return function(_0xce980){logger['error'](_0xce980['stack']);if(_0xce980['name']){delete _0xce980['name'];}_0x45a8f3[_0x0300('0x20')](_0x1841c8)[_0x0300('0x2e')](_0xce980);};}exports['index']=function(_0x2683da,_0x2dc7ce){var _0x1277cd={},_0x4fb34f={},_0x5c1326={'count':0x0,'rows':[]};var _0x57f74d=_[_0x0300('0x2f')](db['WhatsappQueue'][_0x0300('0x30')],function(_0x7726b5){return{'name':_0x7726b5[_0x0300('0x31')],'type':_0x7726b5[_0x0300('0x32')][_0x0300('0x33')]};});_0x4fb34f['model']=_[_0x0300('0x2f')](_0x57f74d,'name');_0x4fb34f['query']=_['keys'](_0x2683da[_0x0300('0x34')]);_0x4fb34f[_0x0300('0x35')]=_[_0x0300('0x36')](_0x4fb34f[_0x0300('0x37')],_0x4fb34f[_0x0300('0x34')]);_0x1277cd[_0x0300('0x38')]=_['intersection'](_0x4fb34f[_0x0300('0x37')],qs[_0x0300('0x39')](_0x2683da[_0x0300('0x34')][_0x0300('0x39')]));_0x1277cd[_0x0300('0x38')]=_0x1277cd[_0x0300('0x38')][_0x0300('0x3a')]?_0x1277cd[_0x0300('0x38')]:_0x4fb34f[_0x0300('0x37')];if(!_0x2683da[_0x0300('0x34')][_0x0300('0x3b')]('nolimit')){_0x1277cd[_0x0300('0x24')]=qs['limit'](_0x2683da[_0x0300('0x34')][_0x0300('0x24')]);_0x1277cd[_0x0300('0x22')]=qs['offset'](_0x2683da['query'][_0x0300('0x22')]);}_0x1277cd[_0x0300('0x3c')]=qs[_0x0300('0x3d')](_0x2683da[_0x0300('0x34')][_0x0300('0x3d')]);_0x1277cd[_0x0300('0x3e')]=qs['filters'](_[_0x0300('0x3f')](_0x2683da[_0x0300('0x34')],_0x4fb34f[_0x0300('0x35')]),_0x57f74d);if(_0x2683da[_0x0300('0x34')][_0x0300('0x40')]){_0x1277cd['where']=_[_0x0300('0x41')](_0x1277cd[_0x0300('0x3e')],{'$or':_['map'](_0x57f74d,function(_0x38659f){if(_0x38659f[_0x0300('0x32')]!==_0x0300('0x42')){var _0x3642f7={};_0x3642f7[_0x38659f[_0x0300('0x43')]]={'$like':'%'+_0x2683da[_0x0300('0x34')]['filter']+'%'};return _0x3642f7;}})});}_0x1277cd=_[_0x0300('0x41')]({},_0x1277cd,_0x2683da[_0x0300('0x44')]);var _0x4e0d8e={'where':_0x1277cd['where']};return db[_0x0300('0x45')][_0x0300('0x25')](_0x4e0d8e)['then'](function(_0x146bd9){_0x5c1326['count']=_0x146bd9;if(_0x2683da[_0x0300('0x34')][_0x0300('0x46')]){_0x1277cd['include']=[{'all':!![]}];}return db[_0x0300('0x45')][_0x0300('0x47')](_0x1277cd);})[_0x0300('0x2b')](function(_0xb506d9){_0x5c1326[_0x0300('0x48')]=_0xb506d9;return _0x5c1326;})[_0x0300('0x2b')](respondWithFilteredResult(_0x2dc7ce,_0x1277cd))[_0x0300('0x49')](handleError(_0x2dc7ce,null));};exports[_0x0300('0x4a')]=function(_0x53ec68,_0x48b09e){var _0x2b9536={'raw':!![],'where':{'id':_0x53ec68['params']['id']}},_0x490259={};_0x490259[_0x0300('0x37')]=_[_0x0300('0x4b')](db[_0x0300('0x45')][_0x0300('0x30')]);_0x490259[_0x0300('0x34')]=_[_0x0300('0x4b')](_0x53ec68[_0x0300('0x34')]);_0x490259[_0x0300('0x35')]=_[_0x0300('0x36')](_0x490259[_0x0300('0x37')],_0x490259[_0x0300('0x34')]);_0x2b9536[_0x0300('0x38')]=_[_0x0300('0x36')](_0x490259[_0x0300('0x37')],qs[_0x0300('0x39')](_0x53ec68[_0x0300('0x34')][_0x0300('0x39')]));_0x2b9536[_0x0300('0x38')]=_0x2b9536[_0x0300('0x38')][_0x0300('0x3a')]?_0x2b9536[_0x0300('0x38')]:_0x490259[_0x0300('0x37')];if(_0x53ec68[_0x0300('0x34')][_0x0300('0x46')]){_0x2b9536[_0x0300('0x4c')]=[{'all':!![]}];}_0x2b9536=_[_0x0300('0x41')]({},_0x2b9536,_0x53ec68[_0x0300('0x44')]);return db['WhatsappQueue'][_0x0300('0x4d')](_0x2b9536)[_0x0300('0x2b')](handleEntityNotFound(_0x48b09e,null))[_0x0300('0x2b')](respondWithResult(_0x48b09e,null))[_0x0300('0x49')](handleError(_0x48b09e,null));};exports[_0x0300('0x4e')]=function(_0x4eb45a,_0x470354){return db[_0x0300('0x45')][_0x0300('0x4e')](_0x4eb45a['body'],{})[_0x0300('0x2b')](function(_0x3cde09){var _0x26acd3=_0x4eb45a[_0x0300('0x4f')]['get']({'plain':!![]});if(!_0x26acd3)throw new Error(_0x0300('0x50'));if(_0x26acd3[_0x0300('0x51')]===_0x0300('0x4f')){var _0x40aaab=_0x3cde09['get']({'plain':!![]});var _0x1871d5=_0x0300('0x52');return db[_0x0300('0x53')]['find']({'where':{'name':_0x1871d5,'userProfileId':_0x26acd3[_0x0300('0x54')]},'raw':!![]})['then'](function(_0x368ddc){if(_0x368ddc&&_0x368ddc['autoAssociation']===0x0){return db[_0x0300('0x55')][_0x0300('0x4e')]({'name':_0x40aaab[_0x0300('0x43')],'resourceId':_0x40aaab['id'],'type':_0x368ddc[_0x0300('0x43')],'sectionId':_0x368ddc['id']},{})[_0x0300('0x2b')](function(){return _0x3cde09;});}else{return _0x3cde09;}})[_0x0300('0x49')](function(_0x2da0fc){logger[_0x0300('0x56')](_0x0300('0x57'),_0x2da0fc);throw _0x2da0fc;});}return _0x3cde09;})['then'](respondWithResult(_0x470354,0xc9))[_0x0300('0x49')](handleError(_0x470354,null));};exports[_0x0300('0x2a')]=function(_0x47b7db,_0xcf29c3){if(_0x47b7db[_0x0300('0x58')]['id']){delete _0x47b7db['body']['id'];}return db[_0x0300('0x45')]['find']({'where':{'id':_0x47b7db[_0x0300('0x59')]['id']}})['then'](handleEntityNotFound(_0xcf29c3,null))['then'](saveUpdates(_0x47b7db[_0x0300('0x58')],null))['then'](respondWithResult(_0xcf29c3,null))[_0x0300('0x49')](handleError(_0xcf29c3,null));};exports[_0x0300('0x2c')]=function(_0x1ee272,_0x175d37){return db[_0x0300('0x45')][_0x0300('0x4d')]({'where':{'id':_0x1ee272[_0x0300('0x59')]['id']}})[_0x0300('0x2b')](handleEntityNotFound(_0x175d37,null))[_0x0300('0x2b')](removeEntity(_0x175d37,null))['catch'](handleError(_0x175d37,null));};exports[_0x0300('0x5a')]=function(_0x505913,_0x405bdc){return db[_0x0300('0x45')][_0x0300('0x5a')]()[_0x0300('0x2b')](respondWithResult(_0x405bdc,null))[_0x0300('0x49')](handleError(_0x405bdc,null));};exports[_0x0300('0x5b')]=function(_0x14b0c4,_0xc5d67d,_0x298044){var _0x2b64c1={'raw':!![],'where':{}},_0x4e869e={},_0x2f87dd;return db[_0x0300('0x45')][_0x0300('0x5c')]({'where':{'id':_0x14b0c4['params']['id']}})[_0x0300('0x2b')](handleEntityNotFound(_0xc5d67d,null))[_0x0300('0x2b')](function(_0x3b97fd){if(_0x3b97fd){_0x2f87dd=_0x3b97fd['get']({'plain':!![]});_0x4e869e[_0x0300('0x37')]=_[_0x0300('0x4b')](db[_0x0300('0x5d')][_0x0300('0x30')]);_0x4e869e['query']=_[_0x0300('0x4b')](_0x14b0c4[_0x0300('0x34')]);_0x4e869e['filters']=_['intersection'](_0x4e869e[_0x0300('0x37')],_0x4e869e[_0x0300('0x34')]);_0x2b64c1[_0x0300('0x38')]=_[_0x0300('0x36')](_0x4e869e[_0x0300('0x37')],qs['fields'](_0x14b0c4['query'][_0x0300('0x39')]));_0x2b64c1['attributes']=_0x2b64c1[_0x0300('0x38')][_0x0300('0x3a')]?_0x2b64c1['attributes']:_0x4e869e[_0x0300('0x37')];if(!_0x14b0c4[_0x0300('0x34')]['hasOwnProperty'](_0x0300('0x5e'))){_0x2b64c1[_0x0300('0x24')]=qs[_0x0300('0x24')](_0x14b0c4['query'][_0x0300('0x24')]);_0x2b64c1['offset']=qs[_0x0300('0x22')](_0x14b0c4[_0x0300('0x34')]['offset']);}_0x2b64c1[_0x0300('0x3c')]=qs[_0x0300('0x3d')](_0x14b0c4[_0x0300('0x34')][_0x0300('0x3d')]);_0x2b64c1[_0x0300('0x3e')]=qs[_0x0300('0x35')](_[_0x0300('0x3f')](_0x14b0c4['query'],_0x4e869e[_0x0300('0x35')]));_0x2b64c1[_0x0300('0x3e')][_0x0300('0x5f')]=_0x3b97fd['id'];if(_0x14b0c4[_0x0300('0x34')][_0x0300('0x40')]){_0x2b64c1[_0x0300('0x3e')]=_[_0x0300('0x41')](_0x2b64c1[_0x0300('0x3e')],{'$or':_[_0x0300('0x2f')](_0x2b64c1[_0x0300('0x38')],function(_0x108648){var _0x10f157={};_0x10f157[_0x108648]={'$like':'%'+_0x14b0c4[_0x0300('0x34')][_0x0300('0x40')]+'%'};return _0x10f157;})});}_0x2b64c1=_['merge']({},_0x2b64c1,_0x14b0c4[_0x0300('0x44')]);return db[_0x0300('0x5d')][_0x0300('0x47')](_0x2b64c1);}})[_0x0300('0x2b')](function(_0x4054d5){if(_0x4054d5){return db[_0x0300('0x60')][_0x0300('0x61')]({'where':{'id':_['map'](_0x4054d5,_0x0300('0x62')),'role':_0x0300('0x63')},'attributes':['id',_0x0300('0x43'),_0x0300('0x64'),_0x0300('0x65'),_0x0300('0x66')]});}})[_0x0300('0x2b')](function(_0x20b9b4){if(_0x20b9b4){return{'count':_0x20b9b4[_0x0300('0x25')],'rows':_[_0x0300('0x2f')](_0x20b9b4[_0x0300('0x48')],function(_0x21c994){return{'membername':_0x21c994['name'],'UserId':_0x21c994['id'],'queue_name':_0x2f87dd['name'],'WhatsappQueueId':_0x2f87dd['id'],'interface':util[_0x0300('0x67')]('%s/%s',_0x0300('0x68'),_0x21c994[_0x0300('0x43')]),'penalty':0x0,'paused':_0x21c994['whatsappPause'],'createdAt':_0x21c994[_0x0300('0x66')],'updatedAt':_0x21c994['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0xc5d67d,_0x2b64c1))[_0x0300('0x49')](handleError(_0xc5d67d,null));};exports[_0x0300('0x69')]=function(_0x5cdc6e,_0x29ca14,_0x4984ad){var _0x16a938={};var _0x131f53={};var _0x56b9a8;var _0x4f752c;return db[_0x0300('0x45')][_0x0300('0x5c')]({'where':{'id':_0x5cdc6e['params']['id']}})[_0x0300('0x2b')](handleEntityNotFound(_0x29ca14,null))[_0x0300('0x2b')](function(_0x185e92){if(_0x185e92){_0x56b9a8=_0x185e92;_0x131f53['model']=_[_0x0300('0x4b')](db['Team'][_0x0300('0x30')]);_0x131f53[_0x0300('0x34')]=_['keys'](_0x5cdc6e['query']);_0x131f53[_0x0300('0x35')]=_[_0x0300('0x36')](_0x131f53[_0x0300('0x37')],_0x131f53[_0x0300('0x34')]);_0x16a938[_0x0300('0x38')]=_[_0x0300('0x36')](_0x131f53[_0x0300('0x37')],qs[_0x0300('0x39')](_0x5cdc6e[_0x0300('0x34')][_0x0300('0x39')]));_0x16a938[_0x0300('0x38')]=_0x16a938['attributes'][_0x0300('0x3a')]?_0x16a938[_0x0300('0x38')]:_0x131f53[_0x0300('0x37')];_0x16a938[_0x0300('0x3c')]=qs['sort'](_0x5cdc6e[_0x0300('0x34')][_0x0300('0x3d')]);_0x16a938[_0x0300('0x3e')]=qs[_0x0300('0x35')](_['pick'](_0x5cdc6e[_0x0300('0x34')],_0x131f53[_0x0300('0x35')]));if(_0x5cdc6e[_0x0300('0x34')][_0x0300('0x40')]){_0x16a938[_0x0300('0x3e')]=_[_0x0300('0x41')](_0x16a938[_0x0300('0x3e')],{'$or':_['map'](_0x16a938[_0x0300('0x38')],function(_0x5b4b4e){var _0xbe998c={};_0xbe998c[_0x5b4b4e]={'$like':'%'+_0x5cdc6e[_0x0300('0x34')][_0x0300('0x40')]+'%'};return _0xbe998c;})});}_0x16a938=_[_0x0300('0x41')]({},_0x16a938,_0x5cdc6e['options']);return _0x56b9a8[_0x0300('0x69')](_0x16a938);}})[_0x0300('0x2b')](function(_0x2715ff){if(_0x2715ff){_0x4f752c=_0x2715ff[_0x0300('0x3a')];if(!_0x5cdc6e[_0x0300('0x34')]['hasOwnProperty']('nolimit')){_0x16a938[_0x0300('0x24')]=qs[_0x0300('0x24')](_0x5cdc6e[_0x0300('0x34')][_0x0300('0x24')]);_0x16a938[_0x0300('0x22')]=qs[_0x0300('0x22')](_0x5cdc6e[_0x0300('0x34')][_0x0300('0x22')]);}return _0x56b9a8[_0x0300('0x69')](_0x16a938);}})['then'](function(_0x91e16){if(_0x91e16){return _0x91e16?{'count':_0x4f752c,'rows':_0x91e16}:null;}})['then'](respondWithResult(_0x29ca14,null))[_0x0300('0x49')](handleError(_0x29ca14,null));};exports[_0x0300('0x6a')]=function(_0x32aedf,_0x5c1489,_0x13caa6){var _0x10128c=_0x32aedf[_0x0300('0x58')][_0x0300('0x6b')];return db[_0x0300('0x6c')][_0x0300('0x47')]({'where':{'id':_0x10128c},'attributes':['id'],'include':[{'model':db[_0x0300('0x60')],'as':_0x0300('0x6d'),'attributes':['id','name',_0x0300('0x6e'),_0x0300('0x6f'),'interface'],'raw':!![]}]})[_0x0300('0x2b')](function(_0x1509d3){if(_0x1509d3){var _0xe481a8=_['flatMap'](_0x1509d3,function(_0x2c02e8){var _0x24259a=_0x2c02e8['get']({'plain':!![]});return _0x24259a[_0x0300('0x6d')];});return db[_0x0300('0x45')]['find']({'where':{'id':_0x32aedf[_0x0300('0x59')]['id']}})[_0x0300('0x2b')](function(_0x4f5d30){return db[_0x0300('0x70')][_0x0300('0x71')](function(_0x42f673){return _0x4f5d30['addTeams'](_0x10128c,{'transaction':_0x42f673})[_0x0300('0x2b')](function(){return BPromise['each'](_0xe481a8,function(_0x5841cc){return db[_0x0300('0x5d')][_0x0300('0x72')]({'where':{'UserId':_0x5841cc['id'],'WhatsappQueueId':_0x32aedf['params']['id']},'transaction':_0x42f673});});})[_0x0300('0x2b')](function(){_0xe481a8[_0x0300('0x73')](function(_0x33a943){socket[_0x0300('0x74')](_0x0300('0x75'),{'UserId':_0x33a943['id'],'WhatsappQueueId':_0x4f5d30['id']});});});});});}})[_0x0300('0x2b')](respondWithStatusCode(_0x5c1489,null))[_0x0300('0x49')](handleError(_0x5c1489,null));};exports[_0x0300('0x76')]=function(_0x4a626b,_0x52626c,_0x1d99ad){return db['Team'][_0x0300('0x47')]({'where':{'id':_0x4a626b['query'][_0x0300('0x6b')]},'attributes':['id'],'include':[{'model':db[_0x0300('0x60')],'as':_0x0300('0x6d'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x52626c,null))['then'](function(_0x2424d3){var _0x296353=_[_0x0300('0x2f')](_0x2424d3,'id');var _0x49be93=[];var _0x390b0a=[];var _0x172d52=squel[_0x0300('0x77')]();_0x172d52[_0x0300('0x78')]('tq.TeamId')[_0x0300('0x79')](_0x0300('0x7a'),'tq')[_0x0300('0x7b')]('user_has_teams','ut',_0x0300('0x7c'))['where'](_0x0300('0x7d'),_0x4a626b[_0x0300('0x59')]['id']);for(var _0x30d041=0x0;_0x30d041<_0x2424d3[_0x0300('0x3a')];_0x30d041+=0x1){let _0x208ffe=_0x2424d3[_0x30d041];for(var _0x3e6880=0x0;_0x3e6880<_0x208ffe['Agents'][_0x0300('0x3a')];_0x3e6880+=0x1){let _0x51901d=_0x208ffe[_0x0300('0x6d')][_0x3e6880];var _0x30f5aa=_0x172d52[_0x0300('0x7e')]();_0x30f5aa[_0x0300('0x3e')](_0x0300('0x7f'),_0x51901d['id']);_0x390b0a[_0x0300('0x80')](db[_0x0300('0x70')][_0x0300('0x34')](_0x30f5aa[_0x0300('0x81')](),{'type':db[_0x0300('0x70')][_0x0300('0x82')]['SELECT']})[_0x0300('0x2b')](function(_0x383f1a){if(_0x383f1a[_0x0300('0x3a')]===0x1){return _0x51901d['id'];}else{var _0x3e5bcf=_[_0x0300('0x83')](_[_0x0300('0x2f')](_0x383f1a,_0x0300('0x84')),function(_0x59470b){return _[_0x0300('0x85')](_0x296353,_0x59470b);});if(_0x3e5bcf){return _0x51901d['id'];}}}));}}return BPromise['all'](_0x390b0a)['then'](function(_0x143702){_0x49be93=_(_0x49be93)['union'](_0x143702)['compact']()[_0x0300('0x86')]();return db[_0x0300('0x45')][_0x0300('0x4d')]({'where':{'id':_0x4a626b[_0x0300('0x59')]['id']}})[_0x0300('0x2b')](function(_0x573f7d){return db[_0x0300('0x70')][_0x0300('0x71')](function(_0x40392f){return _0x573f7d['removeTeams'](_0x4a626b[_0x0300('0x34')][_0x0300('0x6b')],{'transaction':_0x40392f})['then'](function(){if(!_[_0x0300('0x87')](_0x49be93)){return _0x573f7d[_0x0300('0x88')](_0x49be93,{'transaction':_0x40392f});}})['then'](function(){_0x49be93[_0x0300('0x73')](function(_0x37ffc3){socket[_0x0300('0x74')](_0x0300('0x89'),{'UserId':_0x37ffc3,'WhatsappQueueId':_0x573f7d['id']});});});});});});})[_0x0300('0x2b')](respondWithStatusCode(_0x52626c,null))[_0x0300('0x49')](handleError(_0x52626c,null));};exports[_0x0300('0x8a')]=function(_0x4f4c38,_0x3f3c52,_0x36d3ae){return db[_0x0300('0x45')]['find']({'where':{'id':_0x4f4c38['params']['id']}})[_0x0300('0x2b')](handleEntityNotFound(_0x3f3c52,null))[_0x0300('0x2b')](function(_0x2a01b5){if(_0x2a01b5){return _0x2a01b5[_0x0300('0x8a')](_0x4f4c38[_0x0300('0x58')][_0x0300('0x6b')],_[_0x0300('0x8b')](_0x4f4c38[_0x0300('0x58')],[_0x0300('0x6b'),'id'])||{})['spread'](function(_0x3abee2){for(var _0x3de874=0x0;_0x3de874<_0x4f4c38[_0x0300('0x58')][_0x0300('0x6b')][_0x0300('0x3a')];_0x3de874+=0x1){socket[_0x0300('0x74')](_0x0300('0x75'),{'UserId':Number(_0x4f4c38[_0x0300('0x58')][_0x0300('0x6b')][_0x3de874]),'WhatsappQueueId':Number(_0x4f4c38[_0x0300('0x59')]['id'])});}return _0x3abee2;});}})[_0x0300('0x2b')](respondWithResult(_0x3f3c52,null))[_0x0300('0x49')](handleError(_0x3f3c52,null));};exports[_0x0300('0x88')]=function(_0x5df071,_0x25bfd3,_0x17d428){return db[_0x0300('0x45')][_0x0300('0x4d')]({'where':{'id':_0x5df071[_0x0300('0x59')]['id']}})['then'](handleEntityNotFound(_0x25bfd3,null))[_0x0300('0x2b')](function(_0x3ad3e1){if(_0x3ad3e1){return _0x3ad3e1[_0x0300('0x88')](_0x5df071[_0x0300('0x34')][_0x0300('0x6b')])[_0x0300('0x2b')](function(){if(_[_0x0300('0x8c')](_0x5df071['query'][_0x0300('0x6b')])){for(var _0x2fc8a3=0x0;_0x2fc8a3<_0x5df071[_0x0300('0x34')][_0x0300('0x6b')][_0x0300('0x3a')];_0x2fc8a3+=0x1){socket[_0x0300('0x74')](_0x0300('0x89'),{'UserId':Number(_0x5df071[_0x0300('0x34')][_0x0300('0x6b')][_0x2fc8a3]),'WhatsappQueueId':Number(_0x5df071[_0x0300('0x59')]['id'])});}}else{socket[_0x0300('0x74')]('userWhatsappQueue:remove',{'UserId':Number(_0x5df071['query'][_0x0300('0x6b')]),'WhatsappQueueId':Number(_0x5df071['params']['id'])});}});}})['then'](respondWithStatusCode(_0x25bfd3,null))[_0x0300('0x49')](handleError(_0x25bfd3,null));};exports[_0x0300('0x8d')]=function(_0x28fa1f,_0x176076,_0x37e37e){var _0x534845={};var _0x5cfc09={};var _0x2a47d1;var _0x11b882;return db['WhatsappQueue']['findOne']({'where':{'id':_0x28fa1f[_0x0300('0x59')]['id']}})[_0x0300('0x2b')](handleEntityNotFound(_0x176076,null))[_0x0300('0x2b')](function(_0x16467f){if(_0x16467f){_0x2a47d1=_0x16467f;_0x5cfc09[_0x0300('0x37')]=_['keys'](db[_0x0300('0x60')][_0x0300('0x30')]);_0x5cfc09[_0x0300('0x34')]=_[_0x0300('0x4b')](_0x28fa1f['query']);_0x5cfc09[_0x0300('0x35')]=_['intersection'](_0x5cfc09['model'],_0x5cfc09[_0x0300('0x34')]);_0x534845[_0x0300('0x38')]=_[_0x0300('0x36')](_0x5cfc09['model'],qs['fields'](_0x28fa1f[_0x0300('0x34')][_0x0300('0x39')]));_0x534845[_0x0300('0x38')]=_0x534845[_0x0300('0x38')]['length']?_0x534845[_0x0300('0x38')]:_0x5cfc09[_0x0300('0x37')];_0x534845[_0x0300('0x3c')]=qs[_0x0300('0x3d')](_0x28fa1f[_0x0300('0x34')]['sort']);_0x534845[_0x0300('0x3e')]=qs[_0x0300('0x35')](_[_0x0300('0x3f')](_0x28fa1f[_0x0300('0x34')],_0x5cfc09[_0x0300('0x35')]));if(_0x28fa1f['query'][_0x0300('0x40')]){_0x534845[_0x0300('0x3e')]=_[_0x0300('0x41')](_0x534845['where'],{'$or':_['map'](_0x534845['attributes'],function(_0x4111b5){var _0x1ebd8f={};_0x1ebd8f[_0x4111b5]={'$like':'%'+_0x28fa1f[_0x0300('0x34')][_0x0300('0x40')]+'%'};return _0x1ebd8f;})});}_0x534845=_['merge']({},_0x534845,_0x28fa1f['options']);return _0x2a47d1[_0x0300('0x8d')](_0x534845);}})[_0x0300('0x2b')](function(_0x47b0f6){if(_0x47b0f6){_0x11b882=_0x47b0f6[_0x0300('0x3a')];if(!_0x28fa1f[_0x0300('0x34')][_0x0300('0x3b')]('nolimit')){_0x534845['limit']=qs[_0x0300('0x24')](_0x28fa1f[_0x0300('0x34')][_0x0300('0x24')]);_0x534845[_0x0300('0x22')]=qs[_0x0300('0x22')](_0x28fa1f[_0x0300('0x34')][_0x0300('0x22')]);}return _0x2a47d1[_0x0300('0x8d')](_0x534845);}})[_0x0300('0x2b')](function(_0x554a0f){if(_0x554a0f){return _0x554a0f?{'count':_0x11b882,'rows':_0x554a0f}:null;}})['then'](respondWithResult(_0x176076,null))[_0x0300('0x49')](handleError(_0x176076,null));};