7d093c68b46766086d53826b19ef2b74d1c53a37
[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 _0x0b6e=['catch','show','keys','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserWhatsappQueue','rawAttributes','User','UserId','agent','whatsappPause','updatedAt','SIP','createdAt','getTeams','nolimit','addTeams','Team','Agents','online','voicePause','interface','findOrCreate','emit','userWhatsappQueue:save','removeTeams','select','field','from','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','sequelize','SELECT','every','TeamId','includes','all','union','compact','transaction','removeAgents','forEach','userWhatsappQueue:remove','addAgents','ids','omit','spread','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappQueue.socket','register','sendStatus','end','status','json','offset','limit','undefined','count','Content-Range','apply','reject','update','then','destroy','get','WhatsappQueues','UserProfileResource','error','stack','name','send','map','WhatsappQueue','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','options','include','findAll','rows'];(function(_0x5da498,_0x28e296){var _0xbd1bac=function(_0x123a2f){while(--_0x123a2f){_0x5da498['push'](_0x5da498['shift']());}};_0xbd1bac(++_0x28e296);}(_0x0b6e,0xc9));var _0xe0b6=function(_0x12afbc,_0x54a78f){_0x12afbc=_0x12afbc-0x0;var _0x5952bf=_0x0b6e[_0x12afbc];return _0x5952bf;};'use strict';var emlformat=require(_0xe0b6('0x0'));var rimraf=require(_0xe0b6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe0b6('0x2'));var rp=require(_0xe0b6('0x3'));var moment=require(_0xe0b6('0x4'));var BPromise=require(_0xe0b6('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xe0b6('0x6'));var sox=require(_0xe0b6('0x7'));var csv=require(_0xe0b6('0x8'));var ejs=require(_0xe0b6('0x9'));var fs=require('fs');var fs_extra=require(_0xe0b6('0xa'));var _=require(_0xe0b6('0xb'));var squel=require(_0xe0b6('0xc'));var crypto=require('crypto');var jsforce=require(_0xe0b6('0xd'));var deskjs=require(_0xe0b6('0xe'));var toCsv=require('to-csv');var querystring=require(_0xe0b6('0xf'));var Papa=require(_0xe0b6('0x10'));var Redis=require(_0xe0b6('0x11'));var authService=require(_0xe0b6('0x12'));var qs=require(_0xe0b6('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe0b6('0x14'));var logger=require(_0xe0b6('0x15'))(_0xe0b6('0x16'));var utils=require(_0xe0b6('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xe0b6('0x18'))['db'];config[_0xe0b6('0x19')]=_[_0xe0b6('0x1a')](config[_0xe0b6('0x19')],{'host':_0xe0b6('0x1b'),'port':0x18eb});var socket=require(_0xe0b6('0x1c'))(new Redis(config['redis']));require(_0xe0b6('0x1d'))[_0xe0b6('0x1e')](socket);function respondWithStatusCode(_0x3aa868,_0x5429f0){_0x5429f0=_0x5429f0||0xcc;return function(_0x421ee2){if(_0x421ee2){return _0x3aa868[_0xe0b6('0x1f')](_0x5429f0);}return _0x3aa868['status'](_0x5429f0)[_0xe0b6('0x20')]();};}function respondWithResult(_0x2c9f32,_0x4b1fc7){_0x4b1fc7=_0x4b1fc7||0xc8;return function(_0x55ef27){if(_0x55ef27){return _0x2c9f32[_0xe0b6('0x21')](_0x4b1fc7)[_0xe0b6('0x22')](_0x55ef27);}};}function respondWithFilteredResult(_0x14830f,_0x5914e5){return function(_0x1f31f7){if(_0x1f31f7){var _0x28ee51=typeof _0x5914e5[_0xe0b6('0x23')]==='undefined'&&typeof _0x5914e5[_0xe0b6('0x24')]===_0xe0b6('0x25');var _0x4d4277=_0x1f31f7['count'];var _0x418ac6=_0x28ee51?0x0:_0x5914e5[_0xe0b6('0x23')];var _0xe66c55=_0x28ee51?_0x1f31f7[_0xe0b6('0x26')]:_0x5914e5[_0xe0b6('0x23')]+_0x5914e5[_0xe0b6('0x24')];var _0xd8ad97;if(_0xe66c55>=_0x4d4277){_0xe66c55=_0x4d4277;_0xd8ad97=0xc8;}else{_0xd8ad97=0xce;}_0x14830f['status'](_0xd8ad97);return _0x14830f['set'](_0xe0b6('0x27'),_0x418ac6+'-'+_0xe66c55+'/'+_0x4d4277)['json'](_0x1f31f7);}return null;};}function patchUpdates(_0x4081bb){return function(_0x317e03){try{jsonpatch[_0xe0b6('0x28')](_0x317e03,_0x4081bb,!![]);}catch(_0x4e8f0a){return BPromise[_0xe0b6('0x29')](_0x4e8f0a);}return _0x317e03['save']();};}function saveUpdates(_0x150ead,_0x40b866){return function(_0x334422){if(_0x334422){return _0x334422[_0xe0b6('0x2a')](_0x150ead)[_0xe0b6('0x2b')](function(_0x582f58){return _0x582f58;});}return null;};}function removeEntity(_0x4d547c,_0xc229c0){return function(_0x13f1f1){if(_0x13f1f1){return _0x13f1f1[_0xe0b6('0x2c')]()['then'](function(){var _0x26320e=_0x13f1f1[_0xe0b6('0x2d')]({'plain':!![]});var _0xd7ca77=_0xe0b6('0x2e');return db[_0xe0b6('0x2f')][_0xe0b6('0x2c')]({'where':{'type':_0xd7ca77,'resourceId':_0x26320e['id']}})[_0xe0b6('0x2b')](function(){return _0x13f1f1;});})[_0xe0b6('0x2b')](function(){_0x4d547c[_0xe0b6('0x21')](0xcc)[_0xe0b6('0x20')]();});}};}function handleEntityNotFound(_0x2d8131,_0x2903e9){return function(_0x2bef33){if(!_0x2bef33){_0x2d8131[_0xe0b6('0x1f')](0x194);}return _0x2bef33;};}function handleError(_0x2d0c16,_0x30266d){_0x30266d=_0x30266d||0x1f4;return function(_0xb253fd){logger[_0xe0b6('0x30')](_0xb253fd[_0xe0b6('0x31')]);if(_0xb253fd[_0xe0b6('0x32')]){delete _0xb253fd[_0xe0b6('0x32')];}_0x2d0c16[_0xe0b6('0x21')](_0x30266d)[_0xe0b6('0x33')](_0xb253fd);};}exports['index']=function(_0x53ae0e,_0x12e7e8){var _0x280682={},_0x34baee={},_0x5a840a={'count':0x0,'rows':[]};var _0x485478=_[_0xe0b6('0x34')](db[_0xe0b6('0x35')]['rawAttributes'],function(_0x5becd9){return{'name':_0x5becd9[_0xe0b6('0x36')],'type':_0x5becd9[_0xe0b6('0x37')][_0xe0b6('0x38')]};});_0x34baee[_0xe0b6('0x39')]=_[_0xe0b6('0x34')](_0x485478,'name');_0x34baee[_0xe0b6('0x3a')]=_['keys'](_0x53ae0e[_0xe0b6('0x3a')]);_0x34baee['filters']=_[_0xe0b6('0x3b')](_0x34baee['model'],_0x34baee[_0xe0b6('0x3a')]);_0x280682[_0xe0b6('0x3c')]=_[_0xe0b6('0x3b')](_0x34baee['model'],qs['fields'](_0x53ae0e['query'][_0xe0b6('0x3d')]));_0x280682[_0xe0b6('0x3c')]=_0x280682[_0xe0b6('0x3c')][_0xe0b6('0x3e')]?_0x280682[_0xe0b6('0x3c')]:_0x34baee[_0xe0b6('0x39')];if(!_0x53ae0e[_0xe0b6('0x3a')][_0xe0b6('0x3f')]('nolimit')){_0x280682[_0xe0b6('0x24')]=qs[_0xe0b6('0x24')](_0x53ae0e[_0xe0b6('0x3a')][_0xe0b6('0x24')]);_0x280682[_0xe0b6('0x23')]=qs['offset'](_0x53ae0e[_0xe0b6('0x3a')][_0xe0b6('0x23')]);}_0x280682[_0xe0b6('0x40')]=qs[_0xe0b6('0x41')](_0x53ae0e[_0xe0b6('0x3a')][_0xe0b6('0x41')]);_0x280682[_0xe0b6('0x42')]=qs[_0xe0b6('0x43')](_[_0xe0b6('0x44')](_0x53ae0e[_0xe0b6('0x3a')],_0x34baee[_0xe0b6('0x43')]),_0x485478);if(_0x53ae0e[_0xe0b6('0x3a')][_0xe0b6('0x45')]){_0x280682[_0xe0b6('0x42')]=_[_0xe0b6('0x46')](_0x280682[_0xe0b6('0x42')],{'$or':_[_0xe0b6('0x34')](_0x485478,function(_0x47c13a){if(_0x47c13a[_0xe0b6('0x37')]!=='VIRTUAL'){var _0x198b7f={};_0x198b7f[_0x47c13a[_0xe0b6('0x32')]]={'$like':'%'+_0x53ae0e['query']['filter']+'%'};return _0x198b7f;}})});}_0x280682=_[_0xe0b6('0x46')]({},_0x280682,_0x53ae0e[_0xe0b6('0x47')]);var _0xdd7abf={'where':_0x280682[_0xe0b6('0x42')]};return db['WhatsappQueue'][_0xe0b6('0x26')](_0xdd7abf)[_0xe0b6('0x2b')](function(_0x5ec6a1){_0x5a840a[_0xe0b6('0x26')]=_0x5ec6a1;if(_0x53ae0e[_0xe0b6('0x3a')]['includeAll']){_0x280682[_0xe0b6('0x48')]=[{'all':!![]}];}return db[_0xe0b6('0x35')][_0xe0b6('0x49')](_0x280682);})[_0xe0b6('0x2b')](function(_0x152e2e){_0x5a840a[_0xe0b6('0x4a')]=_0x152e2e;return _0x5a840a;})['then'](respondWithFilteredResult(_0x12e7e8,_0x280682))[_0xe0b6('0x4b')](handleError(_0x12e7e8,null));};exports[_0xe0b6('0x4c')]=function(_0x190731,_0x5a92ef){var _0x181a58={'raw':!![],'where':{'id':_0x190731['params']['id']}},_0x3bbb6e={};_0x3bbb6e['model']=_[_0xe0b6('0x4d')](db[_0xe0b6('0x35')]['rawAttributes']);_0x3bbb6e[_0xe0b6('0x3a')]=_[_0xe0b6('0x4d')](_0x190731['query']);_0x3bbb6e[_0xe0b6('0x43')]=_[_0xe0b6('0x3b')](_0x3bbb6e[_0xe0b6('0x39')],_0x3bbb6e[_0xe0b6('0x3a')]);_0x181a58[_0xe0b6('0x3c')]=_['intersection'](_0x3bbb6e[_0xe0b6('0x39')],qs[_0xe0b6('0x3d')](_0x190731[_0xe0b6('0x3a')]['fields']));_0x181a58[_0xe0b6('0x3c')]=_0x181a58['attributes'][_0xe0b6('0x3e')]?_0x181a58[_0xe0b6('0x3c')]:_0x3bbb6e[_0xe0b6('0x39')];if(_0x190731[_0xe0b6('0x3a')][_0xe0b6('0x4e')]){_0x181a58[_0xe0b6('0x48')]=[{'all':!![]}];}_0x181a58=_[_0xe0b6('0x46')]({},_0x181a58,_0x190731[_0xe0b6('0x47')]);return db[_0xe0b6('0x35')][_0xe0b6('0x4f')](_0x181a58)['then'](handleEntityNotFound(_0x5a92ef,null))[_0xe0b6('0x2b')](respondWithResult(_0x5a92ef,null))[_0xe0b6('0x4b')](handleError(_0x5a92ef,null));};exports[_0xe0b6('0x50')]=function(_0x6951b5,_0x4767de){return db[_0xe0b6('0x35')][_0xe0b6('0x50')](_0x6951b5[_0xe0b6('0x51')],{})['then'](function(_0x79532d){var _0x804860=_0x6951b5[_0xe0b6('0x52')][_0xe0b6('0x2d')]({'plain':!![]});if(!_0x804860)throw new Error(_0xe0b6('0x53'));if(_0x804860[_0xe0b6('0x54')]===_0xe0b6('0x52')){var _0x2e29d9=_0x79532d['get']({'plain':!![]});var _0x325c80=_0xe0b6('0x2e');return db['UserProfileSection']['find']({'where':{'name':_0x325c80,'userProfileId':_0x804860[_0xe0b6('0x55')]},'raw':!![]})[_0xe0b6('0x2b')](function(_0x59ca5c){if(_0x59ca5c&&_0x59ca5c['autoAssociation']===0x0){return db[_0xe0b6('0x2f')]['create']({'name':_0x2e29d9[_0xe0b6('0x32')],'resourceId':_0x2e29d9['id'],'type':_0x59ca5c['name'],'sectionId':_0x59ca5c['id']},{})[_0xe0b6('0x2b')](function(){return _0x79532d;});}else{return _0x79532d;}})[_0xe0b6('0x4b')](function(_0x2e4e12){logger[_0xe0b6('0x30')](_0xe0b6('0x56'),_0x2e4e12);throw _0x2e4e12;});}return _0x79532d;})[_0xe0b6('0x2b')](respondWithResult(_0x4767de,0xc9))[_0xe0b6('0x4b')](handleError(_0x4767de,null));};exports[_0xe0b6('0x2a')]=function(_0x53b44c,_0x12c973){if(_0x53b44c[_0xe0b6('0x51')]['id']){delete _0x53b44c[_0xe0b6('0x51')]['id'];}return db['WhatsappQueue'][_0xe0b6('0x4f')]({'where':{'id':_0x53b44c[_0xe0b6('0x57')]['id']}})[_0xe0b6('0x2b')](handleEntityNotFound(_0x12c973,null))[_0xe0b6('0x2b')](saveUpdates(_0x53b44c[_0xe0b6('0x51')],null))[_0xe0b6('0x2b')](respondWithResult(_0x12c973,null))['catch'](handleError(_0x12c973,null));};exports[_0xe0b6('0x2c')]=function(_0x1d0ea6,_0x2ef5c1){return db[_0xe0b6('0x35')]['find']({'where':{'id':_0x1d0ea6[_0xe0b6('0x57')]['id']}})[_0xe0b6('0x2b')](handleEntityNotFound(_0x2ef5c1,null))[_0xe0b6('0x2b')](removeEntity(_0x2ef5c1,null))['catch'](handleError(_0x2ef5c1,null));};exports[_0xe0b6('0x58')]=function(_0xd06684,_0x4dac39){return db[_0xe0b6('0x35')][_0xe0b6('0x58')]()['then'](respondWithResult(_0x4dac39,null))[_0xe0b6('0x4b')](handleError(_0x4dac39,null));};exports[_0xe0b6('0x59')]=function(_0x3306d9,_0x3fed71,_0x433c68){var _0x435f9d={'raw':!![],'where':{}},_0x824a63={},_0x341f51;return db[_0xe0b6('0x35')][_0xe0b6('0x5a')]({'where':{'id':_0x3306d9[_0xe0b6('0x57')]['id']}})[_0xe0b6('0x2b')](handleEntityNotFound(_0x3fed71,null))[_0xe0b6('0x2b')](function(_0x4259fc){if(_0x4259fc){_0x341f51=_0x4259fc['get']({'plain':!![]});_0x824a63['model']=_[_0xe0b6('0x4d')](db[_0xe0b6('0x5b')][_0xe0b6('0x5c')]);_0x824a63[_0xe0b6('0x3a')]=_[_0xe0b6('0x4d')](_0x3306d9['query']);_0x824a63[_0xe0b6('0x43')]=_[_0xe0b6('0x3b')](_0x824a63[_0xe0b6('0x39')],_0x824a63[_0xe0b6('0x3a')]);_0x435f9d[_0xe0b6('0x3c')]=_[_0xe0b6('0x3b')](_0x824a63[_0xe0b6('0x39')],qs[_0xe0b6('0x3d')](_0x3306d9[_0xe0b6('0x3a')][_0xe0b6('0x3d')]));_0x435f9d[_0xe0b6('0x3c')]=_0x435f9d['attributes']['length']?_0x435f9d['attributes']:_0x824a63[_0xe0b6('0x39')];if(!_0x3306d9[_0xe0b6('0x3a')][_0xe0b6('0x3f')]('nolimit')){_0x435f9d[_0xe0b6('0x24')]=qs['limit'](_0x3306d9['query'][_0xe0b6('0x24')]);_0x435f9d[_0xe0b6('0x23')]=qs[_0xe0b6('0x23')](_0x3306d9[_0xe0b6('0x3a')][_0xe0b6('0x23')]);}_0x435f9d[_0xe0b6('0x40')]=qs[_0xe0b6('0x41')](_0x3306d9[_0xe0b6('0x3a')][_0xe0b6('0x41')]);_0x435f9d[_0xe0b6('0x42')]=qs[_0xe0b6('0x43')](_[_0xe0b6('0x44')](_0x3306d9[_0xe0b6('0x3a')],_0x824a63[_0xe0b6('0x43')]));_0x435f9d['where']['WhatsappQueueId']=_0x4259fc['id'];if(_0x3306d9['query'][_0xe0b6('0x45')]){_0x435f9d['where']=_[_0xe0b6('0x46')](_0x435f9d[_0xe0b6('0x42')],{'$or':_['map'](_0x435f9d[_0xe0b6('0x3c')],function(_0x554974){var _0x3a220d={};_0x3a220d[_0x554974]={'$like':'%'+_0x3306d9[_0xe0b6('0x3a')][_0xe0b6('0x45')]+'%'};return _0x3a220d;})});}_0x435f9d=_[_0xe0b6('0x46')]({},_0x435f9d,_0x3306d9['options']);return db[_0xe0b6('0x5b')]['findAll'](_0x435f9d);}})['then'](function(_0x3988aa){if(_0x3988aa){return db[_0xe0b6('0x5d')]['findAndCountAll']({'where':{'id':_[_0xe0b6('0x34')](_0x3988aa,_0xe0b6('0x5e')),'role':_0xe0b6('0x5f')},'attributes':['id',_0xe0b6('0x32'),_0xe0b6('0x60'),_0xe0b6('0x61'),'createdAt']});}})['then'](function(_0x161f87){if(_0x161f87){return{'count':_0x161f87[_0xe0b6('0x26')],'rows':_['map'](_0x161f87['rows'],function(_0x5c6829){return{'membername':_0x5c6829[_0xe0b6('0x32')],'UserId':_0x5c6829['id'],'queue_name':_0x341f51[_0xe0b6('0x32')],'WhatsappQueueId':_0x341f51['id'],'interface':util['format']('%s/%s',_0xe0b6('0x62'),_0x5c6829[_0xe0b6('0x32')]),'penalty':0x0,'paused':_0x5c6829[_0xe0b6('0x60')],'createdAt':_0x5c6829[_0xe0b6('0x63')],'updatedAt':_0x5c6829[_0xe0b6('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xe0b6('0x2b')](respondWithFilteredResult(_0x3fed71,_0x435f9d))[_0xe0b6('0x4b')](handleError(_0x3fed71,null));};exports[_0xe0b6('0x64')]=function(_0x110159,_0x55539e,_0x1baead){var _0x187f3a={};var _0x58296e={};var _0x4a5598;var _0x2deeca;return db[_0xe0b6('0x35')]['findOne']({'where':{'id':_0x110159['params']['id']}})[_0xe0b6('0x2b')](handleEntityNotFound(_0x55539e,null))['then'](function(_0x379670){if(_0x379670){_0x4a5598=_0x379670;_0x58296e['model']=_[_0xe0b6('0x4d')](db['Team'][_0xe0b6('0x5c')]);_0x58296e[_0xe0b6('0x3a')]=_['keys'](_0x110159[_0xe0b6('0x3a')]);_0x58296e[_0xe0b6('0x43')]=_[_0xe0b6('0x3b')](_0x58296e[_0xe0b6('0x39')],_0x58296e[_0xe0b6('0x3a')]);_0x187f3a[_0xe0b6('0x3c')]=_[_0xe0b6('0x3b')](_0x58296e['model'],qs[_0xe0b6('0x3d')](_0x110159['query'][_0xe0b6('0x3d')]));_0x187f3a[_0xe0b6('0x3c')]=_0x187f3a['attributes'][_0xe0b6('0x3e')]?_0x187f3a[_0xe0b6('0x3c')]:_0x58296e[_0xe0b6('0x39')];_0x187f3a[_0xe0b6('0x40')]=qs['sort'](_0x110159[_0xe0b6('0x3a')][_0xe0b6('0x41')]);_0x187f3a[_0xe0b6('0x42')]=qs['filters'](_['pick'](_0x110159['query'],_0x58296e[_0xe0b6('0x43')]));if(_0x110159[_0xe0b6('0x3a')][_0xe0b6('0x45')]){_0x187f3a['where']=_[_0xe0b6('0x46')](_0x187f3a[_0xe0b6('0x42')],{'$or':_[_0xe0b6('0x34')](_0x187f3a[_0xe0b6('0x3c')],function(_0x3a5c36){var _0x4d04b2={};_0x4d04b2[_0x3a5c36]={'$like':'%'+_0x110159[_0xe0b6('0x3a')][_0xe0b6('0x45')]+'%'};return _0x4d04b2;})});}_0x187f3a=_[_0xe0b6('0x46')]({},_0x187f3a,_0x110159['options']);return _0x4a5598['getTeams'](_0x187f3a);}})[_0xe0b6('0x2b')](function(_0x11a094){if(_0x11a094){_0x2deeca=_0x11a094[_0xe0b6('0x3e')];if(!_0x110159[_0xe0b6('0x3a')]['hasOwnProperty'](_0xe0b6('0x65'))){_0x187f3a['limit']=qs[_0xe0b6('0x24')](_0x110159[_0xe0b6('0x3a')][_0xe0b6('0x24')]);_0x187f3a[_0xe0b6('0x23')]=qs[_0xe0b6('0x23')](_0x110159[_0xe0b6('0x3a')][_0xe0b6('0x23')]);}return _0x4a5598['getTeams'](_0x187f3a);}})['then'](function(_0xe11dc5){if(_0xe11dc5){return _0xe11dc5?{'count':_0x2deeca,'rows':_0xe11dc5}:null;}})[_0xe0b6('0x2b')](respondWithResult(_0x55539e,null))['catch'](handleError(_0x55539e,null));};exports[_0xe0b6('0x66')]=function(_0xffc3ef,_0x49e41c,_0x4e5559){var _0x4250da=_0xffc3ef[_0xe0b6('0x51')]['ids'];return db[_0xe0b6('0x67')][_0xe0b6('0x49')]({'where':{'id':_0x4250da},'attributes':['id'],'include':[{'model':db[_0xe0b6('0x5d')],'as':_0xe0b6('0x68'),'attributes':['id','name',_0xe0b6('0x69'),_0xe0b6('0x6a'),_0xe0b6('0x6b')],'raw':!![]}]})[_0xe0b6('0x2b')](function(_0x381065){if(_0x381065){var _0x35463e=_['flatMap'](_0x381065,function(_0x5cce75){var _0x3a83b9=_0x5cce75[_0xe0b6('0x2d')]({'plain':!![]});return _0x3a83b9[_0xe0b6('0x68')];});return db[_0xe0b6('0x35')][_0xe0b6('0x4f')]({'where':{'id':_0xffc3ef[_0xe0b6('0x57')]['id']}})[_0xe0b6('0x2b')](function(_0x1b999b){return db['sequelize']['transaction'](function(_0x39cd17){return _0x1b999b[_0xe0b6('0x66')](_0x4250da,{'transaction':_0x39cd17})[_0xe0b6('0x2b')](function(){return BPromise['each'](_0x35463e,function(_0x4ea63e){return db[_0xe0b6('0x5b')][_0xe0b6('0x6c')]({'where':{'UserId':_0x4ea63e['id'],'WhatsappQueueId':_0xffc3ef[_0xe0b6('0x57')]['id']},'transaction':_0x39cd17});});})[_0xe0b6('0x2b')](function(){_0x35463e['forEach'](function(_0x36abd9){socket[_0xe0b6('0x6d')](_0xe0b6('0x6e'),{'UserId':_0x36abd9['id'],'WhatsappQueueId':_0x1b999b['id']});});});});});}})[_0xe0b6('0x2b')](respondWithStatusCode(_0x49e41c,null))[_0xe0b6('0x4b')](handleError(_0x49e41c,null));};exports[_0xe0b6('0x6f')]=function(_0x35bf1b,_0xa3d64f,_0x4a7f09){return db[_0xe0b6('0x67')][_0xe0b6('0x49')]({'where':{'id':_0x35bf1b['query']['ids']},'attributes':['id'],'include':[{'model':db[_0xe0b6('0x5d')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xe0b6('0x2b')](handleEntityNotFound(_0xa3d64f,null))[_0xe0b6('0x2b')](function(_0x51a409){var _0x57d52a=_[_0xe0b6('0x34')](_0x51a409,'id');var _0x47f07d=[];var _0x690f06=[];var _0x582343=squel[_0xe0b6('0x70')]();_0x582343[_0xe0b6('0x71')]('tq.TeamId')[_0xe0b6('0x72')]('team_has_whatsapp_queues','tq')['join'](_0xe0b6('0x73'),'ut',_0xe0b6('0x74'))[_0xe0b6('0x42')](_0xe0b6('0x75'),_0x35bf1b[_0xe0b6('0x57')]['id']);for(var _0x2a379b=0x0;_0x2a379b<_0x51a409[_0xe0b6('0x3e')];_0x2a379b+=0x1){let _0x4c9b13=_0x51a409[_0x2a379b];for(var _0x3f7f06=0x0;_0x3f7f06<_0x4c9b13['Agents'][_0xe0b6('0x3e')];_0x3f7f06+=0x1){let _0x2500a8=_0x4c9b13[_0xe0b6('0x68')][_0x3f7f06];var _0x58105d=_0x582343['clone']();_0x58105d['where'](_0xe0b6('0x76'),_0x2500a8['id']);_0x690f06[_0xe0b6('0x77')](db[_0xe0b6('0x78')][_0xe0b6('0x3a')](_0x58105d['toString'](),{'type':db['sequelize']['QueryTypes'][_0xe0b6('0x79')]})['then'](function(_0x5d1324){if(_0x5d1324[_0xe0b6('0x3e')]===0x1){return _0x2500a8['id'];}else{var _0x50c627=_[_0xe0b6('0x7a')](_[_0xe0b6('0x34')](_0x5d1324,_0xe0b6('0x7b')),function(_0x4fead1){return _[_0xe0b6('0x7c')](_0x57d52a,_0x4fead1);});if(_0x50c627){return _0x2500a8['id'];}}}));}}return BPromise[_0xe0b6('0x7d')](_0x690f06)['then'](function(_0x6e2123){_0x47f07d=_(_0x47f07d)[_0xe0b6('0x7e')](_0x6e2123)[_0xe0b6('0x7f')]()['value']();return db[_0xe0b6('0x35')][_0xe0b6('0x4f')]({'where':{'id':_0x35bf1b['params']['id']}})[_0xe0b6('0x2b')](function(_0x3ca2f4){return db[_0xe0b6('0x78')][_0xe0b6('0x80')](function(_0x5a6aef){return _0x3ca2f4['removeTeams'](_0x35bf1b[_0xe0b6('0x3a')]['ids'],{'transaction':_0x5a6aef})[_0xe0b6('0x2b')](function(){if(!_['isEmpty'](_0x47f07d)){return _0x3ca2f4[_0xe0b6('0x81')](_0x47f07d,{'transaction':_0x5a6aef});}})[_0xe0b6('0x2b')](function(){_0x47f07d[_0xe0b6('0x82')](function(_0x3b937b){socket[_0xe0b6('0x6d')](_0xe0b6('0x83'),{'UserId':_0x3b937b,'WhatsappQueueId':_0x3ca2f4['id']});});});});});});})['then'](respondWithStatusCode(_0xa3d64f,null))['catch'](handleError(_0xa3d64f,null));};exports[_0xe0b6('0x84')]=function(_0x19e4a9,_0x1ed3df,_0xadecb8){return db[_0xe0b6('0x35')][_0xe0b6('0x4f')]({'where':{'id':_0x19e4a9['params']['id']}})[_0xe0b6('0x2b')](handleEntityNotFound(_0x1ed3df,null))[_0xe0b6('0x2b')](function(_0x357082){if(_0x357082){return _0x357082[_0xe0b6('0x84')](_0x19e4a9[_0xe0b6('0x51')][_0xe0b6('0x85')],_[_0xe0b6('0x86')](_0x19e4a9['body'],['ids','id'])||{})[_0xe0b6('0x87')](function(_0x2ab236){for(var _0x19fbbc=0x0;_0x19fbbc<_0x19e4a9[_0xe0b6('0x51')][_0xe0b6('0x85')][_0xe0b6('0x3e')];_0x19fbbc+=0x1){socket[_0xe0b6('0x6d')](_0xe0b6('0x6e'),{'UserId':Number(_0x19e4a9[_0xe0b6('0x51')]['ids'][_0x19fbbc]),'WhatsappQueueId':Number(_0x19e4a9[_0xe0b6('0x57')]['id'])});}return _0x2ab236;});}})['then'](respondWithResult(_0x1ed3df,null))[_0xe0b6('0x4b')](handleError(_0x1ed3df,null));};exports[_0xe0b6('0x81')]=function(_0x58468f,_0x3c918e,_0xa930a4){return db[_0xe0b6('0x35')][_0xe0b6('0x4f')]({'where':{'id':_0x58468f[_0xe0b6('0x57')]['id']}})['then'](handleEntityNotFound(_0x3c918e,null))[_0xe0b6('0x2b')](function(_0x34960f){if(_0x34960f){return _0x34960f[_0xe0b6('0x81')](_0x58468f[_0xe0b6('0x3a')]['ids'])[_0xe0b6('0x2b')](function(){if(_[_0xe0b6('0x88')](_0x58468f[_0xe0b6('0x3a')][_0xe0b6('0x85')])){for(var _0xd7d174=0x0;_0xd7d174<_0x58468f[_0xe0b6('0x3a')][_0xe0b6('0x85')]['length'];_0xd7d174+=0x1){socket[_0xe0b6('0x6d')](_0xe0b6('0x83'),{'UserId':Number(_0x58468f['query']['ids'][_0xd7d174]),'WhatsappQueueId':Number(_0x58468f['params']['id'])});}}else{socket[_0xe0b6('0x6d')](_0xe0b6('0x83'),{'UserId':Number(_0x58468f[_0xe0b6('0x3a')][_0xe0b6('0x85')]),'WhatsappQueueId':Number(_0x58468f[_0xe0b6('0x57')]['id'])});}});}})[_0xe0b6('0x2b')](respondWithStatusCode(_0x3c918e,null))[_0xe0b6('0x4b')](handleError(_0x3c918e,null));};exports[_0xe0b6('0x89')]=function(_0x5a4969,_0x1a7f80,_0xe5b543){var _0x27689b={};var _0x510cac={};var _0x47a3d4;var _0x4d43c6;return db[_0xe0b6('0x35')][_0xe0b6('0x5a')]({'where':{'id':_0x5a4969[_0xe0b6('0x57')]['id']}})[_0xe0b6('0x2b')](handleEntityNotFound(_0x1a7f80,null))[_0xe0b6('0x2b')](function(_0x1dce25){if(_0x1dce25){_0x47a3d4=_0x1dce25;_0x510cac[_0xe0b6('0x39')]=_['keys'](db[_0xe0b6('0x5d')]['rawAttributes']);_0x510cac[_0xe0b6('0x3a')]=_[_0xe0b6('0x4d')](_0x5a4969[_0xe0b6('0x3a')]);_0x510cac[_0xe0b6('0x43')]=_[_0xe0b6('0x3b')](_0x510cac[_0xe0b6('0x39')],_0x510cac[_0xe0b6('0x3a')]);_0x27689b[_0xe0b6('0x3c')]=_[_0xe0b6('0x3b')](_0x510cac[_0xe0b6('0x39')],qs[_0xe0b6('0x3d')](_0x5a4969['query'][_0xe0b6('0x3d')]));_0x27689b[_0xe0b6('0x3c')]=_0x27689b['attributes']['length']?_0x27689b['attributes']:_0x510cac[_0xe0b6('0x39')];_0x27689b[_0xe0b6('0x40')]=qs[_0xe0b6('0x41')](_0x5a4969[_0xe0b6('0x3a')]['sort']);_0x27689b['where']=qs[_0xe0b6('0x43')](_[_0xe0b6('0x44')](_0x5a4969[_0xe0b6('0x3a')],_0x510cac[_0xe0b6('0x43')]));if(_0x5a4969[_0xe0b6('0x3a')][_0xe0b6('0x45')]){_0x27689b[_0xe0b6('0x42')]=_[_0xe0b6('0x46')](_0x27689b[_0xe0b6('0x42')],{'$or':_[_0xe0b6('0x34')](_0x27689b[_0xe0b6('0x3c')],function(_0x5c0212){var _0x1fa78b={};_0x1fa78b[_0x5c0212]={'$like':'%'+_0x5a4969[_0xe0b6('0x3a')][_0xe0b6('0x45')]+'%'};return _0x1fa78b;})});}_0x27689b=_[_0xe0b6('0x46')]({},_0x27689b,_0x5a4969[_0xe0b6('0x47')]);return _0x47a3d4[_0xe0b6('0x89')](_0x27689b);}})[_0xe0b6('0x2b')](function(_0x5ab4eb){if(_0x5ab4eb){_0x4d43c6=_0x5ab4eb[_0xe0b6('0x3e')];if(!_0x5a4969[_0xe0b6('0x3a')][_0xe0b6('0x3f')](_0xe0b6('0x65'))){_0x27689b['limit']=qs[_0xe0b6('0x24')](_0x5a4969[_0xe0b6('0x3a')][_0xe0b6('0x24')]);_0x27689b[_0xe0b6('0x23')]=qs[_0xe0b6('0x23')](_0x5a4969[_0xe0b6('0x3a')][_0xe0b6('0x23')]);}return _0x47a3d4['getAgents'](_0x27689b);}})[_0xe0b6('0x2b')](function(_0x5d74d6){if(_0x5d74d6){return _0x5d74d6?{'count':_0x4d43c6,'rows':_0x5d74d6}:null;}})[_0xe0b6('0x2b')](respondWithResult(_0x1a7f80,null))[_0xe0b6('0x4b')](handleError(_0x1a7f80,null));};