Built motion from commit ce03bc3d.|2.5.39
[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 _0xb25a=['WhatsappQueues','UserProfileSection','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','describe','getMembers','findOne','UserWhatsappQueue','order','WhatsappQueueId','filter','User','findAndCountAll','UserId','agent','whatsappPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','voicePause','interface','flatMap','sequelize','transaction','each','forEach','emit','userWhatsappQueue:save','removeTeams','field','tq.TeamId','team_has_whatsapp_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','TeamId','includes','compact','value','isEmpty','removeAgents','addAgents','omit','spread','isArray','userWhatsappQueue:remove','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','save','update','then','destroy','get','UserProfileResource','error','name','index','map','WhatsappQueue','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','merge','where','type','includeAll','include','findAll','rows','catch','show','options','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user'];(function(_0x1a1968,_0x4b58eb){var _0x4ba77c=function(_0x51a032){while(--_0x51a032){_0x1a1968['push'](_0x1a1968['shift']());}};_0x4ba77c(++_0x4b58eb);}(_0xb25a,0xcf));var _0xab25=function(_0x19950b,_0x53d0d7){_0x19950b=_0x19950b-0x0;var _0x3c6b41=_0xb25a[_0x19950b];return _0x3c6b41;};'use strict';var emlformat=require(_0xab25('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xab25('0x1'));var jsonpatch=require(_0xab25('0x2'));var rp=require(_0xab25('0x3'));var moment=require('moment');var BPromise=require(_0xab25('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0xab25('0x5'));var sox=require(_0xab25('0x6'));var csv=require(_0xab25('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xab25('0x8'));var _=require(_0xab25('0x9'));var squel=require(_0xab25('0xa'));var crypto=require(_0xab25('0xb'));var jsforce=require(_0xab25('0xc'));var deskjs=require(_0xab25('0xd'));var toCsv=require(_0xab25('0x7'));var querystring=require(_0xab25('0xe'));var Papa=require(_0xab25('0xf'));var Redis=require(_0xab25('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xab25('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xab25('0x12'));var logger=require(_0xab25('0x13'))(_0xab25('0x14'));var utils=require('../../config/utils');var config=require(_0xab25('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xab25('0x16'))['db'];config[_0xab25('0x17')]=_[_0xab25('0x18')](config[_0xab25('0x17')],{'host':_0xab25('0x19'),'port':0x18eb});var socket=require(_0xab25('0x1a'))(new Redis(config[_0xab25('0x17')]));require(_0xab25('0x1b'))[_0xab25('0x1c')](socket);function respondWithStatusCode(_0x5b7488,_0x3fced5){_0x3fced5=_0x3fced5||0xcc;return function(_0x2a71d5){if(_0x2a71d5){return _0x5b7488[_0xab25('0x1d')](_0x3fced5);}return _0x5b7488[_0xab25('0x1e')](_0x3fced5)[_0xab25('0x1f')]();};}function respondWithResult(_0x485289,_0x5f8996){_0x5f8996=_0x5f8996||0xc8;return function(_0x555d4e){if(_0x555d4e){return _0x485289[_0xab25('0x1e')](_0x5f8996)[_0xab25('0x20')](_0x555d4e);}};}function respondWithFilteredResult(_0x5c0da9,_0x5daece){return function(_0x4770ae){if(_0x4770ae){var _0xa9b6f9=typeof _0x5daece[_0xab25('0x21')]===_0xab25('0x22')&&typeof _0x5daece[_0xab25('0x23')]==='undefined';var _0x58d165=_0x4770ae[_0xab25('0x24')];var _0x46cf8c=_0xa9b6f9?0x0:_0x5daece[_0xab25('0x21')];var _0x3f9ff3=_0xa9b6f9?_0x4770ae['count']:_0x5daece['offset']+_0x5daece[_0xab25('0x23')];var _0x93176f;if(_0x3f9ff3>=_0x58d165){_0x3f9ff3=_0x58d165;_0x93176f=0xc8;}else{_0x93176f=0xce;}_0x5c0da9['status'](_0x93176f);return _0x5c0da9[_0xab25('0x25')](_0xab25('0x26'),_0x46cf8c+'-'+_0x3f9ff3+'/'+_0x58d165)['json'](_0x4770ae);}return null;};}function patchUpdates(_0x2dd188){return function(_0xa65e59){try{jsonpatch['apply'](_0xa65e59,_0x2dd188,!![]);}catch(_0x542f98){return BPromise['reject'](_0x542f98);}return _0xa65e59[_0xab25('0x27')]();};}function saveUpdates(_0x357ca6,_0x3438f3){return function(_0x5e16f8){if(_0x5e16f8){return _0x5e16f8[_0xab25('0x28')](_0x357ca6)[_0xab25('0x29')](function(_0x25cb08){return _0x25cb08;});}return null;};}function removeEntity(_0x454897,_0x4eb40e){return function(_0x2d91ef){if(_0x2d91ef){return _0x2d91ef[_0xab25('0x2a')]()[_0xab25('0x29')](function(){var _0x594e49=_0x2d91ef[_0xab25('0x2b')]({'plain':!![]});var _0x44b26e='WhatsappQueues';return db[_0xab25('0x2c')]['destroy']({'where':{'type':_0x44b26e,'resourceId':_0x594e49['id']}})[_0xab25('0x29')](function(){return _0x2d91ef;});})[_0xab25('0x29')](function(){_0x454897[_0xab25('0x1e')](0xcc)[_0xab25('0x1f')]();});}};}function handleEntityNotFound(_0x485bff,_0x2e6d7d){return function(_0x30638b){if(!_0x30638b){_0x485bff[_0xab25('0x1d')](0x194);}return _0x30638b;};}function handleError(_0x56dcd4,_0x281b06){_0x281b06=_0x281b06||0x1f4;return function(_0x28adfa){logger[_0xab25('0x2d')](_0x28adfa['stack']);if(_0x28adfa[_0xab25('0x2e')]){delete _0x28adfa[_0xab25('0x2e')];}_0x56dcd4[_0xab25('0x1e')](_0x281b06)['send'](_0x28adfa);};}exports[_0xab25('0x2f')]=function(_0x4c420c,_0x1adc0f){var _0x581f57={},_0x19f57a={},_0x9d6102={'count':0x0,'rows':[]};var _0x494551=_[_0xab25('0x30')](db[_0xab25('0x31')][_0xab25('0x32')],function(_0x106ed9){return{'name':_0x106ed9[_0xab25('0x33')],'type':_0x106ed9['type'][_0xab25('0x34')]};});_0x19f57a[_0xab25('0x35')]=_[_0xab25('0x30')](_0x494551,_0xab25('0x2e'));_0x19f57a[_0xab25('0x36')]=_[_0xab25('0x37')](_0x4c420c[_0xab25('0x36')]);_0x19f57a[_0xab25('0x38')]=_[_0xab25('0x39')](_0x19f57a['model'],_0x19f57a[_0xab25('0x36')]);_0x581f57[_0xab25('0x3a')]=_[_0xab25('0x39')](_0x19f57a['model'],qs['fields'](_0x4c420c[_0xab25('0x36')][_0xab25('0x3b')]));_0x581f57[_0xab25('0x3a')]=_0x581f57[_0xab25('0x3a')][_0xab25('0x3c')]?_0x581f57[_0xab25('0x3a')]:_0x19f57a[_0xab25('0x35')];if(!_0x4c420c['query'][_0xab25('0x3d')](_0xab25('0x3e'))){_0x581f57[_0xab25('0x23')]=qs[_0xab25('0x23')](_0x4c420c[_0xab25('0x36')][_0xab25('0x23')]);_0x581f57['offset']=qs['offset'](_0x4c420c[_0xab25('0x36')]['offset']);}_0x581f57['order']=qs['sort'](_0x4c420c[_0xab25('0x36')][_0xab25('0x3f')]);_0x581f57['where']=qs['filters'](_[_0xab25('0x40')](_0x4c420c['query'],_0x19f57a[_0xab25('0x38')]),_0x494551);if(_0x4c420c['query']['filter']){_0x581f57['where']=_[_0xab25('0x41')](_0x581f57[_0xab25('0x42')],{'$or':_[_0xab25('0x30')](_0x494551,function(_0x20b368){if(_0x20b368[_0xab25('0x43')]!=='VIRTUAL'){var _0x225473={};_0x225473[_0x20b368[_0xab25('0x2e')]]={'$like':'%'+_0x4c420c['query']['filter']+'%'};return _0x225473;}})});}_0x581f57=_[_0xab25('0x41')]({},_0x581f57,_0x4c420c['options']);var _0x15ae59={'where':_0x581f57[_0xab25('0x42')]};return db[_0xab25('0x31')][_0xab25('0x24')](_0x15ae59)[_0xab25('0x29')](function(_0x47ccf0){_0x9d6102[_0xab25('0x24')]=_0x47ccf0;if(_0x4c420c['query'][_0xab25('0x44')]){_0x581f57[_0xab25('0x45')]=[{'all':!![]}];}return db[_0xab25('0x31')][_0xab25('0x46')](_0x581f57);})['then'](function(_0x1c3f20){_0x9d6102[_0xab25('0x47')]=_0x1c3f20;return _0x9d6102;})[_0xab25('0x29')](respondWithFilteredResult(_0x1adc0f,_0x581f57))[_0xab25('0x48')](handleError(_0x1adc0f,null));};exports[_0xab25('0x49')]=function(_0x390f83,_0x475bbc){var _0x507488={'raw':!![],'where':{'id':_0x390f83['params']['id']}},_0x82c1f1={};_0x82c1f1[_0xab25('0x35')]=_[_0xab25('0x37')](db[_0xab25('0x31')][_0xab25('0x32')]);_0x82c1f1['query']=_[_0xab25('0x37')](_0x390f83[_0xab25('0x36')]);_0x82c1f1['filters']=_['intersection'](_0x82c1f1['model'],_0x82c1f1[_0xab25('0x36')]);_0x507488['attributes']=_[_0xab25('0x39')](_0x82c1f1[_0xab25('0x35')],qs['fields'](_0x390f83['query'][_0xab25('0x3b')]));_0x507488[_0xab25('0x3a')]=_0x507488[_0xab25('0x3a')][_0xab25('0x3c')]?_0x507488[_0xab25('0x3a')]:_0x82c1f1[_0xab25('0x35')];if(_0x390f83[_0xab25('0x36')][_0xab25('0x44')]){_0x507488[_0xab25('0x45')]=[{'all':!![]}];}_0x507488=_[_0xab25('0x41')]({},_0x507488,_0x390f83[_0xab25('0x4a')]);return db[_0xab25('0x31')]['find'](_0x507488)[_0xab25('0x29')](handleEntityNotFound(_0x475bbc,null))[_0xab25('0x29')](respondWithResult(_0x475bbc,null))[_0xab25('0x48')](handleError(_0x475bbc,null));};exports[_0xab25('0x4b')]=function(_0x2bffe2,_0x16e9a7){return db[_0xab25('0x31')][_0xab25('0x4b')](_0x2bffe2['body'],{})[_0xab25('0x29')](function(_0xf4447d){var _0x17368a=_0x2bffe2['user'][_0xab25('0x2b')]({'plain':!![]});if(!_0x17368a)throw new Error(_0xab25('0x4c'));if(_0x17368a[_0xab25('0x4d')]===_0xab25('0x4e')){var _0x2b52ed=_0xf4447d[_0xab25('0x2b')]({'plain':!![]});var _0x25b2ef=_0xab25('0x4f');return db[_0xab25('0x50')][_0xab25('0x51')]({'where':{'name':_0x25b2ef,'userProfileId':_0x17368a[_0xab25('0x52')]},'raw':!![]})['then'](function(_0x3f41df){if(_0x3f41df&&_0x3f41df['autoAssociation']===0x0){return db[_0xab25('0x2c')][_0xab25('0x4b')]({'name':_0x2b52ed['name'],'resourceId':_0x2b52ed['id'],'type':_0x3f41df[_0xab25('0x2e')],'sectionId':_0x3f41df['id']},{})[_0xab25('0x29')](function(){return _0xf4447d;});}else{return _0xf4447d;}})['catch'](function(_0x5708ff){logger[_0xab25('0x2d')](_0xab25('0x53'),_0x5708ff);throw _0x5708ff;});}return _0xf4447d;})[_0xab25('0x29')](respondWithResult(_0x16e9a7,0xc9))['catch'](handleError(_0x16e9a7,null));};exports[_0xab25('0x28')]=function(_0x4e94b4,_0x7bee07){if(_0x4e94b4['body']['id']){delete _0x4e94b4[_0xab25('0x54')]['id'];}return db[_0xab25('0x31')][_0xab25('0x51')]({'where':{'id':_0x4e94b4[_0xab25('0x55')]['id']}})[_0xab25('0x29')](handleEntityNotFound(_0x7bee07,null))[_0xab25('0x29')](saveUpdates(_0x4e94b4[_0xab25('0x54')],null))[_0xab25('0x29')](respondWithResult(_0x7bee07,null))[_0xab25('0x48')](handleError(_0x7bee07,null));};exports[_0xab25('0x2a')]=function(_0x666b31,_0xa3bbb){return db[_0xab25('0x31')][_0xab25('0x51')]({'where':{'id':_0x666b31[_0xab25('0x55')]['id']}})[_0xab25('0x29')](handleEntityNotFound(_0xa3bbb,null))[_0xab25('0x29')](removeEntity(_0xa3bbb,null))[_0xab25('0x48')](handleError(_0xa3bbb,null));};exports[_0xab25('0x56')]=function(_0x30805f,_0x428a0b){return db[_0xab25('0x31')][_0xab25('0x56')]()[_0xab25('0x29')](respondWithResult(_0x428a0b,null))['catch'](handleError(_0x428a0b,null));};exports[_0xab25('0x57')]=function(_0x18fa2c,_0x14fdbb,_0x4d243e){var _0x5f45cc={'raw':!![],'where':{}},_0x3a3429={},_0x17db80;return db[_0xab25('0x31')][_0xab25('0x58')]({'where':{'id':_0x18fa2c[_0xab25('0x55')]['id']}})['then'](handleEntityNotFound(_0x14fdbb,null))['then'](function(_0x25ca6b){if(_0x25ca6b){_0x17db80=_0x25ca6b[_0xab25('0x2b')]({'plain':!![]});_0x3a3429[_0xab25('0x35')]=_['keys'](db[_0xab25('0x59')]['rawAttributes']);_0x3a3429[_0xab25('0x36')]=_[_0xab25('0x37')](_0x18fa2c['query']);_0x3a3429[_0xab25('0x38')]=_[_0xab25('0x39')](_0x3a3429[_0xab25('0x35')],_0x3a3429[_0xab25('0x36')]);_0x5f45cc[_0xab25('0x3a')]=_[_0xab25('0x39')](_0x3a3429[_0xab25('0x35')],qs[_0xab25('0x3b')](_0x18fa2c[_0xab25('0x36')][_0xab25('0x3b')]));_0x5f45cc[_0xab25('0x3a')]=_0x5f45cc[_0xab25('0x3a')]['length']?_0x5f45cc[_0xab25('0x3a')]:_0x3a3429[_0xab25('0x35')];if(!_0x18fa2c[_0xab25('0x36')]['hasOwnProperty'](_0xab25('0x3e'))){_0x5f45cc[_0xab25('0x23')]=qs[_0xab25('0x23')](_0x18fa2c['query'][_0xab25('0x23')]);_0x5f45cc[_0xab25('0x21')]=qs[_0xab25('0x21')](_0x18fa2c[_0xab25('0x36')][_0xab25('0x21')]);}_0x5f45cc[_0xab25('0x5a')]=qs[_0xab25('0x3f')](_0x18fa2c['query'][_0xab25('0x3f')]);_0x5f45cc[_0xab25('0x42')]=qs[_0xab25('0x38')](_[_0xab25('0x40')](_0x18fa2c[_0xab25('0x36')],_0x3a3429['filters']));_0x5f45cc[_0xab25('0x42')][_0xab25('0x5b')]=_0x25ca6b['id'];if(_0x18fa2c[_0xab25('0x36')][_0xab25('0x5c')]){_0x5f45cc[_0xab25('0x42')]=_[_0xab25('0x41')](_0x5f45cc['where'],{'$or':_[_0xab25('0x30')](_0x5f45cc[_0xab25('0x3a')],function(_0x22e886){var _0x27fea5={};_0x27fea5[_0x22e886]={'$like':'%'+_0x18fa2c[_0xab25('0x36')][_0xab25('0x5c')]+'%'};return _0x27fea5;})});}_0x5f45cc=_[_0xab25('0x41')]({},_0x5f45cc,_0x18fa2c[_0xab25('0x4a')]);return db[_0xab25('0x59')][_0xab25('0x46')](_0x5f45cc);}})[_0xab25('0x29')](function(_0x3e851d){if(_0x3e851d){return db[_0xab25('0x5d')][_0xab25('0x5e')]({'where':{'id':_[_0xab25('0x30')](_0x3e851d,_0xab25('0x5f')),'role':_0xab25('0x60')},'attributes':['id',_0xab25('0x2e'),_0xab25('0x61'),_0xab25('0x62'),_0xab25('0x63')]});}})[_0xab25('0x29')](function(_0x4202a4){if(_0x4202a4){return{'count':_0x4202a4[_0xab25('0x24')],'rows':_[_0xab25('0x30')](_0x4202a4[_0xab25('0x47')],function(_0x1050be){return{'membername':_0x1050be[_0xab25('0x2e')],'UserId':_0x1050be['id'],'queue_name':_0x17db80[_0xab25('0x2e')],'WhatsappQueueId':_0x17db80['id'],'interface':util[_0xab25('0x64')](_0xab25('0x65'),_0xab25('0x66'),_0x1050be[_0xab25('0x2e')]),'penalty':0x0,'paused':_0x1050be['whatsappPause'],'createdAt':_0x1050be[_0xab25('0x63')],'updatedAt':_0x1050be[_0xab25('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xab25('0x29')](respondWithFilteredResult(_0x14fdbb,_0x5f45cc))[_0xab25('0x48')](handleError(_0x14fdbb,null));};exports[_0xab25('0x67')]=function(_0x5b687c,_0x1db56a,_0x4d94fe){var _0x10ce81={};var _0x406f0d={};var _0x114452;var _0x5be683;return db[_0xab25('0x31')][_0xab25('0x58')]({'where':{'id':_0x5b687c[_0xab25('0x55')]['id']}})['then'](handleEntityNotFound(_0x1db56a,null))[_0xab25('0x29')](function(_0x5611fe){if(_0x5611fe){_0x114452=_0x5611fe;_0x406f0d[_0xab25('0x35')]=_['keys'](db[_0xab25('0x68')][_0xab25('0x32')]);_0x406f0d[_0xab25('0x36')]=_[_0xab25('0x37')](_0x5b687c[_0xab25('0x36')]);_0x406f0d[_0xab25('0x38')]=_[_0xab25('0x39')](_0x406f0d[_0xab25('0x35')],_0x406f0d[_0xab25('0x36')]);_0x10ce81[_0xab25('0x3a')]=_['intersection'](_0x406f0d['model'],qs[_0xab25('0x3b')](_0x5b687c[_0xab25('0x36')][_0xab25('0x3b')]));_0x10ce81[_0xab25('0x3a')]=_0x10ce81[_0xab25('0x3a')][_0xab25('0x3c')]?_0x10ce81[_0xab25('0x3a')]:_0x406f0d[_0xab25('0x35')];_0x10ce81[_0xab25('0x5a')]=qs[_0xab25('0x3f')](_0x5b687c[_0xab25('0x36')]['sort']);_0x10ce81['where']=qs[_0xab25('0x38')](_[_0xab25('0x40')](_0x5b687c[_0xab25('0x36')],_0x406f0d['filters']));if(_0x5b687c[_0xab25('0x36')][_0xab25('0x5c')]){_0x10ce81[_0xab25('0x42')]=_[_0xab25('0x41')](_0x10ce81[_0xab25('0x42')],{'$or':_[_0xab25('0x30')](_0x10ce81[_0xab25('0x3a')],function(_0x515fd3){var _0x54a9e6={};_0x54a9e6[_0x515fd3]={'$like':'%'+_0x5b687c[_0xab25('0x36')][_0xab25('0x5c')]+'%'};return _0x54a9e6;})});}_0x10ce81=_[_0xab25('0x41')]({},_0x10ce81,_0x5b687c[_0xab25('0x4a')]);return _0x114452[_0xab25('0x67')](_0x10ce81);}})[_0xab25('0x29')](function(_0x41ac38){if(_0x41ac38){_0x5be683=_0x41ac38['length'];if(!_0x5b687c[_0xab25('0x36')][_0xab25('0x3d')](_0xab25('0x3e'))){_0x10ce81[_0xab25('0x23')]=qs[_0xab25('0x23')](_0x5b687c[_0xab25('0x36')][_0xab25('0x23')]);_0x10ce81[_0xab25('0x21')]=qs[_0xab25('0x21')](_0x5b687c['query']['offset']);}return _0x114452[_0xab25('0x67')](_0x10ce81);}})[_0xab25('0x29')](function(_0x18531f){if(_0x18531f){return _0x18531f?{'count':_0x5be683,'rows':_0x18531f}:null;}})[_0xab25('0x29')](respondWithResult(_0x1db56a,null))[_0xab25('0x48')](handleError(_0x1db56a,null));};exports[_0xab25('0x69')]=function(_0x4d6764,_0x58f6a1,_0x3aff2c){var _0x14305b=_0x4d6764['body'][_0xab25('0x6a')];return db['Team'][_0xab25('0x46')]({'where':{'id':_0x14305b},'attributes':['id'],'include':[{'model':db[_0xab25('0x5d')],'as':_0xab25('0x6b'),'attributes':['id',_0xab25('0x2e'),'online',_0xab25('0x6c'),_0xab25('0x6d')],'raw':!![]}]})[_0xab25('0x29')](function(_0x3516c0){if(_0x3516c0){var _0x1b708e=_[_0xab25('0x6e')](_0x3516c0,function(_0x3e4818){var _0x4fd7ce=_0x3e4818['get']({'plain':!![]});return _0x4fd7ce[_0xab25('0x6b')];});return db[_0xab25('0x31')][_0xab25('0x51')]({'where':{'id':_0x4d6764[_0xab25('0x55')]['id']}})['then'](function(_0x32a550){return db[_0xab25('0x6f')][_0xab25('0x70')](function(_0x555245){return _0x32a550['addTeams'](_0x14305b,{'transaction':_0x555245})['then'](function(){return BPromise[_0xab25('0x71')](_0x1b708e,function(_0x56004a){return db[_0xab25('0x59')]['findOrCreate']({'where':{'UserId':_0x56004a['id'],'WhatsappQueueId':_0x4d6764[_0xab25('0x55')]['id']},'transaction':_0x555245});});})[_0xab25('0x29')](function(){_0x1b708e[_0xab25('0x72')](function(_0xbe51ab){socket[_0xab25('0x73')](_0xab25('0x74'),{'UserId':_0xbe51ab['id'],'WhatsappQueueId':_0x32a550['id']});});});});});}})[_0xab25('0x29')](respondWithStatusCode(_0x58f6a1,null))[_0xab25('0x48')](handleError(_0x58f6a1,null));};exports[_0xab25('0x75')]=function(_0x5d353a,_0x1daf6c,_0x302c62){return db[_0xab25('0x68')][_0xab25('0x46')]({'where':{'id':_0x5d353a['query'][_0xab25('0x6a')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xab25('0x6b'),'attributes':['id'],'raw':!![]}]})[_0xab25('0x29')](handleEntityNotFound(_0x1daf6c,null))[_0xab25('0x29')](function(_0x2a7b45){var _0x2475d1=_[_0xab25('0x30')](_0x2a7b45,'id');var _0x1930e1=[];var _0x282fdf=[];var _0x151794=squel['select']();_0x151794[_0xab25('0x76')](_0xab25('0x77'))['from'](_0xab25('0x78'),'tq')[_0xab25('0x79')](_0xab25('0x7a'),'ut',_0xab25('0x7b'))[_0xab25('0x42')](_0xab25('0x7c'),_0x5d353a[_0xab25('0x55')]['id']);for(var _0x5a25a7=0x0;_0x5a25a7<_0x2a7b45[_0xab25('0x3c')];_0x5a25a7+=0x1){let _0x11be3f=_0x2a7b45[_0x5a25a7];for(var _0x561dc7=0x0;_0x561dc7<_0x11be3f[_0xab25('0x6b')]['length'];_0x561dc7+=0x1){let _0xb48fe3=_0x11be3f[_0xab25('0x6b')][_0x561dc7];var _0x8b17ed=_0x151794[_0xab25('0x7d')]();_0x8b17ed[_0xab25('0x42')](_0xab25('0x7e'),_0xb48fe3['id']);_0x282fdf[_0xab25('0x7f')](db[_0xab25('0x6f')][_0xab25('0x36')](_0x8b17ed[_0xab25('0x80')](),{'type':db['sequelize'][_0xab25('0x81')][_0xab25('0x82')]})[_0xab25('0x29')](function(_0x3d6fb3){if(_0x3d6fb3[_0xab25('0x3c')]===0x1){return _0xb48fe3['id'];}else{var _0x7a113c=_['every'](_[_0xab25('0x30')](_0x3d6fb3,_0xab25('0x83')),function(_0x109d28){return _[_0xab25('0x84')](_0x2475d1,_0x109d28);});if(_0x7a113c){return _0xb48fe3['id'];}}}));}}return BPromise['all'](_0x282fdf)[_0xab25('0x29')](function(_0x494790){_0x1930e1=_(_0x1930e1)['union'](_0x494790)[_0xab25('0x85')]()[_0xab25('0x86')]();return db['WhatsappQueue'][_0xab25('0x51')]({'where':{'id':_0x5d353a[_0xab25('0x55')]['id']}})[_0xab25('0x29')](function(_0x57ba6c){return db['sequelize'][_0xab25('0x70')](function(_0x4bd803){return _0x57ba6c[_0xab25('0x75')](_0x5d353a[_0xab25('0x36')]['ids'],{'transaction':_0x4bd803})['then'](function(){if(!_[_0xab25('0x87')](_0x1930e1)){return _0x57ba6c[_0xab25('0x88')](_0x1930e1,{'transaction':_0x4bd803});}})[_0xab25('0x29')](function(){_0x1930e1[_0xab25('0x72')](function(_0x238438){socket[_0xab25('0x73')]('userWhatsappQueue:remove',{'UserId':_0x238438,'WhatsappQueueId':_0x57ba6c['id']});});});});});});})[_0xab25('0x29')](respondWithStatusCode(_0x1daf6c,null))[_0xab25('0x48')](handleError(_0x1daf6c,null));};exports[_0xab25('0x89')]=function(_0x4f1676,_0x219c4c,_0x2e51c){return db[_0xab25('0x31')][_0xab25('0x51')]({'where':{'id':_0x4f1676[_0xab25('0x55')]['id']}})['then'](handleEntityNotFound(_0x219c4c,null))[_0xab25('0x29')](function(_0xf58c61){if(_0xf58c61){return _0xf58c61['addAgents'](_0x4f1676[_0xab25('0x54')][_0xab25('0x6a')],_[_0xab25('0x8a')](_0x4f1676[_0xab25('0x54')],[_0xab25('0x6a'),'id'])||{})[_0xab25('0x8b')](function(_0x3a1191){for(var _0x3856a7=0x0;_0x3856a7<_0x4f1676['body']['ids'][_0xab25('0x3c')];_0x3856a7+=0x1){socket[_0xab25('0x73')]('userWhatsappQueue:save',{'UserId':Number(_0x4f1676[_0xab25('0x54')][_0xab25('0x6a')][_0x3856a7]),'WhatsappQueueId':Number(_0x4f1676[_0xab25('0x55')]['id'])});}return _0x3a1191;});}})[_0xab25('0x29')](respondWithResult(_0x219c4c,null))[_0xab25('0x48')](handleError(_0x219c4c,null));};exports[_0xab25('0x88')]=function(_0x25037f,_0x1b6e29,_0x1c3119){return db[_0xab25('0x31')][_0xab25('0x51')]({'where':{'id':_0x25037f['params']['id']}})['then'](handleEntityNotFound(_0x1b6e29,null))[_0xab25('0x29')](function(_0x37fe36){if(_0x37fe36){return _0x37fe36[_0xab25('0x88')](_0x25037f[_0xab25('0x36')]['ids'])[_0xab25('0x29')](function(){if(_[_0xab25('0x8c')](_0x25037f[_0xab25('0x36')]['ids'])){for(var _0x395a01=0x0;_0x395a01<_0x25037f[_0xab25('0x36')][_0xab25('0x6a')][_0xab25('0x3c')];_0x395a01+=0x1){socket[_0xab25('0x73')](_0xab25('0x8d'),{'UserId':Number(_0x25037f['query'][_0xab25('0x6a')][_0x395a01]),'WhatsappQueueId':Number(_0x25037f['params']['id'])});}}else{socket[_0xab25('0x73')](_0xab25('0x8d'),{'UserId':Number(_0x25037f[_0xab25('0x36')][_0xab25('0x6a')]),'WhatsappQueueId':Number(_0x25037f['params']['id'])});}});}})[_0xab25('0x29')](respondWithStatusCode(_0x1b6e29,null))[_0xab25('0x48')](handleError(_0x1b6e29,null));};exports['getAgents']=function(_0x2608e7,_0x2df5fe,_0x5974ba){var _0x18a473={};var _0x2315ca={};var _0x3c3d9f;var _0x4ffccb;return db[_0xab25('0x31')][_0xab25('0x58')]({'where':{'id':_0x2608e7[_0xab25('0x55')]['id']}})['then'](handleEntityNotFound(_0x2df5fe,null))['then'](function(_0xb20892){if(_0xb20892){_0x3c3d9f=_0xb20892;_0x2315ca[_0xab25('0x35')]=_[_0xab25('0x37')](db['User']['rawAttributes']);_0x2315ca[_0xab25('0x36')]=_['keys'](_0x2608e7['query']);_0x2315ca['filters']=_[_0xab25('0x39')](_0x2315ca[_0xab25('0x35')],_0x2315ca[_0xab25('0x36')]);_0x18a473[_0xab25('0x3a')]=_[_0xab25('0x39')](_0x2315ca[_0xab25('0x35')],qs[_0xab25('0x3b')](_0x2608e7[_0xab25('0x36')]['fields']));_0x18a473[_0xab25('0x3a')]=_0x18a473[_0xab25('0x3a')][_0xab25('0x3c')]?_0x18a473[_0xab25('0x3a')]:_0x2315ca[_0xab25('0x35')];_0x18a473[_0xab25('0x5a')]=qs[_0xab25('0x3f')](_0x2608e7['query'][_0xab25('0x3f')]);_0x18a473[_0xab25('0x42')]=qs['filters'](_[_0xab25('0x40')](_0x2608e7[_0xab25('0x36')],_0x2315ca['filters']));if(_0x2608e7['query'][_0xab25('0x5c')]){_0x18a473[_0xab25('0x42')]=_[_0xab25('0x41')](_0x18a473[_0xab25('0x42')],{'$or':_[_0xab25('0x30')](_0x18a473['attributes'],function(_0x491483){var _0x334e21={};_0x334e21[_0x491483]={'$like':'%'+_0x2608e7[_0xab25('0x36')][_0xab25('0x5c')]+'%'};return _0x334e21;})});}_0x18a473=_[_0xab25('0x41')]({},_0x18a473,_0x2608e7[_0xab25('0x4a')]);return _0x3c3d9f['getAgents'](_0x18a473);}})[_0xab25('0x29')](function(_0x4abb2a){if(_0x4abb2a){_0x4ffccb=_0x4abb2a['length'];if(!_0x2608e7[_0xab25('0x36')][_0xab25('0x3d')](_0xab25('0x3e'))){_0x18a473[_0xab25('0x23')]=qs[_0xab25('0x23')](_0x2608e7[_0xab25('0x36')][_0xab25('0x23')]);_0x18a473[_0xab25('0x21')]=qs[_0xab25('0x21')](_0x2608e7[_0xab25('0x36')][_0xab25('0x21')]);}return _0x3c3d9f[_0xab25('0x8e')](_0x18a473);}})[_0xab25('0x29')](function(_0x50a109){if(_0x50a109){return _0x50a109?{'count':_0x4ffccb,'rows':_0x50a109}:null;}})[_0xab25('0x29')](respondWithResult(_0x2df5fe,null))[_0xab25('0x48')](handleError(_0x2df5fe,null));};