03baecf50effc3cb09613fecc40313567669d073
[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 _0x9b0d=['to-csv','fs-extra','lodash','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./whatsappQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','then','destroy','get','WhatsappQueues','UserProfileResource','error','name','map','rawAttributes','fieldName','key','filters','model','fields','query','attributes','length','hasOwnProperty','order','sort','where','pick','merge','type','VIRTUAL','filter','WhatsappQueue','includeAll','findAll','rows','catch','params','keys','intersection','include','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','UserWhatsappQueue','nolimit','WhatsappQueueId','User','findAndCountAll','UserId','agent','whatsappPause','updatedAt','createdAt','format','%s/%s','SIP','findOne','Team','getTeams','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','userWhatsappQueue:save','select','from','join','user_has_teams','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','every','all','union','removeTeams','isEmpty','removeAgents','emit','userWhatsappQueue:remove','addAgents','omit','isArray','getAgents','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','path'];(function(_0x4e518d,_0x32a45d){var _0x458ff2=function(_0xc96c49){while(--_0xc96c49){_0x4e518d['push'](_0x4e518d['shift']());}};_0x458ff2(++_0x32a45d);}(_0x9b0d,0x82));var _0xd9b0=function(_0x1cadcd,_0x7dabc5){_0x1cadcd=_0x1cadcd-0x0;var _0xfbbb2d=_0x9b0d[_0x1cadcd];return _0xfbbb2d;};'use strict';var emlformat=require(_0xd9b0('0x0'));var rimraf=require(_0xd9b0('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd9b0('0x2'));var rp=require('request-promise');var moment=require(_0xd9b0('0x3'));var BPromise=require(_0xd9b0('0x4'));var Mustache=require(_0xd9b0('0x5'));var util=require('util');var path=require(_0xd9b0('0x6'));var sox=require('sox');var csv=require(_0xd9b0('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd9b0('0x8'));var _=require(_0xd9b0('0x9'));var squel=require('squel');var crypto=require(_0xd9b0('0xa'));var jsforce=require(_0xd9b0('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xd9b0('0x7'));var querystring=require(_0xd9b0('0xc'));var Papa=require('papaparse');var Redis=require(_0xd9b0('0xd'));var authService=require(_0xd9b0('0xe'));var qs=require(_0xd9b0('0xf'));var as=require(_0xd9b0('0x10'));var hardwareService=require(_0xd9b0('0x11'));var logger=require(_0xd9b0('0x12'))(_0xd9b0('0x13'));var utils=require(_0xd9b0('0x14'));var config=require(_0xd9b0('0x15'));var licenseUtil=require(_0xd9b0('0x16'));var db=require(_0xd9b0('0x17'))['db'];config[_0xd9b0('0x18')]=_[_0xd9b0('0x19')](config[_0xd9b0('0x18')],{'host':_0xd9b0('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd9b0('0x18')]));require(_0xd9b0('0x1b'))[_0xd9b0('0x1c')](socket);function respondWithStatusCode(_0x5239f7,_0x2d321f){_0x2d321f=_0x2d321f||0xcc;return function(_0x174170){if(_0x174170){return _0x5239f7[_0xd9b0('0x1d')](_0x2d321f);}return _0x5239f7[_0xd9b0('0x1e')](_0x2d321f)[_0xd9b0('0x1f')]();};}function respondWithResult(_0x1d332c,_0x2c32a6){_0x2c32a6=_0x2c32a6||0xc8;return function(_0x13db66){if(_0x13db66){return _0x1d332c[_0xd9b0('0x1e')](_0x2c32a6)[_0xd9b0('0x20')](_0x13db66);}};}function respondWithFilteredResult(_0x33aa88,_0x235750){return function(_0xe301f1){if(_0xe301f1){var _0x82db68=typeof _0x235750[_0xd9b0('0x21')]===_0xd9b0('0x22')&&typeof _0x235750[_0xd9b0('0x23')]===_0xd9b0('0x22');var _0x5c9893=_0xe301f1[_0xd9b0('0x24')];var _0x287174=_0x82db68?0x0:_0x235750[_0xd9b0('0x21')];var _0x1f6a62=_0x82db68?_0xe301f1[_0xd9b0('0x24')]:_0x235750['offset']+_0x235750[_0xd9b0('0x23')];var _0x4f05f0;if(_0x1f6a62>=_0x5c9893){_0x1f6a62=_0x5c9893;_0x4f05f0=0xc8;}else{_0x4f05f0=0xce;}_0x33aa88['status'](_0x4f05f0);return _0x33aa88[_0xd9b0('0x25')]('Content-Range',_0x287174+'-'+_0x1f6a62+'/'+_0x5c9893)[_0xd9b0('0x20')](_0xe301f1);}return null;};}function patchUpdates(_0x504de7){return function(_0x3e376b){try{jsonpatch[_0xd9b0('0x26')](_0x3e376b,_0x504de7,!![]);}catch(_0x1e6f12){return BPromise['reject'](_0x1e6f12);}return _0x3e376b['save']();};}function saveUpdates(_0x580ce7,_0x426618){return function(_0x369168){if(_0x369168){return _0x369168['update'](_0x580ce7)[_0xd9b0('0x27')](function(_0x56874b){return _0x56874b;});}return null;};}function removeEntity(_0x17012f,_0x1fae62){return function(_0x797db2){if(_0x797db2){return _0x797db2[_0xd9b0('0x28')]()[_0xd9b0('0x27')](function(){var _0x3d40e2=_0x797db2[_0xd9b0('0x29')]({'plain':!![]});var _0x4aae32=_0xd9b0('0x2a');return db[_0xd9b0('0x2b')][_0xd9b0('0x28')]({'where':{'type':_0x4aae32,'resourceId':_0x3d40e2['id']}})[_0xd9b0('0x27')](function(){return _0x797db2;});})[_0xd9b0('0x27')](function(){_0x17012f['status'](0xcc)[_0xd9b0('0x1f')]();});}};}function handleEntityNotFound(_0x21d876,_0x3944b8){return function(_0x36396e){if(!_0x36396e){_0x21d876[_0xd9b0('0x1d')](0x194);}return _0x36396e;};}function handleError(_0x5800c4,_0x5853f9){_0x5853f9=_0x5853f9||0x1f4;return function(_0xe14269){logger[_0xd9b0('0x2c')](_0xe14269['stack']);if(_0xe14269[_0xd9b0('0x2d')]){delete _0xe14269[_0xd9b0('0x2d')];}_0x5800c4[_0xd9b0('0x1e')](_0x5853f9)['send'](_0xe14269);};}exports['index']=function(_0x350238,_0x59fca3){var _0x5e1735={},_0x44b7b5={},_0x41393e={'count':0x0,'rows':[]};var _0x514e24=_[_0xd9b0('0x2e')](db['WhatsappQueue'][_0xd9b0('0x2f')],function(_0x12696c){return{'name':_0x12696c[_0xd9b0('0x30')],'type':_0x12696c['type'][_0xd9b0('0x31')]};});_0x44b7b5['model']=_[_0xd9b0('0x2e')](_0x514e24,'name');_0x44b7b5['query']=_['keys'](_0x350238['query']);_0x44b7b5[_0xd9b0('0x32')]=_['intersection'](_0x44b7b5[_0xd9b0('0x33')],_0x44b7b5['query']);_0x5e1735['attributes']=_['intersection'](_0x44b7b5[_0xd9b0('0x33')],qs[_0xd9b0('0x34')](_0x350238[_0xd9b0('0x35')][_0xd9b0('0x34')]));_0x5e1735[_0xd9b0('0x36')]=_0x5e1735[_0xd9b0('0x36')][_0xd9b0('0x37')]?_0x5e1735['attributes']:_0x44b7b5[_0xd9b0('0x33')];if(!_0x350238[_0xd9b0('0x35')][_0xd9b0('0x38')]('nolimit')){_0x5e1735['limit']=qs[_0xd9b0('0x23')](_0x350238[_0xd9b0('0x35')][_0xd9b0('0x23')]);_0x5e1735['offset']=qs[_0xd9b0('0x21')](_0x350238[_0xd9b0('0x35')]['offset']);}_0x5e1735[_0xd9b0('0x39')]=qs[_0xd9b0('0x3a')](_0x350238[_0xd9b0('0x35')][_0xd9b0('0x3a')]);_0x5e1735[_0xd9b0('0x3b')]=qs[_0xd9b0('0x32')](_[_0xd9b0('0x3c')](_0x350238[_0xd9b0('0x35')],_0x44b7b5[_0xd9b0('0x32')]),_0x514e24);if(_0x350238[_0xd9b0('0x35')]['filter']){_0x5e1735['where']=_[_0xd9b0('0x3d')](_0x5e1735['where'],{'$or':_[_0xd9b0('0x2e')](_0x514e24,function(_0x3b19d5){if(_0x3b19d5[_0xd9b0('0x3e')]!==_0xd9b0('0x3f')){var _0x4340f8={};_0x4340f8[_0x3b19d5[_0xd9b0('0x2d')]]={'$like':'%'+_0x350238[_0xd9b0('0x35')][_0xd9b0('0x40')]+'%'};return _0x4340f8;}})});}_0x5e1735=_['merge']({},_0x5e1735,_0x350238['options']);var _0xba1c7c={'where':_0x5e1735[_0xd9b0('0x3b')]};return db[_0xd9b0('0x41')]['count'](_0xba1c7c)['then'](function(_0x282dfc){_0x41393e[_0xd9b0('0x24')]=_0x282dfc;if(_0x350238[_0xd9b0('0x35')][_0xd9b0('0x42')]){_0x5e1735['include']=[{'all':!![]}];}return db[_0xd9b0('0x41')][_0xd9b0('0x43')](_0x5e1735);})['then'](function(_0x213a8f){_0x41393e[_0xd9b0('0x44')]=_0x213a8f;return _0x41393e;})[_0xd9b0('0x27')](respondWithFilteredResult(_0x59fca3,_0x5e1735))[_0xd9b0('0x45')](handleError(_0x59fca3,null));};exports['show']=function(_0x1f499a,_0x3ff62a){var _0x4abc71={'raw':!![],'where':{'id':_0x1f499a[_0xd9b0('0x46')]['id']}},_0x241e47={};_0x241e47['model']=_[_0xd9b0('0x47')](db['WhatsappQueue'][_0xd9b0('0x2f')]);_0x241e47[_0xd9b0('0x35')]=_[_0xd9b0('0x47')](_0x1f499a[_0xd9b0('0x35')]);_0x241e47['filters']=_[_0xd9b0('0x48')](_0x241e47['model'],_0x241e47[_0xd9b0('0x35')]);_0x4abc71['attributes']=_[_0xd9b0('0x48')](_0x241e47[_0xd9b0('0x33')],qs[_0xd9b0('0x34')](_0x1f499a[_0xd9b0('0x35')][_0xd9b0('0x34')]));_0x4abc71[_0xd9b0('0x36')]=_0x4abc71[_0xd9b0('0x36')][_0xd9b0('0x37')]?_0x4abc71[_0xd9b0('0x36')]:_0x241e47[_0xd9b0('0x33')];if(_0x1f499a['query'][_0xd9b0('0x42')]){_0x4abc71[_0xd9b0('0x49')]=[{'all':!![]}];}_0x4abc71=_[_0xd9b0('0x3d')]({},_0x4abc71,_0x1f499a[_0xd9b0('0x4a')]);return db['WhatsappQueue'][_0xd9b0('0x4b')](_0x4abc71)[_0xd9b0('0x27')](handleEntityNotFound(_0x3ff62a,null))[_0xd9b0('0x27')](respondWithResult(_0x3ff62a,null))['catch'](handleError(_0x3ff62a,null));};exports[_0xd9b0('0x4c')]=function(_0x3d8ee0,_0x3857fe){return db['WhatsappQueue'][_0xd9b0('0x4c')](_0x3d8ee0[_0xd9b0('0x4d')],{})[_0xd9b0('0x27')](function(_0x2f66b4){var _0x738dc6=_0x3d8ee0[_0xd9b0('0x4e')][_0xd9b0('0x29')]({'plain':!![]});if(!_0x738dc6)throw new Error(_0xd9b0('0x4f'));if(_0x738dc6['role']==='user'){var _0x2a6d57=_0x2f66b4[_0xd9b0('0x29')]({'plain':!![]});var _0x44251c=_0xd9b0('0x2a');return db[_0xd9b0('0x50')][_0xd9b0('0x4b')]({'where':{'name':_0x44251c,'userProfileId':_0x738dc6[_0xd9b0('0x51')]},'raw':!![]})[_0xd9b0('0x27')](function(_0x4d30fb){if(_0x4d30fb&&_0x4d30fb[_0xd9b0('0x52')]===0x0){return db[_0xd9b0('0x2b')][_0xd9b0('0x4c')]({'name':_0x2a6d57[_0xd9b0('0x2d')],'resourceId':_0x2a6d57['id'],'type':_0x4d30fb[_0xd9b0('0x2d')],'sectionId':_0x4d30fb['id']},{})[_0xd9b0('0x27')](function(){return _0x2f66b4;});}else{return _0x2f66b4;}})['catch'](function(_0x2ea886){logger[_0xd9b0('0x2c')](_0xd9b0('0x53'),_0x2ea886);throw _0x2ea886;});}return _0x2f66b4;})[_0xd9b0('0x27')](respondWithResult(_0x3857fe,0xc9))[_0xd9b0('0x45')](handleError(_0x3857fe,null));};exports[_0xd9b0('0x54')]=function(_0x39a0a3,_0x980692){if(_0x39a0a3['body']['id']){delete _0x39a0a3[_0xd9b0('0x4d')]['id'];}return db[_0xd9b0('0x41')][_0xd9b0('0x4b')]({'where':{'id':_0x39a0a3[_0xd9b0('0x46')]['id']}})['then'](handleEntityNotFound(_0x980692,null))['then'](saveUpdates(_0x39a0a3['body'],null))[_0xd9b0('0x27')](respondWithResult(_0x980692,null))[_0xd9b0('0x45')](handleError(_0x980692,null));};exports[_0xd9b0('0x28')]=function(_0x584921,_0x5d1724){return db[_0xd9b0('0x41')][_0xd9b0('0x4b')]({'where':{'id':_0x584921[_0xd9b0('0x46')]['id']}})[_0xd9b0('0x27')](handleEntityNotFound(_0x5d1724,null))[_0xd9b0('0x27')](removeEntity(_0x5d1724,null))[_0xd9b0('0x45')](handleError(_0x5d1724,null));};exports[_0xd9b0('0x55')]=function(_0x157ec0,_0x5a68e1){return db[_0xd9b0('0x41')][_0xd9b0('0x55')]()[_0xd9b0('0x27')](respondWithResult(_0x5a68e1,null))[_0xd9b0('0x45')](handleError(_0x5a68e1,null));};exports['getMembers']=function(_0x458fd2,_0x5b169c,_0x9fecd2){var _0x51a689={'raw':!![],'where':{}},_0x5ef333={},_0x50f5f1;return db[_0xd9b0('0x41')]['findOne']({'where':{'id':_0x458fd2[_0xd9b0('0x46')]['id']}})[_0xd9b0('0x27')](handleEntityNotFound(_0x5b169c,null))[_0xd9b0('0x27')](function(_0x5db130){if(_0x5db130){_0x50f5f1=_0x5db130[_0xd9b0('0x29')]({'plain':!![]});_0x5ef333[_0xd9b0('0x33')]=_[_0xd9b0('0x47')](db[_0xd9b0('0x56')][_0xd9b0('0x2f')]);_0x5ef333[_0xd9b0('0x35')]=_[_0xd9b0('0x47')](_0x458fd2[_0xd9b0('0x35')]);_0x5ef333['filters']=_[_0xd9b0('0x48')](_0x5ef333[_0xd9b0('0x33')],_0x5ef333[_0xd9b0('0x35')]);_0x51a689[_0xd9b0('0x36')]=_[_0xd9b0('0x48')](_0x5ef333[_0xd9b0('0x33')],qs[_0xd9b0('0x34')](_0x458fd2['query']['fields']));_0x51a689[_0xd9b0('0x36')]=_0x51a689[_0xd9b0('0x36')][_0xd9b0('0x37')]?_0x51a689[_0xd9b0('0x36')]:_0x5ef333['model'];if(!_0x458fd2[_0xd9b0('0x35')][_0xd9b0('0x38')](_0xd9b0('0x57'))){_0x51a689[_0xd9b0('0x23')]=qs[_0xd9b0('0x23')](_0x458fd2[_0xd9b0('0x35')]['limit']);_0x51a689[_0xd9b0('0x21')]=qs['offset'](_0x458fd2[_0xd9b0('0x35')][_0xd9b0('0x21')]);}_0x51a689[_0xd9b0('0x39')]=qs[_0xd9b0('0x3a')](_0x458fd2[_0xd9b0('0x35')][_0xd9b0('0x3a')]);_0x51a689['where']=qs[_0xd9b0('0x32')](_[_0xd9b0('0x3c')](_0x458fd2[_0xd9b0('0x35')],_0x5ef333[_0xd9b0('0x32')]));_0x51a689[_0xd9b0('0x3b')][_0xd9b0('0x58')]=_0x5db130['id'];if(_0x458fd2['query']['filter']){_0x51a689[_0xd9b0('0x3b')]=_[_0xd9b0('0x3d')](_0x51a689[_0xd9b0('0x3b')],{'$or':_[_0xd9b0('0x2e')](_0x51a689[_0xd9b0('0x36')],function(_0x5116f1){var _0x182a53={};_0x182a53[_0x5116f1]={'$like':'%'+_0x458fd2[_0xd9b0('0x35')]['filter']+'%'};return _0x182a53;})});}_0x51a689=_[_0xd9b0('0x3d')]({},_0x51a689,_0x458fd2[_0xd9b0('0x4a')]);return db[_0xd9b0('0x56')][_0xd9b0('0x43')](_0x51a689);}})[_0xd9b0('0x27')](function(_0x4c9fbd){if(_0x4c9fbd){return db[_0xd9b0('0x59')][_0xd9b0('0x5a')]({'where':{'id':_[_0xd9b0('0x2e')](_0x4c9fbd,_0xd9b0('0x5b')),'role':_0xd9b0('0x5c')},'attributes':['id',_0xd9b0('0x2d'),_0xd9b0('0x5d'),_0xd9b0('0x5e'),_0xd9b0('0x5f')]});}})[_0xd9b0('0x27')](function(_0x230bb7){if(_0x230bb7){return{'count':_0x230bb7[_0xd9b0('0x24')],'rows':_['map'](_0x230bb7[_0xd9b0('0x44')],function(_0x1b5429){return{'membername':_0x1b5429[_0xd9b0('0x2d')],'UserId':_0x1b5429['id'],'queue_name':_0x50f5f1[_0xd9b0('0x2d')],'WhatsappQueueId':_0x50f5f1['id'],'interface':util[_0xd9b0('0x60')](_0xd9b0('0x61'),_0xd9b0('0x62'),_0x1b5429[_0xd9b0('0x2d')]),'penalty':0x0,'paused':_0x1b5429['whatsappPause'],'createdAt':_0x1b5429[_0xd9b0('0x5f')],'updatedAt':_0x1b5429[_0xd9b0('0x5e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xd9b0('0x27')](respondWithFilteredResult(_0x5b169c,_0x51a689))[_0xd9b0('0x45')](handleError(_0x5b169c,null));};exports['getTeams']=function(_0x5d71e8,_0x11d8c9,_0x1f9ae1){var _0x4d80e0={};var _0xcd810a={};var _0x41bfa9;var _0x3e9366;return db['WhatsappQueue'][_0xd9b0('0x63')]({'where':{'id':_0x5d71e8['params']['id']}})[_0xd9b0('0x27')](handleEntityNotFound(_0x11d8c9,null))[_0xd9b0('0x27')](function(_0x38cc0a){if(_0x38cc0a){_0x41bfa9=_0x38cc0a;_0xcd810a[_0xd9b0('0x33')]=_['keys'](db[_0xd9b0('0x64')][_0xd9b0('0x2f')]);_0xcd810a[_0xd9b0('0x35')]=_[_0xd9b0('0x47')](_0x5d71e8[_0xd9b0('0x35')]);_0xcd810a['filters']=_[_0xd9b0('0x48')](_0xcd810a[_0xd9b0('0x33')],_0xcd810a[_0xd9b0('0x35')]);_0x4d80e0[_0xd9b0('0x36')]=_[_0xd9b0('0x48')](_0xcd810a[_0xd9b0('0x33')],qs[_0xd9b0('0x34')](_0x5d71e8[_0xd9b0('0x35')][_0xd9b0('0x34')]));_0x4d80e0[_0xd9b0('0x36')]=_0x4d80e0['attributes'][_0xd9b0('0x37')]?_0x4d80e0[_0xd9b0('0x36')]:_0xcd810a[_0xd9b0('0x33')];_0x4d80e0[_0xd9b0('0x39')]=qs['sort'](_0x5d71e8[_0xd9b0('0x35')]['sort']);_0x4d80e0[_0xd9b0('0x3b')]=qs[_0xd9b0('0x32')](_[_0xd9b0('0x3c')](_0x5d71e8['query'],_0xcd810a[_0xd9b0('0x32')]));if(_0x5d71e8['query'][_0xd9b0('0x40')]){_0x4d80e0[_0xd9b0('0x3b')]=_[_0xd9b0('0x3d')](_0x4d80e0[_0xd9b0('0x3b')],{'$or':_[_0xd9b0('0x2e')](_0x4d80e0[_0xd9b0('0x36')],function(_0x33b370){var _0x3c3314={};_0x3c3314[_0x33b370]={'$like':'%'+_0x5d71e8['query'][_0xd9b0('0x40')]+'%'};return _0x3c3314;})});}_0x4d80e0=_[_0xd9b0('0x3d')]({},_0x4d80e0,_0x5d71e8[_0xd9b0('0x4a')]);return _0x41bfa9[_0xd9b0('0x65')](_0x4d80e0);}})['then'](function(_0x3340a4){if(_0x3340a4){_0x3e9366=_0x3340a4[_0xd9b0('0x37')];if(!_0x5d71e8[_0xd9b0('0x35')]['hasOwnProperty'](_0xd9b0('0x57'))){_0x4d80e0['limit']=qs[_0xd9b0('0x23')](_0x5d71e8[_0xd9b0('0x35')]['limit']);_0x4d80e0['offset']=qs[_0xd9b0('0x21')](_0x5d71e8[_0xd9b0('0x35')][_0xd9b0('0x21')]);}return _0x41bfa9['getTeams'](_0x4d80e0);}})[_0xd9b0('0x27')](function(_0x8669a5){if(_0x8669a5){return _0x8669a5?{'count':_0x3e9366,'rows':_0x8669a5}:null;}})[_0xd9b0('0x27')](respondWithResult(_0x11d8c9,null))[_0xd9b0('0x45')](handleError(_0x11d8c9,null));};exports[_0xd9b0('0x66')]=function(_0x44fb86,_0x22c93a,_0x1f38bb){var _0x1fccef=_0x44fb86['body'][_0xd9b0('0x67')];return db['Team']['findAll']({'where':{'id':_0x1fccef},'attributes':['id'],'include':[{'model':db[_0xd9b0('0x59')],'as':_0xd9b0('0x68'),'attributes':['id',_0xd9b0('0x2d'),_0xd9b0('0x69'),_0xd9b0('0x6a'),_0xd9b0('0x6b')],'raw':!![]}]})[_0xd9b0('0x27')](function(_0x4bb2fb){if(_0x4bb2fb){var _0x576cf4=_[_0xd9b0('0x6c')](_0x4bb2fb,function(_0x5c2e7a){var _0x1343c1=_0x5c2e7a[_0xd9b0('0x29')]({'plain':!![]});return _0x1343c1['Agents'];});return db[_0xd9b0('0x41')]['find']({'where':{'id':_0x44fb86[_0xd9b0('0x46')]['id']}})[_0xd9b0('0x27')](function(_0x2d8c43){return db[_0xd9b0('0x6d')][_0xd9b0('0x6e')](function(_0xc90ad9){return _0x2d8c43['addTeams'](_0x1fccef,{'transaction':_0xc90ad9})[_0xd9b0('0x27')](function(){return BPromise[_0xd9b0('0x6f')](_0x576cf4,function(_0xd185b7){return db[_0xd9b0('0x56')][_0xd9b0('0x70')]({'where':{'UserId':_0xd185b7['id'],'WhatsappQueueId':_0x44fb86[_0xd9b0('0x46')]['id']},'transaction':_0xc90ad9});});})[_0xd9b0('0x27')](function(){_0x576cf4[_0xd9b0('0x71')](function(_0x4edbc0){socket['emit'](_0xd9b0('0x72'),{'UserId':_0x4edbc0['id'],'WhatsappQueueId':_0x2d8c43['id']});});});});});}})[_0xd9b0('0x27')](respondWithStatusCode(_0x22c93a,null))[_0xd9b0('0x45')](handleError(_0x22c93a,null));};exports['removeTeams']=function(_0x413a46,_0x36611b,_0x1045e4){return db[_0xd9b0('0x64')][_0xd9b0('0x43')]({'where':{'id':_0x413a46[_0xd9b0('0x35')][_0xd9b0('0x67')]},'attributes':['id'],'include':[{'model':db[_0xd9b0('0x59')],'as':_0xd9b0('0x68'),'attributes':['id'],'raw':!![]}]})[_0xd9b0('0x27')](handleEntityNotFound(_0x36611b,null))[_0xd9b0('0x27')](function(_0x357634){var _0x10075a=_[_0xd9b0('0x2e')](_0x357634,'id');var _0x421fd7=[];var _0x2266d3=[];var _0x1140ac=squel[_0xd9b0('0x73')]();_0x1140ac['field']('tq.TeamId')[_0xd9b0('0x74')]('team_has_whatsapp_queues','tq')[_0xd9b0('0x75')](_0xd9b0('0x76'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xd9b0('0x3b')](_0xd9b0('0x77'),_0x413a46[_0xd9b0('0x46')]['id']);for(var _0x531c3d=0x0;_0x531c3d<_0x357634[_0xd9b0('0x37')];_0x531c3d+=0x1){let _0x4fc15a=_0x357634[_0x531c3d];for(var _0x4bbb3e=0x0;_0x4bbb3e<_0x4fc15a[_0xd9b0('0x68')][_0xd9b0('0x37')];_0x4bbb3e+=0x1){let _0xaff62d=_0x4fc15a[_0xd9b0('0x68')][_0x4bbb3e];var _0x2a442c=_0x1140ac[_0xd9b0('0x78')]();_0x2a442c[_0xd9b0('0x3b')](_0xd9b0('0x79'),_0xaff62d['id']);_0x2266d3[_0xd9b0('0x7a')](db[_0xd9b0('0x6d')][_0xd9b0('0x35')](_0x2a442c[_0xd9b0('0x7b')](),{'type':db[_0xd9b0('0x6d')][_0xd9b0('0x7c')]['SELECT']})[_0xd9b0('0x27')](function(_0x1dd55b){if(_0x1dd55b[_0xd9b0('0x37')]===0x1){return _0xaff62d['id'];}else{var _0x3044a1=_[_0xd9b0('0x7d')](_[_0xd9b0('0x2e')](_0x1dd55b,'TeamId'),function(_0x38ab78){return _['includes'](_0x10075a,_0x38ab78);});if(_0x3044a1){return _0xaff62d['id'];}}}));}}return BPromise[_0xd9b0('0x7e')](_0x2266d3)[_0xd9b0('0x27')](function(_0xebe953){_0x421fd7=_(_0x421fd7)[_0xd9b0('0x7f')](_0xebe953)['compact']()['value']();return db[_0xd9b0('0x41')][_0xd9b0('0x4b')]({'where':{'id':_0x413a46[_0xd9b0('0x46')]['id']}})[_0xd9b0('0x27')](function(_0x316121){return db[_0xd9b0('0x6d')][_0xd9b0('0x6e')](function(_0x464e50){return _0x316121[_0xd9b0('0x80')](_0x413a46['query']['ids'],{'transaction':_0x464e50})[_0xd9b0('0x27')](function(){if(!_[_0xd9b0('0x81')](_0x421fd7)){return _0x316121[_0xd9b0('0x82')](_0x421fd7,{'transaction':_0x464e50});}})[_0xd9b0('0x27')](function(){_0x421fd7['forEach'](function(_0x2e6b58){socket[_0xd9b0('0x83')](_0xd9b0('0x84'),{'UserId':_0x2e6b58,'WhatsappQueueId':_0x316121['id']});});});});});});})[_0xd9b0('0x27')](respondWithStatusCode(_0x36611b,null))[_0xd9b0('0x45')](handleError(_0x36611b,null));};exports['addAgents']=function(_0x12ddce,_0x2737de,_0x35b71f){return db['WhatsappQueue']['find']({'where':{'id':_0x12ddce['params']['id']}})[_0xd9b0('0x27')](handleEntityNotFound(_0x2737de,null))[_0xd9b0('0x27')](function(_0x3dff3c){if(_0x3dff3c){return _0x3dff3c[_0xd9b0('0x85')](_0x12ddce[_0xd9b0('0x4d')]['ids'],_[_0xd9b0('0x86')](_0x12ddce['body'],[_0xd9b0('0x67'),'id'])||{})['spread'](function(_0x432917){for(var _0x534275=0x0;_0x534275<_0x12ddce[_0xd9b0('0x4d')][_0xd9b0('0x67')][_0xd9b0('0x37')];_0x534275+=0x1){socket[_0xd9b0('0x83')](_0xd9b0('0x72'),{'UserId':Number(_0x12ddce['body']['ids'][_0x534275]),'WhatsappQueueId':Number(_0x12ddce['params']['id'])});}return _0x432917;});}})[_0xd9b0('0x27')](respondWithResult(_0x2737de,null))[_0xd9b0('0x45')](handleError(_0x2737de,null));};exports['removeAgents']=function(_0x53df13,_0x3b44c4,_0x59bb3b){return db[_0xd9b0('0x41')]['find']({'where':{'id':_0x53df13['params']['id']}})['then'](handleEntityNotFound(_0x3b44c4,null))[_0xd9b0('0x27')](function(_0x15e630){if(_0x15e630){return _0x15e630[_0xd9b0('0x82')](_0x53df13[_0xd9b0('0x35')][_0xd9b0('0x67')])[_0xd9b0('0x27')](function(){if(_[_0xd9b0('0x87')](_0x53df13['query']['ids'])){for(var _0x2353b3=0x0;_0x2353b3<_0x53df13[_0xd9b0('0x35')][_0xd9b0('0x67')][_0xd9b0('0x37')];_0x2353b3+=0x1){socket[_0xd9b0('0x83')](_0xd9b0('0x84'),{'UserId':Number(_0x53df13[_0xd9b0('0x35')]['ids'][_0x2353b3]),'WhatsappQueueId':Number(_0x53df13[_0xd9b0('0x46')]['id'])});}}else{socket[_0xd9b0('0x83')](_0xd9b0('0x84'),{'UserId':Number(_0x53df13[_0xd9b0('0x35')]['ids']),'WhatsappQueueId':Number(_0x53df13[_0xd9b0('0x46')]['id'])});}});}})[_0xd9b0('0x27')](respondWithStatusCode(_0x3b44c4,null))[_0xd9b0('0x45')](handleError(_0x3b44c4,null));};exports[_0xd9b0('0x88')]=function(_0x1432db,_0x1949b1,_0x2b05d2){var _0x130cb6={};var _0x1398a6={};var _0x5aed69;var _0x31ba4c;return db[_0xd9b0('0x41')][_0xd9b0('0x63')]({'where':{'id':_0x1432db['params']['id']}})[_0xd9b0('0x27')](handleEntityNotFound(_0x1949b1,null))['then'](function(_0xd94abd){if(_0xd94abd){_0x5aed69=_0xd94abd;_0x1398a6[_0xd9b0('0x33')]=_[_0xd9b0('0x47')](db[_0xd9b0('0x59')][_0xd9b0('0x2f')]);_0x1398a6[_0xd9b0('0x35')]=_[_0xd9b0('0x47')](_0x1432db[_0xd9b0('0x35')]);_0x1398a6[_0xd9b0('0x32')]=_['intersection'](_0x1398a6[_0xd9b0('0x33')],_0x1398a6['query']);_0x130cb6['attributes']=_['intersection'](_0x1398a6[_0xd9b0('0x33')],qs[_0xd9b0('0x34')](_0x1432db[_0xd9b0('0x35')][_0xd9b0('0x34')]));_0x130cb6[_0xd9b0('0x36')]=_0x130cb6['attributes']['length']?_0x130cb6[_0xd9b0('0x36')]:_0x1398a6[_0xd9b0('0x33')];_0x130cb6[_0xd9b0('0x39')]=qs['sort'](_0x1432db[_0xd9b0('0x35')][_0xd9b0('0x3a')]);_0x130cb6[_0xd9b0('0x3b')]=qs[_0xd9b0('0x32')](_[_0xd9b0('0x3c')](_0x1432db[_0xd9b0('0x35')],_0x1398a6[_0xd9b0('0x32')]));if(_0x1432db[_0xd9b0('0x35')]['filter']){_0x130cb6[_0xd9b0('0x3b')]=_[_0xd9b0('0x3d')](_0x130cb6[_0xd9b0('0x3b')],{'$or':_[_0xd9b0('0x2e')](_0x130cb6[_0xd9b0('0x36')],function(_0x1dc194){var _0x39f3ec={};_0x39f3ec[_0x1dc194]={'$like':'%'+_0x1432db[_0xd9b0('0x35')][_0xd9b0('0x40')]+'%'};return _0x39f3ec;})});}_0x130cb6=_[_0xd9b0('0x3d')]({},_0x130cb6,_0x1432db[_0xd9b0('0x4a')]);return _0x5aed69['getAgents'](_0x130cb6);}})[_0xd9b0('0x27')](function(_0x35fce5){if(_0x35fce5){_0x31ba4c=_0x35fce5['length'];if(!_0x1432db['query'][_0xd9b0('0x38')](_0xd9b0('0x57'))){_0x130cb6['limit']=qs[_0xd9b0('0x23')](_0x1432db[_0xd9b0('0x35')][_0xd9b0('0x23')]);_0x130cb6[_0xd9b0('0x21')]=qs[_0xd9b0('0x21')](_0x1432db[_0xd9b0('0x35')][_0xd9b0('0x21')]);}return _0x5aed69[_0xd9b0('0x88')](_0x130cb6);}})[_0xd9b0('0x27')](function(_0x3e41bd){if(_0x3e41bd){return _0x3e41bd?{'count':_0x31ba4c,'rows':_0x3e41bd}:null;}})['then'](respondWithResult(_0x1949b1,null))[_0xd9b0('0x45')](handleError(_0x1949b1,null));};