61042ddc68a4ab210ff2e0a6b1e0d2b0e0bc14c9
[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 _0xe64f=['show','params','rawAttributes','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','UserWhatsappQueue','WhatsappQueueId','findAndCountAll','agent','whatsappPause','updatedAt','createdAt','format','SIP','getTeams','Team','nolimit','addTeams','ids','User','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','userWhatsappQueue:save','field','tq.TeamId','from','team_has_whatsapp_queues','join','user_has_teams','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','QueryTypes','every','TeamId','includes','all','union','compact','value','removeTeams','removeAgents','forEach','userWhatsappQueue:remove','addAgents','omit','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','WhatsappQueues','UserProfileResource','destroy','error','name','send','index','WhatsappQueue','fieldName','type','key','map','query','keys','intersection','model','fields','attributes','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch'];(function(_0x2f2dd0,_0x242127){var _0x3c48d1=function(_0x4516b1){while(--_0x4516b1){_0x2f2dd0['push'](_0x2f2dd0['shift']());}};_0x3c48d1(++_0x242127);}(_0xe64f,0xd5));var _0xfe64=function(_0x4b08c7,_0x23c743){_0x4b08c7=_0x4b08c7-0x0;var _0x3fc3a7=_0xe64f[_0x4b08c7];return _0x3fc3a7;};'use strict';var emlformat=require(_0xfe64('0x0'));var rimraf=require(_0xfe64('0x1'));var zipdir=require(_0xfe64('0x2'));var jsonpatch=require(_0xfe64('0x3'));var rp=require(_0xfe64('0x4'));var moment=require(_0xfe64('0x5'));var BPromise=require(_0xfe64('0x6'));var Mustache=require(_0xfe64('0x7'));var util=require('util');var path=require(_0xfe64('0x8'));var sox=require(_0xfe64('0x9'));var csv=require(_0xfe64('0xa'));var ejs=require(_0xfe64('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfe64('0xc'));var squel=require(_0xfe64('0xd'));var crypto=require(_0xfe64('0xe'));var jsforce=require(_0xfe64('0xf'));var deskjs=require(_0xfe64('0x10'));var toCsv=require(_0xfe64('0xa'));var querystring=require(_0xfe64('0x11'));var Papa=require('papaparse');var Redis=require(_0xfe64('0x12'));var authService=require(_0xfe64('0x13'));var qs=require(_0xfe64('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfe64('0x15'));var logger=require(_0xfe64('0x16'))(_0xfe64('0x17'));var utils=require('../../config/utils');var config=require(_0xfe64('0x18'));var licenseUtil=require(_0xfe64('0x19'));var db=require(_0xfe64('0x1a'))['db'];config[_0xfe64('0x1b')]=_[_0xfe64('0x1c')](config[_0xfe64('0x1b')],{'host':_0xfe64('0x1d'),'port':0x18eb});var socket=require(_0xfe64('0x1e'))(new Redis(config[_0xfe64('0x1b')]));require('./whatsappQueue.socket')['register'](socket);function respondWithStatusCode(_0x5dbe52,_0x35094b){_0x35094b=_0x35094b||0xcc;return function(_0x5ee0bf){if(_0x5ee0bf){return _0x5dbe52[_0xfe64('0x1f')](_0x35094b);}return _0x5dbe52[_0xfe64('0x20')](_0x35094b)[_0xfe64('0x21')]();};}function respondWithResult(_0x29d0b6,_0x52e518){_0x52e518=_0x52e518||0xc8;return function(_0x2b5032){if(_0x2b5032){return _0x29d0b6[_0xfe64('0x20')](_0x52e518)[_0xfe64('0x22')](_0x2b5032);}};}function respondWithFilteredResult(_0x54d18f,_0x3754c0){return function(_0x1ced4f){if(_0x1ced4f){var _0x327ac4=typeof _0x3754c0[_0xfe64('0x23')]===_0xfe64('0x24')&&typeof _0x3754c0['limit']===_0xfe64('0x24');var _0x1707e8=_0x1ced4f[_0xfe64('0x25')];var _0x546714=_0x327ac4?0x0:_0x3754c0[_0xfe64('0x23')];var _0x475ca2=_0x327ac4?_0x1ced4f[_0xfe64('0x25')]:_0x3754c0[_0xfe64('0x23')]+_0x3754c0[_0xfe64('0x26')];var _0x549554;if(_0x475ca2>=_0x1707e8){_0x475ca2=_0x1707e8;_0x549554=0xc8;}else{_0x549554=0xce;}_0x54d18f[_0xfe64('0x20')](_0x549554);return _0x54d18f[_0xfe64('0x27')](_0xfe64('0x28'),_0x546714+'-'+_0x475ca2+'/'+_0x1707e8)[_0xfe64('0x22')](_0x1ced4f);}return null;};}function patchUpdates(_0x4db353){return function(_0x2f5deb){try{jsonpatch[_0xfe64('0x29')](_0x2f5deb,_0x4db353,!![]);}catch(_0x8f1a11){return BPromise[_0xfe64('0x2a')](_0x8f1a11);}return _0x2f5deb['save']();};}function saveUpdates(_0x418fbf,_0x31eccd){return function(_0x400f51){if(_0x400f51){return _0x400f51[_0xfe64('0x2b')](_0x418fbf)[_0xfe64('0x2c')](function(_0x2ef82d){return _0x2ef82d;});}return null;};}function removeEntity(_0x4b5728,_0x4a1f77){return function(_0x12b499){if(_0x12b499){return _0x12b499['destroy']()['then'](function(){var _0xf45022=_0x12b499['get']({'plain':!![]});var _0x102a19=_0xfe64('0x2d');return db[_0xfe64('0x2e')][_0xfe64('0x2f')]({'where':{'type':_0x102a19,'resourceId':_0xf45022['id']}})[_0xfe64('0x2c')](function(){return _0x12b499;});})[_0xfe64('0x2c')](function(){_0x4b5728['status'](0xcc)[_0xfe64('0x21')]();});}};}function handleEntityNotFound(_0x56b750,_0x4c941f){return function(_0x4fde30){if(!_0x4fde30){_0x56b750[_0xfe64('0x1f')](0x194);}return _0x4fde30;};}function handleError(_0x374aa4,_0x4d18d){_0x4d18d=_0x4d18d||0x1f4;return function(_0x2d5341){logger[_0xfe64('0x30')](_0x2d5341['stack']);if(_0x2d5341[_0xfe64('0x31')]){delete _0x2d5341[_0xfe64('0x31')];}_0x374aa4[_0xfe64('0x20')](_0x4d18d)[_0xfe64('0x32')](_0x2d5341);};}exports[_0xfe64('0x33')]=function(_0x3b8399,_0x1676a4){var _0xe14751={},_0x52b877={},_0x2b07df={'count':0x0,'rows':[]};var _0xc0e7d8=_['map'](db[_0xfe64('0x34')]['rawAttributes'],function(_0x4c24bc){return{'name':_0x4c24bc[_0xfe64('0x35')],'type':_0x4c24bc[_0xfe64('0x36')][_0xfe64('0x37')]};});_0x52b877['model']=_[_0xfe64('0x38')](_0xc0e7d8,'name');_0x52b877[_0xfe64('0x39')]=_[_0xfe64('0x3a')](_0x3b8399[_0xfe64('0x39')]);_0x52b877['filters']=_[_0xfe64('0x3b')](_0x52b877[_0xfe64('0x3c')],_0x52b877[_0xfe64('0x39')]);_0xe14751['attributes']=_['intersection'](_0x52b877[_0xfe64('0x3c')],qs[_0xfe64('0x3d')](_0x3b8399[_0xfe64('0x39')]['fields']));_0xe14751[_0xfe64('0x3e')]=_0xe14751[_0xfe64('0x3e')][_0xfe64('0x3f')]?_0xe14751[_0xfe64('0x3e')]:_0x52b877[_0xfe64('0x3c')];if(!_0x3b8399[_0xfe64('0x39')][_0xfe64('0x40')]('nolimit')){_0xe14751[_0xfe64('0x26')]=qs['limit'](_0x3b8399[_0xfe64('0x39')][_0xfe64('0x26')]);_0xe14751[_0xfe64('0x23')]=qs[_0xfe64('0x23')](_0x3b8399[_0xfe64('0x39')][_0xfe64('0x23')]);}_0xe14751[_0xfe64('0x41')]=qs[_0xfe64('0x42')](_0x3b8399[_0xfe64('0x39')]['sort']);_0xe14751[_0xfe64('0x43')]=qs[_0xfe64('0x44')](_[_0xfe64('0x45')](_0x3b8399[_0xfe64('0x39')],_0x52b877[_0xfe64('0x44')]),_0xc0e7d8);if(_0x3b8399[_0xfe64('0x39')][_0xfe64('0x46')]){_0xe14751[_0xfe64('0x43')]=_[_0xfe64('0x47')](_0xe14751[_0xfe64('0x43')],{'$or':_[_0xfe64('0x38')](_0xc0e7d8,function(_0xb30b){if(_0xb30b[_0xfe64('0x36')]!==_0xfe64('0x48')){var _0x57a362={};_0x57a362[_0xb30b['name']]={'$like':'%'+_0x3b8399['query'][_0xfe64('0x46')]+'%'};return _0x57a362;}})});}_0xe14751=_[_0xfe64('0x47')]({},_0xe14751,_0x3b8399[_0xfe64('0x49')]);var _0x22a17d={'where':_0xe14751['where']};return db[_0xfe64('0x34')][_0xfe64('0x25')](_0x22a17d)[_0xfe64('0x2c')](function(_0x27d1e6){_0x2b07df['count']=_0x27d1e6;if(_0x3b8399[_0xfe64('0x39')][_0xfe64('0x4a')]){_0xe14751[_0xfe64('0x4b')]=[{'all':!![]}];}return db['WhatsappQueue'][_0xfe64('0x4c')](_0xe14751);})['then'](function(_0x414c37){_0x2b07df[_0xfe64('0x4d')]=_0x414c37;return _0x2b07df;})[_0xfe64('0x2c')](respondWithFilteredResult(_0x1676a4,_0xe14751))[_0xfe64('0x4e')](handleError(_0x1676a4,null));};exports[_0xfe64('0x4f')]=function(_0x5bb79a,_0x3757bf){var _0x2e813a={'raw':!![],'where':{'id':_0x5bb79a[_0xfe64('0x50')]['id']}},_0x54719c={};_0x54719c[_0xfe64('0x3c')]=_[_0xfe64('0x3a')](db['WhatsappQueue'][_0xfe64('0x51')]);_0x54719c['query']=_['keys'](_0x5bb79a[_0xfe64('0x39')]);_0x54719c[_0xfe64('0x44')]=_['intersection'](_0x54719c['model'],_0x54719c[_0xfe64('0x39')]);_0x2e813a[_0xfe64('0x3e')]=_[_0xfe64('0x3b')](_0x54719c['model'],qs['fields'](_0x5bb79a[_0xfe64('0x39')][_0xfe64('0x3d')]));_0x2e813a[_0xfe64('0x3e')]=_0x2e813a[_0xfe64('0x3e')]['length']?_0x2e813a['attributes']:_0x54719c[_0xfe64('0x3c')];if(_0x5bb79a[_0xfe64('0x39')][_0xfe64('0x4a')]){_0x2e813a[_0xfe64('0x4b')]=[{'all':!![]}];}_0x2e813a=_[_0xfe64('0x47')]({},_0x2e813a,_0x5bb79a['options']);return db['WhatsappQueue'][_0xfe64('0x52')](_0x2e813a)['then'](handleEntityNotFound(_0x3757bf,null))[_0xfe64('0x2c')](respondWithResult(_0x3757bf,null))[_0xfe64('0x4e')](handleError(_0x3757bf,null));};exports['create']=function(_0x452a48,_0x4e47aa){return db[_0xfe64('0x34')][_0xfe64('0x53')](_0x452a48[_0xfe64('0x54')],{})[_0xfe64('0x2c')](function(_0x11ab81){var _0x3b2d8f=_0x452a48[_0xfe64('0x55')][_0xfe64('0x56')]({'plain':!![]});if(!_0x3b2d8f)throw new Error(_0xfe64('0x57'));if(_0x3b2d8f[_0xfe64('0x58')]===_0xfe64('0x55')){var _0x2ad29e=_0x11ab81[_0xfe64('0x56')]({'plain':!![]});var _0x52eef4=_0xfe64('0x2d');return db[_0xfe64('0x59')]['find']({'where':{'name':_0x52eef4,'userProfileId':_0x3b2d8f['userProfileId']},'raw':!![]})[_0xfe64('0x2c')](function(_0x2ab3fa){if(_0x2ab3fa&&_0x2ab3fa[_0xfe64('0x5a')]===0x0){return db[_0xfe64('0x2e')]['create']({'name':_0x2ad29e[_0xfe64('0x31')],'resourceId':_0x2ad29e['id'],'type':_0x2ab3fa[_0xfe64('0x31')],'sectionId':_0x2ab3fa['id']},{})[_0xfe64('0x2c')](function(){return _0x11ab81;});}else{return _0x11ab81;}})[_0xfe64('0x4e')](function(_0x455594){logger[_0xfe64('0x30')](_0xfe64('0x5b'),_0x455594);throw _0x455594;});}return _0x11ab81;})['then'](respondWithResult(_0x4e47aa,0xc9))[_0xfe64('0x4e')](handleError(_0x4e47aa,null));};exports[_0xfe64('0x2b')]=function(_0x861a2f,_0x11d885){if(_0x861a2f[_0xfe64('0x54')]['id']){delete _0x861a2f['body']['id'];}return db[_0xfe64('0x34')][_0xfe64('0x52')]({'where':{'id':_0x861a2f['params']['id']}})['then'](handleEntityNotFound(_0x11d885,null))[_0xfe64('0x2c')](saveUpdates(_0x861a2f['body'],null))[_0xfe64('0x2c')](respondWithResult(_0x11d885,null))[_0xfe64('0x4e')](handleError(_0x11d885,null));};exports['destroy']=function(_0x3111d7,_0x1ea917){return db[_0xfe64('0x34')][_0xfe64('0x52')]({'where':{'id':_0x3111d7[_0xfe64('0x50')]['id']}})[_0xfe64('0x2c')](handleEntityNotFound(_0x1ea917,null))['then'](removeEntity(_0x1ea917,null))['catch'](handleError(_0x1ea917,null));};exports[_0xfe64('0x5c')]=function(_0x421a87,_0x2550a8){return db[_0xfe64('0x34')][_0xfe64('0x5c')]()[_0xfe64('0x2c')](respondWithResult(_0x2550a8,null))[_0xfe64('0x4e')](handleError(_0x2550a8,null));};exports['getMembers']=function(_0x8332e4,_0x457ff9,_0x48242a){var _0x5a4a20={'raw':!![],'where':{}},_0x247eed={},_0x1dc8ae;return db[_0xfe64('0x34')][_0xfe64('0x5d')]({'where':{'id':_0x8332e4[_0xfe64('0x50')]['id']}})[_0xfe64('0x2c')](handleEntityNotFound(_0x457ff9,null))[_0xfe64('0x2c')](function(_0xa5f9bf){if(_0xa5f9bf){_0x1dc8ae=_0xa5f9bf['get']({'plain':!![]});_0x247eed[_0xfe64('0x3c')]=_[_0xfe64('0x3a')](db[_0xfe64('0x5e')][_0xfe64('0x51')]);_0x247eed[_0xfe64('0x39')]=_[_0xfe64('0x3a')](_0x8332e4[_0xfe64('0x39')]);_0x247eed['filters']=_['intersection'](_0x247eed[_0xfe64('0x3c')],_0x247eed[_0xfe64('0x39')]);_0x5a4a20[_0xfe64('0x3e')]=_['intersection'](_0x247eed[_0xfe64('0x3c')],qs[_0xfe64('0x3d')](_0x8332e4[_0xfe64('0x39')]['fields']));_0x5a4a20[_0xfe64('0x3e')]=_0x5a4a20[_0xfe64('0x3e')][_0xfe64('0x3f')]?_0x5a4a20[_0xfe64('0x3e')]:_0x247eed[_0xfe64('0x3c')];if(!_0x8332e4[_0xfe64('0x39')][_0xfe64('0x40')]('nolimit')){_0x5a4a20[_0xfe64('0x26')]=qs[_0xfe64('0x26')](_0x8332e4[_0xfe64('0x39')][_0xfe64('0x26')]);_0x5a4a20[_0xfe64('0x23')]=qs[_0xfe64('0x23')](_0x8332e4['query'][_0xfe64('0x23')]);}_0x5a4a20[_0xfe64('0x41')]=qs['sort'](_0x8332e4['query'][_0xfe64('0x42')]);_0x5a4a20[_0xfe64('0x43')]=qs[_0xfe64('0x44')](_[_0xfe64('0x45')](_0x8332e4[_0xfe64('0x39')],_0x247eed['filters']));_0x5a4a20[_0xfe64('0x43')][_0xfe64('0x5f')]=_0xa5f9bf['id'];if(_0x8332e4[_0xfe64('0x39')][_0xfe64('0x46')]){_0x5a4a20['where']=_['merge'](_0x5a4a20[_0xfe64('0x43')],{'$or':_[_0xfe64('0x38')](_0x5a4a20['attributes'],function(_0x209677){var _0x9de949={};_0x9de949[_0x209677]={'$like':'%'+_0x8332e4['query'][_0xfe64('0x46')]+'%'};return _0x9de949;})});}_0x5a4a20=_['merge']({},_0x5a4a20,_0x8332e4[_0xfe64('0x49')]);return db[_0xfe64('0x5e')]['findAll'](_0x5a4a20);}})['then'](function(_0x110379){if(_0x110379){return db['User'][_0xfe64('0x60')]({'where':{'id':_[_0xfe64('0x38')](_0x110379,'UserId'),'role':_0xfe64('0x61')},'attributes':['id',_0xfe64('0x31'),_0xfe64('0x62'),_0xfe64('0x63'),_0xfe64('0x64')]});}})[_0xfe64('0x2c')](function(_0x304062){if(_0x304062){return{'count':_0x304062[_0xfe64('0x25')],'rows':_[_0xfe64('0x38')](_0x304062[_0xfe64('0x4d')],function(_0x4dbb5d){return{'membername':_0x4dbb5d[_0xfe64('0x31')],'UserId':_0x4dbb5d['id'],'queue_name':_0x1dc8ae[_0xfe64('0x31')],'WhatsappQueueId':_0x1dc8ae['id'],'interface':util[_0xfe64('0x65')]('%s/%s',_0xfe64('0x66'),_0x4dbb5d[_0xfe64('0x31')]),'penalty':0x0,'paused':_0x4dbb5d['whatsappPause'],'createdAt':_0x4dbb5d[_0xfe64('0x64')],'updatedAt':_0x4dbb5d[_0xfe64('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x457ff9,_0x5a4a20))[_0xfe64('0x4e')](handleError(_0x457ff9,null));};exports[_0xfe64('0x67')]=function(_0x351a90,_0x498167,_0x2e9d37){var _0x1d1673={};var _0x45a2b4={};var _0x560faa;var _0x843808;return db[_0xfe64('0x34')]['findOne']({'where':{'id':_0x351a90[_0xfe64('0x50')]['id']}})['then'](handleEntityNotFound(_0x498167,null))[_0xfe64('0x2c')](function(_0x4a29e8){if(_0x4a29e8){_0x560faa=_0x4a29e8;_0x45a2b4[_0xfe64('0x3c')]=_[_0xfe64('0x3a')](db[_0xfe64('0x68')]['rawAttributes']);_0x45a2b4['query']=_[_0xfe64('0x3a')](_0x351a90['query']);_0x45a2b4[_0xfe64('0x44')]=_['intersection'](_0x45a2b4[_0xfe64('0x3c')],_0x45a2b4[_0xfe64('0x39')]);_0x1d1673[_0xfe64('0x3e')]=_['intersection'](_0x45a2b4[_0xfe64('0x3c')],qs[_0xfe64('0x3d')](_0x351a90[_0xfe64('0x39')][_0xfe64('0x3d')]));_0x1d1673[_0xfe64('0x3e')]=_0x1d1673['attributes']['length']?_0x1d1673[_0xfe64('0x3e')]:_0x45a2b4[_0xfe64('0x3c')];_0x1d1673[_0xfe64('0x41')]=qs[_0xfe64('0x42')](_0x351a90['query'][_0xfe64('0x42')]);_0x1d1673[_0xfe64('0x43')]=qs[_0xfe64('0x44')](_[_0xfe64('0x45')](_0x351a90['query'],_0x45a2b4['filters']));if(_0x351a90['query']['filter']){_0x1d1673['where']=_['merge'](_0x1d1673[_0xfe64('0x43')],{'$or':_[_0xfe64('0x38')](_0x1d1673[_0xfe64('0x3e')],function(_0x505d5b){var _0x50a076={};_0x50a076[_0x505d5b]={'$like':'%'+_0x351a90[_0xfe64('0x39')][_0xfe64('0x46')]+'%'};return _0x50a076;})});}_0x1d1673=_[_0xfe64('0x47')]({},_0x1d1673,_0x351a90[_0xfe64('0x49')]);return _0x560faa['getTeams'](_0x1d1673);}})['then'](function(_0x41ee6f){if(_0x41ee6f){_0x843808=_0x41ee6f[_0xfe64('0x3f')];if(!_0x351a90[_0xfe64('0x39')][_0xfe64('0x40')](_0xfe64('0x69'))){_0x1d1673['limit']=qs[_0xfe64('0x26')](_0x351a90[_0xfe64('0x39')][_0xfe64('0x26')]);_0x1d1673[_0xfe64('0x23')]=qs[_0xfe64('0x23')](_0x351a90[_0xfe64('0x39')][_0xfe64('0x23')]);}return _0x560faa[_0xfe64('0x67')](_0x1d1673);}})[_0xfe64('0x2c')](function(_0x38f160){if(_0x38f160){return _0x38f160?{'count':_0x843808,'rows':_0x38f160}:null;}})['then'](respondWithResult(_0x498167,null))[_0xfe64('0x4e')](handleError(_0x498167,null));};exports[_0xfe64('0x6a')]=function(_0x2e29ad,_0x21bc01,_0x34733a){var _0x1c1488=_0x2e29ad[_0xfe64('0x54')][_0xfe64('0x6b')];return db[_0xfe64('0x68')][_0xfe64('0x4c')]({'where':{'id':_0x1c1488},'attributes':['id'],'include':[{'model':db[_0xfe64('0x6c')],'as':_0xfe64('0x6d'),'attributes':['id','name',_0xfe64('0x6e'),_0xfe64('0x6f'),_0xfe64('0x70')],'raw':!![]}]})[_0xfe64('0x2c')](function(_0x2ff932){if(_0x2ff932){var _0x37ff95=_[_0xfe64('0x71')](_0x2ff932,function(_0x1a40bd){var _0x2c14ea=_0x1a40bd[_0xfe64('0x56')]({'plain':!![]});return _0x2c14ea[_0xfe64('0x6d')];});return db[_0xfe64('0x34')][_0xfe64('0x52')]({'where':{'id':_0x2e29ad[_0xfe64('0x50')]['id']}})[_0xfe64('0x2c')](function(_0x13322d){return db[_0xfe64('0x72')][_0xfe64('0x73')](function(_0x9539c1){return _0x13322d[_0xfe64('0x6a')](_0x1c1488,{'transaction':_0x9539c1})[_0xfe64('0x2c')](function(){return BPromise[_0xfe64('0x74')](_0x37ff95,function(_0x3028c4){return db[_0xfe64('0x5e')][_0xfe64('0x75')]({'where':{'UserId':_0x3028c4['id'],'WhatsappQueueId':_0x2e29ad[_0xfe64('0x50')]['id']},'transaction':_0x9539c1});});})[_0xfe64('0x2c')](function(){_0x37ff95['forEach'](function(_0x58328c){socket[_0xfe64('0x76')](_0xfe64('0x77'),{'UserId':_0x58328c['id'],'WhatsappQueueId':_0x13322d['id']});});});});});}})[_0xfe64('0x2c')](respondWithStatusCode(_0x21bc01,null))[_0xfe64('0x4e')](handleError(_0x21bc01,null));};exports['removeTeams']=function(_0x2862a5,_0x2cacf2,_0x4f179a){return db['Team'][_0xfe64('0x4c')]({'where':{'id':_0x2862a5[_0xfe64('0x39')]['ids']},'attributes':['id'],'include':[{'model':db[_0xfe64('0x6c')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xfe64('0x2c')](handleEntityNotFound(_0x2cacf2,null))[_0xfe64('0x2c')](function(_0x1c30f8){var _0x138c02=_['map'](_0x1c30f8,'id');var _0x5b3599=[];var _0x42ffd7=[];var _0x567aba=squel['select']();_0x567aba[_0xfe64('0x78')](_0xfe64('0x79'))[_0xfe64('0x7a')](_0xfe64('0x7b'),'tq')[_0xfe64('0x7c')](_0xfe64('0x7d'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xfe64('0x43')](_0xfe64('0x7e'),_0x2862a5[_0xfe64('0x50')]['id']);for(var _0x4af9e3=0x0;_0x4af9e3<_0x1c30f8[_0xfe64('0x3f')];_0x4af9e3+=0x1){let _0x36904a=_0x1c30f8[_0x4af9e3];for(var _0x54b4a7=0x0;_0x54b4a7<_0x36904a['Agents'][_0xfe64('0x3f')];_0x54b4a7+=0x1){let _0x2987b1=_0x36904a[_0xfe64('0x6d')][_0x54b4a7];var _0x4f537f=_0x567aba[_0xfe64('0x7f')]();_0x4f537f[_0xfe64('0x43')](_0xfe64('0x80'),_0x2987b1['id']);_0x42ffd7[_0xfe64('0x81')](db[_0xfe64('0x72')][_0xfe64('0x39')](_0x4f537f['toString'](),{'type':db[_0xfe64('0x72')][_0xfe64('0x82')]['SELECT']})['then'](function(_0x3d392c){if(_0x3d392c[_0xfe64('0x3f')]===0x1){return _0x2987b1['id'];}else{var _0x28338e=_[_0xfe64('0x83')](_[_0xfe64('0x38')](_0x3d392c,_0xfe64('0x84')),function(_0x209b2f){return _[_0xfe64('0x85')](_0x138c02,_0x209b2f);});if(_0x28338e){return _0x2987b1['id'];}}}));}}return BPromise[_0xfe64('0x86')](_0x42ffd7)[_0xfe64('0x2c')](function(_0x4f15cf){_0x5b3599=_(_0x5b3599)[_0xfe64('0x87')](_0x4f15cf)[_0xfe64('0x88')]()[_0xfe64('0x89')]();return db[_0xfe64('0x34')][_0xfe64('0x52')]({'where':{'id':_0x2862a5[_0xfe64('0x50')]['id']}})[_0xfe64('0x2c')](function(_0x36b88c){return db[_0xfe64('0x72')][_0xfe64('0x73')](function(_0x4b1aea){return _0x36b88c[_0xfe64('0x8a')](_0x2862a5['query']['ids'],{'transaction':_0x4b1aea})[_0xfe64('0x2c')](function(){if(!_['isEmpty'](_0x5b3599)){return _0x36b88c[_0xfe64('0x8b')](_0x5b3599,{'transaction':_0x4b1aea});}})[_0xfe64('0x2c')](function(){_0x5b3599[_0xfe64('0x8c')](function(_0x46e91b){socket[_0xfe64('0x76')](_0xfe64('0x8d'),{'UserId':_0x46e91b,'WhatsappQueueId':_0x36b88c['id']});});});});});});})[_0xfe64('0x2c')](respondWithStatusCode(_0x2cacf2,null))[_0xfe64('0x4e')](handleError(_0x2cacf2,null));};exports[_0xfe64('0x8e')]=function(_0x316200,_0x904be0,_0x557277){return db[_0xfe64('0x34')]['find']({'where':{'id':_0x316200[_0xfe64('0x50')]['id']}})[_0xfe64('0x2c')](handleEntityNotFound(_0x904be0,null))['then'](function(_0x58f7a3){if(_0x58f7a3){return _0x58f7a3['addAgents'](_0x316200[_0xfe64('0x54')]['ids'],_[_0xfe64('0x8f')](_0x316200[_0xfe64('0x54')],[_0xfe64('0x6b'),'id'])||{})['spread'](function(_0xbe1ff5){for(var _0x180e78=0x0;_0x180e78<_0x316200[_0xfe64('0x54')][_0xfe64('0x6b')]['length'];_0x180e78+=0x1){socket['emit'](_0xfe64('0x77'),{'UserId':Number(_0x316200['body'][_0xfe64('0x6b')][_0x180e78]),'WhatsappQueueId':Number(_0x316200['params']['id'])});}return _0xbe1ff5;});}})['then'](respondWithResult(_0x904be0,null))['catch'](handleError(_0x904be0,null));};exports[_0xfe64('0x8b')]=function(_0x531aa7,_0x440c45,_0x380d4a){return db['WhatsappQueue'][_0xfe64('0x52')]({'where':{'id':_0x531aa7[_0xfe64('0x50')]['id']}})['then'](handleEntityNotFound(_0x440c45,null))[_0xfe64('0x2c')](function(_0x1a06bd){if(_0x1a06bd){return _0x1a06bd[_0xfe64('0x8b')](_0x531aa7[_0xfe64('0x39')][_0xfe64('0x6b')])[_0xfe64('0x2c')](function(){if(_[_0xfe64('0x90')](_0x531aa7[_0xfe64('0x39')]['ids'])){for(var _0x42e177=0x0;_0x42e177<_0x531aa7['query'][_0xfe64('0x6b')][_0xfe64('0x3f')];_0x42e177+=0x1){socket['emit']('userWhatsappQueue:remove',{'UserId':Number(_0x531aa7[_0xfe64('0x39')]['ids'][_0x42e177]),'WhatsappQueueId':Number(_0x531aa7[_0xfe64('0x50')]['id'])});}}else{socket[_0xfe64('0x76')]('userWhatsappQueue:remove',{'UserId':Number(_0x531aa7[_0xfe64('0x39')][_0xfe64('0x6b')]),'WhatsappQueueId':Number(_0x531aa7[_0xfe64('0x50')]['id'])});}});}})[_0xfe64('0x2c')](respondWithStatusCode(_0x440c45,null))[_0xfe64('0x4e')](handleError(_0x440c45,null));};exports[_0xfe64('0x91')]=function(_0x18641a,_0x48dadc,_0x4144c0){var _0x12ac17={};var _0x118ec1={};var _0x4a7e80;var _0x5b3dcb;return db['WhatsappQueue'][_0xfe64('0x5d')]({'where':{'id':_0x18641a[_0xfe64('0x50')]['id']}})[_0xfe64('0x2c')](handleEntityNotFound(_0x48dadc,null))[_0xfe64('0x2c')](function(_0x6afa45){if(_0x6afa45){_0x4a7e80=_0x6afa45;_0x118ec1[_0xfe64('0x3c')]=_[_0xfe64('0x3a')](db[_0xfe64('0x6c')]['rawAttributes']);_0x118ec1['query']=_[_0xfe64('0x3a')](_0x18641a[_0xfe64('0x39')]);_0x118ec1[_0xfe64('0x44')]=_[_0xfe64('0x3b')](_0x118ec1[_0xfe64('0x3c')],_0x118ec1['query']);_0x12ac17[_0xfe64('0x3e')]=_[_0xfe64('0x3b')](_0x118ec1['model'],qs['fields'](_0x18641a[_0xfe64('0x39')][_0xfe64('0x3d')]));_0x12ac17['attributes']=_0x12ac17[_0xfe64('0x3e')]['length']?_0x12ac17[_0xfe64('0x3e')]:_0x118ec1[_0xfe64('0x3c')];_0x12ac17[_0xfe64('0x41')]=qs[_0xfe64('0x42')](_0x18641a[_0xfe64('0x39')][_0xfe64('0x42')]);_0x12ac17[_0xfe64('0x43')]=qs[_0xfe64('0x44')](_[_0xfe64('0x45')](_0x18641a[_0xfe64('0x39')],_0x118ec1[_0xfe64('0x44')]));if(_0x18641a[_0xfe64('0x39')][_0xfe64('0x46')]){_0x12ac17[_0xfe64('0x43')]=_[_0xfe64('0x47')](_0x12ac17['where'],{'$or':_[_0xfe64('0x38')](_0x12ac17[_0xfe64('0x3e')],function(_0x1f6845){var _0x326e75={};_0x326e75[_0x1f6845]={'$like':'%'+_0x18641a[_0xfe64('0x39')][_0xfe64('0x46')]+'%'};return _0x326e75;})});}_0x12ac17=_['merge']({},_0x12ac17,_0x18641a[_0xfe64('0x49')]);return _0x4a7e80[_0xfe64('0x91')](_0x12ac17);}})['then'](function(_0x2c9f48){if(_0x2c9f48){_0x5b3dcb=_0x2c9f48['length'];if(!_0x18641a[_0xfe64('0x39')]['hasOwnProperty'](_0xfe64('0x69'))){_0x12ac17[_0xfe64('0x26')]=qs[_0xfe64('0x26')](_0x18641a[_0xfe64('0x39')][_0xfe64('0x26')]);_0x12ac17[_0xfe64('0x23')]=qs['offset'](_0x18641a[_0xfe64('0x39')]['offset']);}return _0x4a7e80[_0xfe64('0x91')](_0x12ac17);}})[_0xfe64('0x2c')](function(_0x68b97f){if(_0x68b97f){return _0x68b97f?{'count':_0x5b3dcb,'rows':_0x68b97f}:null;}})[_0xfe64('0x2c')](respondWithResult(_0x48dadc,null))[_0xfe64('0x4e')](handleError(_0x48dadc,null));};