6c5c928421655ca3e5621c4cc6a620394cceefc6
[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 _0xec64=['eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','redis','socket.io-emitter','./whatsappQueue.socket','sendStatus','end','status','json','count','offset','limit','Content-Range','apply','reject','save','then','get','WhatsappQueues','destroy','error','stack','name','send','WhatsappQueue','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','update','describe','getMembers','UserWhatsappQueue','User','findAndCountAll','UserId','updatedAt','createdAt','format','SIP','whatsappPause','findOne','Team','getTeams','addTeams','ids','voicePause','interface','flatMap','Agents','sequelize','transaction','each','findOrCreate','forEach','select','field','tq.TeamId','from','team_has_whatsapp_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','push','toString','SELECT','every','TeamId','includes','all','union','compact','value','removeTeams','isEmpty','userWhatsappQueue:remove','addAgents','omit','spread','emit','userWhatsappQueue:save','removeAgents','isArray','getAgents'];(function(_0x106214,_0x454b8d){var _0x5f5cea=function(_0x247841){while(--_0x247841){_0x106214['push'](_0x106214['shift']());}};_0x5f5cea(++_0x454b8d);}(_0xec64,0x8e));var _0x4ec6=function(_0x2c6810,_0x23c079){_0x2c6810=_0x2c6810-0x0;var _0x213881=_0xec64[_0x2c6810];return _0x213881;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4ec6('0x0'));var rimraf=require(_0x4ec6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4ec6('0x2'));var moment=require(_0x4ec6('0x3'));var BPromise=require(_0x4ec6('0x4'));var Mustache=require(_0x4ec6('0x5'));var util=require(_0x4ec6('0x6'));var path=require(_0x4ec6('0x7'));var sox=require(_0x4ec6('0x8'));var csv=require(_0x4ec6('0x9'));var ejs=require(_0x4ec6('0xa'));var fs=require('fs');var _=require(_0x4ec6('0xb'));var squel=require(_0x4ec6('0xc'));var crypto=require(_0x4ec6('0xd'));var jsforce=require(_0x4ec6('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x4ec6('0x9'));var querystring=require('querystring');var Papa=require(_0x4ec6('0xf'));var Redis=require(_0x4ec6('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4ec6('0x11'));var hardwareService=require(_0x4ec6('0x12'));var logger=require(_0x4ec6('0x13'))(_0x4ec6('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x4ec6('0x15'));var db=require(_0x4ec6('0x16'))['db'];config[_0x4ec6('0x17')]=_['defaults'](config[_0x4ec6('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0x4ec6('0x18'))(new Redis(config[_0x4ec6('0x17')]));require(_0x4ec6('0x19'))['register'](socket);function respondWithStatusCode(_0x385119,_0x250eba){_0x250eba=_0x250eba||0xcc;return function(_0x20b467){if(_0x20b467){return _0x385119[_0x4ec6('0x1a')](_0x250eba);}return _0x385119['status'](_0x250eba)[_0x4ec6('0x1b')]();};}function respondWithResult(_0x2d6368,_0x2bc18c){_0x2bc18c=_0x2bc18c||0xc8;return function(_0x5e2aea){if(_0x5e2aea){return _0x2d6368[_0x4ec6('0x1c')](_0x2bc18c)[_0x4ec6('0x1d')](_0x5e2aea);}};}function respondWithFilteredResult(_0x2f03fd,_0x3931c6){return function(_0x46a3f7){if(_0x46a3f7){var _0x13520f=_0x46a3f7[_0x4ec6('0x1e')],_0x3d50c6=_0x3931c6['offset'],_0x183066=_0x3931c6[_0x4ec6('0x1f')]+_0x3931c6[_0x4ec6('0x20')],_0xf4d14e;if(_0x183066>=_0x13520f){_0x183066=_0x13520f;_0xf4d14e=0xc8;}else{_0xf4d14e=0xce;}_0x2f03fd[_0x4ec6('0x1c')](_0xf4d14e);return _0x2f03fd['set'](_0x4ec6('0x21'),_0x3d50c6+'-'+_0x183066+'/'+_0x13520f)['json'](_0x46a3f7);}return null;};}function patchUpdates(_0x1a6d68){return function(_0x1c560d){try{jsonpatch[_0x4ec6('0x22')](_0x1c560d,_0x1a6d68,!![]);}catch(_0x2efc17){return BPromise[_0x4ec6('0x23')](_0x2efc17);}return _0x1c560d[_0x4ec6('0x24')]();};}function saveUpdates(_0x3c6f5a,_0x4f2702){return function(_0x3f5e38){if(_0x3f5e38){return _0x3f5e38['update'](_0x3c6f5a)[_0x4ec6('0x25')](function(_0x2c002a){return _0x2c002a;});}return null;};}function removeEntity(_0x59b762,_0x47d57f){return function(_0x7c6018){if(_0x7c6018){return _0x7c6018['destroy']()[_0x4ec6('0x25')](function(){var _0x4301a1=_0x7c6018[_0x4ec6('0x26')]({'plain':!![]});var _0x48f66c=_0x4ec6('0x27');return db['UserProfileResource'][_0x4ec6('0x28')]({'where':{'type':_0x48f66c,'resourceId':_0x4301a1['id']}})['then'](function(){return _0x7c6018;});})[_0x4ec6('0x25')](function(){_0x59b762['status'](0xcc)[_0x4ec6('0x1b')]();});}};}function handleEntityNotFound(_0x11e24f,_0x516b87){return function(_0x2952e2){if(!_0x2952e2){_0x11e24f[_0x4ec6('0x1a')](0x194);}return _0x2952e2;};}function handleError(_0x1c00ce,_0x39d15f){_0x39d15f=_0x39d15f||0x1f4;return function(_0x4d5bf9){logger[_0x4ec6('0x29')](_0x4d5bf9[_0x4ec6('0x2a')]);if(_0x4d5bf9[_0x4ec6('0x2b')]){delete _0x4d5bf9[_0x4ec6('0x2b')];}_0x1c00ce[_0x4ec6('0x1c')](_0x39d15f)[_0x4ec6('0x2c')](_0x4d5bf9);};}exports['index']=function(_0x1fe1a4,_0x26a866){var _0x372540={},_0x496c34={},_0x3892c8={'count':0x0,'rows':[]};var _0x52dfea=_['map'](db[_0x4ec6('0x2d')][_0x4ec6('0x2e')],function(_0x19e17d){return{'name':_0x19e17d[_0x4ec6('0x2f')],'type':_0x19e17d[_0x4ec6('0x30')][_0x4ec6('0x31')]};});_0x496c34[_0x4ec6('0x32')]=_[_0x4ec6('0x33')](_0x52dfea,_0x4ec6('0x2b'));_0x496c34[_0x4ec6('0x34')]=_[_0x4ec6('0x35')](_0x1fe1a4['query']);_0x496c34[_0x4ec6('0x36')]=_[_0x4ec6('0x37')](_0x496c34['model'],_0x496c34['query']);_0x372540[_0x4ec6('0x38')]=_[_0x4ec6('0x37')](_0x496c34[_0x4ec6('0x32')],qs[_0x4ec6('0x39')](_0x1fe1a4[_0x4ec6('0x34')][_0x4ec6('0x39')]));_0x372540[_0x4ec6('0x38')]=_0x372540[_0x4ec6('0x38')]['length']?_0x372540['attributes']:_0x496c34[_0x4ec6('0x32')];if(!_0x1fe1a4[_0x4ec6('0x34')][_0x4ec6('0x3a')](_0x4ec6('0x3b'))){_0x372540[_0x4ec6('0x20')]=qs[_0x4ec6('0x20')](_0x1fe1a4[_0x4ec6('0x34')][_0x4ec6('0x20')]);_0x372540[_0x4ec6('0x1f')]=qs[_0x4ec6('0x1f')](_0x1fe1a4[_0x4ec6('0x34')][_0x4ec6('0x1f')]);}_0x372540[_0x4ec6('0x3c')]=qs[_0x4ec6('0x3d')](_0x1fe1a4[_0x4ec6('0x34')][_0x4ec6('0x3d')]);_0x372540[_0x4ec6('0x3e')]=qs[_0x4ec6('0x36')](_[_0x4ec6('0x3f')](_0x1fe1a4[_0x4ec6('0x34')],_0x496c34[_0x4ec6('0x36')]),_0x52dfea);if(_0x1fe1a4[_0x4ec6('0x34')][_0x4ec6('0x40')]){_0x372540['where']=_[_0x4ec6('0x41')](_0x372540[_0x4ec6('0x3e')],{'$or':_['map'](_0x52dfea,function(_0x56bf08){if(_0x56bf08['type']!==_0x4ec6('0x42')){var _0x391891={};_0x391891[_0x56bf08[_0x4ec6('0x2b')]]={'$like':'%'+_0x1fe1a4[_0x4ec6('0x34')]['filter']+'%'};return _0x391891;}})});}_0x372540=_[_0x4ec6('0x41')]({},_0x372540,_0x1fe1a4[_0x4ec6('0x43')]);var _0x18417c={'where':_0x372540['where']};return db[_0x4ec6('0x2d')]['count'](_0x18417c)['then'](function(_0x3bc3d8){_0x3892c8[_0x4ec6('0x1e')]=_0x3bc3d8;if(_0x1fe1a4['query'][_0x4ec6('0x44')]){_0x372540[_0x4ec6('0x45')]=[{'all':!![]}];}return db[_0x4ec6('0x2d')][_0x4ec6('0x46')](_0x372540);})[_0x4ec6('0x25')](function(_0x571e8d){_0x3892c8[_0x4ec6('0x47')]=_0x571e8d;return _0x3892c8;})['then'](respondWithFilteredResult(_0x26a866,_0x372540))[_0x4ec6('0x48')](handleError(_0x26a866,null));};exports['show']=function(_0x2bbef7,_0x8f6765){var _0x948b3e={'raw':!![],'where':{'id':_0x2bbef7[_0x4ec6('0x49')]['id']}},_0x3b8fe6={};_0x3b8fe6['model']=_[_0x4ec6('0x35')](db['WhatsappQueue']['rawAttributes']);_0x3b8fe6[_0x4ec6('0x34')]=_[_0x4ec6('0x35')](_0x2bbef7[_0x4ec6('0x34')]);_0x3b8fe6[_0x4ec6('0x36')]=_['intersection'](_0x3b8fe6['model'],_0x3b8fe6[_0x4ec6('0x34')]);_0x948b3e['attributes']=_['intersection'](_0x3b8fe6[_0x4ec6('0x32')],qs[_0x4ec6('0x39')](_0x2bbef7[_0x4ec6('0x34')][_0x4ec6('0x39')]));_0x948b3e[_0x4ec6('0x38')]=_0x948b3e[_0x4ec6('0x38')][_0x4ec6('0x4a')]?_0x948b3e[_0x4ec6('0x38')]:_0x3b8fe6['model'];if(_0x2bbef7[_0x4ec6('0x34')][_0x4ec6('0x44')]){_0x948b3e[_0x4ec6('0x45')]=[{'all':!![]}];}_0x948b3e=_['merge']({},_0x948b3e,_0x2bbef7[_0x4ec6('0x43')]);return db[_0x4ec6('0x2d')][_0x4ec6('0x4b')](_0x948b3e)[_0x4ec6('0x25')](handleEntityNotFound(_0x8f6765,null))[_0x4ec6('0x25')](respondWithResult(_0x8f6765,null))[_0x4ec6('0x48')](handleError(_0x8f6765,null));};exports[_0x4ec6('0x4c')]=function(_0x463e2f,_0x5cf372){return db[_0x4ec6('0x2d')]['create'](_0x463e2f[_0x4ec6('0x4d')],{})[_0x4ec6('0x25')](function(_0x39d5e4){var _0x35d198=_0x463e2f[_0x4ec6('0x4e')][_0x4ec6('0x26')]({'plain':!![]});if(!_0x35d198)throw new Error(_0x4ec6('0x4f'));if(_0x35d198[_0x4ec6('0x50')]==='user'){var _0x1acc45=_0x39d5e4[_0x4ec6('0x26')]({'plain':!![]});var _0x4d81e4=_0x4ec6('0x27');return db[_0x4ec6('0x51')][_0x4ec6('0x4b')]({'where':{'name':_0x4d81e4,'userProfileId':_0x35d198[_0x4ec6('0x52')]},'raw':!![]})[_0x4ec6('0x25')](function(_0x1df010){if(_0x1df010&&_0x1df010[_0x4ec6('0x53')]===0x0){return db[_0x4ec6('0x54')][_0x4ec6('0x4c')]({'name':_0x1acc45['name'],'resourceId':_0x1acc45['id'],'type':_0x1df010['name'],'sectionId':_0x1df010['id']},{})['then'](function(){return _0x39d5e4;});}else{return _0x39d5e4;}})[_0x4ec6('0x48')](function(_0x5241c){logger[_0x4ec6('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5241c);throw _0x5241c;});}return _0x39d5e4;})[_0x4ec6('0x25')](respondWithResult(_0x5cf372,0xc9))[_0x4ec6('0x48')](handleError(_0x5cf372,null));};exports[_0x4ec6('0x55')]=function(_0x2855db,_0x2453cb){if(_0x2855db[_0x4ec6('0x4d')]['id']){delete _0x2855db[_0x4ec6('0x4d')]['id'];}return db[_0x4ec6('0x2d')][_0x4ec6('0x4b')]({'where':{'id':_0x2855db['params']['id']}})[_0x4ec6('0x25')](handleEntityNotFound(_0x2453cb,null))['then'](saveUpdates(_0x2855db[_0x4ec6('0x4d')],null))['then'](respondWithResult(_0x2453cb,null))[_0x4ec6('0x48')](handleError(_0x2453cb,null));};exports[_0x4ec6('0x28')]=function(_0x4e1a29,_0x8e0414){return db[_0x4ec6('0x2d')][_0x4ec6('0x4b')]({'where':{'id':_0x4e1a29[_0x4ec6('0x49')]['id']}})[_0x4ec6('0x25')](handleEntityNotFound(_0x8e0414,null))[_0x4ec6('0x25')](removeEntity(_0x8e0414,null))['catch'](handleError(_0x8e0414,null));};exports[_0x4ec6('0x56')]=function(_0x28118e,_0x32632d){return db[_0x4ec6('0x2d')][_0x4ec6('0x56')]()[_0x4ec6('0x25')](respondWithResult(_0x32632d,null))[_0x4ec6('0x48')](handleError(_0x32632d,null));};exports[_0x4ec6('0x57')]=function(_0x4be54a,_0xa508ba,_0x593d53){var _0x2cb11e={'raw':!![],'where':{}},_0x11a70f={},_0x398d4d;return db[_0x4ec6('0x2d')]['findOne']({'where':{'id':_0x4be54a[_0x4ec6('0x49')]['id']}})[_0x4ec6('0x25')](handleEntityNotFound(_0xa508ba,null))['then'](function(_0x4fdcbd){if(_0x4fdcbd){_0x398d4d=_0x4fdcbd[_0x4ec6('0x26')]({'plain':!![]});_0x11a70f['model']=_[_0x4ec6('0x35')](db[_0x4ec6('0x58')][_0x4ec6('0x2e')]);_0x11a70f[_0x4ec6('0x34')]=_['keys'](_0x4be54a['query']);_0x11a70f[_0x4ec6('0x36')]=_[_0x4ec6('0x37')](_0x11a70f['model'],_0x11a70f[_0x4ec6('0x34')]);_0x2cb11e[_0x4ec6('0x38')]=_[_0x4ec6('0x37')](_0x11a70f[_0x4ec6('0x32')],qs['fields'](_0x4be54a['query'][_0x4ec6('0x39')]));_0x2cb11e[_0x4ec6('0x38')]=_0x2cb11e[_0x4ec6('0x38')][_0x4ec6('0x4a')]?_0x2cb11e[_0x4ec6('0x38')]:_0x11a70f[_0x4ec6('0x32')];if(!_0x4be54a[_0x4ec6('0x34')]['hasOwnProperty'](_0x4ec6('0x3b'))){_0x2cb11e[_0x4ec6('0x20')]=qs['limit'](_0x4be54a[_0x4ec6('0x34')][_0x4ec6('0x20')]);_0x2cb11e[_0x4ec6('0x1f')]=qs[_0x4ec6('0x1f')](_0x4be54a[_0x4ec6('0x34')][_0x4ec6('0x1f')]);}_0x2cb11e[_0x4ec6('0x3c')]=qs[_0x4ec6('0x3d')](_0x4be54a[_0x4ec6('0x34')]['sort']);_0x2cb11e[_0x4ec6('0x3e')]=qs[_0x4ec6('0x36')](_[_0x4ec6('0x3f')](_0x4be54a[_0x4ec6('0x34')],_0x11a70f[_0x4ec6('0x36')]));_0x2cb11e[_0x4ec6('0x3e')]['WhatsappQueueId']=_0x4fdcbd['id'];if(_0x4be54a[_0x4ec6('0x34')]['filter']){_0x2cb11e['where']=_[_0x4ec6('0x41')](_0x2cb11e[_0x4ec6('0x3e')],{'$or':_[_0x4ec6('0x33')](_0x2cb11e[_0x4ec6('0x38')],function(_0x348855){var _0x5d3f87={};_0x5d3f87[_0x348855]={'$like':'%'+_0x4be54a[_0x4ec6('0x34')]['filter']+'%'};return _0x5d3f87;})});}_0x2cb11e=_['merge']({},_0x2cb11e,_0x4be54a[_0x4ec6('0x43')]);return db[_0x4ec6('0x58')][_0x4ec6('0x46')](_0x2cb11e);}})['then'](function(_0x1b6f5){if(_0x1b6f5){return db[_0x4ec6('0x59')][_0x4ec6('0x5a')]({'where':{'id':_['map'](_0x1b6f5,_0x4ec6('0x5b')),'role':'agent'},'attributes':['id',_0x4ec6('0x2b'),'whatsappPause',_0x4ec6('0x5c'),_0x4ec6('0x5d')]});}})[_0x4ec6('0x25')](function(_0xa72610){if(_0xa72610){return{'count':_0xa72610[_0x4ec6('0x1e')],'rows':_[_0x4ec6('0x33')](_0xa72610[_0x4ec6('0x47')],function(_0x124843){return{'membername':_0x124843[_0x4ec6('0x2b')],'UserId':_0x124843['id'],'queue_name':_0x398d4d[_0x4ec6('0x2b')],'WhatsappQueueId':_0x398d4d['id'],'interface':util[_0x4ec6('0x5e')]('%s/%s',_0x4ec6('0x5f'),_0x124843['name']),'penalty':0x0,'paused':_0x124843[_0x4ec6('0x60')],'createdAt':_0x124843[_0x4ec6('0x5d')],'updatedAt':_0x124843[_0x4ec6('0x5c')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0xa508ba,_0x2cb11e))['catch'](handleError(_0xa508ba,null));};exports['getTeams']=function(_0x48d331,_0x2f60e6,_0x21a799){var _0x3903f8={};var _0x1866f2={};var _0x34c74c;var _0x5b6fad;return db[_0x4ec6('0x2d')][_0x4ec6('0x61')]({'where':{'id':_0x48d331['params']['id']}})[_0x4ec6('0x25')](handleEntityNotFound(_0x2f60e6,null))[_0x4ec6('0x25')](function(_0x29a59c){if(_0x29a59c){_0x34c74c=_0x29a59c;_0x1866f2[_0x4ec6('0x32')]=_[_0x4ec6('0x35')](db[_0x4ec6('0x62')][_0x4ec6('0x2e')]);_0x1866f2[_0x4ec6('0x34')]=_[_0x4ec6('0x35')](_0x48d331[_0x4ec6('0x34')]);_0x1866f2['filters']=_[_0x4ec6('0x37')](_0x1866f2[_0x4ec6('0x32')],_0x1866f2['query']);_0x3903f8['attributes']=_[_0x4ec6('0x37')](_0x1866f2[_0x4ec6('0x32')],qs[_0x4ec6('0x39')](_0x48d331[_0x4ec6('0x34')]['fields']));_0x3903f8[_0x4ec6('0x38')]=_0x3903f8['attributes'][_0x4ec6('0x4a')]?_0x3903f8[_0x4ec6('0x38')]:_0x1866f2[_0x4ec6('0x32')];_0x3903f8[_0x4ec6('0x3c')]=qs[_0x4ec6('0x3d')](_0x48d331[_0x4ec6('0x34')]['sort']);_0x3903f8[_0x4ec6('0x3e')]=qs[_0x4ec6('0x36')](_[_0x4ec6('0x3f')](_0x48d331[_0x4ec6('0x34')],_0x1866f2[_0x4ec6('0x36')]));if(_0x48d331[_0x4ec6('0x34')][_0x4ec6('0x40')]){_0x3903f8[_0x4ec6('0x3e')]=_['merge'](_0x3903f8[_0x4ec6('0x3e')],{'$or':_[_0x4ec6('0x33')](_0x3903f8[_0x4ec6('0x38')],function(_0x11de57){var _0x1f62b6={};_0x1f62b6[_0x11de57]={'$like':'%'+_0x48d331['query']['filter']+'%'};return _0x1f62b6;})});}_0x3903f8=_[_0x4ec6('0x41')]({},_0x3903f8,_0x48d331[_0x4ec6('0x43')]);return _0x34c74c[_0x4ec6('0x63')](_0x3903f8);}})['then'](function(_0x1e22d){if(_0x1e22d){_0x5b6fad=_0x1e22d['length'];if(!_0x48d331[_0x4ec6('0x34')][_0x4ec6('0x3a')]('nolimit')){_0x3903f8[_0x4ec6('0x20')]=qs[_0x4ec6('0x20')](_0x48d331[_0x4ec6('0x34')][_0x4ec6('0x20')]);_0x3903f8[_0x4ec6('0x1f')]=qs[_0x4ec6('0x1f')](_0x48d331[_0x4ec6('0x34')][_0x4ec6('0x1f')]);}return _0x34c74c[_0x4ec6('0x63')](_0x3903f8);}})[_0x4ec6('0x25')](function(_0x39babd){if(_0x39babd){return _0x39babd?{'count':_0x5b6fad,'rows':_0x39babd}:null;}})[_0x4ec6('0x25')](respondWithResult(_0x2f60e6,null))['catch'](handleError(_0x2f60e6,null));};exports[_0x4ec6('0x64')]=function(_0x3d3ce8,_0x177edc,_0x4bce4d){var _0x599f69=_0x3d3ce8[_0x4ec6('0x4d')][_0x4ec6('0x65')];return db[_0x4ec6('0x62')][_0x4ec6('0x46')]({'where':{'id':_0x599f69},'attributes':['id'],'include':[{'model':db[_0x4ec6('0x59')],'as':'Agents','attributes':['id','name','online',_0x4ec6('0x66'),_0x4ec6('0x67')],'raw':!![]}]})['then'](function(_0x4cc40e){if(_0x4cc40e){var _0x36aa06=_[_0x4ec6('0x68')](_0x4cc40e,function(_0x4f84bb){var _0x50da52=_0x4f84bb['get']({'plain':!![]});return _0x50da52[_0x4ec6('0x69')];});return db[_0x4ec6('0x2d')][_0x4ec6('0x4b')]({'where':{'id':_0x3d3ce8[_0x4ec6('0x49')]['id']}})[_0x4ec6('0x25')](function(_0x2753da){return db[_0x4ec6('0x6a')][_0x4ec6('0x6b')](function(_0x545fe7){return _0x2753da['addTeams'](_0x599f69,{'transaction':_0x545fe7})[_0x4ec6('0x25')](function(){return BPromise[_0x4ec6('0x6c')](_0x36aa06,function(_0x505cde){return db[_0x4ec6('0x58')][_0x4ec6('0x6d')]({'where':{'UserId':_0x505cde['id'],'WhatsappQueueId':_0x3d3ce8['params']['id']},'transaction':_0x545fe7});});})[_0x4ec6('0x25')](function(){_0x36aa06[_0x4ec6('0x6e')](function(_0x1b79ca){socket['emit']('userWhatsappQueue:save',{'UserId':_0x1b79ca['id'],'WhatsappQueueId':_0x2753da['id']});});});});});}})[_0x4ec6('0x25')](respondWithStatusCode(_0x177edc,null))[_0x4ec6('0x48')](handleError(_0x177edc,null));};exports['removeTeams']=function(_0x4c8f83,_0x926736,_0x4d564b){return db[_0x4ec6('0x62')][_0x4ec6('0x46')]({'where':{'id':_0x4c8f83[_0x4ec6('0x34')][_0x4ec6('0x65')]},'attributes':['id'],'include':[{'model':db[_0x4ec6('0x59')],'as':_0x4ec6('0x69'),'attributes':['id'],'raw':!![]}]})[_0x4ec6('0x25')](handleEntityNotFound(_0x926736,null))[_0x4ec6('0x25')](function(_0x182d62){var _0x422e2b=_[_0x4ec6('0x33')](_0x182d62,'id');var _0x2091ad=[];var _0x55697c=[];var _0x42f808=squel[_0x4ec6('0x6f')]();_0x42f808[_0x4ec6('0x70')](_0x4ec6('0x71'))[_0x4ec6('0x72')](_0x4ec6('0x73'),'tq')[_0x4ec6('0x74')](_0x4ec6('0x75'),'ut',_0x4ec6('0x76'))[_0x4ec6('0x3e')](_0x4ec6('0x77'),_0x4c8f83['params']['id']);for(var _0x3989ce=0x0;_0x3989ce<_0x182d62[_0x4ec6('0x4a')];_0x3989ce+=0x1){let _0x482666=_0x182d62[_0x3989ce];for(var _0x1763f5=0x0;_0x1763f5<_0x482666[_0x4ec6('0x69')][_0x4ec6('0x4a')];_0x1763f5+=0x1){let _0x3e5597=_0x482666['Agents'][_0x1763f5];var _0x22cd03=_0x42f808[_0x4ec6('0x78')]();_0x22cd03['where']('ut.UserId\x20=\x20?',_0x3e5597['id']);_0x55697c[_0x4ec6('0x79')](db[_0x4ec6('0x6a')][_0x4ec6('0x34')](_0x22cd03[_0x4ec6('0x7a')](),{'type':db[_0x4ec6('0x6a')]['QueryTypes'][_0x4ec6('0x7b')]})[_0x4ec6('0x25')](function(_0x5a2b81){if(_0x5a2b81[_0x4ec6('0x4a')]===0x1){return _0x3e5597['id'];}else{var _0x367929=_[_0x4ec6('0x7c')](_['map'](_0x5a2b81,_0x4ec6('0x7d')),function(_0xb94941){return _[_0x4ec6('0x7e')](_0x422e2b,_0xb94941);});if(_0x367929){return _0x3e5597['id'];}}}));}}return BPromise[_0x4ec6('0x7f')](_0x55697c)[_0x4ec6('0x25')](function(_0x321cad){_0x2091ad=_(_0x2091ad)[_0x4ec6('0x80')](_0x321cad)[_0x4ec6('0x81')]()[_0x4ec6('0x82')]();return db[_0x4ec6('0x2d')][_0x4ec6('0x4b')]({'where':{'id':_0x4c8f83['params']['id']}})[_0x4ec6('0x25')](function(_0x228ab1){return db[_0x4ec6('0x6a')][_0x4ec6('0x6b')](function(_0x21cfd4){return _0x228ab1[_0x4ec6('0x83')](_0x4c8f83['query']['ids'],{'transaction':_0x21cfd4})['then'](function(){if(!_[_0x4ec6('0x84')](_0x2091ad)){return _0x228ab1['removeAgents'](_0x2091ad,{'transaction':_0x21cfd4});}})[_0x4ec6('0x25')](function(){_0x2091ad[_0x4ec6('0x6e')](function(_0x168d8b){socket['emit'](_0x4ec6('0x85'),{'UserId':_0x168d8b,'WhatsappQueueId':_0x228ab1['id']});});});});});});})[_0x4ec6('0x25')](respondWithStatusCode(_0x926736,null))[_0x4ec6('0x48')](handleError(_0x926736,null));};exports['addAgents']=function(_0x2d0d82,_0x18ea64,_0x578c2e){return db['WhatsappQueue'][_0x4ec6('0x4b')]({'where':{'id':_0x2d0d82[_0x4ec6('0x49')]['id']}})[_0x4ec6('0x25')](handleEntityNotFound(_0x18ea64,null))[_0x4ec6('0x25')](function(_0x16f2a1){if(_0x16f2a1){return _0x16f2a1[_0x4ec6('0x86')](_0x2d0d82[_0x4ec6('0x4d')]['ids'],_[_0x4ec6('0x87')](_0x2d0d82[_0x4ec6('0x4d')],[_0x4ec6('0x65'),'id'])||{})[_0x4ec6('0x88')](function(_0xf86fe0){for(var _0x2b7deb=0x0;_0x2b7deb<_0x2d0d82['body'][_0x4ec6('0x65')][_0x4ec6('0x4a')];_0x2b7deb+=0x1){socket[_0x4ec6('0x89')](_0x4ec6('0x8a'),{'UserId':_0x2d0d82['body'][_0x4ec6('0x65')][_0x2b7deb],'WhatsappQueueId':_0x2d0d82['params']['id']});}return _0xf86fe0;});}})[_0x4ec6('0x25')](respondWithResult(_0x18ea64,null))['catch'](handleError(_0x18ea64,null));};exports['removeAgents']=function(_0x3303c3,_0x589126,_0x3b28b0){return db[_0x4ec6('0x2d')][_0x4ec6('0x4b')]({'where':{'id':_0x3303c3[_0x4ec6('0x49')]['id']}})[_0x4ec6('0x25')](handleEntityNotFound(_0x589126,null))['then'](function(_0xc1ae81){if(_0xc1ae81){return _0xc1ae81[_0x4ec6('0x8b')](_0x3303c3[_0x4ec6('0x34')][_0x4ec6('0x65')])[_0x4ec6('0x25')](function(){if(_[_0x4ec6('0x8c')](_0x3303c3[_0x4ec6('0x34')][_0x4ec6('0x65')])){for(var _0x53abbd=0x0;_0x53abbd<_0x3303c3[_0x4ec6('0x34')][_0x4ec6('0x65')]['length'];_0x53abbd+=0x1){socket['emit'](_0x4ec6('0x85'),{'UserId':Number(_0x3303c3[_0x4ec6('0x34')][_0x4ec6('0x65')][_0x53abbd]),'WhatsappQueueId':Number(_0x3303c3[_0x4ec6('0x49')]['id'])});}}else{socket[_0x4ec6('0x89')](_0x4ec6('0x85'),{'UserId':Number(_0x3303c3[_0x4ec6('0x34')][_0x4ec6('0x65')]),'WhatsappQueueId':Number(_0x3303c3['params']['id'])});}});}})['then'](respondWithStatusCode(_0x589126,null))[_0x4ec6('0x48')](handleError(_0x589126,null));};exports[_0x4ec6('0x8d')]=function(_0x296d8c,_0x391a5b,_0x11ba1b){var _0x3f1f96={};var _0x11b240={};var _0x40d955;var _0x334bcc;return db[_0x4ec6('0x2d')][_0x4ec6('0x61')]({'where':{'id':_0x296d8c[_0x4ec6('0x49')]['id']}})[_0x4ec6('0x25')](handleEntityNotFound(_0x391a5b,null))[_0x4ec6('0x25')](function(_0x2a28e6){if(_0x2a28e6){_0x40d955=_0x2a28e6;_0x11b240[_0x4ec6('0x32')]=_[_0x4ec6('0x35')](db[_0x4ec6('0x59')][_0x4ec6('0x2e')]);_0x11b240[_0x4ec6('0x34')]=_[_0x4ec6('0x35')](_0x296d8c[_0x4ec6('0x34')]);_0x11b240[_0x4ec6('0x36')]=_[_0x4ec6('0x37')](_0x11b240['model'],_0x11b240[_0x4ec6('0x34')]);_0x3f1f96[_0x4ec6('0x38')]=_[_0x4ec6('0x37')](_0x11b240['model'],qs[_0x4ec6('0x39')](_0x296d8c['query'][_0x4ec6('0x39')]));_0x3f1f96[_0x4ec6('0x38')]=_0x3f1f96[_0x4ec6('0x38')]['length']?_0x3f1f96[_0x4ec6('0x38')]:_0x11b240['model'];_0x3f1f96[_0x4ec6('0x3c')]=qs[_0x4ec6('0x3d')](_0x296d8c[_0x4ec6('0x34')][_0x4ec6('0x3d')]);_0x3f1f96[_0x4ec6('0x3e')]=qs[_0x4ec6('0x36')](_[_0x4ec6('0x3f')](_0x296d8c[_0x4ec6('0x34')],_0x11b240[_0x4ec6('0x36')]));if(_0x296d8c[_0x4ec6('0x34')][_0x4ec6('0x40')]){_0x3f1f96[_0x4ec6('0x3e')]=_['merge'](_0x3f1f96[_0x4ec6('0x3e')],{'$or':_[_0x4ec6('0x33')](_0x3f1f96[_0x4ec6('0x38')],function(_0x1ee050){var _0x401c5b={};_0x401c5b[_0x1ee050]={'$like':'%'+_0x296d8c[_0x4ec6('0x34')][_0x4ec6('0x40')]+'%'};return _0x401c5b;})});}_0x3f1f96=_[_0x4ec6('0x41')]({},_0x3f1f96,_0x296d8c['options']);return _0x40d955[_0x4ec6('0x8d')](_0x3f1f96);}})[_0x4ec6('0x25')](function(_0x3cf569){if(_0x3cf569){_0x334bcc=_0x3cf569[_0x4ec6('0x4a')];if(!_0x296d8c['query'][_0x4ec6('0x3a')]('nolimit')){_0x3f1f96[_0x4ec6('0x20')]=qs[_0x4ec6('0x20')](_0x296d8c[_0x4ec6('0x34')][_0x4ec6('0x20')]);_0x3f1f96[_0x4ec6('0x1f')]=qs[_0x4ec6('0x1f')](_0x296d8c['query'][_0x4ec6('0x1f')]);}return _0x40d955[_0x4ec6('0x8d')](_0x3f1f96);}})['then'](function(_0x1bb029){if(_0x1bb029){return _0x1bb029?{'count':_0x334bcc,'rows':_0x1bb029}:null;}})['then'](respondWithResult(_0x391a5b,null))['catch'](handleError(_0x391a5b,null));};