e225f69d726432c664aa3d9c4ceee17e61e2ecb1
[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 _0xd708=['path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./whatsappQueue.socket','register','status','end','json','offset','undefined','limit','count','set','save','update','then','destroy','get','WhatsappQueues','UserProfileResource','sendStatus','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','filter','where','VIRTUAL','merge','options','WhatsappQueue','includeAll','include','findAll','catch','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','keys','UserWhatsappQueue','findAndCountAll','UserId','agent','whatsappPause','createdAt','rows','format','%s/%s','SIP','updatedAt','getTeams','Team','Agents','online','voicePause','interface','flatMap','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','userWhatsappQueue:save','ids','User','field','tq.TeamId','from','team_has_whatsapp_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','removeTeams','userWhatsappQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0x8f7825,_0xaa0ca0){var _0x29a7c9=function(_0x43f1eb){while(--_0x43f1eb){_0x8f7825['push'](_0x8f7825['shift']());}};_0x29a7c9(++_0xaa0ca0);}(_0xd708,0x11c));var _0x8d70=function(_0x42d2a3,_0x184d8e){_0x42d2a3=_0x42d2a3-0x0;var _0x843abb=_0xd708[_0x42d2a3];return _0x843abb;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8d70('0x0'));var zipdir=require(_0x8d70('0x1'));var jsonpatch=require(_0x8d70('0x2'));var rp=require(_0x8d70('0x3'));var moment=require(_0x8d70('0x4'));var BPromise=require(_0x8d70('0x5'));var Mustache=require(_0x8d70('0x6'));var util=require(_0x8d70('0x7'));var path=require(_0x8d70('0x8'));var sox=require(_0x8d70('0x9'));var csv=require(_0x8d70('0xa'));var ejs=require(_0x8d70('0xb'));var fs=require('fs');var fs_extra=require(_0x8d70('0xc'));var _=require(_0x8d70('0xd'));var squel=require(_0x8d70('0xe'));var crypto=require(_0x8d70('0xf'));var jsforce=require(_0x8d70('0x10'));var deskjs=require(_0x8d70('0x11'));var toCsv=require('to-csv');var querystring=require(_0x8d70('0x12'));var Papa=require(_0x8d70('0x13'));var Redis=require(_0x8d70('0x14'));var authService=require(_0x8d70('0x15'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x8d70('0x16'));var utils=require(_0x8d70('0x17'));var config=require(_0x8d70('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x8d70('0x19'))['db'];config[_0x8d70('0x1a')]=_[_0x8d70('0x1b')](config[_0x8d70('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0x8d70('0x1c'))(new Redis(config['redis']));require(_0x8d70('0x1d'))[_0x8d70('0x1e')](socket);function respondWithStatusCode(_0x430e2e,_0x4a7e40){_0x4a7e40=_0x4a7e40||0xcc;return function(_0x456018){if(_0x456018){return _0x430e2e['sendStatus'](_0x4a7e40);}return _0x430e2e[_0x8d70('0x1f')](_0x4a7e40)[_0x8d70('0x20')]();};}function respondWithResult(_0x4cc8ac,_0x2c5be7){_0x2c5be7=_0x2c5be7||0xc8;return function(_0x32ae22){if(_0x32ae22){return _0x4cc8ac[_0x8d70('0x1f')](_0x2c5be7)[_0x8d70('0x21')](_0x32ae22);}};}function respondWithFilteredResult(_0x30dc9e,_0x2fa579){return function(_0x41b4a0){if(_0x41b4a0){var _0x1a26c6=typeof _0x2fa579[_0x8d70('0x22')]===_0x8d70('0x23')&&typeof _0x2fa579[_0x8d70('0x24')]==='undefined';var _0x23eaa9=_0x41b4a0[_0x8d70('0x25')];var _0x2ee13a=_0x1a26c6?0x0:_0x2fa579[_0x8d70('0x22')];var _0x23516c=_0x1a26c6?_0x41b4a0[_0x8d70('0x25')]:_0x2fa579[_0x8d70('0x22')]+_0x2fa579['limit'];var _0x1a4021;if(_0x23516c>=_0x23eaa9){_0x23516c=_0x23eaa9;_0x1a4021=0xc8;}else{_0x1a4021=0xce;}_0x30dc9e[_0x8d70('0x1f')](_0x1a4021);return _0x30dc9e[_0x8d70('0x26')]('Content-Range',_0x2ee13a+'-'+_0x23516c+'/'+_0x23eaa9)[_0x8d70('0x21')](_0x41b4a0);}return null;};}function patchUpdates(_0x435092){return function(_0x4ed43f){try{jsonpatch['apply'](_0x4ed43f,_0x435092,!![]);}catch(_0x41ff70){return BPromise['reject'](_0x41ff70);}return _0x4ed43f[_0x8d70('0x27')]();};}function saveUpdates(_0x118289,_0x4264a8){return function(_0x192d1b){if(_0x192d1b){return _0x192d1b[_0x8d70('0x28')](_0x118289)[_0x8d70('0x29')](function(_0x153136){return _0x153136;});}return null;};}function removeEntity(_0x39b098,_0x44b3e0){return function(_0xbdb1b0){if(_0xbdb1b0){return _0xbdb1b0[_0x8d70('0x2a')]()[_0x8d70('0x29')](function(){var _0x13b9d3=_0xbdb1b0[_0x8d70('0x2b')]({'plain':!![]});var _0x3d8cd8=_0x8d70('0x2c');return db[_0x8d70('0x2d')][_0x8d70('0x2a')]({'where':{'type':_0x3d8cd8,'resourceId':_0x13b9d3['id']}})[_0x8d70('0x29')](function(){return _0xbdb1b0;});})['then'](function(){_0x39b098[_0x8d70('0x1f')](0xcc)[_0x8d70('0x20')]();});}};}function handleEntityNotFound(_0xc75652,_0x14664d){return function(_0x3d9604){if(!_0x3d9604){_0xc75652[_0x8d70('0x2e')](0x194);}return _0x3d9604;};}function handleError(_0x532596,_0x863b0e){_0x863b0e=_0x863b0e||0x1f4;return function(_0x41dec6){logger['error'](_0x41dec6[_0x8d70('0x2f')]);if(_0x41dec6[_0x8d70('0x30')]){delete _0x41dec6[_0x8d70('0x30')];}_0x532596[_0x8d70('0x1f')](_0x863b0e)[_0x8d70('0x31')](_0x41dec6);};}exports[_0x8d70('0x32')]=function(_0x32d250,_0x37c97c){var _0x31b92b={},_0x256c3a={},_0x2d2896={'count':0x0,'rows':[]};var _0x56aa3c=_[_0x8d70('0x33')](db['WhatsappQueue'][_0x8d70('0x34')],function(_0x4fd4da){return{'name':_0x4fd4da[_0x8d70('0x35')],'type':_0x4fd4da[_0x8d70('0x36')][_0x8d70('0x37')]};});_0x256c3a[_0x8d70('0x38')]=_['map'](_0x56aa3c,_0x8d70('0x30'));_0x256c3a['query']=_['keys'](_0x32d250[_0x8d70('0x39')]);_0x256c3a[_0x8d70('0x3a')]=_['intersection'](_0x256c3a[_0x8d70('0x38')],_0x256c3a[_0x8d70('0x39')]);_0x31b92b[_0x8d70('0x3b')]=_[_0x8d70('0x3c')](_0x256c3a['model'],qs[_0x8d70('0x3d')](_0x32d250[_0x8d70('0x39')]['fields']));_0x31b92b['attributes']=_0x31b92b[_0x8d70('0x3b')]['length']?_0x31b92b[_0x8d70('0x3b')]:_0x256c3a['model'];if(!_0x32d250[_0x8d70('0x39')][_0x8d70('0x3e')](_0x8d70('0x3f'))){_0x31b92b[_0x8d70('0x24')]=qs[_0x8d70('0x24')](_0x32d250[_0x8d70('0x39')][_0x8d70('0x24')]);_0x31b92b[_0x8d70('0x22')]=qs['offset'](_0x32d250[_0x8d70('0x39')][_0x8d70('0x22')]);}_0x31b92b[_0x8d70('0x40')]=qs['sort'](_0x32d250['query'][_0x8d70('0x41')]);_0x31b92b['where']=qs[_0x8d70('0x3a')](_['pick'](_0x32d250[_0x8d70('0x39')],_0x256c3a[_0x8d70('0x3a')]),_0x56aa3c);if(_0x32d250[_0x8d70('0x39')][_0x8d70('0x42')]){_0x31b92b[_0x8d70('0x43')]=_['merge'](_0x31b92b['where'],{'$or':_['map'](_0x56aa3c,function(_0x1434f2){if(_0x1434f2[_0x8d70('0x36')]!==_0x8d70('0x44')){var _0x3aec02={};_0x3aec02[_0x1434f2[_0x8d70('0x30')]]={'$like':'%'+_0x32d250['query'][_0x8d70('0x42')]+'%'};return _0x3aec02;}})});}_0x31b92b=_[_0x8d70('0x45')]({},_0x31b92b,_0x32d250[_0x8d70('0x46')]);var _0x4fda06={'where':_0x31b92b[_0x8d70('0x43')]};return db[_0x8d70('0x47')][_0x8d70('0x25')](_0x4fda06)['then'](function(_0x41dc21){_0x2d2896[_0x8d70('0x25')]=_0x41dc21;if(_0x32d250['query'][_0x8d70('0x48')]){_0x31b92b[_0x8d70('0x49')]=[{'all':!![]}];}return db['WhatsappQueue'][_0x8d70('0x4a')](_0x31b92b);})[_0x8d70('0x29')](function(_0xc91786){_0x2d2896['rows']=_0xc91786;return _0x2d2896;})['then'](respondWithFilteredResult(_0x37c97c,_0x31b92b))[_0x8d70('0x4b')](handleError(_0x37c97c,null));};exports['show']=function(_0x409fae,_0x59b793){var _0x35971f={'raw':!![],'where':{'id':_0x409fae['params']['id']}},_0x459f18={};_0x459f18['model']=_['keys'](db[_0x8d70('0x47')][_0x8d70('0x34')]);_0x459f18[_0x8d70('0x39')]=_['keys'](_0x409fae[_0x8d70('0x39')]);_0x459f18[_0x8d70('0x3a')]=_['intersection'](_0x459f18['model'],_0x459f18[_0x8d70('0x39')]);_0x35971f[_0x8d70('0x3b')]=_['intersection'](_0x459f18[_0x8d70('0x38')],qs['fields'](_0x409fae[_0x8d70('0x39')][_0x8d70('0x3d')]));_0x35971f[_0x8d70('0x3b')]=_0x35971f['attributes'][_0x8d70('0x4c')]?_0x35971f[_0x8d70('0x3b')]:_0x459f18[_0x8d70('0x38')];if(_0x409fae[_0x8d70('0x39')]['includeAll']){_0x35971f[_0x8d70('0x49')]=[{'all':!![]}];}_0x35971f=_[_0x8d70('0x45')]({},_0x35971f,_0x409fae['options']);return db[_0x8d70('0x47')][_0x8d70('0x4d')](_0x35971f)[_0x8d70('0x29')](handleEntityNotFound(_0x59b793,null))['then'](respondWithResult(_0x59b793,null))[_0x8d70('0x4b')](handleError(_0x59b793,null));};exports[_0x8d70('0x4e')]=function(_0x36f821,_0x3f10f8){return db['WhatsappQueue'][_0x8d70('0x4e')](_0x36f821[_0x8d70('0x4f')],{})[_0x8d70('0x29')](function(_0xeac05c){var _0x31c282=_0x36f821[_0x8d70('0x50')][_0x8d70('0x2b')]({'plain':!![]});if(!_0x31c282)throw new Error(_0x8d70('0x51'));if(_0x31c282[_0x8d70('0x52')]===_0x8d70('0x50')){var _0x2b868f=_0xeac05c[_0x8d70('0x2b')]({'plain':!![]});var _0xb26b29=_0x8d70('0x2c');return db['UserProfileSection'][_0x8d70('0x4d')]({'where':{'name':_0xb26b29,'userProfileId':_0x31c282[_0x8d70('0x53')]},'raw':!![]})[_0x8d70('0x29')](function(_0x3c88d8){if(_0x3c88d8&&_0x3c88d8[_0x8d70('0x54')]===0x0){return db['UserProfileResource'][_0x8d70('0x4e')]({'name':_0x2b868f[_0x8d70('0x30')],'resourceId':_0x2b868f['id'],'type':_0x3c88d8[_0x8d70('0x30')],'sectionId':_0x3c88d8['id']},{})['then'](function(){return _0xeac05c;});}else{return _0xeac05c;}})['catch'](function(_0x31921c){logger['error'](_0x8d70('0x55'),_0x31921c);throw _0x31921c;});}return _0xeac05c;})['then'](respondWithResult(_0x3f10f8,0xc9))[_0x8d70('0x4b')](handleError(_0x3f10f8,null));};exports[_0x8d70('0x28')]=function(_0x405bc8,_0x15df27){if(_0x405bc8[_0x8d70('0x4f')]['id']){delete _0x405bc8[_0x8d70('0x4f')]['id'];}return db['WhatsappQueue'][_0x8d70('0x4d')]({'where':{'id':_0x405bc8[_0x8d70('0x56')]['id']}})[_0x8d70('0x29')](handleEntityNotFound(_0x15df27,null))[_0x8d70('0x29')](saveUpdates(_0x405bc8[_0x8d70('0x4f')],null))[_0x8d70('0x29')](respondWithResult(_0x15df27,null))['catch'](handleError(_0x15df27,null));};exports['destroy']=function(_0x25e2af,_0x1f38ae){return db['WhatsappQueue'][_0x8d70('0x4d')]({'where':{'id':_0x25e2af[_0x8d70('0x56')]['id']}})[_0x8d70('0x29')](handleEntityNotFound(_0x1f38ae,null))[_0x8d70('0x29')](removeEntity(_0x1f38ae,null))[_0x8d70('0x4b')](handleError(_0x1f38ae,null));};exports[_0x8d70('0x57')]=function(_0x2854c6,_0x45b871){return db[_0x8d70('0x47')][_0x8d70('0x57')]()[_0x8d70('0x29')](respondWithResult(_0x45b871,null))['catch'](handleError(_0x45b871,null));};exports[_0x8d70('0x58')]=function(_0x1b0d91,_0x52104b,_0x34996c){var _0xc7a0cf={'raw':!![],'where':{}},_0x37024f={},_0xf8297e;return db[_0x8d70('0x47')][_0x8d70('0x59')]({'where':{'id':_0x1b0d91[_0x8d70('0x56')]['id']}})[_0x8d70('0x29')](handleEntityNotFound(_0x52104b,null))[_0x8d70('0x29')](function(_0x3bdc23){if(_0x3bdc23){_0xf8297e=_0x3bdc23[_0x8d70('0x2b')]({'plain':!![]});_0x37024f[_0x8d70('0x38')]=_[_0x8d70('0x5a')](db[_0x8d70('0x5b')]['rawAttributes']);_0x37024f[_0x8d70('0x39')]=_[_0x8d70('0x5a')](_0x1b0d91[_0x8d70('0x39')]);_0x37024f['filters']=_['intersection'](_0x37024f[_0x8d70('0x38')],_0x37024f[_0x8d70('0x39')]);_0xc7a0cf[_0x8d70('0x3b')]=_[_0x8d70('0x3c')](_0x37024f[_0x8d70('0x38')],qs[_0x8d70('0x3d')](_0x1b0d91[_0x8d70('0x39')]['fields']));_0xc7a0cf[_0x8d70('0x3b')]=_0xc7a0cf[_0x8d70('0x3b')][_0x8d70('0x4c')]?_0xc7a0cf[_0x8d70('0x3b')]:_0x37024f[_0x8d70('0x38')];if(!_0x1b0d91[_0x8d70('0x39')]['hasOwnProperty'](_0x8d70('0x3f'))){_0xc7a0cf[_0x8d70('0x24')]=qs[_0x8d70('0x24')](_0x1b0d91[_0x8d70('0x39')][_0x8d70('0x24')]);_0xc7a0cf[_0x8d70('0x22')]=qs[_0x8d70('0x22')](_0x1b0d91['query'][_0x8d70('0x22')]);}_0xc7a0cf[_0x8d70('0x40')]=qs[_0x8d70('0x41')](_0x1b0d91['query'][_0x8d70('0x41')]);_0xc7a0cf[_0x8d70('0x43')]=qs[_0x8d70('0x3a')](_['pick'](_0x1b0d91[_0x8d70('0x39')],_0x37024f[_0x8d70('0x3a')]));_0xc7a0cf[_0x8d70('0x43')]['WhatsappQueueId']=_0x3bdc23['id'];if(_0x1b0d91[_0x8d70('0x39')][_0x8d70('0x42')]){_0xc7a0cf['where']=_[_0x8d70('0x45')](_0xc7a0cf[_0x8d70('0x43')],{'$or':_['map'](_0xc7a0cf[_0x8d70('0x3b')],function(_0x319e49){var _0x2f2569={};_0x2f2569[_0x319e49]={'$like':'%'+_0x1b0d91[_0x8d70('0x39')][_0x8d70('0x42')]+'%'};return _0x2f2569;})});}_0xc7a0cf=_[_0x8d70('0x45')]({},_0xc7a0cf,_0x1b0d91[_0x8d70('0x46')]);return db[_0x8d70('0x5b')]['findAll'](_0xc7a0cf);}})['then'](function(_0xcef810){if(_0xcef810){return db['User'][_0x8d70('0x5c')]({'where':{'id':_[_0x8d70('0x33')](_0xcef810,_0x8d70('0x5d')),'role':_0x8d70('0x5e')},'attributes':['id',_0x8d70('0x30'),_0x8d70('0x5f'),'updatedAt',_0x8d70('0x60')]});}})['then'](function(_0x121230){if(_0x121230){return{'count':_0x121230['count'],'rows':_[_0x8d70('0x33')](_0x121230[_0x8d70('0x61')],function(_0x20c7e0){return{'membername':_0x20c7e0['name'],'UserId':_0x20c7e0['id'],'queue_name':_0xf8297e['name'],'WhatsappQueueId':_0xf8297e['id'],'interface':util[_0x8d70('0x62')](_0x8d70('0x63'),_0x8d70('0x64'),_0x20c7e0['name']),'penalty':0x0,'paused':_0x20c7e0['whatsappPause'],'createdAt':_0x20c7e0['createdAt'],'updatedAt':_0x20c7e0[_0x8d70('0x65')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x8d70('0x29')](respondWithFilteredResult(_0x52104b,_0xc7a0cf))[_0x8d70('0x4b')](handleError(_0x52104b,null));};exports[_0x8d70('0x66')]=function(_0x5162de,_0x1712a5,_0x198608){var _0x468739={};var _0xab8cd9={};var _0x1bea58;var _0x57dfb2;return db['WhatsappQueue']['findOne']({'where':{'id':_0x5162de[_0x8d70('0x56')]['id']}})[_0x8d70('0x29')](handleEntityNotFound(_0x1712a5,null))[_0x8d70('0x29')](function(_0x4795c4){if(_0x4795c4){_0x1bea58=_0x4795c4;_0xab8cd9[_0x8d70('0x38')]=_[_0x8d70('0x5a')](db[_0x8d70('0x67')][_0x8d70('0x34')]);_0xab8cd9[_0x8d70('0x39')]=_['keys'](_0x5162de[_0x8d70('0x39')]);_0xab8cd9[_0x8d70('0x3a')]=_['intersection'](_0xab8cd9[_0x8d70('0x38')],_0xab8cd9[_0x8d70('0x39')]);_0x468739[_0x8d70('0x3b')]=_[_0x8d70('0x3c')](_0xab8cd9[_0x8d70('0x38')],qs['fields'](_0x5162de[_0x8d70('0x39')][_0x8d70('0x3d')]));_0x468739[_0x8d70('0x3b')]=_0x468739['attributes'][_0x8d70('0x4c')]?_0x468739[_0x8d70('0x3b')]:_0xab8cd9[_0x8d70('0x38')];_0x468739[_0x8d70('0x40')]=qs[_0x8d70('0x41')](_0x5162de[_0x8d70('0x39')][_0x8d70('0x41')]);_0x468739['where']=qs[_0x8d70('0x3a')](_['pick'](_0x5162de[_0x8d70('0x39')],_0xab8cd9[_0x8d70('0x3a')]));if(_0x5162de['query'][_0x8d70('0x42')]){_0x468739['where']=_[_0x8d70('0x45')](_0x468739[_0x8d70('0x43')],{'$or':_[_0x8d70('0x33')](_0x468739['attributes'],function(_0x4eb0b5){var _0x3cf5cd={};_0x3cf5cd[_0x4eb0b5]={'$like':'%'+_0x5162de['query'][_0x8d70('0x42')]+'%'};return _0x3cf5cd;})});}_0x468739=_[_0x8d70('0x45')]({},_0x468739,_0x5162de[_0x8d70('0x46')]);return _0x1bea58['getTeams'](_0x468739);}})[_0x8d70('0x29')](function(_0x212bdf){if(_0x212bdf){_0x57dfb2=_0x212bdf[_0x8d70('0x4c')];if(!_0x5162de[_0x8d70('0x39')]['hasOwnProperty'](_0x8d70('0x3f'))){_0x468739['limit']=qs[_0x8d70('0x24')](_0x5162de[_0x8d70('0x39')]['limit']);_0x468739[_0x8d70('0x22')]=qs[_0x8d70('0x22')](_0x5162de['query'][_0x8d70('0x22')]);}return _0x1bea58['getTeams'](_0x468739);}})[_0x8d70('0x29')](function(_0x4c4448){if(_0x4c4448){return _0x4c4448?{'count':_0x57dfb2,'rows':_0x4c4448}:null;}})[_0x8d70('0x29')](respondWithResult(_0x1712a5,null))[_0x8d70('0x4b')](handleError(_0x1712a5,null));};exports['addTeams']=function(_0x5cf5ea,_0x28101c,_0x125d26){var _0x111018=_0x5cf5ea[_0x8d70('0x4f')]['ids'];return db[_0x8d70('0x67')][_0x8d70('0x4a')]({'where':{'id':_0x111018},'attributes':['id'],'include':[{'model':db['User'],'as':_0x8d70('0x68'),'attributes':['id',_0x8d70('0x30'),_0x8d70('0x69'),_0x8d70('0x6a'),_0x8d70('0x6b')],'raw':!![]}]})[_0x8d70('0x29')](function(_0x33e4fa){if(_0x33e4fa){var _0x517836=_[_0x8d70('0x6c')](_0x33e4fa,function(_0x5df052){var _0x22752c=_0x5df052[_0x8d70('0x2b')]({'plain':!![]});return _0x22752c[_0x8d70('0x68')];});return db[_0x8d70('0x47')][_0x8d70('0x4d')]({'where':{'id':_0x5cf5ea[_0x8d70('0x56')]['id']}})[_0x8d70('0x29')](function(_0x4bcad2){return db[_0x8d70('0x6d')][_0x8d70('0x6e')](function(_0x1d9832){return _0x4bcad2[_0x8d70('0x6f')](_0x111018,{'transaction':_0x1d9832})['then'](function(){return BPromise[_0x8d70('0x70')](_0x517836,function(_0x1d2596){return db[_0x8d70('0x5b')][_0x8d70('0x71')]({'where':{'UserId':_0x1d2596['id'],'WhatsappQueueId':_0x5cf5ea[_0x8d70('0x56')]['id']},'transaction':_0x1d9832});});})['then'](function(){_0x517836[_0x8d70('0x72')](function(_0x2321fd){socket[_0x8d70('0x73')](_0x8d70('0x74'),{'UserId':_0x2321fd['id'],'WhatsappQueueId':_0x4bcad2['id']});});});});});}})['then'](respondWithStatusCode(_0x28101c,null))['catch'](handleError(_0x28101c,null));};exports['removeTeams']=function(_0x48a8bf,_0x3cc716,_0x410f89){return db[_0x8d70('0x67')][_0x8d70('0x4a')]({'where':{'id':_0x48a8bf['query'][_0x8d70('0x75')]},'attributes':['id'],'include':[{'model':db[_0x8d70('0x76')],'as':_0x8d70('0x68'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x3cc716,null))['then'](function(_0x3e82fb){var _0xd2b7ea=_['map'](_0x3e82fb,'id');var _0x442d39=[];var _0x14d389=[];var _0x3df78d=squel['select']();_0x3df78d[_0x8d70('0x77')](_0x8d70('0x78'))[_0x8d70('0x79')](_0x8d70('0x7a'),'tq')['join'](_0x8d70('0x7b'),'ut',_0x8d70('0x7c'))['where'](_0x8d70('0x7d'),_0x48a8bf[_0x8d70('0x56')]['id']);for(var _0x186fa2=0x0;_0x186fa2<_0x3e82fb[_0x8d70('0x4c')];_0x186fa2+=0x1){let _0x10dbef=_0x3e82fb[_0x186fa2];for(var _0x2f38a9=0x0;_0x2f38a9<_0x10dbef[_0x8d70('0x68')][_0x8d70('0x4c')];_0x2f38a9+=0x1){let _0x57e507=_0x10dbef[_0x8d70('0x68')][_0x2f38a9];var _0x3ed763=_0x3df78d[_0x8d70('0x7e')]();_0x3ed763['where']('ut.UserId\x20=\x20?',_0x57e507['id']);_0x14d389[_0x8d70('0x7f')](db[_0x8d70('0x6d')][_0x8d70('0x39')](_0x3ed763[_0x8d70('0x80')](),{'type':db[_0x8d70('0x6d')][_0x8d70('0x81')][_0x8d70('0x82')]})[_0x8d70('0x29')](function(_0x396b5b){if(_0x396b5b[_0x8d70('0x4c')]===0x1){return _0x57e507['id'];}else{var _0x559ac6=_[_0x8d70('0x83')](_['map'](_0x396b5b,_0x8d70('0x84')),function(_0x5e5d73){return _[_0x8d70('0x85')](_0xd2b7ea,_0x5e5d73);});if(_0x559ac6){return _0x57e507['id'];}}}));}}return BPromise[_0x8d70('0x86')](_0x14d389)[_0x8d70('0x29')](function(_0x1758f0){_0x442d39=_(_0x442d39)[_0x8d70('0x87')](_0x1758f0)[_0x8d70('0x88')]()[_0x8d70('0x89')]();return db[_0x8d70('0x47')][_0x8d70('0x4d')]({'where':{'id':_0x48a8bf['params']['id']}})[_0x8d70('0x29')](function(_0x2254e3){return db[_0x8d70('0x6d')]['transaction'](function(_0x508317){return _0x2254e3[_0x8d70('0x8a')](_0x48a8bf[_0x8d70('0x39')][_0x8d70('0x75')],{'transaction':_0x508317})[_0x8d70('0x29')](function(){if(!_['isEmpty'](_0x442d39)){return _0x2254e3['removeAgents'](_0x442d39,{'transaction':_0x508317});}})['then'](function(){_0x442d39[_0x8d70('0x72')](function(_0x348f94){socket[_0x8d70('0x73')](_0x8d70('0x8b'),{'UserId':_0x348f94,'WhatsappQueueId':_0x2254e3['id']});});});});});});})['then'](respondWithStatusCode(_0x3cc716,null))[_0x8d70('0x4b')](handleError(_0x3cc716,null));};exports['addAgents']=function(_0x334548,_0xf5dbe3,_0x4a1e66){return db['WhatsappQueue'][_0x8d70('0x4d')]({'where':{'id':_0x334548[_0x8d70('0x56')]['id']}})['then'](handleEntityNotFound(_0xf5dbe3,null))[_0x8d70('0x29')](function(_0x4f9e6a){if(_0x4f9e6a){return _0x4f9e6a[_0x8d70('0x8c')](_0x334548[_0x8d70('0x4f')][_0x8d70('0x75')],_[_0x8d70('0x8d')](_0x334548[_0x8d70('0x4f')],[_0x8d70('0x75'),'id'])||{})[_0x8d70('0x8e')](function(_0x2b7dff){for(var _0x105143=0x0;_0x105143<_0x334548[_0x8d70('0x4f')]['ids'][_0x8d70('0x4c')];_0x105143+=0x1){socket[_0x8d70('0x73')]('userWhatsappQueue:save',{'UserId':Number(_0x334548[_0x8d70('0x4f')][_0x8d70('0x75')][_0x105143]),'WhatsappQueueId':Number(_0x334548['params']['id'])});}return _0x2b7dff;});}})[_0x8d70('0x29')](respondWithResult(_0xf5dbe3,null))[_0x8d70('0x4b')](handleError(_0xf5dbe3,null));};exports[_0x8d70('0x8f')]=function(_0xe523c9,_0x1ac273,_0x30dfe5){return db[_0x8d70('0x47')][_0x8d70('0x4d')]({'where':{'id':_0xe523c9[_0x8d70('0x56')]['id']}})[_0x8d70('0x29')](handleEntityNotFound(_0x1ac273,null))[_0x8d70('0x29')](function(_0x135c8e){if(_0x135c8e){return _0x135c8e[_0x8d70('0x8f')](_0xe523c9[_0x8d70('0x39')]['ids'])['then'](function(){if(_[_0x8d70('0x90')](_0xe523c9[_0x8d70('0x39')][_0x8d70('0x75')])){for(var _0x2a56e5=0x0;_0x2a56e5<_0xe523c9[_0x8d70('0x39')][_0x8d70('0x75')][_0x8d70('0x4c')];_0x2a56e5+=0x1){socket['emit']('userWhatsappQueue:remove',{'UserId':Number(_0xe523c9[_0x8d70('0x39')][_0x8d70('0x75')][_0x2a56e5]),'WhatsappQueueId':Number(_0xe523c9[_0x8d70('0x56')]['id'])});}}else{socket[_0x8d70('0x73')](_0x8d70('0x8b'),{'UserId':Number(_0xe523c9['query']['ids']),'WhatsappQueueId':Number(_0xe523c9['params']['id'])});}});}})['then'](respondWithStatusCode(_0x1ac273,null))[_0x8d70('0x4b')](handleError(_0x1ac273,null));};exports[_0x8d70('0x91')]=function(_0x484aae,_0x2a7da5,_0x436c96){var _0x2bad77={};var _0x3143f4={};var _0x54d8c2;var _0x37f771;return db['WhatsappQueue'][_0x8d70('0x59')]({'where':{'id':_0x484aae[_0x8d70('0x56')]['id']}})[_0x8d70('0x29')](handleEntityNotFound(_0x2a7da5,null))['then'](function(_0x1bf87d){if(_0x1bf87d){_0x54d8c2=_0x1bf87d;_0x3143f4['model']=_[_0x8d70('0x5a')](db[_0x8d70('0x76')][_0x8d70('0x34')]);_0x3143f4[_0x8d70('0x39')]=_[_0x8d70('0x5a')](_0x484aae['query']);_0x3143f4['filters']=_[_0x8d70('0x3c')](_0x3143f4['model'],_0x3143f4[_0x8d70('0x39')]);_0x2bad77[_0x8d70('0x3b')]=_[_0x8d70('0x3c')](_0x3143f4[_0x8d70('0x38')],qs[_0x8d70('0x3d')](_0x484aae[_0x8d70('0x39')][_0x8d70('0x3d')]));_0x2bad77['attributes']=_0x2bad77[_0x8d70('0x3b')][_0x8d70('0x4c')]?_0x2bad77[_0x8d70('0x3b')]:_0x3143f4[_0x8d70('0x38')];_0x2bad77[_0x8d70('0x40')]=qs[_0x8d70('0x41')](_0x484aae[_0x8d70('0x39')][_0x8d70('0x41')]);_0x2bad77[_0x8d70('0x43')]=qs['filters'](_['pick'](_0x484aae[_0x8d70('0x39')],_0x3143f4['filters']));if(_0x484aae['query']['filter']){_0x2bad77[_0x8d70('0x43')]=_[_0x8d70('0x45')](_0x2bad77[_0x8d70('0x43')],{'$or':_[_0x8d70('0x33')](_0x2bad77[_0x8d70('0x3b')],function(_0x521965){var _0x47668c={};_0x47668c[_0x521965]={'$like':'%'+_0x484aae[_0x8d70('0x39')][_0x8d70('0x42')]+'%'};return _0x47668c;})});}_0x2bad77=_[_0x8d70('0x45')]({},_0x2bad77,_0x484aae[_0x8d70('0x46')]);return _0x54d8c2[_0x8d70('0x91')](_0x2bad77);}})[_0x8d70('0x29')](function(_0xb36658){if(_0xb36658){_0x37f771=_0xb36658['length'];if(!_0x484aae[_0x8d70('0x39')]['hasOwnProperty']('nolimit')){_0x2bad77[_0x8d70('0x24')]=qs[_0x8d70('0x24')](_0x484aae[_0x8d70('0x39')][_0x8d70('0x24')]);_0x2bad77[_0x8d70('0x22')]=qs[_0x8d70('0x22')](_0x484aae['query'][_0x8d70('0x22')]);}return _0x54d8c2[_0x8d70('0x91')](_0x2bad77);}})[_0x8d70('0x29')](function(_0x367c2d){if(_0x367c2d){return _0x367c2d?{'count':_0x37f771,'rows':_0x367c2d}:null;}})[_0x8d70('0x29')](respondWithResult(_0x2a7da5,null))[_0x8d70('0x4b')](handleError(_0x2a7da5,null));};