84ca3c3ecdae81060db7c0de1d0b63f34ff09242
[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 _0xfd0c=['online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','userWhatsappQueue:save','removeTeams','field','tq.TeamId','from','join','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','isEmpty','emit','userWhatsappQueue:remove','addAgents','spread','removeAgents','isArray','getAgents','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','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','redis','defaults','./whatsappQueue.socket','register','sendStatus','status','end','json','limit','undefined','count','offset','Content-Range','apply','reject','save','then','destroy','get','WhatsappQueues','UserProfileResource','error','name','send','index','WhatsappQueue','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','fields','attributes','nolimit','sort','where','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','params','length','options','find','create','body','user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','findOne','UserWhatsappQueue','hasOwnProperty','order','WhatsappQueueId','User','findAndCountAll','agent','whatsappPause','updatedAt','createdAt','format','SIP','Team','getTeams','addTeams','ids','Agents'];(function(_0x269afe,_0x107775){var _0x17d6ba=function(_0x4b6735){while(--_0x4b6735){_0x269afe['push'](_0x269afe['shift']());}};_0x17d6ba(++_0x107775);}(_0xfd0c,0x1d5));var _0xcfd0=function(_0x8560d3,_0x26a504){_0x8560d3=_0x8560d3-0x0;var _0x33b1b5=_0xfd0c[_0x8560d3];return _0x33b1b5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xcfd0('0x0'));var zipdir=require(_0xcfd0('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcfd0('0x2'));var moment=require(_0xcfd0('0x3'));var BPromise=require(_0xcfd0('0x4'));var Mustache=require(_0xcfd0('0x5'));var util=require(_0xcfd0('0x6'));var path=require('path');var sox=require(_0xcfd0('0x7'));var csv=require('to-csv');var ejs=require(_0xcfd0('0x8'));var fs=require('fs');var fs_extra=require(_0xcfd0('0x9'));var _=require(_0xcfd0('0xa'));var squel=require(_0xcfd0('0xb'));var crypto=require(_0xcfd0('0xc'));var jsforce=require(_0xcfd0('0xd'));var deskjs=require(_0xcfd0('0xe'));var toCsv=require(_0xcfd0('0xf'));var querystring=require(_0xcfd0('0x10'));var Papa=require(_0xcfd0('0x11'));var Redis=require(_0xcfd0('0x12'));var authService=require(_0xcfd0('0x13'));var qs=require(_0xcfd0('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcfd0('0x15'));var logger=require(_0xcfd0('0x16'))(_0xcfd0('0x17'));var utils=require(_0xcfd0('0x18'));var config=require(_0xcfd0('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xcfd0('0x1a')]=_[_0xcfd0('0x1b')](config[_0xcfd0('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xcfd0('0x1a')]));require(_0xcfd0('0x1c'))[_0xcfd0('0x1d')](socket);function respondWithStatusCode(_0xba618b,_0x328aa9){_0x328aa9=_0x328aa9||0xcc;return function(_0x262a7b){if(_0x262a7b){return _0xba618b[_0xcfd0('0x1e')](_0x328aa9);}return _0xba618b[_0xcfd0('0x1f')](_0x328aa9)[_0xcfd0('0x20')]();};}function respondWithResult(_0x4491d3,_0x12dfb6){_0x12dfb6=_0x12dfb6||0xc8;return function(_0x1b5d43){if(_0x1b5d43){return _0x4491d3[_0xcfd0('0x1f')](_0x12dfb6)[_0xcfd0('0x21')](_0x1b5d43);}};}function respondWithFilteredResult(_0x4909c3,_0x49dcf2){return function(_0x14a22d){if(_0x14a22d){var _0x8799e2=typeof _0x49dcf2['offset']==='undefined'&&typeof _0x49dcf2[_0xcfd0('0x22')]===_0xcfd0('0x23');var _0x2d4ecf=_0x14a22d[_0xcfd0('0x24')];var _0xe5365f=_0x8799e2?0x0:_0x49dcf2[_0xcfd0('0x25')];var _0x564294=_0x8799e2?_0x14a22d[_0xcfd0('0x24')]:_0x49dcf2['offset']+_0x49dcf2[_0xcfd0('0x22')];var _0x423ae2;if(_0x564294>=_0x2d4ecf){_0x564294=_0x2d4ecf;_0x423ae2=0xc8;}else{_0x423ae2=0xce;}_0x4909c3[_0xcfd0('0x1f')](_0x423ae2);return _0x4909c3['set'](_0xcfd0('0x26'),_0xe5365f+'-'+_0x564294+'/'+_0x2d4ecf)[_0xcfd0('0x21')](_0x14a22d);}return null;};}function patchUpdates(_0x4980b8){return function(_0x2bf356){try{jsonpatch[_0xcfd0('0x27')](_0x2bf356,_0x4980b8,!![]);}catch(_0x4455f9){return BPromise[_0xcfd0('0x28')](_0x4455f9);}return _0x2bf356[_0xcfd0('0x29')]();};}function saveUpdates(_0x13cd82,_0x3868f5){return function(_0x182aa0){if(_0x182aa0){return _0x182aa0['update'](_0x13cd82)[_0xcfd0('0x2a')](function(_0x29eb9b){return _0x29eb9b;});}return null;};}function removeEntity(_0xd89aac,_0x3426a6){return function(_0x4b6126){if(_0x4b6126){return _0x4b6126[_0xcfd0('0x2b')]()['then'](function(){var _0x31530b=_0x4b6126[_0xcfd0('0x2c')]({'plain':!![]});var _0x327bb8=_0xcfd0('0x2d');return db[_0xcfd0('0x2e')]['destroy']({'where':{'type':_0x327bb8,'resourceId':_0x31530b['id']}})[_0xcfd0('0x2a')](function(){return _0x4b6126;});})['then'](function(){_0xd89aac[_0xcfd0('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4761a2,_0x216a76){return function(_0x4e627a){if(!_0x4e627a){_0x4761a2[_0xcfd0('0x1e')](0x194);}return _0x4e627a;};}function handleError(_0x23faa7,_0x115f0a){_0x115f0a=_0x115f0a||0x1f4;return function(_0x4c98a9){logger[_0xcfd0('0x2f')](_0x4c98a9['stack']);if(_0x4c98a9['name']){delete _0x4c98a9[_0xcfd0('0x30')];}_0x23faa7[_0xcfd0('0x1f')](_0x115f0a)[_0xcfd0('0x31')](_0x4c98a9);};}exports[_0xcfd0('0x32')]=function(_0xce43ce,_0x45c9fd){var _0x188ee4={},_0x1b4ea2={},_0x3d5b1e={'count':0x0,'rows':[]};var _0x25b473=_['map'](db[_0xcfd0('0x33')][_0xcfd0('0x34')],function(_0xa6e921){return{'name':_0xa6e921[_0xcfd0('0x35')],'type':_0xa6e921['type'][_0xcfd0('0x36')]};});_0x1b4ea2[_0xcfd0('0x37')]=_[_0xcfd0('0x38')](_0x25b473,_0xcfd0('0x30'));_0x1b4ea2[_0xcfd0('0x39')]=_[_0xcfd0('0x3a')](_0xce43ce['query']);_0x1b4ea2[_0xcfd0('0x3b')]=_[_0xcfd0('0x3c')](_0x1b4ea2[_0xcfd0('0x37')],_0x1b4ea2[_0xcfd0('0x39')]);_0x188ee4['attributes']=_[_0xcfd0('0x3c')](_0x1b4ea2['model'],qs[_0xcfd0('0x3d')](_0xce43ce[_0xcfd0('0x39')][_0xcfd0('0x3d')]));_0x188ee4[_0xcfd0('0x3e')]=_0x188ee4[_0xcfd0('0x3e')]['length']?_0x188ee4[_0xcfd0('0x3e')]:_0x1b4ea2['model'];if(!_0xce43ce[_0xcfd0('0x39')]['hasOwnProperty'](_0xcfd0('0x3f'))){_0x188ee4[_0xcfd0('0x22')]=qs['limit'](_0xce43ce[_0xcfd0('0x39')][_0xcfd0('0x22')]);_0x188ee4[_0xcfd0('0x25')]=qs['offset'](_0xce43ce[_0xcfd0('0x39')][_0xcfd0('0x25')]);}_0x188ee4['order']=qs[_0xcfd0('0x40')](_0xce43ce[_0xcfd0('0x39')][_0xcfd0('0x40')]);_0x188ee4[_0xcfd0('0x41')]=qs[_0xcfd0('0x3b')](_[_0xcfd0('0x42')](_0xce43ce[_0xcfd0('0x39')],_0x1b4ea2[_0xcfd0('0x3b')]),_0x25b473);if(_0xce43ce['query']['filter']){_0x188ee4[_0xcfd0('0x41')]=_[_0xcfd0('0x43')](_0x188ee4['where'],{'$or':_[_0xcfd0('0x38')](_0x25b473,function(_0x1fce09){if(_0x1fce09['type']!==_0xcfd0('0x44')){var _0xb90d5a={};_0xb90d5a[_0x1fce09['name']]={'$like':'%'+_0xce43ce['query'][_0xcfd0('0x45')]+'%'};return _0xb90d5a;}})});}_0x188ee4=_['merge']({},_0x188ee4,_0xce43ce['options']);var _0xab3bf7={'where':_0x188ee4[_0xcfd0('0x41')]};return db['WhatsappQueue']['count'](_0xab3bf7)[_0xcfd0('0x2a')](function(_0x65a01f){_0x3d5b1e[_0xcfd0('0x24')]=_0x65a01f;if(_0xce43ce[_0xcfd0('0x39')][_0xcfd0('0x46')]){_0x188ee4[_0xcfd0('0x47')]=[{'all':!![]}];}return db[_0xcfd0('0x33')][_0xcfd0('0x48')](_0x188ee4);})[_0xcfd0('0x2a')](function(_0x456f0b){_0x3d5b1e[_0xcfd0('0x49')]=_0x456f0b;return _0x3d5b1e;})[_0xcfd0('0x2a')](respondWithFilteredResult(_0x45c9fd,_0x188ee4))[_0xcfd0('0x4a')](handleError(_0x45c9fd,null));};exports['show']=function(_0x31d512,_0xfc0c89){var _0x53a410={'raw':!![],'where':{'id':_0x31d512[_0xcfd0('0x4b')]['id']}},_0x70dc42={};_0x70dc42['model']=_['keys'](db[_0xcfd0('0x33')]['rawAttributes']);_0x70dc42[_0xcfd0('0x39')]=_[_0xcfd0('0x3a')](_0x31d512['query']);_0x70dc42['filters']=_[_0xcfd0('0x3c')](_0x70dc42[_0xcfd0('0x37')],_0x70dc42[_0xcfd0('0x39')]);_0x53a410[_0xcfd0('0x3e')]=_[_0xcfd0('0x3c')](_0x70dc42[_0xcfd0('0x37')],qs[_0xcfd0('0x3d')](_0x31d512[_0xcfd0('0x39')]['fields']));_0x53a410[_0xcfd0('0x3e')]=_0x53a410[_0xcfd0('0x3e')][_0xcfd0('0x4c')]?_0x53a410['attributes']:_0x70dc42[_0xcfd0('0x37')];if(_0x31d512['query'][_0xcfd0('0x46')]){_0x53a410[_0xcfd0('0x47')]=[{'all':!![]}];}_0x53a410=_[_0xcfd0('0x43')]({},_0x53a410,_0x31d512[_0xcfd0('0x4d')]);return db[_0xcfd0('0x33')][_0xcfd0('0x4e')](_0x53a410)[_0xcfd0('0x2a')](handleEntityNotFound(_0xfc0c89,null))[_0xcfd0('0x2a')](respondWithResult(_0xfc0c89,null))[_0xcfd0('0x4a')](handleError(_0xfc0c89,null));};exports[_0xcfd0('0x4f')]=function(_0x36b55b,_0x2a15c5){return db[_0xcfd0('0x33')][_0xcfd0('0x4f')](_0x36b55b[_0xcfd0('0x50')],{})[_0xcfd0('0x2a')](function(_0x3ec7b9){var _0x53d1f7=_0x36b55b[_0xcfd0('0x51')][_0xcfd0('0x2c')]({'plain':!![]});if(!_0x53d1f7)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x53d1f7[_0xcfd0('0x52')]===_0xcfd0('0x51')){var _0x5c3871=_0x3ec7b9['get']({'plain':!![]});var _0xbad6e0='WhatsappQueues';return db[_0xcfd0('0x53')][_0xcfd0('0x4e')]({'where':{'name':_0xbad6e0,'userProfileId':_0x53d1f7['userProfileId']},'raw':!![]})[_0xcfd0('0x2a')](function(_0x269422){if(_0x269422&&_0x269422[_0xcfd0('0x54')]===0x0){return db[_0xcfd0('0x2e')][_0xcfd0('0x4f')]({'name':_0x5c3871[_0xcfd0('0x30')],'resourceId':_0x5c3871['id'],'type':_0x269422[_0xcfd0('0x30')],'sectionId':_0x269422['id']},{})[_0xcfd0('0x2a')](function(){return _0x3ec7b9;});}else{return _0x3ec7b9;}})['catch'](function(_0x5217c1){logger[_0xcfd0('0x2f')](_0xcfd0('0x55'),_0x5217c1);throw _0x5217c1;});}return _0x3ec7b9;})[_0xcfd0('0x2a')](respondWithResult(_0x2a15c5,0xc9))[_0xcfd0('0x4a')](handleError(_0x2a15c5,null));};exports[_0xcfd0('0x56')]=function(_0x13061d,_0x1f5ba8){if(_0x13061d[_0xcfd0('0x50')]['id']){delete _0x13061d[_0xcfd0('0x50')]['id'];}return db[_0xcfd0('0x33')][_0xcfd0('0x4e')]({'where':{'id':_0x13061d['params']['id']}})[_0xcfd0('0x2a')](handleEntityNotFound(_0x1f5ba8,null))[_0xcfd0('0x2a')](saveUpdates(_0x13061d[_0xcfd0('0x50')],null))['then'](respondWithResult(_0x1f5ba8,null))[_0xcfd0('0x4a')](handleError(_0x1f5ba8,null));};exports[_0xcfd0('0x2b')]=function(_0x344d5b,_0x5818a0){return db[_0xcfd0('0x33')][_0xcfd0('0x4e')]({'where':{'id':_0x344d5b[_0xcfd0('0x4b')]['id']}})[_0xcfd0('0x2a')](handleEntityNotFound(_0x5818a0,null))[_0xcfd0('0x2a')](removeEntity(_0x5818a0,null))[_0xcfd0('0x4a')](handleError(_0x5818a0,null));};exports[_0xcfd0('0x57')]=function(_0xd57f81,_0x417f91){return db[_0xcfd0('0x33')][_0xcfd0('0x57')]()[_0xcfd0('0x2a')](respondWithResult(_0x417f91,null))[_0xcfd0('0x4a')](handleError(_0x417f91,null));};exports[_0xcfd0('0x58')]=function(_0x138550,_0x24b8ef,_0xdd2e09){var _0x5aef05={'raw':!![],'where':{}},_0xe807a1={},_0x51917e;return db[_0xcfd0('0x33')][_0xcfd0('0x59')]({'where':{'id':_0x138550['params']['id']}})[_0xcfd0('0x2a')](handleEntityNotFound(_0x24b8ef,null))[_0xcfd0('0x2a')](function(_0x5927b5){if(_0x5927b5){_0x51917e=_0x5927b5['get']({'plain':!![]});_0xe807a1[_0xcfd0('0x37')]=_['keys'](db[_0xcfd0('0x5a')][_0xcfd0('0x34')]);_0xe807a1[_0xcfd0('0x39')]=_[_0xcfd0('0x3a')](_0x138550[_0xcfd0('0x39')]);_0xe807a1[_0xcfd0('0x3b')]=_[_0xcfd0('0x3c')](_0xe807a1['model'],_0xe807a1[_0xcfd0('0x39')]);_0x5aef05['attributes']=_['intersection'](_0xe807a1[_0xcfd0('0x37')],qs['fields'](_0x138550[_0xcfd0('0x39')][_0xcfd0('0x3d')]));_0x5aef05[_0xcfd0('0x3e')]=_0x5aef05['attributes'][_0xcfd0('0x4c')]?_0x5aef05[_0xcfd0('0x3e')]:_0xe807a1[_0xcfd0('0x37')];if(!_0x138550[_0xcfd0('0x39')][_0xcfd0('0x5b')](_0xcfd0('0x3f'))){_0x5aef05[_0xcfd0('0x22')]=qs[_0xcfd0('0x22')](_0x138550[_0xcfd0('0x39')][_0xcfd0('0x22')]);_0x5aef05[_0xcfd0('0x25')]=qs['offset'](_0x138550[_0xcfd0('0x39')][_0xcfd0('0x25')]);}_0x5aef05[_0xcfd0('0x5c')]=qs[_0xcfd0('0x40')](_0x138550[_0xcfd0('0x39')][_0xcfd0('0x40')]);_0x5aef05[_0xcfd0('0x41')]=qs[_0xcfd0('0x3b')](_['pick'](_0x138550[_0xcfd0('0x39')],_0xe807a1['filters']));_0x5aef05['where'][_0xcfd0('0x5d')]=_0x5927b5['id'];if(_0x138550[_0xcfd0('0x39')][_0xcfd0('0x45')]){_0x5aef05[_0xcfd0('0x41')]=_[_0xcfd0('0x43')](_0x5aef05[_0xcfd0('0x41')],{'$or':_['map'](_0x5aef05['attributes'],function(_0x51b90a){var _0x13f373={};_0x13f373[_0x51b90a]={'$like':'%'+_0x138550[_0xcfd0('0x39')][_0xcfd0('0x45')]+'%'};return _0x13f373;})});}_0x5aef05=_['merge']({},_0x5aef05,_0x138550['options']);return db[_0xcfd0('0x5a')][_0xcfd0('0x48')](_0x5aef05);}})[_0xcfd0('0x2a')](function(_0x3681fb){if(_0x3681fb){return db[_0xcfd0('0x5e')][_0xcfd0('0x5f')]({'where':{'id':_[_0xcfd0('0x38')](_0x3681fb,'UserId'),'role':_0xcfd0('0x60')},'attributes':['id','name',_0xcfd0('0x61'),_0xcfd0('0x62'),_0xcfd0('0x63')]});}})['then'](function(_0x216186){if(_0x216186){return{'count':_0x216186['count'],'rows':_[_0xcfd0('0x38')](_0x216186[_0xcfd0('0x49')],function(_0xb1a7ea){return{'membername':_0xb1a7ea['name'],'UserId':_0xb1a7ea['id'],'queue_name':_0x51917e['name'],'WhatsappQueueId':_0x51917e['id'],'interface':util[_0xcfd0('0x64')]('%s/%s',_0xcfd0('0x65'),_0xb1a7ea[_0xcfd0('0x30')]),'penalty':0x0,'paused':_0xb1a7ea['whatsappPause'],'createdAt':_0xb1a7ea[_0xcfd0('0x63')],'updatedAt':_0xb1a7ea[_0xcfd0('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xcfd0('0x2a')](respondWithFilteredResult(_0x24b8ef,_0x5aef05))[_0xcfd0('0x4a')](handleError(_0x24b8ef,null));};exports['getTeams']=function(_0x119ee1,_0x3ea366,_0x315b4c){var _0x330510={};var _0x1b9bb4={};var _0x3320c9;var _0x51a72a;return db['WhatsappQueue'][_0xcfd0('0x59')]({'where':{'id':_0x119ee1['params']['id']}})[_0xcfd0('0x2a')](handleEntityNotFound(_0x3ea366,null))[_0xcfd0('0x2a')](function(_0x217bf1){if(_0x217bf1){_0x3320c9=_0x217bf1;_0x1b9bb4[_0xcfd0('0x37')]=_[_0xcfd0('0x3a')](db[_0xcfd0('0x66')]['rawAttributes']);_0x1b9bb4['query']=_[_0xcfd0('0x3a')](_0x119ee1[_0xcfd0('0x39')]);_0x1b9bb4[_0xcfd0('0x3b')]=_['intersection'](_0x1b9bb4[_0xcfd0('0x37')],_0x1b9bb4[_0xcfd0('0x39')]);_0x330510[_0xcfd0('0x3e')]=_['intersection'](_0x1b9bb4[_0xcfd0('0x37')],qs[_0xcfd0('0x3d')](_0x119ee1[_0xcfd0('0x39')][_0xcfd0('0x3d')]));_0x330510[_0xcfd0('0x3e')]=_0x330510[_0xcfd0('0x3e')][_0xcfd0('0x4c')]?_0x330510['attributes']:_0x1b9bb4['model'];_0x330510['order']=qs['sort'](_0x119ee1[_0xcfd0('0x39')][_0xcfd0('0x40')]);_0x330510[_0xcfd0('0x41')]=qs[_0xcfd0('0x3b')](_[_0xcfd0('0x42')](_0x119ee1[_0xcfd0('0x39')],_0x1b9bb4[_0xcfd0('0x3b')]));if(_0x119ee1['query']['filter']){_0x330510[_0xcfd0('0x41')]=_[_0xcfd0('0x43')](_0x330510['where'],{'$or':_[_0xcfd0('0x38')](_0x330510['attributes'],function(_0x3b5981){var _0x53d2b3={};_0x53d2b3[_0x3b5981]={'$like':'%'+_0x119ee1[_0xcfd0('0x39')][_0xcfd0('0x45')]+'%'};return _0x53d2b3;})});}_0x330510=_[_0xcfd0('0x43')]({},_0x330510,_0x119ee1[_0xcfd0('0x4d')]);return _0x3320c9[_0xcfd0('0x67')](_0x330510);}})[_0xcfd0('0x2a')](function(_0x5a1769){if(_0x5a1769){_0x51a72a=_0x5a1769[_0xcfd0('0x4c')];if(!_0x119ee1[_0xcfd0('0x39')][_0xcfd0('0x5b')](_0xcfd0('0x3f'))){_0x330510[_0xcfd0('0x22')]=qs[_0xcfd0('0x22')](_0x119ee1[_0xcfd0('0x39')][_0xcfd0('0x22')]);_0x330510[_0xcfd0('0x25')]=qs['offset'](_0x119ee1['query'][_0xcfd0('0x25')]);}return _0x3320c9['getTeams'](_0x330510);}})[_0xcfd0('0x2a')](function(_0x5134df){if(_0x5134df){return _0x5134df?{'count':_0x51a72a,'rows':_0x5134df}:null;}})[_0xcfd0('0x2a')](respondWithResult(_0x3ea366,null))['catch'](handleError(_0x3ea366,null));};exports[_0xcfd0('0x68')]=function(_0x118062,_0x5b1623,_0x3dd400){var _0x421f95=_0x118062[_0xcfd0('0x50')][_0xcfd0('0x69')];return db['Team'][_0xcfd0('0x48')]({'where':{'id':_0x421f95},'attributes':['id'],'include':[{'model':db['User'],'as':_0xcfd0('0x6a'),'attributes':['id',_0xcfd0('0x30'),_0xcfd0('0x6b'),_0xcfd0('0x6c'),_0xcfd0('0x6d')],'raw':!![]}]})[_0xcfd0('0x2a')](function(_0x2c8377){if(_0x2c8377){var _0x5ecb06=_[_0xcfd0('0x6e')](_0x2c8377,function(_0x4f3d53){var _0x163d6f=_0x4f3d53[_0xcfd0('0x2c')]({'plain':!![]});return _0x163d6f[_0xcfd0('0x6a')];});return db[_0xcfd0('0x33')][_0xcfd0('0x4e')]({'where':{'id':_0x118062['params']['id']}})['then'](function(_0xbc3169){return db[_0xcfd0('0x6f')][_0xcfd0('0x70')](function(_0x455227){return _0xbc3169[_0xcfd0('0x68')](_0x421f95,{'transaction':_0x455227})[_0xcfd0('0x2a')](function(){return BPromise[_0xcfd0('0x71')](_0x5ecb06,function(_0x4c5280){return db[_0xcfd0('0x5a')][_0xcfd0('0x72')]({'where':{'UserId':_0x4c5280['id'],'WhatsappQueueId':_0x118062['params']['id']},'transaction':_0x455227});});})[_0xcfd0('0x2a')](function(){_0x5ecb06[_0xcfd0('0x73')](function(_0x8232b0){socket['emit'](_0xcfd0('0x74'),{'UserId':_0x8232b0['id'],'WhatsappQueueId':_0xbc3169['id']});});});});});}})[_0xcfd0('0x2a')](respondWithStatusCode(_0x5b1623,null))[_0xcfd0('0x4a')](handleError(_0x5b1623,null));};exports[_0xcfd0('0x75')]=function(_0x323253,_0x50efa9,_0x2620a7){return db[_0xcfd0('0x66')][_0xcfd0('0x48')]({'where':{'id':_0x323253[_0xcfd0('0x39')][_0xcfd0('0x69')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xcfd0('0x6a'),'attributes':['id'],'raw':!![]}]})[_0xcfd0('0x2a')](handleEntityNotFound(_0x50efa9,null))[_0xcfd0('0x2a')](function(_0x91384c){var _0x128172=_['map'](_0x91384c,'id');var _0x145701=[];var _0x1d3e13=[];var _0x48c76e=squel['select']();_0x48c76e[_0xcfd0('0x76')](_0xcfd0('0x77'))[_0xcfd0('0x78')]('team_has_whatsapp_queues','tq')[_0xcfd0('0x79')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0xcfd0('0x41')](_0xcfd0('0x7a'),_0x323253[_0xcfd0('0x4b')]['id']);for(var _0xc59325=0x0;_0xc59325<_0x91384c[_0xcfd0('0x4c')];_0xc59325+=0x1){let _0x44eba9=_0x91384c[_0xc59325];for(var _0x50295b=0x0;_0x50295b<_0x44eba9[_0xcfd0('0x6a')][_0xcfd0('0x4c')];_0x50295b+=0x1){let _0x8fcfe5=_0x44eba9[_0xcfd0('0x6a')][_0x50295b];var _0x13de30=_0x48c76e[_0xcfd0('0x7b')]();_0x13de30[_0xcfd0('0x41')](_0xcfd0('0x7c'),_0x8fcfe5['id']);_0x1d3e13[_0xcfd0('0x7d')](db['sequelize']['query'](_0x13de30[_0xcfd0('0x7e')](),{'type':db['sequelize'][_0xcfd0('0x7f')][_0xcfd0('0x80')]})[_0xcfd0('0x2a')](function(_0x42708e){if(_0x42708e[_0xcfd0('0x4c')]===0x1){return _0x8fcfe5['id'];}else{var _0x466d02=_[_0xcfd0('0x81')](_['map'](_0x42708e,_0xcfd0('0x82')),function(_0x39fb7f){return _[_0xcfd0('0x83')](_0x128172,_0x39fb7f);});if(_0x466d02){return _0x8fcfe5['id'];}}}));}}return BPromise[_0xcfd0('0x84')](_0x1d3e13)[_0xcfd0('0x2a')](function(_0x2ebcca){_0x145701=_(_0x145701)[_0xcfd0('0x85')](_0x2ebcca)[_0xcfd0('0x86')]()[_0xcfd0('0x87')]();return db['WhatsappQueue'][_0xcfd0('0x4e')]({'where':{'id':_0x323253[_0xcfd0('0x4b')]['id']}})[_0xcfd0('0x2a')](function(_0x2f7d26){return db['sequelize']['transaction'](function(_0x5f51b0){return _0x2f7d26[_0xcfd0('0x75')](_0x323253['query'][_0xcfd0('0x69')],{'transaction':_0x5f51b0})['then'](function(){if(!_[_0xcfd0('0x88')](_0x145701)){return _0x2f7d26['removeAgents'](_0x145701,{'transaction':_0x5f51b0});}})[_0xcfd0('0x2a')](function(){_0x145701[_0xcfd0('0x73')](function(_0x100e2f){socket[_0xcfd0('0x89')](_0xcfd0('0x8a'),{'UserId':_0x100e2f,'WhatsappQueueId':_0x2f7d26['id']});});});});});});})[_0xcfd0('0x2a')](respondWithStatusCode(_0x50efa9,null))['catch'](handleError(_0x50efa9,null));};exports[_0xcfd0('0x8b')]=function(_0x4eb4e6,_0x36b305,_0x8a0b51){return db[_0xcfd0('0x33')][_0xcfd0('0x4e')]({'where':{'id':_0x4eb4e6[_0xcfd0('0x4b')]['id']}})[_0xcfd0('0x2a')](handleEntityNotFound(_0x36b305,null))[_0xcfd0('0x2a')](function(_0xe3946){if(_0xe3946){return _0xe3946[_0xcfd0('0x8b')](_0x4eb4e6[_0xcfd0('0x50')][_0xcfd0('0x69')],_['omit'](_0x4eb4e6['body'],[_0xcfd0('0x69'),'id'])||{})[_0xcfd0('0x8c')](function(_0x493ff5){for(var _0xd5650d=0x0;_0xd5650d<_0x4eb4e6['body'][_0xcfd0('0x69')][_0xcfd0('0x4c')];_0xd5650d+=0x1){socket['emit'](_0xcfd0('0x74'),{'UserId':Number(_0x4eb4e6[_0xcfd0('0x50')]['ids'][_0xd5650d]),'WhatsappQueueId':Number(_0x4eb4e6[_0xcfd0('0x4b')]['id'])});}return _0x493ff5;});}})[_0xcfd0('0x2a')](respondWithResult(_0x36b305,null))['catch'](handleError(_0x36b305,null));};exports['removeAgents']=function(_0x1772ea,_0x1e34ec,_0x21e7a4){return db[_0xcfd0('0x33')]['find']({'where':{'id':_0x1772ea['params']['id']}})['then'](handleEntityNotFound(_0x1e34ec,null))[_0xcfd0('0x2a')](function(_0x34c61c){if(_0x34c61c){return _0x34c61c[_0xcfd0('0x8d')](_0x1772ea[_0xcfd0('0x39')][_0xcfd0('0x69')])[_0xcfd0('0x2a')](function(){if(_[_0xcfd0('0x8e')](_0x1772ea[_0xcfd0('0x39')][_0xcfd0('0x69')])){for(var _0x31f8c8=0x0;_0x31f8c8<_0x1772ea[_0xcfd0('0x39')][_0xcfd0('0x69')][_0xcfd0('0x4c')];_0x31f8c8+=0x1){socket[_0xcfd0('0x89')](_0xcfd0('0x8a'),{'UserId':Number(_0x1772ea['query']['ids'][_0x31f8c8]),'WhatsappQueueId':Number(_0x1772ea[_0xcfd0('0x4b')]['id'])});}}else{socket[_0xcfd0('0x89')](_0xcfd0('0x8a'),{'UserId':Number(_0x1772ea['query'][_0xcfd0('0x69')]),'WhatsappQueueId':Number(_0x1772ea[_0xcfd0('0x4b')]['id'])});}});}})[_0xcfd0('0x2a')](respondWithStatusCode(_0x1e34ec,null))[_0xcfd0('0x4a')](handleError(_0x1e34ec,null));};exports[_0xcfd0('0x8f')]=function(_0x38a3ac,_0x22b4d0,_0x4f847c){var _0x5653f8={};var _0x168283={};var _0x308aa4;var _0x17d30b;return db[_0xcfd0('0x33')][_0xcfd0('0x59')]({'where':{'id':_0x38a3ac[_0xcfd0('0x4b')]['id']}})['then'](handleEntityNotFound(_0x22b4d0,null))[_0xcfd0('0x2a')](function(_0x2dfa65){if(_0x2dfa65){_0x308aa4=_0x2dfa65;_0x168283['model']=_['keys'](db[_0xcfd0('0x5e')][_0xcfd0('0x34')]);_0x168283[_0xcfd0('0x39')]=_['keys'](_0x38a3ac['query']);_0x168283[_0xcfd0('0x3b')]=_['intersection'](_0x168283[_0xcfd0('0x37')],_0x168283[_0xcfd0('0x39')]);_0x5653f8['attributes']=_[_0xcfd0('0x3c')](_0x168283[_0xcfd0('0x37')],qs['fields'](_0x38a3ac['query']['fields']));_0x5653f8[_0xcfd0('0x3e')]=_0x5653f8['attributes'][_0xcfd0('0x4c')]?_0x5653f8[_0xcfd0('0x3e')]:_0x168283[_0xcfd0('0x37')];_0x5653f8[_0xcfd0('0x5c')]=qs['sort'](_0x38a3ac['query'][_0xcfd0('0x40')]);_0x5653f8['where']=qs[_0xcfd0('0x3b')](_[_0xcfd0('0x42')](_0x38a3ac['query'],_0x168283[_0xcfd0('0x3b')]));if(_0x38a3ac[_0xcfd0('0x39')]['filter']){_0x5653f8['where']=_[_0xcfd0('0x43')](_0x5653f8[_0xcfd0('0x41')],{'$or':_['map'](_0x5653f8[_0xcfd0('0x3e')],function(_0x1d30ff){var _0x4913f7={};_0x4913f7[_0x1d30ff]={'$like':'%'+_0x38a3ac[_0xcfd0('0x39')][_0xcfd0('0x45')]+'%'};return _0x4913f7;})});}_0x5653f8=_[_0xcfd0('0x43')]({},_0x5653f8,_0x38a3ac['options']);return _0x308aa4[_0xcfd0('0x8f')](_0x5653f8);}})[_0xcfd0('0x2a')](function(_0x30e65d){if(_0x30e65d){_0x17d30b=_0x30e65d[_0xcfd0('0x4c')];if(!_0x38a3ac[_0xcfd0('0x39')][_0xcfd0('0x5b')](_0xcfd0('0x3f'))){_0x5653f8[_0xcfd0('0x22')]=qs['limit'](_0x38a3ac[_0xcfd0('0x39')][_0xcfd0('0x22')]);_0x5653f8[_0xcfd0('0x25')]=qs[_0xcfd0('0x25')](_0x38a3ac[_0xcfd0('0x39')][_0xcfd0('0x25')]);}return _0x308aa4['getAgents'](_0x5653f8);}})[_0xcfd0('0x2a')](function(_0x30e04a){if(_0x30e04a){return _0x30e04a?{'count':_0x17d30b,'rows':_0x30e04a}:null;}})[_0xcfd0('0x2a')](respondWithResult(_0x22b4d0,null))[_0xcfd0('0x4a')](handleError(_0x22b4d0,null));};