49357a4e07c2e01227d336f027e620ab64c02a12
[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 _0x5e87=['isEmpty','removeAgents','userWhatsappQueue:remove','addAgents','omit','spread','userWhatsappQueue:save','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost','./whatsappQueue.socket','register','sendStatus','end','json','offset','undefined','limit','status','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','name','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','WhatsappQueue','count','includeAll','catch','show','options','create','user','role','WhatsappQueues','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','params','UserWhatsappQueue','findAll','User','findAndCountAll','UserId','agent','updatedAt','createdAt','rows','format','SIP','whatsappPause','Team','getTeams','online','voicePause','interface','flatMap','Agents','sequelize','transaction','addTeams','findOrCreate','forEach','emit','removeTeams','ids','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','all','union','compact','value'];(function(_0x15c421,_0x6366f7){var _0x5e5ed5=function(_0x206e66){while(--_0x206e66){_0x15c421['push'](_0x15c421['shift']());}};_0x5e5ed5(++_0x6366f7);}(_0x5e87,0x1bf));var _0x75e8=function(_0x42fa8c,_0x5a05d4){_0x42fa8c=_0x42fa8c-0x0;var _0xc5c60f=_0x5e87[_0x42fa8c];return _0xc5c60f;};'use strict';var emlformat=require(_0x75e8('0x0'));var rimraf=require(_0x75e8('0x1'));var zipdir=require(_0x75e8('0x2'));var jsonpatch=require(_0x75e8('0x3'));var rp=require(_0x75e8('0x4'));var moment=require('moment');var BPromise=require(_0x75e8('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x75e8('0x6'));var sox=require('sox');var csv=require(_0x75e8('0x7'));var ejs=require(_0x75e8('0x8'));var fs=require('fs');var fs_extra=require(_0x75e8('0x9'));var _=require(_0x75e8('0xa'));var squel=require(_0x75e8('0xb'));var crypto=require(_0x75e8('0xc'));var jsforce=require(_0x75e8('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x75e8('0xe'));var Papa=require(_0x75e8('0xf'));var Redis=require(_0x75e8('0x10'));var authService=require(_0x75e8('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x75e8('0x12'));var logger=require(_0x75e8('0x13'))(_0x75e8('0x14'));var utils=require(_0x75e8('0x15'));var config=require(_0x75e8('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x75e8('0x17')]=_[_0x75e8('0x18')](config[_0x75e8('0x17')],{'host':_0x75e8('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x75e8('0x17')]));require(_0x75e8('0x1a'))[_0x75e8('0x1b')](socket);function respondWithStatusCode(_0x2c08bb,_0x1ef040){_0x1ef040=_0x1ef040||0xcc;return function(_0x379028){if(_0x379028){return _0x2c08bb[_0x75e8('0x1c')](_0x1ef040);}return _0x2c08bb['status'](_0x1ef040)[_0x75e8('0x1d')]();};}function respondWithResult(_0x92885,_0x237873){_0x237873=_0x237873||0xc8;return function(_0x2d11d4){if(_0x2d11d4){return _0x92885['status'](_0x237873)[_0x75e8('0x1e')](_0x2d11d4);}};}function respondWithFilteredResult(_0x55fb39,_0x5ca3b7){return function(_0x4166cb){if(_0x4166cb){var _0x3baf98=typeof _0x5ca3b7[_0x75e8('0x1f')]===_0x75e8('0x20')&&typeof _0x5ca3b7[_0x75e8('0x21')]==='undefined';var _0x26665d=_0x4166cb['count'];var _0x30dfb7=_0x3baf98?0x0:_0x5ca3b7[_0x75e8('0x1f')];var _0x418664=_0x3baf98?_0x4166cb['count']:_0x5ca3b7[_0x75e8('0x1f')]+_0x5ca3b7[_0x75e8('0x21')];var _0x4f5e36;if(_0x418664>=_0x26665d){_0x418664=_0x26665d;_0x4f5e36=0xc8;}else{_0x4f5e36=0xce;}_0x55fb39[_0x75e8('0x22')](_0x4f5e36);return _0x55fb39[_0x75e8('0x23')](_0x75e8('0x24'),_0x30dfb7+'-'+_0x418664+'/'+_0x26665d)[_0x75e8('0x1e')](_0x4166cb);}return null;};}function patchUpdates(_0x3cdbdb){return function(_0x328b33){try{jsonpatch[_0x75e8('0x25')](_0x328b33,_0x3cdbdb,!![]);}catch(_0x4648a6){return BPromise[_0x75e8('0x26')](_0x4648a6);}return _0x328b33[_0x75e8('0x27')]();};}function saveUpdates(_0x3c5c6b,_0x4a4f5f){return function(_0x543e57){if(_0x543e57){return _0x543e57[_0x75e8('0x28')](_0x3c5c6b)[_0x75e8('0x29')](function(_0x1fe9b1){return _0x1fe9b1;});}return null;};}function removeEntity(_0x1922a5,_0x10e5bb){return function(_0x15740e){if(_0x15740e){return _0x15740e[_0x75e8('0x2a')]()[_0x75e8('0x29')](function(){var _0x540b2e=_0x15740e[_0x75e8('0x2b')]({'plain':!![]});var _0xdce963='WhatsappQueues';return db[_0x75e8('0x2c')][_0x75e8('0x2a')]({'where':{'type':_0xdce963,'resourceId':_0x540b2e['id']}})[_0x75e8('0x29')](function(){return _0x15740e;});})[_0x75e8('0x29')](function(){_0x1922a5[_0x75e8('0x22')](0xcc)[_0x75e8('0x1d')]();});}};}function handleEntityNotFound(_0x238ca9,_0x157f5d){return function(_0x188b09){if(!_0x188b09){_0x238ca9[_0x75e8('0x1c')](0x194);}return _0x188b09;};}function handleError(_0x4cf06f,_0x29cb86){_0x29cb86=_0x29cb86||0x1f4;return function(_0x5154ca){logger['error'](_0x5154ca['stack']);if(_0x5154ca['name']){delete _0x5154ca[_0x75e8('0x2d')];}_0x4cf06f[_0x75e8('0x22')](_0x29cb86)['send'](_0x5154ca);};}exports[_0x75e8('0x2e')]=function(_0x242979,_0x3bbc6b){var _0x2ccebf={},_0x1092d8={},_0x1cb33f={'count':0x0,'rows':[]};var _0x229ef9=_[_0x75e8('0x2f')](db['WhatsappQueue'][_0x75e8('0x30')],function(_0x373baf){return{'name':_0x373baf[_0x75e8('0x31')],'type':_0x373baf[_0x75e8('0x32')][_0x75e8('0x33')]};});_0x1092d8[_0x75e8('0x34')]=_[_0x75e8('0x2f')](_0x229ef9,_0x75e8('0x2d'));_0x1092d8['query']=_[_0x75e8('0x35')](_0x242979[_0x75e8('0x36')]);_0x1092d8[_0x75e8('0x37')]=_[_0x75e8('0x38')](_0x1092d8['model'],_0x1092d8['query']);_0x2ccebf[_0x75e8('0x39')]=_[_0x75e8('0x38')](_0x1092d8[_0x75e8('0x34')],qs['fields'](_0x242979[_0x75e8('0x36')][_0x75e8('0x3a')]));_0x2ccebf[_0x75e8('0x39')]=_0x2ccebf['attributes'][_0x75e8('0x3b')]?_0x2ccebf[_0x75e8('0x39')]:_0x1092d8[_0x75e8('0x34')];if(!_0x242979[_0x75e8('0x36')][_0x75e8('0x3c')](_0x75e8('0x3d'))){_0x2ccebf[_0x75e8('0x21')]=qs[_0x75e8('0x21')](_0x242979[_0x75e8('0x36')][_0x75e8('0x21')]);_0x2ccebf[_0x75e8('0x1f')]=qs[_0x75e8('0x1f')](_0x242979[_0x75e8('0x36')][_0x75e8('0x1f')]);}_0x2ccebf[_0x75e8('0x3e')]=qs['sort'](_0x242979[_0x75e8('0x36')][_0x75e8('0x3f')]);_0x2ccebf[_0x75e8('0x40')]=qs['filters'](_[_0x75e8('0x41')](_0x242979[_0x75e8('0x36')],_0x1092d8[_0x75e8('0x37')]),_0x229ef9);if(_0x242979[_0x75e8('0x36')][_0x75e8('0x42')]){_0x2ccebf[_0x75e8('0x40')]=_[_0x75e8('0x43')](_0x2ccebf[_0x75e8('0x40')],{'$or':_['map'](_0x229ef9,function(_0x161b40){if(_0x161b40[_0x75e8('0x32')]!==_0x75e8('0x44')){var _0xb0c9d3={};_0xb0c9d3[_0x161b40[_0x75e8('0x2d')]]={'$like':'%'+_0x242979[_0x75e8('0x36')][_0x75e8('0x42')]+'%'};return _0xb0c9d3;}})});}_0x2ccebf=_[_0x75e8('0x43')]({},_0x2ccebf,_0x242979['options']);var _0x509270={'where':_0x2ccebf[_0x75e8('0x40')]};return db[_0x75e8('0x45')][_0x75e8('0x46')](_0x509270)[_0x75e8('0x29')](function(_0x480a19){_0x1cb33f[_0x75e8('0x46')]=_0x480a19;if(_0x242979[_0x75e8('0x36')][_0x75e8('0x47')]){_0x2ccebf['include']=[{'all':!![]}];}return db[_0x75e8('0x45')]['findAll'](_0x2ccebf);})[_0x75e8('0x29')](function(_0x418f0f){_0x1cb33f['rows']=_0x418f0f;return _0x1cb33f;})[_0x75e8('0x29')](respondWithFilteredResult(_0x3bbc6b,_0x2ccebf))[_0x75e8('0x48')](handleError(_0x3bbc6b,null));};exports[_0x75e8('0x49')]=function(_0x2ddfe8,_0x48bde3){var _0x112de8={'raw':!![],'where':{'id':_0x2ddfe8['params']['id']}},_0x560e06={};_0x560e06[_0x75e8('0x34')]=_[_0x75e8('0x35')](db[_0x75e8('0x45')][_0x75e8('0x30')]);_0x560e06[_0x75e8('0x36')]=_[_0x75e8('0x35')](_0x2ddfe8[_0x75e8('0x36')]);_0x560e06[_0x75e8('0x37')]=_[_0x75e8('0x38')](_0x560e06[_0x75e8('0x34')],_0x560e06['query']);_0x112de8['attributes']=_['intersection'](_0x560e06[_0x75e8('0x34')],qs['fields'](_0x2ddfe8['query'][_0x75e8('0x3a')]));_0x112de8[_0x75e8('0x39')]=_0x112de8[_0x75e8('0x39')][_0x75e8('0x3b')]?_0x112de8[_0x75e8('0x39')]:_0x560e06[_0x75e8('0x34')];if(_0x2ddfe8[_0x75e8('0x36')][_0x75e8('0x47')]){_0x112de8['include']=[{'all':!![]}];}_0x112de8=_[_0x75e8('0x43')]({},_0x112de8,_0x2ddfe8[_0x75e8('0x4a')]);return db[_0x75e8('0x45')]['find'](_0x112de8)[_0x75e8('0x29')](handleEntityNotFound(_0x48bde3,null))[_0x75e8('0x29')](respondWithResult(_0x48bde3,null))['catch'](handleError(_0x48bde3,null));};exports[_0x75e8('0x4b')]=function(_0x27558b,_0x3d5f13){return db[_0x75e8('0x45')][_0x75e8('0x4b')](_0x27558b['body'],{})['then'](function(_0x576a26){var _0x1b0f92=_0x27558b[_0x75e8('0x4c')][_0x75e8('0x2b')]({'plain':!![]});if(!_0x1b0f92)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1b0f92[_0x75e8('0x4d')]===_0x75e8('0x4c')){var _0x4869fa=_0x576a26[_0x75e8('0x2b')]({'plain':!![]});var _0x154721=_0x75e8('0x4e');return db[_0x75e8('0x4f')][_0x75e8('0x50')]({'where':{'name':_0x154721,'userProfileId':_0x1b0f92[_0x75e8('0x51')]},'raw':!![]})[_0x75e8('0x29')](function(_0x5adb04){if(_0x5adb04&&_0x5adb04[_0x75e8('0x52')]===0x0){return db[_0x75e8('0x2c')][_0x75e8('0x4b')]({'name':_0x4869fa['name'],'resourceId':_0x4869fa['id'],'type':_0x5adb04[_0x75e8('0x2d')],'sectionId':_0x5adb04['id']},{})[_0x75e8('0x29')](function(){return _0x576a26;});}else{return _0x576a26;}})[_0x75e8('0x48')](function(_0x573258){logger[_0x75e8('0x53')](_0x75e8('0x54'),_0x573258);throw _0x573258;});}return _0x576a26;})[_0x75e8('0x29')](respondWithResult(_0x3d5f13,0xc9))[_0x75e8('0x48')](handleError(_0x3d5f13,null));};exports[_0x75e8('0x28')]=function(_0x40258d,_0x292a90){if(_0x40258d[_0x75e8('0x55')]['id']){delete _0x40258d['body']['id'];}return db['WhatsappQueue'][_0x75e8('0x50')]({'where':{'id':_0x40258d['params']['id']}})[_0x75e8('0x29')](handleEntityNotFound(_0x292a90,null))[_0x75e8('0x29')](saveUpdates(_0x40258d[_0x75e8('0x55')],null))[_0x75e8('0x29')](respondWithResult(_0x292a90,null))[_0x75e8('0x48')](handleError(_0x292a90,null));};exports['destroy']=function(_0x49540f,_0x5ec852){return db[_0x75e8('0x45')][_0x75e8('0x50')]({'where':{'id':_0x49540f['params']['id']}})[_0x75e8('0x29')](handleEntityNotFound(_0x5ec852,null))[_0x75e8('0x29')](removeEntity(_0x5ec852,null))[_0x75e8('0x48')](handleError(_0x5ec852,null));};exports[_0x75e8('0x56')]=function(_0x56b665,_0x431bd2){return db[_0x75e8('0x45')][_0x75e8('0x56')]()['then'](respondWithResult(_0x431bd2,null))[_0x75e8('0x48')](handleError(_0x431bd2,null));};exports[_0x75e8('0x57')]=function(_0x54c3be,_0x47c08d,_0x2ac845){var _0x3a05da={'raw':!![],'where':{}},_0x2d2ac4={},_0x938f03;return db[_0x75e8('0x45')][_0x75e8('0x58')]({'where':{'id':_0x54c3be[_0x75e8('0x59')]['id']}})[_0x75e8('0x29')](handleEntityNotFound(_0x47c08d,null))[_0x75e8('0x29')](function(_0x3c2804){if(_0x3c2804){_0x938f03=_0x3c2804[_0x75e8('0x2b')]({'plain':!![]});_0x2d2ac4['model']=_[_0x75e8('0x35')](db['UserWhatsappQueue'][_0x75e8('0x30')]);_0x2d2ac4['query']=_[_0x75e8('0x35')](_0x54c3be[_0x75e8('0x36')]);_0x2d2ac4[_0x75e8('0x37')]=_[_0x75e8('0x38')](_0x2d2ac4['model'],_0x2d2ac4[_0x75e8('0x36')]);_0x3a05da[_0x75e8('0x39')]=_[_0x75e8('0x38')](_0x2d2ac4[_0x75e8('0x34')],qs[_0x75e8('0x3a')](_0x54c3be[_0x75e8('0x36')][_0x75e8('0x3a')]));_0x3a05da[_0x75e8('0x39')]=_0x3a05da[_0x75e8('0x39')][_0x75e8('0x3b')]?_0x3a05da['attributes']:_0x2d2ac4[_0x75e8('0x34')];if(!_0x54c3be[_0x75e8('0x36')]['hasOwnProperty']('nolimit')){_0x3a05da[_0x75e8('0x21')]=qs[_0x75e8('0x21')](_0x54c3be['query'][_0x75e8('0x21')]);_0x3a05da[_0x75e8('0x1f')]=qs[_0x75e8('0x1f')](_0x54c3be[_0x75e8('0x36')][_0x75e8('0x1f')]);}_0x3a05da[_0x75e8('0x3e')]=qs['sort'](_0x54c3be['query']['sort']);_0x3a05da['where']=qs[_0x75e8('0x37')](_['pick'](_0x54c3be['query'],_0x2d2ac4[_0x75e8('0x37')]));_0x3a05da['where']['WhatsappQueueId']=_0x3c2804['id'];if(_0x54c3be[_0x75e8('0x36')][_0x75e8('0x42')]){_0x3a05da['where']=_[_0x75e8('0x43')](_0x3a05da[_0x75e8('0x40')],{'$or':_['map'](_0x3a05da['attributes'],function(_0x29670e){var _0x521ed8={};_0x521ed8[_0x29670e]={'$like':'%'+_0x54c3be[_0x75e8('0x36')][_0x75e8('0x42')]+'%'};return _0x521ed8;})});}_0x3a05da=_['merge']({},_0x3a05da,_0x54c3be['options']);return db[_0x75e8('0x5a')][_0x75e8('0x5b')](_0x3a05da);}})[_0x75e8('0x29')](function(_0x4fd581){if(_0x4fd581){return db[_0x75e8('0x5c')][_0x75e8('0x5d')]({'where':{'id':_[_0x75e8('0x2f')](_0x4fd581,_0x75e8('0x5e')),'role':_0x75e8('0x5f')},'attributes':['id',_0x75e8('0x2d'),'whatsappPause',_0x75e8('0x60'),_0x75e8('0x61')]});}})['then'](function(_0x2e8e37){if(_0x2e8e37){return{'count':_0x2e8e37[_0x75e8('0x46')],'rows':_[_0x75e8('0x2f')](_0x2e8e37[_0x75e8('0x62')],function(_0x3f0679){return{'membername':_0x3f0679['name'],'UserId':_0x3f0679['id'],'queue_name':_0x938f03[_0x75e8('0x2d')],'WhatsappQueueId':_0x938f03['id'],'interface':util[_0x75e8('0x63')]('%s/%s',_0x75e8('0x64'),_0x3f0679['name']),'penalty':0x0,'paused':_0x3f0679[_0x75e8('0x65')],'createdAt':_0x3f0679[_0x75e8('0x61')],'updatedAt':_0x3f0679[_0x75e8('0x60')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x75e8('0x29')](respondWithFilteredResult(_0x47c08d,_0x3a05da))[_0x75e8('0x48')](handleError(_0x47c08d,null));};exports['getTeams']=function(_0xb1966b,_0x31a7da,_0x39dc90){var _0x4601f5={};var _0x2ee4f3={};var _0x2fb3ec;var _0x3832a8;return db[_0x75e8('0x45')][_0x75e8('0x58')]({'where':{'id':_0xb1966b[_0x75e8('0x59')]['id']}})[_0x75e8('0x29')](handleEntityNotFound(_0x31a7da,null))[_0x75e8('0x29')](function(_0x40c91e){if(_0x40c91e){_0x2fb3ec=_0x40c91e;_0x2ee4f3[_0x75e8('0x34')]=_['keys'](db[_0x75e8('0x66')][_0x75e8('0x30')]);_0x2ee4f3['query']=_[_0x75e8('0x35')](_0xb1966b['query']);_0x2ee4f3[_0x75e8('0x37')]=_[_0x75e8('0x38')](_0x2ee4f3[_0x75e8('0x34')],_0x2ee4f3[_0x75e8('0x36')]);_0x4601f5[_0x75e8('0x39')]=_['intersection'](_0x2ee4f3['model'],qs['fields'](_0xb1966b[_0x75e8('0x36')][_0x75e8('0x3a')]));_0x4601f5[_0x75e8('0x39')]=_0x4601f5[_0x75e8('0x39')][_0x75e8('0x3b')]?_0x4601f5[_0x75e8('0x39')]:_0x2ee4f3[_0x75e8('0x34')];_0x4601f5[_0x75e8('0x3e')]=qs['sort'](_0xb1966b[_0x75e8('0x36')][_0x75e8('0x3f')]);_0x4601f5[_0x75e8('0x40')]=qs[_0x75e8('0x37')](_[_0x75e8('0x41')](_0xb1966b[_0x75e8('0x36')],_0x2ee4f3['filters']));if(_0xb1966b['query'][_0x75e8('0x42')]){_0x4601f5[_0x75e8('0x40')]=_[_0x75e8('0x43')](_0x4601f5[_0x75e8('0x40')],{'$or':_[_0x75e8('0x2f')](_0x4601f5['attributes'],function(_0x4fab63){var _0x559118={};_0x559118[_0x4fab63]={'$like':'%'+_0xb1966b[_0x75e8('0x36')][_0x75e8('0x42')]+'%'};return _0x559118;})});}_0x4601f5=_[_0x75e8('0x43')]({},_0x4601f5,_0xb1966b[_0x75e8('0x4a')]);return _0x2fb3ec[_0x75e8('0x67')](_0x4601f5);}})[_0x75e8('0x29')](function(_0x2c9a63){if(_0x2c9a63){_0x3832a8=_0x2c9a63[_0x75e8('0x3b')];if(!_0xb1966b[_0x75e8('0x36')][_0x75e8('0x3c')](_0x75e8('0x3d'))){_0x4601f5[_0x75e8('0x21')]=qs[_0x75e8('0x21')](_0xb1966b['query'][_0x75e8('0x21')]);_0x4601f5[_0x75e8('0x1f')]=qs[_0x75e8('0x1f')](_0xb1966b['query'][_0x75e8('0x1f')]);}return _0x2fb3ec[_0x75e8('0x67')](_0x4601f5);}})['then'](function(_0x5af3fd){if(_0x5af3fd){return _0x5af3fd?{'count':_0x3832a8,'rows':_0x5af3fd}:null;}})[_0x75e8('0x29')](respondWithResult(_0x31a7da,null))[_0x75e8('0x48')](handleError(_0x31a7da,null));};exports['addTeams']=function(_0x5c3e5e,_0x4d085f,_0x23ed0a){var _0x2fcc6b=_0x5c3e5e[_0x75e8('0x55')]['ids'];return db['Team']['findAll']({'where':{'id':_0x2fcc6b},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x75e8('0x2d'),_0x75e8('0x68'),_0x75e8('0x69'),_0x75e8('0x6a')],'raw':!![]}]})[_0x75e8('0x29')](function(_0x3b9ad4){if(_0x3b9ad4){var _0x25c2f0=_[_0x75e8('0x6b')](_0x3b9ad4,function(_0x55658f){var _0x327e43=_0x55658f[_0x75e8('0x2b')]({'plain':!![]});return _0x327e43[_0x75e8('0x6c')];});return db['WhatsappQueue'][_0x75e8('0x50')]({'where':{'id':_0x5c3e5e[_0x75e8('0x59')]['id']}})[_0x75e8('0x29')](function(_0x6fc36a){return db[_0x75e8('0x6d')][_0x75e8('0x6e')](function(_0x2454bd){return _0x6fc36a[_0x75e8('0x6f')](_0x2fcc6b,{'transaction':_0x2454bd})[_0x75e8('0x29')](function(){return BPromise['each'](_0x25c2f0,function(_0x38cfb3){return db[_0x75e8('0x5a')][_0x75e8('0x70')]({'where':{'UserId':_0x38cfb3['id'],'WhatsappQueueId':_0x5c3e5e['params']['id']},'transaction':_0x2454bd});});})[_0x75e8('0x29')](function(){_0x25c2f0[_0x75e8('0x71')](function(_0x58d76d){socket[_0x75e8('0x72')]('userWhatsappQueue:save',{'UserId':_0x58d76d['id'],'WhatsappQueueId':_0x6fc36a['id']});});});});});}})['then'](respondWithStatusCode(_0x4d085f,null))[_0x75e8('0x48')](handleError(_0x4d085f,null));};exports[_0x75e8('0x73')]=function(_0x134d8a,_0x3ab24f,_0x1c5692){return db['Team'][_0x75e8('0x5b')]({'where':{'id':_0x134d8a['query'][_0x75e8('0x74')]},'attributes':['id'],'include':[{'model':db[_0x75e8('0x5c')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x75e8('0x29')](handleEntityNotFound(_0x3ab24f,null))[_0x75e8('0x29')](function(_0x364ed4){var _0x16964e=_[_0x75e8('0x2f')](_0x364ed4,'id');var _0x3b4248=[];var _0x55bb01=[];var _0x107877=squel[_0x75e8('0x75')]();_0x107877[_0x75e8('0x76')](_0x75e8('0x77'))[_0x75e8('0x78')]('team_has_whatsapp_queues','tq')[_0x75e8('0x79')](_0x75e8('0x7a'),'ut',_0x75e8('0x7b'))[_0x75e8('0x40')](_0x75e8('0x7c'),_0x134d8a['params']['id']);for(var _0x584b8d=0x0;_0x584b8d<_0x364ed4[_0x75e8('0x3b')];_0x584b8d+=0x1){let _0x1c2b13=_0x364ed4[_0x584b8d];for(var _0x6afd63=0x0;_0x6afd63<_0x1c2b13[_0x75e8('0x6c')][_0x75e8('0x3b')];_0x6afd63+=0x1){let _0x8d71fe=_0x1c2b13[_0x75e8('0x6c')][_0x6afd63];var _0x465fc1=_0x107877[_0x75e8('0x7d')]();_0x465fc1[_0x75e8('0x40')](_0x75e8('0x7e'),_0x8d71fe['id']);_0x55bb01[_0x75e8('0x7f')](db['sequelize'][_0x75e8('0x36')](_0x465fc1[_0x75e8('0x80')](),{'type':db[_0x75e8('0x6d')][_0x75e8('0x81')][_0x75e8('0x82')]})[_0x75e8('0x29')](function(_0x51ff1d){if(_0x51ff1d['length']===0x1){return _0x8d71fe['id'];}else{var _0x46a990=_[_0x75e8('0x83')](_[_0x75e8('0x2f')](_0x51ff1d,_0x75e8('0x84')),function(_0x397f61){return _['includes'](_0x16964e,_0x397f61);});if(_0x46a990){return _0x8d71fe['id'];}}}));}}return BPromise[_0x75e8('0x85')](_0x55bb01)['then'](function(_0x2bda74){_0x3b4248=_(_0x3b4248)[_0x75e8('0x86')](_0x2bda74)[_0x75e8('0x87')]()[_0x75e8('0x88')]();return db[_0x75e8('0x45')][_0x75e8('0x50')]({'where':{'id':_0x134d8a[_0x75e8('0x59')]['id']}})[_0x75e8('0x29')](function(_0x5055cf){return db[_0x75e8('0x6d')][_0x75e8('0x6e')](function(_0x18c0f6){return _0x5055cf[_0x75e8('0x73')](_0x134d8a[_0x75e8('0x36')]['ids'],{'transaction':_0x18c0f6})[_0x75e8('0x29')](function(){if(!_[_0x75e8('0x89')](_0x3b4248)){return _0x5055cf[_0x75e8('0x8a')](_0x3b4248,{'transaction':_0x18c0f6});}})['then'](function(){_0x3b4248[_0x75e8('0x71')](function(_0xddd3ef){socket[_0x75e8('0x72')](_0x75e8('0x8b'),{'UserId':_0xddd3ef,'WhatsappQueueId':_0x5055cf['id']});});});});});});})['then'](respondWithStatusCode(_0x3ab24f,null))[_0x75e8('0x48')](handleError(_0x3ab24f,null));};exports['addAgents']=function(_0x46034b,_0x30c1ce,_0x4320cc){return db[_0x75e8('0x45')][_0x75e8('0x50')]({'where':{'id':_0x46034b[_0x75e8('0x59')]['id']}})[_0x75e8('0x29')](handleEntityNotFound(_0x30c1ce,null))[_0x75e8('0x29')](function(_0x410de1){if(_0x410de1){return _0x410de1[_0x75e8('0x8c')](_0x46034b[_0x75e8('0x55')][_0x75e8('0x74')],_[_0x75e8('0x8d')](_0x46034b[_0x75e8('0x55')],[_0x75e8('0x74'),'id'])||{})[_0x75e8('0x8e')](function(_0x4c6f89){for(var _0x52f4e6=0x0;_0x52f4e6<_0x46034b[_0x75e8('0x55')][_0x75e8('0x74')][_0x75e8('0x3b')];_0x52f4e6+=0x1){socket['emit'](_0x75e8('0x8f'),{'UserId':Number(_0x46034b[_0x75e8('0x55')][_0x75e8('0x74')][_0x52f4e6]),'WhatsappQueueId':Number(_0x46034b[_0x75e8('0x59')]['id'])});}return _0x4c6f89;});}})[_0x75e8('0x29')](respondWithResult(_0x30c1ce,null))[_0x75e8('0x48')](handleError(_0x30c1ce,null));};exports[_0x75e8('0x8a')]=function(_0x541bbb,_0x2a13a4,_0x240b2f){return db[_0x75e8('0x45')][_0x75e8('0x50')]({'where':{'id':_0x541bbb[_0x75e8('0x59')]['id']}})[_0x75e8('0x29')](handleEntityNotFound(_0x2a13a4,null))[_0x75e8('0x29')](function(_0x4cdda9){if(_0x4cdda9){return _0x4cdda9[_0x75e8('0x8a')](_0x541bbb[_0x75e8('0x36')][_0x75e8('0x74')])['then'](function(){if(_[_0x75e8('0x90')](_0x541bbb[_0x75e8('0x36')][_0x75e8('0x74')])){for(var _0x2430a5=0x0;_0x2430a5<_0x541bbb[_0x75e8('0x36')][_0x75e8('0x74')]['length'];_0x2430a5+=0x1){socket[_0x75e8('0x72')](_0x75e8('0x8b'),{'UserId':Number(_0x541bbb[_0x75e8('0x36')][_0x75e8('0x74')][_0x2430a5]),'WhatsappQueueId':Number(_0x541bbb['params']['id'])});}}else{socket[_0x75e8('0x72')](_0x75e8('0x8b'),{'UserId':Number(_0x541bbb[_0x75e8('0x36')][_0x75e8('0x74')]),'WhatsappQueueId':Number(_0x541bbb[_0x75e8('0x59')]['id'])});}});}})['then'](respondWithStatusCode(_0x2a13a4,null))[_0x75e8('0x48')](handleError(_0x2a13a4,null));};exports[_0x75e8('0x91')]=function(_0xf278ae,_0x3b1664,_0x323b76){var _0x567b2c={};var _0x53c891={};var _0x1dd27b;var _0x2ad8e9;return db[_0x75e8('0x45')]['findOne']({'where':{'id':_0xf278ae[_0x75e8('0x59')]['id']}})[_0x75e8('0x29')](handleEntityNotFound(_0x3b1664,null))[_0x75e8('0x29')](function(_0x1856c0){if(_0x1856c0){_0x1dd27b=_0x1856c0;_0x53c891['model']=_[_0x75e8('0x35')](db[_0x75e8('0x5c')][_0x75e8('0x30')]);_0x53c891[_0x75e8('0x36')]=_['keys'](_0xf278ae['query']);_0x53c891['filters']=_[_0x75e8('0x38')](_0x53c891[_0x75e8('0x34')],_0x53c891['query']);_0x567b2c['attributes']=_[_0x75e8('0x38')](_0x53c891[_0x75e8('0x34')],qs['fields'](_0xf278ae[_0x75e8('0x36')][_0x75e8('0x3a')]));_0x567b2c[_0x75e8('0x39')]=_0x567b2c[_0x75e8('0x39')]['length']?_0x567b2c['attributes']:_0x53c891[_0x75e8('0x34')];_0x567b2c[_0x75e8('0x3e')]=qs[_0x75e8('0x3f')](_0xf278ae['query']['sort']);_0x567b2c[_0x75e8('0x40')]=qs['filters'](_['pick'](_0xf278ae[_0x75e8('0x36')],_0x53c891['filters']));if(_0xf278ae['query'][_0x75e8('0x42')]){_0x567b2c['where']=_['merge'](_0x567b2c[_0x75e8('0x40')],{'$or':_[_0x75e8('0x2f')](_0x567b2c[_0x75e8('0x39')],function(_0x452687){var _0x5e4704={};_0x5e4704[_0x452687]={'$like':'%'+_0xf278ae[_0x75e8('0x36')][_0x75e8('0x42')]+'%'};return _0x5e4704;})});}_0x567b2c=_['merge']({},_0x567b2c,_0xf278ae['options']);return _0x1dd27b[_0x75e8('0x91')](_0x567b2c);}})['then'](function(_0x3362a6){if(_0x3362a6){_0x2ad8e9=_0x3362a6[_0x75e8('0x3b')];if(!_0xf278ae['query'][_0x75e8('0x3c')](_0x75e8('0x3d'))){_0x567b2c[_0x75e8('0x21')]=qs[_0x75e8('0x21')](_0xf278ae[_0x75e8('0x36')]['limit']);_0x567b2c['offset']=qs[_0x75e8('0x1f')](_0xf278ae[_0x75e8('0x36')][_0x75e8('0x1f')]);}return _0x1dd27b[_0x75e8('0x91')](_0x567b2c);}})[_0x75e8('0x29')](function(_0x1cc1f8){if(_0x1cc1f8){return _0x1cc1f8?{'count':_0x2ad8e9,'rows':_0x1cc1f8}:null;}})[_0x75e8('0x29')](respondWithResult(_0x3b1664,null))[_0x75e8('0x48')](handleError(_0x3b1664,null));};