c48f8d5f2c662c57792906de42369a47642bbb58
[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 _0x3063=['nolimit','limit','sort','pick','where','merge','VIRTUAL','filter','includeAll','findAll','rows','catch','show','params','include','options','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','find','describe','getMembers','findOne','UserWhatsappQueue','order','WhatsappQueueId','UserId','agent','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','User','Agents','voicePause','interface','flatMap','sequelize','transaction','findOrCreate','forEach','emit','userWhatsappQueue:save','removeTeams','select','field','tq.TeamId','team_has_whatsapp_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','TeamId','all','value','isEmpty','removeAgents','userWhatsappQueue:remove','addAgents','omit','spread','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','defaults','redis','localhost','./whatsappQueue.socket','register','status','end','json','count','offset','set','Content-Range','apply','save','update','then','WhatsappQueues','UserProfileResource','destroy','sendStatus','stack','name','send','index','map','WhatsappQueue','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty'];(function(_0x112c85,_0x590cec){var _0x3cd249=function(_0x118383){while(--_0x118383){_0x112c85['push'](_0x112c85['shift']());}};_0x3cd249(++_0x590cec);}(_0x3063,0x16c));var _0x3306=function(_0x3bdd40,_0x414ee6){_0x3bdd40=_0x3bdd40-0x0;var _0x216370=_0x3063[_0x3bdd40];return _0x216370;};'use strict';var emlformat=require(_0x3306('0x0'));var rimraf=require(_0x3306('0x1'));var zipdir=require(_0x3306('0x2'));var jsonpatch=require(_0x3306('0x3'));var rp=require(_0x3306('0x4'));var moment=require(_0x3306('0x5'));var BPromise=require(_0x3306('0x6'));var Mustache=require('mustache');var util=require(_0x3306('0x7'));var path=require(_0x3306('0x8'));var sox=require(_0x3306('0x9'));var csv=require(_0x3306('0xa'));var ejs=require(_0x3306('0xb'));var fs=require('fs');var fs_extra=require(_0x3306('0xc'));var _=require(_0x3306('0xd'));var squel=require(_0x3306('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x3306('0xf'));var toCsv=require(_0x3306('0xa'));var querystring=require('querystring');var Papa=require(_0x3306('0x10'));var Redis=require(_0x3306('0x11'));var authService=require(_0x3306('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x3306('0x13'));var hardwareService=require(_0x3306('0x14'));var logger=require(_0x3306('0x15'))(_0x3306('0x16'));var utils=require('../../config/utils');var config=require(_0x3306('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config['redis']=_[_0x3306('0x18')](config[_0x3306('0x19')],{'host':_0x3306('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x3306('0x1b'))[_0x3306('0x1c')](socket);function respondWithStatusCode(_0x3484ce,_0x3b41db){_0x3b41db=_0x3b41db||0xcc;return function(_0x5db948){if(_0x5db948){return _0x3484ce['sendStatus'](_0x3b41db);}return _0x3484ce[_0x3306('0x1d')](_0x3b41db)[_0x3306('0x1e')]();};}function respondWithResult(_0x15dda0,_0x2865c4){_0x2865c4=_0x2865c4||0xc8;return function(_0x1d7bce){if(_0x1d7bce){return _0x15dda0[_0x3306('0x1d')](_0x2865c4)[_0x3306('0x1f')](_0x1d7bce);}};}function respondWithFilteredResult(_0xb18564,_0x1d7a24){return function(_0x1fc57a){if(_0x1fc57a){var _0x15a04d=_0x1fc57a[_0x3306('0x20')],_0xcb6e48=_0x1d7a24[_0x3306('0x21')],_0x4ed9e3=_0x1d7a24[_0x3306('0x21')]+_0x1d7a24['limit'],_0x27c9d6;if(_0x4ed9e3>=_0x15a04d){_0x4ed9e3=_0x15a04d;_0x27c9d6=0xc8;}else{_0x27c9d6=0xce;}_0xb18564[_0x3306('0x1d')](_0x27c9d6);return _0xb18564[_0x3306('0x22')](_0x3306('0x23'),_0xcb6e48+'-'+_0x4ed9e3+'/'+_0x15a04d)[_0x3306('0x1f')](_0x1fc57a);}return null;};}function patchUpdates(_0x745704){return function(_0x385386){try{jsonpatch[_0x3306('0x24')](_0x385386,_0x745704,!![]);}catch(_0x22512e){return BPromise['reject'](_0x22512e);}return _0x385386[_0x3306('0x25')]();};}function saveUpdates(_0x26161e,_0x2a43b2){return function(_0x228d2f){if(_0x228d2f){return _0x228d2f[_0x3306('0x26')](_0x26161e)['then'](function(_0x3c82b0){return _0x3c82b0;});}return null;};}function removeEntity(_0x38961c,_0x4cc0c0){return function(_0x4b52b2){if(_0x4b52b2){return _0x4b52b2['destroy']()[_0x3306('0x27')](function(){var _0x23b846=_0x4b52b2['get']({'plain':!![]});var _0x34b066=_0x3306('0x28');return db[_0x3306('0x29')][_0x3306('0x2a')]({'where':{'type':_0x34b066,'resourceId':_0x23b846['id']}})[_0x3306('0x27')](function(){return _0x4b52b2;});})[_0x3306('0x27')](function(){_0x38961c['status'](0xcc)[_0x3306('0x1e')]();});}};}function handleEntityNotFound(_0x4f89c7,_0x4f9ac7){return function(_0x24691c){if(!_0x24691c){_0x4f89c7[_0x3306('0x2b')](0x194);}return _0x24691c;};}function handleError(_0x5eb711,_0x80c4a2){_0x80c4a2=_0x80c4a2||0x1f4;return function(_0x2a9bda){logger['error'](_0x2a9bda[_0x3306('0x2c')]);if(_0x2a9bda[_0x3306('0x2d')]){delete _0x2a9bda['name'];}_0x5eb711[_0x3306('0x1d')](_0x80c4a2)[_0x3306('0x2e')](_0x2a9bda);};}exports[_0x3306('0x2f')]=function(_0x138947,_0x38897f){var _0x21f7d1={},_0x4bcaae={},_0x27bb8f={'count':0x0,'rows':[]};var _0x57cc7d=_[_0x3306('0x30')](db[_0x3306('0x31')][_0x3306('0x32')],function(_0x5b58b5){return{'name':_0x5b58b5[_0x3306('0x33')],'type':_0x5b58b5[_0x3306('0x34')]['key']};});_0x4bcaae[_0x3306('0x35')]=_[_0x3306('0x30')](_0x57cc7d,_0x3306('0x2d'));_0x4bcaae[_0x3306('0x36')]=_[_0x3306('0x37')](_0x138947[_0x3306('0x36')]);_0x4bcaae[_0x3306('0x38')]=_[_0x3306('0x39')](_0x4bcaae[_0x3306('0x35')],_0x4bcaae[_0x3306('0x36')]);_0x21f7d1[_0x3306('0x3a')]=_[_0x3306('0x39')](_0x4bcaae[_0x3306('0x35')],qs[_0x3306('0x3b')](_0x138947[_0x3306('0x36')][_0x3306('0x3b')]));_0x21f7d1[_0x3306('0x3a')]=_0x21f7d1[_0x3306('0x3a')][_0x3306('0x3c')]?_0x21f7d1[_0x3306('0x3a')]:_0x4bcaae[_0x3306('0x35')];if(!_0x138947[_0x3306('0x36')][_0x3306('0x3d')](_0x3306('0x3e'))){_0x21f7d1[_0x3306('0x3f')]=qs[_0x3306('0x3f')](_0x138947[_0x3306('0x36')][_0x3306('0x3f')]);_0x21f7d1[_0x3306('0x21')]=qs[_0x3306('0x21')](_0x138947[_0x3306('0x36')][_0x3306('0x21')]);}_0x21f7d1['order']=qs[_0x3306('0x40')](_0x138947[_0x3306('0x36')][_0x3306('0x40')]);_0x21f7d1['where']=qs[_0x3306('0x38')](_[_0x3306('0x41')](_0x138947[_0x3306('0x36')],_0x4bcaae[_0x3306('0x38')]),_0x57cc7d);if(_0x138947[_0x3306('0x36')]['filter']){_0x21f7d1[_0x3306('0x42')]=_[_0x3306('0x43')](_0x21f7d1[_0x3306('0x42')],{'$or':_[_0x3306('0x30')](_0x57cc7d,function(_0x5e50e3){if(_0x5e50e3[_0x3306('0x34')]!==_0x3306('0x44')){var _0xde2d75={};_0xde2d75[_0x5e50e3[_0x3306('0x2d')]]={'$like':'%'+_0x138947[_0x3306('0x36')][_0x3306('0x45')]+'%'};return _0xde2d75;}})});}_0x21f7d1=_[_0x3306('0x43')]({},_0x21f7d1,_0x138947['options']);var _0x5f37a9={'where':_0x21f7d1[_0x3306('0x42')]};return db[_0x3306('0x31')][_0x3306('0x20')](_0x5f37a9)[_0x3306('0x27')](function(_0x5148c6){_0x27bb8f[_0x3306('0x20')]=_0x5148c6;if(_0x138947[_0x3306('0x36')][_0x3306('0x46')]){_0x21f7d1['include']=[{'all':!![]}];}return db['WhatsappQueue'][_0x3306('0x47')](_0x21f7d1);})[_0x3306('0x27')](function(_0x2f9429){_0x27bb8f[_0x3306('0x48')]=_0x2f9429;return _0x27bb8f;})[_0x3306('0x27')](respondWithFilteredResult(_0x38897f,_0x21f7d1))[_0x3306('0x49')](handleError(_0x38897f,null));};exports[_0x3306('0x4a')]=function(_0x45cf3b,_0x41c831){var _0x4546b2={'raw':!![],'where':{'id':_0x45cf3b[_0x3306('0x4b')]['id']}},_0x32a1f6={};_0x32a1f6[_0x3306('0x35')]=_['keys'](db[_0x3306('0x31')][_0x3306('0x32')]);_0x32a1f6[_0x3306('0x36')]=_['keys'](_0x45cf3b[_0x3306('0x36')]);_0x32a1f6['filters']=_[_0x3306('0x39')](_0x32a1f6[_0x3306('0x35')],_0x32a1f6[_0x3306('0x36')]);_0x4546b2[_0x3306('0x3a')]=_[_0x3306('0x39')](_0x32a1f6[_0x3306('0x35')],qs[_0x3306('0x3b')](_0x45cf3b[_0x3306('0x36')]['fields']));_0x4546b2[_0x3306('0x3a')]=_0x4546b2[_0x3306('0x3a')][_0x3306('0x3c')]?_0x4546b2['attributes']:_0x32a1f6[_0x3306('0x35')];if(_0x45cf3b[_0x3306('0x36')][_0x3306('0x46')]){_0x4546b2[_0x3306('0x4c')]=[{'all':!![]}];}_0x4546b2=_[_0x3306('0x43')]({},_0x4546b2,_0x45cf3b[_0x3306('0x4d')]);return db[_0x3306('0x31')]['find'](_0x4546b2)[_0x3306('0x27')](handleEntityNotFound(_0x41c831,null))[_0x3306('0x27')](respondWithResult(_0x41c831,null))['catch'](handleError(_0x41c831,null));};exports[_0x3306('0x4e')]=function(_0xeb1f59,_0x5f2104){return db[_0x3306('0x31')][_0x3306('0x4e')](_0xeb1f59['body'],{})['then'](function(_0x442550){var _0x25feb1=_0xeb1f59[_0x3306('0x4f')][_0x3306('0x50')]({'plain':!![]});if(!_0x25feb1)throw new Error(_0x3306('0x51'));if(_0x25feb1[_0x3306('0x52')]===_0x3306('0x4f')){var _0x30088f=_0x442550['get']({'plain':!![]});var _0x1355e9='WhatsappQueues';return db[_0x3306('0x53')]['find']({'where':{'name':_0x1355e9,'userProfileId':_0x25feb1[_0x3306('0x54')]},'raw':!![]})[_0x3306('0x27')](function(_0x4e3c80){if(_0x4e3c80&&_0x4e3c80[_0x3306('0x55')]===0x0){return db['UserProfileResource'][_0x3306('0x4e')]({'name':_0x30088f['name'],'resourceId':_0x30088f['id'],'type':_0x4e3c80[_0x3306('0x2d')],'sectionId':_0x4e3c80['id']},{})[_0x3306('0x27')](function(){return _0x442550;});}else{return _0x442550;}})[_0x3306('0x49')](function(_0x3389b0){logger[_0x3306('0x56')](_0x3306('0x57'),_0x3389b0);throw _0x3389b0;});}return _0x442550;})['then'](respondWithResult(_0x5f2104,0xc9))[_0x3306('0x49')](handleError(_0x5f2104,null));};exports[_0x3306('0x26')]=function(_0x75b3,_0x3d4343){if(_0x75b3['body']['id']){delete _0x75b3[_0x3306('0x58')]['id'];}return db[_0x3306('0x31')]['find']({'where':{'id':_0x75b3['params']['id']}})[_0x3306('0x27')](handleEntityNotFound(_0x3d4343,null))['then'](saveUpdates(_0x75b3[_0x3306('0x58')],null))['then'](respondWithResult(_0x3d4343,null))[_0x3306('0x49')](handleError(_0x3d4343,null));};exports[_0x3306('0x2a')]=function(_0x187e6f,_0x49b5a7){return db[_0x3306('0x31')][_0x3306('0x59')]({'where':{'id':_0x187e6f[_0x3306('0x4b')]['id']}})[_0x3306('0x27')](handleEntityNotFound(_0x49b5a7,null))[_0x3306('0x27')](removeEntity(_0x49b5a7,null))[_0x3306('0x49')](handleError(_0x49b5a7,null));};exports['describe']=function(_0x3a71c0,_0x13275e){return db[_0x3306('0x31')][_0x3306('0x5a')]()['then'](respondWithResult(_0x13275e,null))[_0x3306('0x49')](handleError(_0x13275e,null));};exports[_0x3306('0x5b')]=function(_0xdb966f,_0x345335,_0x7493f){var _0x209cb9={'raw':!![],'where':{}},_0x52cd7c={},_0x44de60;return db[_0x3306('0x31')][_0x3306('0x5c')]({'where':{'id':_0xdb966f['params']['id']}})[_0x3306('0x27')](handleEntityNotFound(_0x345335,null))[_0x3306('0x27')](function(_0x43f0e8){if(_0x43f0e8){_0x44de60=_0x43f0e8[_0x3306('0x50')]({'plain':!![]});_0x52cd7c[_0x3306('0x35')]=_['keys'](db[_0x3306('0x5d')][_0x3306('0x32')]);_0x52cd7c[_0x3306('0x36')]=_[_0x3306('0x37')](_0xdb966f[_0x3306('0x36')]);_0x52cd7c[_0x3306('0x38')]=_[_0x3306('0x39')](_0x52cd7c[_0x3306('0x35')],_0x52cd7c[_0x3306('0x36')]);_0x209cb9['attributes']=_['intersection'](_0x52cd7c[_0x3306('0x35')],qs[_0x3306('0x3b')](_0xdb966f[_0x3306('0x36')][_0x3306('0x3b')]));_0x209cb9[_0x3306('0x3a')]=_0x209cb9[_0x3306('0x3a')][_0x3306('0x3c')]?_0x209cb9[_0x3306('0x3a')]:_0x52cd7c['model'];if(!_0xdb966f['query'][_0x3306('0x3d')](_0x3306('0x3e'))){_0x209cb9[_0x3306('0x3f')]=qs[_0x3306('0x3f')](_0xdb966f[_0x3306('0x36')]['limit']);_0x209cb9[_0x3306('0x21')]=qs[_0x3306('0x21')](_0xdb966f[_0x3306('0x36')][_0x3306('0x21')]);}_0x209cb9[_0x3306('0x5e')]=qs['sort'](_0xdb966f[_0x3306('0x36')][_0x3306('0x40')]);_0x209cb9['where']=qs[_0x3306('0x38')](_['pick'](_0xdb966f[_0x3306('0x36')],_0x52cd7c['filters']));_0x209cb9[_0x3306('0x42')][_0x3306('0x5f')]=_0x43f0e8['id'];if(_0xdb966f[_0x3306('0x36')][_0x3306('0x45')]){_0x209cb9[_0x3306('0x42')]=_[_0x3306('0x43')](_0x209cb9[_0x3306('0x42')],{'$or':_[_0x3306('0x30')](_0x209cb9[_0x3306('0x3a')],function(_0x48cb3f){var _0x362fdd={};_0x362fdd[_0x48cb3f]={'$like':'%'+_0xdb966f[_0x3306('0x36')][_0x3306('0x45')]+'%'};return _0x362fdd;})});}_0x209cb9=_[_0x3306('0x43')]({},_0x209cb9,_0xdb966f[_0x3306('0x4d')]);return db[_0x3306('0x5d')][_0x3306('0x47')](_0x209cb9);}})[_0x3306('0x27')](function(_0x5a3ea3){if(_0x5a3ea3){return db['User']['findAndCountAll']({'where':{'id':_['map'](_0x5a3ea3,_0x3306('0x60')),'role':_0x3306('0x61')},'attributes':['id','name','whatsappPause',_0x3306('0x62'),_0x3306('0x63')]});}})[_0x3306('0x27')](function(_0x36b2b1){if(_0x36b2b1){return{'count':_0x36b2b1[_0x3306('0x20')],'rows':_[_0x3306('0x30')](_0x36b2b1[_0x3306('0x48')],function(_0x417b3c){return{'membername':_0x417b3c['name'],'UserId':_0x417b3c['id'],'queue_name':_0x44de60[_0x3306('0x2d')],'WhatsappQueueId':_0x44de60['id'],'interface':util[_0x3306('0x64')](_0x3306('0x65'),_0x3306('0x66'),_0x417b3c[_0x3306('0x2d')]),'penalty':0x0,'paused':_0x417b3c['whatsappPause'],'createdAt':_0x417b3c['createdAt'],'updatedAt':_0x417b3c[_0x3306('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x3306('0x27')](respondWithFilteredResult(_0x345335,_0x209cb9))[_0x3306('0x49')](handleError(_0x345335,null));};exports[_0x3306('0x67')]=function(_0x71e76a,_0x274417,_0x57f3f2){var _0x3c45e2={};var _0x29097e={};var _0x167d74;var _0x36f337;return db[_0x3306('0x31')][_0x3306('0x5c')]({'where':{'id':_0x71e76a[_0x3306('0x4b')]['id']}})[_0x3306('0x27')](handleEntityNotFound(_0x274417,null))[_0x3306('0x27')](function(_0x1c1414){if(_0x1c1414){_0x167d74=_0x1c1414;_0x29097e['model']=_['keys'](db[_0x3306('0x68')][_0x3306('0x32')]);_0x29097e[_0x3306('0x36')]=_[_0x3306('0x37')](_0x71e76a[_0x3306('0x36')]);_0x29097e[_0x3306('0x38')]=_['intersection'](_0x29097e[_0x3306('0x35')],_0x29097e[_0x3306('0x36')]);_0x3c45e2[_0x3306('0x3a')]=_['intersection'](_0x29097e[_0x3306('0x35')],qs[_0x3306('0x3b')](_0x71e76a[_0x3306('0x36')][_0x3306('0x3b')]));_0x3c45e2[_0x3306('0x3a')]=_0x3c45e2[_0x3306('0x3a')][_0x3306('0x3c')]?_0x3c45e2[_0x3306('0x3a')]:_0x29097e['model'];_0x3c45e2[_0x3306('0x5e')]=qs[_0x3306('0x40')](_0x71e76a[_0x3306('0x36')]['sort']);_0x3c45e2['where']=qs[_0x3306('0x38')](_[_0x3306('0x41')](_0x71e76a[_0x3306('0x36')],_0x29097e['filters']));if(_0x71e76a[_0x3306('0x36')][_0x3306('0x45')]){_0x3c45e2[_0x3306('0x42')]=_[_0x3306('0x43')](_0x3c45e2[_0x3306('0x42')],{'$or':_[_0x3306('0x30')](_0x3c45e2['attributes'],function(_0xda4e85){var _0x3f5db8={};_0x3f5db8[_0xda4e85]={'$like':'%'+_0x71e76a['query'][_0x3306('0x45')]+'%'};return _0x3f5db8;})});}_0x3c45e2=_[_0x3306('0x43')]({},_0x3c45e2,_0x71e76a[_0x3306('0x4d')]);return _0x167d74[_0x3306('0x67')](_0x3c45e2);}})[_0x3306('0x27')](function(_0x205e87){if(_0x205e87){_0x36f337=_0x205e87[_0x3306('0x3c')];if(!_0x71e76a[_0x3306('0x36')][_0x3306('0x3d')]('nolimit')){_0x3c45e2[_0x3306('0x3f')]=qs['limit'](_0x71e76a[_0x3306('0x36')]['limit']);_0x3c45e2[_0x3306('0x21')]=qs['offset'](_0x71e76a[_0x3306('0x36')][_0x3306('0x21')]);}return _0x167d74['getTeams'](_0x3c45e2);}})[_0x3306('0x27')](function(_0x4645ee){if(_0x4645ee){return _0x4645ee?{'count':_0x36f337,'rows':_0x4645ee}:null;}})[_0x3306('0x27')](respondWithResult(_0x274417,null))['catch'](handleError(_0x274417,null));};exports[_0x3306('0x69')]=function(_0x2921ae,_0x59ccad,_0x6921b6){var _0x29063e=_0x2921ae[_0x3306('0x58')][_0x3306('0x6a')];return db[_0x3306('0x68')][_0x3306('0x47')]({'where':{'id':_0x29063e},'attributes':['id'],'include':[{'model':db[_0x3306('0x6b')],'as':_0x3306('0x6c'),'attributes':['id',_0x3306('0x2d'),'online',_0x3306('0x6d'),_0x3306('0x6e')],'raw':!![]}]})[_0x3306('0x27')](function(_0x2b7ece){if(_0x2b7ece){var _0x35fd1c=_[_0x3306('0x6f')](_0x2b7ece,function(_0x4c3585){var _0x48c2bd=_0x4c3585[_0x3306('0x50')]({'plain':!![]});return _0x48c2bd[_0x3306('0x6c')];});return db[_0x3306('0x31')]['find']({'where':{'id':_0x2921ae[_0x3306('0x4b')]['id']}})['then'](function(_0x50c79a){return db[_0x3306('0x70')][_0x3306('0x71')](function(_0x46ef45){return _0x50c79a[_0x3306('0x69')](_0x29063e,{'transaction':_0x46ef45})[_0x3306('0x27')](function(){return BPromise['each'](_0x35fd1c,function(_0x3ff546){return db[_0x3306('0x5d')][_0x3306('0x72')]({'where':{'UserId':_0x3ff546['id'],'WhatsappQueueId':_0x2921ae[_0x3306('0x4b')]['id']},'transaction':_0x46ef45});});})['then'](function(){_0x35fd1c[_0x3306('0x73')](function(_0x3955fc){socket[_0x3306('0x74')](_0x3306('0x75'),{'UserId':_0x3955fc['id'],'WhatsappQueueId':_0x50c79a['id']});});});});});}})[_0x3306('0x27')](respondWithStatusCode(_0x59ccad,null))[_0x3306('0x49')](handleError(_0x59ccad,null));};exports[_0x3306('0x76')]=function(_0xc69f53,_0x553f0a,_0x5ab244){return db[_0x3306('0x68')][_0x3306('0x47')]({'where':{'id':_0xc69f53[_0x3306('0x36')][_0x3306('0x6a')]},'attributes':['id'],'include':[{'model':db[_0x3306('0x6b')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x3306('0x27')](handleEntityNotFound(_0x553f0a,null))[_0x3306('0x27')](function(_0x5b42f5){var _0x24590c=_['map'](_0x5b42f5,'id');var _0x229074=[];var _0x1031ab=[];var _0x3bbbd1=squel[_0x3306('0x77')]();_0x3bbbd1[_0x3306('0x78')](_0x3306('0x79'))['from'](_0x3306('0x7a'),'tq')['join'](_0x3306('0x7b'),'ut',_0x3306('0x7c'))[_0x3306('0x42')](_0x3306('0x7d'),_0xc69f53[_0x3306('0x4b')]['id']);for(var _0x45d55a=0x0;_0x45d55a<_0x5b42f5[_0x3306('0x3c')];_0x45d55a+=0x1){let _0x1c8f35=_0x5b42f5[_0x45d55a];for(var _0x3c9d0b=0x0;_0x3c9d0b<_0x1c8f35[_0x3306('0x6c')][_0x3306('0x3c')];_0x3c9d0b+=0x1){let _0x4c10fa=_0x1c8f35[_0x3306('0x6c')][_0x3c9d0b];var _0x198e4c=_0x3bbbd1[_0x3306('0x7e')]();_0x198e4c['where'](_0x3306('0x7f'),_0x4c10fa['id']);_0x1031ab[_0x3306('0x80')](db[_0x3306('0x70')]['query'](_0x198e4c[_0x3306('0x81')](),{'type':db['sequelize'][_0x3306('0x82')][_0x3306('0x83')]})['then'](function(_0x214c11){if(_0x214c11[_0x3306('0x3c')]===0x1){return _0x4c10fa['id'];}else{var _0x57ced4=_['every'](_[_0x3306('0x30')](_0x214c11,_0x3306('0x84')),function(_0x25c975){return _['includes'](_0x24590c,_0x25c975);});if(_0x57ced4){return _0x4c10fa['id'];}}}));}}return BPromise[_0x3306('0x85')](_0x1031ab)[_0x3306('0x27')](function(_0x2bd176){_0x229074=_(_0x229074)['union'](_0x2bd176)['compact']()[_0x3306('0x86')]();return db[_0x3306('0x31')]['find']({'where':{'id':_0xc69f53['params']['id']}})[_0x3306('0x27')](function(_0x5c4b75){return db[_0x3306('0x70')][_0x3306('0x71')](function(_0x1a17e5){return _0x5c4b75[_0x3306('0x76')](_0xc69f53[_0x3306('0x36')][_0x3306('0x6a')],{'transaction':_0x1a17e5})[_0x3306('0x27')](function(){if(!_[_0x3306('0x87')](_0x229074)){return _0x5c4b75[_0x3306('0x88')](_0x229074,{'transaction':_0x1a17e5});}})[_0x3306('0x27')](function(){_0x229074['forEach'](function(_0x4464bf){socket[_0x3306('0x74')](_0x3306('0x89'),{'UserId':_0x4464bf,'WhatsappQueueId':_0x5c4b75['id']});});});});});});})['then'](respondWithStatusCode(_0x553f0a,null))[_0x3306('0x49')](handleError(_0x553f0a,null));};exports[_0x3306('0x8a')]=function(_0x4387ad,_0x2371c2,_0x1c1c73){return db[_0x3306('0x31')][_0x3306('0x59')]({'where':{'id':_0x4387ad[_0x3306('0x4b')]['id']}})['then'](handleEntityNotFound(_0x2371c2,null))[_0x3306('0x27')](function(_0x37a937){if(_0x37a937){return _0x37a937['addAgents'](_0x4387ad[_0x3306('0x58')][_0x3306('0x6a')],_[_0x3306('0x8b')](_0x4387ad[_0x3306('0x58')],[_0x3306('0x6a'),'id'])||{})[_0x3306('0x8c')](function(_0x560a93){for(var _0x217dea=0x0;_0x217dea<_0x4387ad[_0x3306('0x58')]['ids']['length'];_0x217dea+=0x1){socket[_0x3306('0x74')](_0x3306('0x75'),{'UserId':_0x4387ad['body'][_0x3306('0x6a')][_0x217dea],'WhatsappQueueId':_0x4387ad['params']['id']});}return _0x560a93;});}})[_0x3306('0x27')](respondWithResult(_0x2371c2,null))[_0x3306('0x49')](handleError(_0x2371c2,null));};exports['removeAgents']=function(_0x57d4c8,_0x25e2b2,_0x382ab2){return db[_0x3306('0x31')][_0x3306('0x59')]({'where':{'id':_0x57d4c8[_0x3306('0x4b')]['id']}})['then'](handleEntityNotFound(_0x25e2b2,null))[_0x3306('0x27')](function(_0x54757b){if(_0x54757b){return _0x54757b[_0x3306('0x88')](_0x57d4c8[_0x3306('0x36')][_0x3306('0x6a')])[_0x3306('0x27')](function(){if(_['isArray'](_0x57d4c8[_0x3306('0x36')][_0x3306('0x6a')])){for(var _0x553b43=0x0;_0x553b43<_0x57d4c8[_0x3306('0x36')][_0x3306('0x6a')][_0x3306('0x3c')];_0x553b43+=0x1){socket['emit'](_0x3306('0x89'),{'UserId':Number(_0x57d4c8['query'][_0x3306('0x6a')][_0x553b43]),'WhatsappQueueId':Number(_0x57d4c8[_0x3306('0x4b')]['id'])});}}else{socket[_0x3306('0x74')](_0x3306('0x89'),{'UserId':Number(_0x57d4c8[_0x3306('0x36')][_0x3306('0x6a')]),'WhatsappQueueId':Number(_0x57d4c8['params']['id'])});}});}})[_0x3306('0x27')](respondWithStatusCode(_0x25e2b2,null))['catch'](handleError(_0x25e2b2,null));};exports[_0x3306('0x8d')]=function(_0x14ac60,_0x1c0bf7,_0xeb0e3c){var _0x25501c={};var _0x38b809={};var _0x293ad0;var _0x2563ae;return db['WhatsappQueue'][_0x3306('0x5c')]({'where':{'id':_0x14ac60['params']['id']}})[_0x3306('0x27')](handleEntityNotFound(_0x1c0bf7,null))['then'](function(_0x39bf52){if(_0x39bf52){_0x293ad0=_0x39bf52;_0x38b809['model']=_[_0x3306('0x37')](db['User'][_0x3306('0x32')]);_0x38b809[_0x3306('0x36')]=_[_0x3306('0x37')](_0x14ac60[_0x3306('0x36')]);_0x38b809[_0x3306('0x38')]=_['intersection'](_0x38b809['model'],_0x38b809[_0x3306('0x36')]);_0x25501c[_0x3306('0x3a')]=_[_0x3306('0x39')](_0x38b809[_0x3306('0x35')],qs[_0x3306('0x3b')](_0x14ac60[_0x3306('0x36')][_0x3306('0x3b')]));_0x25501c['attributes']=_0x25501c['attributes'][_0x3306('0x3c')]?_0x25501c[_0x3306('0x3a')]:_0x38b809[_0x3306('0x35')];_0x25501c[_0x3306('0x5e')]=qs[_0x3306('0x40')](_0x14ac60[_0x3306('0x36')][_0x3306('0x40')]);_0x25501c[_0x3306('0x42')]=qs[_0x3306('0x38')](_[_0x3306('0x41')](_0x14ac60['query'],_0x38b809[_0x3306('0x38')]));if(_0x14ac60[_0x3306('0x36')][_0x3306('0x45')]){_0x25501c[_0x3306('0x42')]=_[_0x3306('0x43')](_0x25501c[_0x3306('0x42')],{'$or':_['map'](_0x25501c[_0x3306('0x3a')],function(_0x3b35c1){var _0x5f50f1={};_0x5f50f1[_0x3b35c1]={'$like':'%'+_0x14ac60[_0x3306('0x36')][_0x3306('0x45')]+'%'};return _0x5f50f1;})});}_0x25501c=_[_0x3306('0x43')]({},_0x25501c,_0x14ac60[_0x3306('0x4d')]);return _0x293ad0[_0x3306('0x8d')](_0x25501c);}})['then'](function(_0x49d337){if(_0x49d337){_0x2563ae=_0x49d337[_0x3306('0x3c')];if(!_0x14ac60['query']['hasOwnProperty']('nolimit')){_0x25501c[_0x3306('0x3f')]=qs[_0x3306('0x3f')](_0x14ac60[_0x3306('0x36')][_0x3306('0x3f')]);_0x25501c[_0x3306('0x21')]=qs[_0x3306('0x21')](_0x14ac60[_0x3306('0x36')][_0x3306('0x21')]);}return _0x293ad0[_0x3306('0x8d')](_0x25501c);}})[_0x3306('0x27')](function(_0x1744e5){if(_0x1744e5){return _0x1744e5?{'count':_0x2563ae,'rows':_0x1744e5}:null;}})[_0x3306('0x27')](respondWithResult(_0x1c0bf7,null))[_0x3306('0x49')](handleError(_0x1c0bf7,null));};