Built motion from commit ddca4d0d.|2.5.47
[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 _0x3e9a=['sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','offset','undefined','limit','count','set','json','apply','reject','save','then','destroy','get','WhatsappQueues','UserProfileResource','end','error','stack','name','send','index','map','fieldName','type','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','WhatsappQueue','includeAll','findAll','rows','catch','show','params','rawAttributes','include','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','findOne','order','UserWhatsappQueue','User','findAndCountAll','UserId','agent','whatsappPause','updatedAt','createdAt','format','getTeams','Team','addTeams','Agents','interface','flatMap','sequelize','each','forEach','emit','userWhatsappQueue:save','removeTeams','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','push','toString','QueryTypes','every','TeamId','includes','all','union','compact','value','isEmpty','removeAgents','userWhatsappQueue:remove','addAgents','ids','omit','spread','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0x3e9a,0x1ab));var _0xa3e9=function(_0x19f5ad,_0xb7bc88){_0x19f5ad=_0x19f5ad-0x0;var _0x3c1507=_0x3e9a[_0x19f5ad];return _0x3c1507;};'use strict';var emlformat=require(_0xa3e9('0x0'));var rimraf=require(_0xa3e9('0x1'));var zipdir=require(_0xa3e9('0x2'));var jsonpatch=require(_0xa3e9('0x3'));var rp=require(_0xa3e9('0x4'));var moment=require(_0xa3e9('0x5'));var BPromise=require(_0xa3e9('0x6'));var Mustache=require(_0xa3e9('0x7'));var util=require('util');var path=require('path');var sox=require(_0xa3e9('0x8'));var csv=require(_0xa3e9('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa3e9('0xa'));var _=require('lodash');var squel=require(_0xa3e9('0xb'));var crypto=require(_0xa3e9('0xc'));var jsforce=require(_0xa3e9('0xd'));var deskjs=require(_0xa3e9('0xe'));var toCsv=require(_0xa3e9('0x9'));var querystring=require('querystring');var Papa=require(_0xa3e9('0xf'));var Redis=require(_0xa3e9('0x10'));var authService=require(_0xa3e9('0x11'));var qs=require(_0xa3e9('0x12'));var as=require(_0xa3e9('0x13'));var hardwareService=require(_0xa3e9('0x14'));var logger=require('../../config/logger')(_0xa3e9('0x15'));var utils=require('../../config/utils');var config=require(_0xa3e9('0x16'));var licenseUtil=require(_0xa3e9('0x17'));var db=require(_0xa3e9('0x18'))['db'];config[_0xa3e9('0x19')]=_[_0xa3e9('0x1a')](config[_0xa3e9('0x19')],{'host':_0xa3e9('0x1b'),'port':0x18eb});var socket=require(_0xa3e9('0x1c'))(new Redis(config[_0xa3e9('0x19')]));require('./whatsappQueue.socket')[_0xa3e9('0x1d')](socket);function respondWithStatusCode(_0x3f110e,_0x537339){_0x537339=_0x537339||0xcc;return function(_0x2dc1c5){if(_0x2dc1c5){return _0x3f110e[_0xa3e9('0x1e')](_0x537339);}return _0x3f110e[_0xa3e9('0x1f')](_0x537339)['end']();};}function respondWithResult(_0x5d49d0,_0x3131cd){_0x3131cd=_0x3131cd||0xc8;return function(_0x3f445d){if(_0x3f445d){return _0x5d49d0[_0xa3e9('0x1f')](_0x3131cd)['json'](_0x3f445d);}};}function respondWithFilteredResult(_0x4219e0,_0x4835ca){return function(_0x254ccc){if(_0x254ccc){var _0x43c65e=typeof _0x4835ca[_0xa3e9('0x20')]===_0xa3e9('0x21')&&typeof _0x4835ca[_0xa3e9('0x22')]==='undefined';var _0x466a42=_0x254ccc['count'];var _0x564816=_0x43c65e?0x0:_0x4835ca[_0xa3e9('0x20')];var _0x1d1726=_0x43c65e?_0x254ccc[_0xa3e9('0x23')]:_0x4835ca[_0xa3e9('0x20')]+_0x4835ca[_0xa3e9('0x22')];var _0xb5be2b;if(_0x1d1726>=_0x466a42){_0x1d1726=_0x466a42;_0xb5be2b=0xc8;}else{_0xb5be2b=0xce;}_0x4219e0['status'](_0xb5be2b);return _0x4219e0[_0xa3e9('0x24')]('Content-Range',_0x564816+'-'+_0x1d1726+'/'+_0x466a42)[_0xa3e9('0x25')](_0x254ccc);}return null;};}function patchUpdates(_0x20d5a8){return function(_0x161c39){try{jsonpatch[_0xa3e9('0x26')](_0x161c39,_0x20d5a8,!![]);}catch(_0x260e23){return BPromise[_0xa3e9('0x27')](_0x260e23);}return _0x161c39[_0xa3e9('0x28')]();};}function saveUpdates(_0x80db6f,_0x1d358b){return function(_0xb796e1){if(_0xb796e1){return _0xb796e1['update'](_0x80db6f)[_0xa3e9('0x29')](function(_0x402298){return _0x402298;});}return null;};}function removeEntity(_0x3eb476,_0xe6444a){return function(_0x44b0ab){if(_0x44b0ab){return _0x44b0ab[_0xa3e9('0x2a')]()[_0xa3e9('0x29')](function(){var _0x3c4347=_0x44b0ab[_0xa3e9('0x2b')]({'plain':!![]});var _0x3700ad=_0xa3e9('0x2c');return db[_0xa3e9('0x2d')][_0xa3e9('0x2a')]({'where':{'type':_0x3700ad,'resourceId':_0x3c4347['id']}})[_0xa3e9('0x29')](function(){return _0x44b0ab;});})[_0xa3e9('0x29')](function(){_0x3eb476[_0xa3e9('0x1f')](0xcc)[_0xa3e9('0x2e')]();});}};}function handleEntityNotFound(_0x6dd181,_0xbd8819){return function(_0x156ade){if(!_0x156ade){_0x6dd181[_0xa3e9('0x1e')](0x194);}return _0x156ade;};}function handleError(_0x4c0f78,_0x233393){_0x233393=_0x233393||0x1f4;return function(_0x52f2fe){logger[_0xa3e9('0x2f')](_0x52f2fe[_0xa3e9('0x30')]);if(_0x52f2fe[_0xa3e9('0x31')]){delete _0x52f2fe[_0xa3e9('0x31')];}_0x4c0f78['status'](_0x233393)[_0xa3e9('0x32')](_0x52f2fe);};}exports[_0xa3e9('0x33')]=function(_0x3c674c,_0x2977d8){var _0x23ed26={},_0x5d1258={},_0x2a3972={'count':0x0,'rows':[]};var _0x3cefab=_[_0xa3e9('0x34')](db['WhatsappQueue']['rawAttributes'],function(_0x542ce6){return{'name':_0x542ce6[_0xa3e9('0x35')],'type':_0x542ce6[_0xa3e9('0x36')][_0xa3e9('0x37')]};});_0x5d1258[_0xa3e9('0x38')]=_[_0xa3e9('0x34')](_0x3cefab,_0xa3e9('0x31'));_0x5d1258[_0xa3e9('0x39')]=_[_0xa3e9('0x3a')](_0x3c674c[_0xa3e9('0x39')]);_0x5d1258['filters']=_['intersection'](_0x5d1258[_0xa3e9('0x38')],_0x5d1258['query']);_0x23ed26['attributes']=_[_0xa3e9('0x3b')](_0x5d1258[_0xa3e9('0x38')],qs[_0xa3e9('0x3c')](_0x3c674c[_0xa3e9('0x39')][_0xa3e9('0x3c')]));_0x23ed26[_0xa3e9('0x3d')]=_0x23ed26[_0xa3e9('0x3d')][_0xa3e9('0x3e')]?_0x23ed26['attributes']:_0x5d1258['model'];if(!_0x3c674c[_0xa3e9('0x39')][_0xa3e9('0x3f')](_0xa3e9('0x40'))){_0x23ed26['limit']=qs[_0xa3e9('0x22')](_0x3c674c[_0xa3e9('0x39')]['limit']);_0x23ed26['offset']=qs[_0xa3e9('0x20')](_0x3c674c[_0xa3e9('0x39')]['offset']);}_0x23ed26['order']=qs['sort'](_0x3c674c[_0xa3e9('0x39')][_0xa3e9('0x41')]);_0x23ed26[_0xa3e9('0x42')]=qs[_0xa3e9('0x43')](_[_0xa3e9('0x44')](_0x3c674c[_0xa3e9('0x39')],_0x5d1258[_0xa3e9('0x43')]),_0x3cefab);if(_0x3c674c[_0xa3e9('0x39')][_0xa3e9('0x45')]){_0x23ed26[_0xa3e9('0x42')]=_['merge'](_0x23ed26[_0xa3e9('0x42')],{'$or':_[_0xa3e9('0x34')](_0x3cefab,function(_0x1c78b5){if(_0x1c78b5[_0xa3e9('0x36')]!==_0xa3e9('0x46')){var _0x5e4576={};_0x5e4576[_0x1c78b5[_0xa3e9('0x31')]]={'$like':'%'+_0x3c674c[_0xa3e9('0x39')][_0xa3e9('0x45')]+'%'};return _0x5e4576;}})});}_0x23ed26=_['merge']({},_0x23ed26,_0x3c674c['options']);var _0x101b23={'where':_0x23ed26[_0xa3e9('0x42')]};return db[_0xa3e9('0x47')][_0xa3e9('0x23')](_0x101b23)[_0xa3e9('0x29')](function(_0x50da97){_0x2a3972[_0xa3e9('0x23')]=_0x50da97;if(_0x3c674c[_0xa3e9('0x39')][_0xa3e9('0x48')]){_0x23ed26['include']=[{'all':!![]}];}return db['WhatsappQueue'][_0xa3e9('0x49')](_0x23ed26);})[_0xa3e9('0x29')](function(_0x431154){_0x2a3972[_0xa3e9('0x4a')]=_0x431154;return _0x2a3972;})[_0xa3e9('0x29')](respondWithFilteredResult(_0x2977d8,_0x23ed26))[_0xa3e9('0x4b')](handleError(_0x2977d8,null));};exports[_0xa3e9('0x4c')]=function(_0x1096e5,_0xa4348){var _0x21b691={'raw':!![],'where':{'id':_0x1096e5[_0xa3e9('0x4d')]['id']}},_0x35f42f={};_0x35f42f[_0xa3e9('0x38')]=_['keys'](db[_0xa3e9('0x47')][_0xa3e9('0x4e')]);_0x35f42f[_0xa3e9('0x39')]=_[_0xa3e9('0x3a')](_0x1096e5[_0xa3e9('0x39')]);_0x35f42f[_0xa3e9('0x43')]=_[_0xa3e9('0x3b')](_0x35f42f[_0xa3e9('0x38')],_0x35f42f[_0xa3e9('0x39')]);_0x21b691[_0xa3e9('0x3d')]=_[_0xa3e9('0x3b')](_0x35f42f[_0xa3e9('0x38')],qs[_0xa3e9('0x3c')](_0x1096e5[_0xa3e9('0x39')][_0xa3e9('0x3c')]));_0x21b691[_0xa3e9('0x3d')]=_0x21b691[_0xa3e9('0x3d')][_0xa3e9('0x3e')]?_0x21b691[_0xa3e9('0x3d')]:_0x35f42f[_0xa3e9('0x38')];if(_0x1096e5[_0xa3e9('0x39')][_0xa3e9('0x48')]){_0x21b691[_0xa3e9('0x4f')]=[{'all':!![]}];}_0x21b691=_[_0xa3e9('0x50')]({},_0x21b691,_0x1096e5[_0xa3e9('0x51')]);return db[_0xa3e9('0x47')][_0xa3e9('0x52')](_0x21b691)[_0xa3e9('0x29')](handleEntityNotFound(_0xa4348,null))[_0xa3e9('0x29')](respondWithResult(_0xa4348,null))[_0xa3e9('0x4b')](handleError(_0xa4348,null));};exports['create']=function(_0x5d4bec,_0x5c8d16){return db[_0xa3e9('0x47')][_0xa3e9('0x53')](_0x5d4bec[_0xa3e9('0x54')],{})['then'](function(_0x1331a7){var _0xa19221=_0x5d4bec[_0xa3e9('0x55')][_0xa3e9('0x2b')]({'plain':!![]});if(!_0xa19221)throw new Error(_0xa3e9('0x56'));if(_0xa19221[_0xa3e9('0x57')]===_0xa3e9('0x55')){var _0x37ed50=_0x1331a7[_0xa3e9('0x2b')]({'plain':!![]});var _0x158826=_0xa3e9('0x2c');return db[_0xa3e9('0x58')]['find']({'where':{'name':_0x158826,'userProfileId':_0xa19221[_0xa3e9('0x59')]},'raw':!![]})[_0xa3e9('0x29')](function(_0x318b73){if(_0x318b73&&_0x318b73[_0xa3e9('0x5a')]===0x0){return db[_0xa3e9('0x2d')][_0xa3e9('0x53')]({'name':_0x37ed50[_0xa3e9('0x31')],'resourceId':_0x37ed50['id'],'type':_0x318b73['name'],'sectionId':_0x318b73['id']},{})[_0xa3e9('0x29')](function(){return _0x1331a7;});}else{return _0x1331a7;}})[_0xa3e9('0x4b')](function(_0x3d1bf8){logger[_0xa3e9('0x2f')](_0xa3e9('0x5b'),_0x3d1bf8);throw _0x3d1bf8;});}return _0x1331a7;})[_0xa3e9('0x29')](respondWithResult(_0x5c8d16,0xc9))[_0xa3e9('0x4b')](handleError(_0x5c8d16,null));};exports[_0xa3e9('0x5c')]=function(_0x4e7a01,_0x50e91c){if(_0x4e7a01[_0xa3e9('0x54')]['id']){delete _0x4e7a01[_0xa3e9('0x54')]['id'];}return db[_0xa3e9('0x47')]['find']({'where':{'id':_0x4e7a01[_0xa3e9('0x4d')]['id']}})[_0xa3e9('0x29')](handleEntityNotFound(_0x50e91c,null))[_0xa3e9('0x29')](saveUpdates(_0x4e7a01[_0xa3e9('0x54')],null))[_0xa3e9('0x29')](respondWithResult(_0x50e91c,null))[_0xa3e9('0x4b')](handleError(_0x50e91c,null));};exports[_0xa3e9('0x2a')]=function(_0x509625,_0xec476e){return db['WhatsappQueue'][_0xa3e9('0x52')]({'where':{'id':_0x509625[_0xa3e9('0x4d')]['id']}})[_0xa3e9('0x29')](handleEntityNotFound(_0xec476e,null))[_0xa3e9('0x29')](removeEntity(_0xec476e,null))[_0xa3e9('0x4b')](handleError(_0xec476e,null));};exports['describe']=function(_0x36f952,_0xeadc3e){return db['WhatsappQueue'][_0xa3e9('0x5d')]()[_0xa3e9('0x29')](respondWithResult(_0xeadc3e,null))['catch'](handleError(_0xeadc3e,null));};exports[_0xa3e9('0x5e')]=function(_0x31f886,_0x17eb28,_0x59aabb){var _0x1e05e8={'raw':!![],'where':{}},_0x49f669={},_0x18caae;return db[_0xa3e9('0x47')][_0xa3e9('0x5f')]({'where':{'id':_0x31f886[_0xa3e9('0x4d')]['id']}})['then'](handleEntityNotFound(_0x17eb28,null))['then'](function(_0x3f6964){if(_0x3f6964){_0x18caae=_0x3f6964[_0xa3e9('0x2b')]({'plain':!![]});_0x49f669['model']=_[_0xa3e9('0x3a')](db['UserWhatsappQueue']['rawAttributes']);_0x49f669[_0xa3e9('0x39')]=_['keys'](_0x31f886[_0xa3e9('0x39')]);_0x49f669['filters']=_[_0xa3e9('0x3b')](_0x49f669[_0xa3e9('0x38')],_0x49f669[_0xa3e9('0x39')]);_0x1e05e8[_0xa3e9('0x3d')]=_[_0xa3e9('0x3b')](_0x49f669['model'],qs[_0xa3e9('0x3c')](_0x31f886['query'][_0xa3e9('0x3c')]));_0x1e05e8[_0xa3e9('0x3d')]=_0x1e05e8['attributes'][_0xa3e9('0x3e')]?_0x1e05e8[_0xa3e9('0x3d')]:_0x49f669['model'];if(!_0x31f886[_0xa3e9('0x39')]['hasOwnProperty'](_0xa3e9('0x40'))){_0x1e05e8[_0xa3e9('0x22')]=qs[_0xa3e9('0x22')](_0x31f886[_0xa3e9('0x39')][_0xa3e9('0x22')]);_0x1e05e8[_0xa3e9('0x20')]=qs[_0xa3e9('0x20')](_0x31f886[_0xa3e9('0x39')][_0xa3e9('0x20')]);}_0x1e05e8[_0xa3e9('0x60')]=qs[_0xa3e9('0x41')](_0x31f886[_0xa3e9('0x39')][_0xa3e9('0x41')]);_0x1e05e8[_0xa3e9('0x42')]=qs['filters'](_[_0xa3e9('0x44')](_0x31f886[_0xa3e9('0x39')],_0x49f669[_0xa3e9('0x43')]));_0x1e05e8[_0xa3e9('0x42')]['WhatsappQueueId']=_0x3f6964['id'];if(_0x31f886[_0xa3e9('0x39')]['filter']){_0x1e05e8[_0xa3e9('0x42')]=_[_0xa3e9('0x50')](_0x1e05e8[_0xa3e9('0x42')],{'$or':_[_0xa3e9('0x34')](_0x1e05e8[_0xa3e9('0x3d')],function(_0x2e3ae1){var _0x5bf86c={};_0x5bf86c[_0x2e3ae1]={'$like':'%'+_0x31f886[_0xa3e9('0x39')]['filter']+'%'};return _0x5bf86c;})});}_0x1e05e8=_[_0xa3e9('0x50')]({},_0x1e05e8,_0x31f886[_0xa3e9('0x51')]);return db[_0xa3e9('0x61')]['findAll'](_0x1e05e8);}})['then'](function(_0x2412f5){if(_0x2412f5){return db[_0xa3e9('0x62')][_0xa3e9('0x63')]({'where':{'id':_['map'](_0x2412f5,_0xa3e9('0x64')),'role':_0xa3e9('0x65')},'attributes':['id',_0xa3e9('0x31'),_0xa3e9('0x66'),_0xa3e9('0x67'),_0xa3e9('0x68')]});}})[_0xa3e9('0x29')](function(_0x42a8d8){if(_0x42a8d8){return{'count':_0x42a8d8['count'],'rows':_[_0xa3e9('0x34')](_0x42a8d8['rows'],function(_0x3b2ca0){return{'membername':_0x3b2ca0[_0xa3e9('0x31')],'UserId':_0x3b2ca0['id'],'queue_name':_0x18caae[_0xa3e9('0x31')],'WhatsappQueueId':_0x18caae['id'],'interface':util[_0xa3e9('0x69')]('%s/%s','SIP',_0x3b2ca0[_0xa3e9('0x31')]),'penalty':0x0,'paused':_0x3b2ca0[_0xa3e9('0x66')],'createdAt':_0x3b2ca0['createdAt'],'updatedAt':_0x3b2ca0[_0xa3e9('0x67')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x17eb28,_0x1e05e8))[_0xa3e9('0x4b')](handleError(_0x17eb28,null));};exports[_0xa3e9('0x6a')]=function(_0x5cea9c,_0x4903aa,_0x4be8cd){var _0x15f713={};var _0x2ff27a={};var _0x38dd7f;var _0x4b5ecd;return db[_0xa3e9('0x47')][_0xa3e9('0x5f')]({'where':{'id':_0x5cea9c['params']['id']}})[_0xa3e9('0x29')](handleEntityNotFound(_0x4903aa,null))[_0xa3e9('0x29')](function(_0x52bd29){if(_0x52bd29){_0x38dd7f=_0x52bd29;_0x2ff27a['model']=_['keys'](db[_0xa3e9('0x6b')][_0xa3e9('0x4e')]);_0x2ff27a[_0xa3e9('0x39')]=_['keys'](_0x5cea9c['query']);_0x2ff27a[_0xa3e9('0x43')]=_['intersection'](_0x2ff27a['model'],_0x2ff27a[_0xa3e9('0x39')]);_0x15f713[_0xa3e9('0x3d')]=_[_0xa3e9('0x3b')](_0x2ff27a[_0xa3e9('0x38')],qs[_0xa3e9('0x3c')](_0x5cea9c['query'][_0xa3e9('0x3c')]));_0x15f713[_0xa3e9('0x3d')]=_0x15f713[_0xa3e9('0x3d')][_0xa3e9('0x3e')]?_0x15f713[_0xa3e9('0x3d')]:_0x2ff27a[_0xa3e9('0x38')];_0x15f713[_0xa3e9('0x60')]=qs[_0xa3e9('0x41')](_0x5cea9c[_0xa3e9('0x39')][_0xa3e9('0x41')]);_0x15f713['where']=qs['filters'](_[_0xa3e9('0x44')](_0x5cea9c[_0xa3e9('0x39')],_0x2ff27a[_0xa3e9('0x43')]));if(_0x5cea9c[_0xa3e9('0x39')][_0xa3e9('0x45')]){_0x15f713['where']=_[_0xa3e9('0x50')](_0x15f713[_0xa3e9('0x42')],{'$or':_[_0xa3e9('0x34')](_0x15f713[_0xa3e9('0x3d')],function(_0xcd16a6){var _0x15d689={};_0x15d689[_0xcd16a6]={'$like':'%'+_0x5cea9c[_0xa3e9('0x39')][_0xa3e9('0x45')]+'%'};return _0x15d689;})});}_0x15f713=_['merge']({},_0x15f713,_0x5cea9c['options']);return _0x38dd7f[_0xa3e9('0x6a')](_0x15f713);}})[_0xa3e9('0x29')](function(_0xebe9fe){if(_0xebe9fe){_0x4b5ecd=_0xebe9fe[_0xa3e9('0x3e')];if(!_0x5cea9c[_0xa3e9('0x39')][_0xa3e9('0x3f')](_0xa3e9('0x40'))){_0x15f713[_0xa3e9('0x22')]=qs[_0xa3e9('0x22')](_0x5cea9c[_0xa3e9('0x39')][_0xa3e9('0x22')]);_0x15f713[_0xa3e9('0x20')]=qs[_0xa3e9('0x20')](_0x5cea9c[_0xa3e9('0x39')][_0xa3e9('0x20')]);}return _0x38dd7f[_0xa3e9('0x6a')](_0x15f713);}})[_0xa3e9('0x29')](function(_0x13459b){if(_0x13459b){return _0x13459b?{'count':_0x4b5ecd,'rows':_0x13459b}:null;}})['then'](respondWithResult(_0x4903aa,null))[_0xa3e9('0x4b')](handleError(_0x4903aa,null));};exports[_0xa3e9('0x6c')]=function(_0x18a880,_0x4257e4,_0x174ebc){var _0x3c4d9b=_0x18a880[_0xa3e9('0x54')]['ids'];return db[_0xa3e9('0x6b')][_0xa3e9('0x49')]({'where':{'id':_0x3c4d9b},'attributes':['id'],'include':[{'model':db['User'],'as':_0xa3e9('0x6d'),'attributes':['id',_0xa3e9('0x31'),'online','voicePause',_0xa3e9('0x6e')],'raw':!![]}]})[_0xa3e9('0x29')](function(_0xee0bb8){if(_0xee0bb8){var _0x7f98dc=_[_0xa3e9('0x6f')](_0xee0bb8,function(_0x913220){var _0x312c8a=_0x913220['get']({'plain':!![]});return _0x312c8a[_0xa3e9('0x6d')];});return db[_0xa3e9('0x47')][_0xa3e9('0x52')]({'where':{'id':_0x18a880['params']['id']}})[_0xa3e9('0x29')](function(_0x42c5da){return db[_0xa3e9('0x70')]['transaction'](function(_0x20ed7b){return _0x42c5da[_0xa3e9('0x6c')](_0x3c4d9b,{'transaction':_0x20ed7b})[_0xa3e9('0x29')](function(){return BPromise[_0xa3e9('0x71')](_0x7f98dc,function(_0x126dd4){return db[_0xa3e9('0x61')]['findOrCreate']({'where':{'UserId':_0x126dd4['id'],'WhatsappQueueId':_0x18a880[_0xa3e9('0x4d')]['id']},'transaction':_0x20ed7b});});})[_0xa3e9('0x29')](function(){_0x7f98dc[_0xa3e9('0x72')](function(_0xac69be){socket[_0xa3e9('0x73')](_0xa3e9('0x74'),{'UserId':_0xac69be['id'],'WhatsappQueueId':_0x42c5da['id']});});});});});}})['then'](respondWithStatusCode(_0x4257e4,null))['catch'](handleError(_0x4257e4,null));};exports[_0xa3e9('0x75')]=function(_0x322a49,_0x7f9a6a,_0x3984f7){return db[_0xa3e9('0x6b')][_0xa3e9('0x49')]({'where':{'id':_0x322a49[_0xa3e9('0x39')]['ids']},'attributes':['id'],'include':[{'model':db[_0xa3e9('0x62')],'as':_0xa3e9('0x6d'),'attributes':['id'],'raw':!![]}]})[_0xa3e9('0x29')](handleEntityNotFound(_0x7f9a6a,null))[_0xa3e9('0x29')](function(_0x53950b){var _0x36cdfe=_['map'](_0x53950b,'id');var _0x456ece=[];var _0x404662=[];var _0x3ecab7=squel['select']();_0x3ecab7[_0xa3e9('0x76')](_0xa3e9('0x77'))[_0xa3e9('0x78')]('team_has_whatsapp_queues','tq')[_0xa3e9('0x79')](_0xa3e9('0x7a'),'ut',_0xa3e9('0x7b'))[_0xa3e9('0x42')](_0xa3e9('0x7c'),_0x322a49[_0xa3e9('0x4d')]['id']);for(var _0x2ba00e=0x0;_0x2ba00e<_0x53950b['length'];_0x2ba00e+=0x1){let _0x5f3e1a=_0x53950b[_0x2ba00e];for(var _0x3b2f97=0x0;_0x3b2f97<_0x5f3e1a[_0xa3e9('0x6d')][_0xa3e9('0x3e')];_0x3b2f97+=0x1){let _0x993a5f=_0x5f3e1a[_0xa3e9('0x6d')][_0x3b2f97];var _0x45f959=_0x3ecab7[_0xa3e9('0x7d')]();_0x45f959[_0xa3e9('0x42')]('ut.UserId\x20=\x20?',_0x993a5f['id']);_0x404662[_0xa3e9('0x7e')](db[_0xa3e9('0x70')][_0xa3e9('0x39')](_0x45f959[_0xa3e9('0x7f')](),{'type':db[_0xa3e9('0x70')][_0xa3e9('0x80')]['SELECT']})['then'](function(_0x598b72){if(_0x598b72[_0xa3e9('0x3e')]===0x1){return _0x993a5f['id'];}else{var _0x8316a3=_[_0xa3e9('0x81')](_['map'](_0x598b72,_0xa3e9('0x82')),function(_0x378966){return _[_0xa3e9('0x83')](_0x36cdfe,_0x378966);});if(_0x8316a3){return _0x993a5f['id'];}}}));}}return BPromise[_0xa3e9('0x84')](_0x404662)[_0xa3e9('0x29')](function(_0x2db90c){_0x456ece=_(_0x456ece)[_0xa3e9('0x85')](_0x2db90c)[_0xa3e9('0x86')]()[_0xa3e9('0x87')]();return db[_0xa3e9('0x47')][_0xa3e9('0x52')]({'where':{'id':_0x322a49['params']['id']}})[_0xa3e9('0x29')](function(_0x250b67){return db['sequelize']['transaction'](function(_0x2682e8){return _0x250b67[_0xa3e9('0x75')](_0x322a49[_0xa3e9('0x39')]['ids'],{'transaction':_0x2682e8})[_0xa3e9('0x29')](function(){if(!_[_0xa3e9('0x88')](_0x456ece)){return _0x250b67[_0xa3e9('0x89')](_0x456ece,{'transaction':_0x2682e8});}})[_0xa3e9('0x29')](function(){_0x456ece[_0xa3e9('0x72')](function(_0x4fe77d){socket['emit'](_0xa3e9('0x8a'),{'UserId':_0x4fe77d,'WhatsappQueueId':_0x250b67['id']});});});});});});})[_0xa3e9('0x29')](respondWithStatusCode(_0x7f9a6a,null))[_0xa3e9('0x4b')](handleError(_0x7f9a6a,null));};exports[_0xa3e9('0x8b')]=function(_0x661b3b,_0x1f04b1,_0x212662){return db['WhatsappQueue']['find']({'where':{'id':_0x661b3b[_0xa3e9('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1f04b1,null))[_0xa3e9('0x29')](function(_0x1d30ac){if(_0x1d30ac){return _0x1d30ac[_0xa3e9('0x8b')](_0x661b3b[_0xa3e9('0x54')][_0xa3e9('0x8c')],_[_0xa3e9('0x8d')](_0x661b3b[_0xa3e9('0x54')],[_0xa3e9('0x8c'),'id'])||{})[_0xa3e9('0x8e')](function(_0x5826df){for(var _0x1c758b=0x0;_0x1c758b<_0x661b3b[_0xa3e9('0x54')]['ids']['length'];_0x1c758b+=0x1){socket[_0xa3e9('0x73')]('userWhatsappQueue:save',{'UserId':Number(_0x661b3b[_0xa3e9('0x54')][_0xa3e9('0x8c')][_0x1c758b]),'WhatsappQueueId':Number(_0x661b3b[_0xa3e9('0x4d')]['id'])});}return _0x5826df;});}})[_0xa3e9('0x29')](respondWithResult(_0x1f04b1,null))['catch'](handleError(_0x1f04b1,null));};exports[_0xa3e9('0x89')]=function(_0x457c04,_0x37176d,_0x5271c1){return db[_0xa3e9('0x47')][_0xa3e9('0x52')]({'where':{'id':_0x457c04[_0xa3e9('0x4d')]['id']}})['then'](handleEntityNotFound(_0x37176d,null))[_0xa3e9('0x29')](function(_0x19a197){if(_0x19a197){return _0x19a197[_0xa3e9('0x89')](_0x457c04[_0xa3e9('0x39')][_0xa3e9('0x8c')])[_0xa3e9('0x29')](function(){if(_[_0xa3e9('0x8f')](_0x457c04[_0xa3e9('0x39')][_0xa3e9('0x8c')])){for(var _0x120ee0=0x0;_0x120ee0<_0x457c04[_0xa3e9('0x39')][_0xa3e9('0x8c')][_0xa3e9('0x3e')];_0x120ee0+=0x1){socket[_0xa3e9('0x73')](_0xa3e9('0x8a'),{'UserId':Number(_0x457c04['query'][_0xa3e9('0x8c')][_0x120ee0]),'WhatsappQueueId':Number(_0x457c04['params']['id'])});}}else{socket[_0xa3e9('0x73')](_0xa3e9('0x8a'),{'UserId':Number(_0x457c04[_0xa3e9('0x39')][_0xa3e9('0x8c')]),'WhatsappQueueId':Number(_0x457c04[_0xa3e9('0x4d')]['id'])});}});}})['then'](respondWithStatusCode(_0x37176d,null))['catch'](handleError(_0x37176d,null));};exports[_0xa3e9('0x90')]=function(_0x2434cf,_0x2ed9f3,_0x257b0a){var _0x3fa2be={};var _0x147f1a={};var _0x201863;var _0x59b95a;return db[_0xa3e9('0x47')]['findOne']({'where':{'id':_0x2434cf[_0xa3e9('0x4d')]['id']}})[_0xa3e9('0x29')](handleEntityNotFound(_0x2ed9f3,null))['then'](function(_0x570df2){if(_0x570df2){_0x201863=_0x570df2;_0x147f1a['model']=_[_0xa3e9('0x3a')](db[_0xa3e9('0x62')][_0xa3e9('0x4e')]);_0x147f1a[_0xa3e9('0x39')]=_[_0xa3e9('0x3a')](_0x2434cf['query']);_0x147f1a['filters']=_[_0xa3e9('0x3b')](_0x147f1a[_0xa3e9('0x38')],_0x147f1a[_0xa3e9('0x39')]);_0x3fa2be[_0xa3e9('0x3d')]=_[_0xa3e9('0x3b')](_0x147f1a[_0xa3e9('0x38')],qs[_0xa3e9('0x3c')](_0x2434cf[_0xa3e9('0x39')]['fields']));_0x3fa2be['attributes']=_0x3fa2be[_0xa3e9('0x3d')][_0xa3e9('0x3e')]?_0x3fa2be[_0xa3e9('0x3d')]:_0x147f1a[_0xa3e9('0x38')];_0x3fa2be['order']=qs[_0xa3e9('0x41')](_0x2434cf[_0xa3e9('0x39')][_0xa3e9('0x41')]);_0x3fa2be[_0xa3e9('0x42')]=qs[_0xa3e9('0x43')](_['pick'](_0x2434cf[_0xa3e9('0x39')],_0x147f1a[_0xa3e9('0x43')]));if(_0x2434cf[_0xa3e9('0x39')][_0xa3e9('0x45')]){_0x3fa2be[_0xa3e9('0x42')]=_['merge'](_0x3fa2be[_0xa3e9('0x42')],{'$or':_['map'](_0x3fa2be['attributes'],function(_0x2571ce){var _0x56cf45={};_0x56cf45[_0x2571ce]={'$like':'%'+_0x2434cf[_0xa3e9('0x39')][_0xa3e9('0x45')]+'%'};return _0x56cf45;})});}_0x3fa2be=_[_0xa3e9('0x50')]({},_0x3fa2be,_0x2434cf[_0xa3e9('0x51')]);return _0x201863['getAgents'](_0x3fa2be);}})[_0xa3e9('0x29')](function(_0x1e76ae){if(_0x1e76ae){_0x59b95a=_0x1e76ae[_0xa3e9('0x3e')];if(!_0x2434cf[_0xa3e9('0x39')][_0xa3e9('0x3f')](_0xa3e9('0x40'))){_0x3fa2be[_0xa3e9('0x22')]=qs[_0xa3e9('0x22')](_0x2434cf[_0xa3e9('0x39')][_0xa3e9('0x22')]);_0x3fa2be[_0xa3e9('0x20')]=qs[_0xa3e9('0x20')](_0x2434cf[_0xa3e9('0x39')]['offset']);}return _0x201863[_0xa3e9('0x90')](_0x3fa2be);}})[_0xa3e9('0x29')](function(_0x9690ef){if(_0x9690ef){return _0x9690ef?{'count':_0x59b95a,'rows':_0x9690ef}:null;}})[_0xa3e9('0x29')](respondWithResult(_0x2ed9f3,null))[_0xa3e9('0x4b')](handleError(_0x2ed9f3,null));};