c713c6722d28c2707c48afdcb1862201bc64afc8
[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 _0xd7c9=['sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappQueue.socket','register','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','then','destroy','get','WhatsappQueues','error','name','send','index','map','WhatsappQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','catch','show','params','include','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','update','body','describe','getMembers','findOne','UserWhatsappQueue','nolimit','User','UserId','agent','createdAt','%s/%s','whatsappPause','updatedAt','getTeams','Team','addTeams','ids','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','removeTeams','select','field','tq.TeamId','team_has_whatsapp_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','Agents','clone','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','isEmpty','removeAgents','userWhatsappQueue:remove','addAgents','omit','userWhatsappQueue:save','isArray','getAgents','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path'];(function(_0x3c0c79,_0x1cb348){var _0x2641c9=function(_0x173d52){while(--_0x173d52){_0x3c0c79['push'](_0x3c0c79['shift']());}};_0x2641c9(++_0x1cb348);}(_0xd7c9,0x1a6));var _0x9d7c=function(_0x4084fe,_0x19aad9){_0x4084fe=_0x4084fe-0x0;var _0x598649=_0xd7c9[_0x4084fe];return _0x598649;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9d7c('0x0'));var jsonpatch=require(_0x9d7c('0x1'));var rp=require(_0x9d7c('0x2'));var moment=require('moment');var BPromise=require(_0x9d7c('0x3'));var Mustache=require(_0x9d7c('0x4'));var util=require(_0x9d7c('0x5'));var path=require(_0x9d7c('0x6'));var sox=require(_0x9d7c('0x7'));var csv=require(_0x9d7c('0x8'));var ejs=require(_0x9d7c('0x9'));var fs=require('fs');var fs_extra=require(_0x9d7c('0xa'));var _=require(_0x9d7c('0xb'));var squel=require(_0x9d7c('0xc'));var crypto=require('crypto');var jsforce=require(_0x9d7c('0xd'));var deskjs=require(_0x9d7c('0xe'));var toCsv=require(_0x9d7c('0x8'));var querystring=require(_0x9d7c('0xf'));var Papa=require(_0x9d7c('0x10'));var Redis=require('ioredis');var authService=require(_0x9d7c('0x11'));var qs=require(_0x9d7c('0x12'));var as=require(_0x9d7c('0x13'));var hardwareService=require(_0x9d7c('0x14'));var logger=require(_0x9d7c('0x15'))(_0x9d7c('0x16'));var utils=require('../../config/utils');var config=require(_0x9d7c('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x9d7c('0x18'))['db'];config[_0x9d7c('0x19')]=_[_0x9d7c('0x1a')](config['redis'],{'host':_0x9d7c('0x1b'),'port':0x18eb});var socket=require(_0x9d7c('0x1c'))(new Redis(config[_0x9d7c('0x19')]));require(_0x9d7c('0x1d'))[_0x9d7c('0x1e')](socket);function respondWithStatusCode(_0x55c763,_0x412495){_0x412495=_0x412495||0xcc;return function(_0x81c8bd){if(_0x81c8bd){return _0x55c763[_0x9d7c('0x1f')](_0x412495);}return _0x55c763[_0x9d7c('0x20')](_0x412495)[_0x9d7c('0x21')]();};}function respondWithResult(_0x36fd53,_0x566c20){_0x566c20=_0x566c20||0xc8;return function(_0xc871fa){if(_0xc871fa){return _0x36fd53[_0x9d7c('0x20')](_0x566c20)[_0x9d7c('0x22')](_0xc871fa);}};}function respondWithFilteredResult(_0x21f81c,_0x1f9c13){return function(_0x21ee91){if(_0x21ee91){var _0x1c6991=typeof _0x1f9c13[_0x9d7c('0x23')]===_0x9d7c('0x24')&&typeof _0x1f9c13['limit']===_0x9d7c('0x24');var _0x23bf03=_0x21ee91[_0x9d7c('0x25')];var _0x2fb899=_0x1c6991?0x0:_0x1f9c13['offset'];var _0x72db83=_0x1c6991?_0x21ee91['count']:_0x1f9c13[_0x9d7c('0x23')]+_0x1f9c13[_0x9d7c('0x26')];var _0x167aa8;if(_0x72db83>=_0x23bf03){_0x72db83=_0x23bf03;_0x167aa8=0xc8;}else{_0x167aa8=0xce;}_0x21f81c[_0x9d7c('0x20')](_0x167aa8);return _0x21f81c['set'](_0x9d7c('0x27'),_0x2fb899+'-'+_0x72db83+'/'+_0x23bf03)[_0x9d7c('0x22')](_0x21ee91);}return null;};}function patchUpdates(_0x40de92){return function(_0x39654d){try{jsonpatch[_0x9d7c('0x28')](_0x39654d,_0x40de92,!![]);}catch(_0x348f88){return BPromise['reject'](_0x348f88);}return _0x39654d['save']();};}function saveUpdates(_0x3e7ef8,_0x5ea696){return function(_0x2da3a3){if(_0x2da3a3){return _0x2da3a3['update'](_0x3e7ef8)[_0x9d7c('0x29')](function(_0x489bad){return _0x489bad;});}return null;};}function removeEntity(_0x540ea1,_0x18eea3){return function(_0x412a50){if(_0x412a50){return _0x412a50[_0x9d7c('0x2a')]()[_0x9d7c('0x29')](function(){var _0x9a70cd=_0x412a50[_0x9d7c('0x2b')]({'plain':!![]});var _0x1c104e=_0x9d7c('0x2c');return db['UserProfileResource']['destroy']({'where':{'type':_0x1c104e,'resourceId':_0x9a70cd['id']}})[_0x9d7c('0x29')](function(){return _0x412a50;});})[_0x9d7c('0x29')](function(){_0x540ea1[_0x9d7c('0x20')](0xcc)[_0x9d7c('0x21')]();});}};}function handleEntityNotFound(_0x39dfd7,_0x4dc6cd){return function(_0x1679f8){if(!_0x1679f8){_0x39dfd7['sendStatus'](0x194);}return _0x1679f8;};}function handleError(_0x3bbbe2,_0x29031a){_0x29031a=_0x29031a||0x1f4;return function(_0xb815cb){logger[_0x9d7c('0x2d')](_0xb815cb['stack']);if(_0xb815cb[_0x9d7c('0x2e')]){delete _0xb815cb['name'];}_0x3bbbe2[_0x9d7c('0x20')](_0x29031a)[_0x9d7c('0x2f')](_0xb815cb);};}exports[_0x9d7c('0x30')]=function(_0x5dbcb9,_0x51924c){var _0x1da3e9={},_0x2d3059={},_0x55f559={'count':0x0,'rows':[]};var _0x5d2283=_[_0x9d7c('0x31')](db[_0x9d7c('0x32')][_0x9d7c('0x33')],function(_0x3b4f24){return{'name':_0x3b4f24[_0x9d7c('0x34')],'type':_0x3b4f24[_0x9d7c('0x35')][_0x9d7c('0x36')]};});_0x2d3059[_0x9d7c('0x37')]=_[_0x9d7c('0x31')](_0x5d2283,_0x9d7c('0x2e'));_0x2d3059[_0x9d7c('0x38')]=_[_0x9d7c('0x39')](_0x5dbcb9['query']);_0x2d3059[_0x9d7c('0x3a')]=_[_0x9d7c('0x3b')](_0x2d3059[_0x9d7c('0x37')],_0x2d3059['query']);_0x1da3e9[_0x9d7c('0x3c')]=_[_0x9d7c('0x3b')](_0x2d3059[_0x9d7c('0x37')],qs[_0x9d7c('0x3d')](_0x5dbcb9[_0x9d7c('0x38')][_0x9d7c('0x3d')]));_0x1da3e9[_0x9d7c('0x3c')]=_0x1da3e9[_0x9d7c('0x3c')][_0x9d7c('0x3e')]?_0x1da3e9['attributes']:_0x2d3059[_0x9d7c('0x37')];if(!_0x5dbcb9['query'][_0x9d7c('0x3f')]('nolimit')){_0x1da3e9['limit']=qs[_0x9d7c('0x26')](_0x5dbcb9[_0x9d7c('0x38')][_0x9d7c('0x26')]);_0x1da3e9[_0x9d7c('0x23')]=qs[_0x9d7c('0x23')](_0x5dbcb9['query']['offset']);}_0x1da3e9[_0x9d7c('0x40')]=qs[_0x9d7c('0x41')](_0x5dbcb9['query'][_0x9d7c('0x41')]);_0x1da3e9[_0x9d7c('0x42')]=qs[_0x9d7c('0x3a')](_[_0x9d7c('0x43')](_0x5dbcb9[_0x9d7c('0x38')],_0x2d3059['filters']),_0x5d2283);if(_0x5dbcb9[_0x9d7c('0x38')][_0x9d7c('0x44')]){_0x1da3e9['where']=_[_0x9d7c('0x45')](_0x1da3e9['where'],{'$or':_[_0x9d7c('0x31')](_0x5d2283,function(_0x3d662d){if(_0x3d662d['type']!==_0x9d7c('0x46')){var _0x2c8d1a={};_0x2c8d1a[_0x3d662d[_0x9d7c('0x2e')]]={'$like':'%'+_0x5dbcb9[_0x9d7c('0x38')]['filter']+'%'};return _0x2c8d1a;}})});}_0x1da3e9=_[_0x9d7c('0x45')]({},_0x1da3e9,_0x5dbcb9[_0x9d7c('0x47')]);var _0xb948e7={'where':_0x1da3e9[_0x9d7c('0x42')]};return db[_0x9d7c('0x32')][_0x9d7c('0x25')](_0xb948e7)[_0x9d7c('0x29')](function(_0x117001){_0x55f559['count']=_0x117001;if(_0x5dbcb9[_0x9d7c('0x38')][_0x9d7c('0x48')]){_0x1da3e9['include']=[{'all':!![]}];}return db[_0x9d7c('0x32')][_0x9d7c('0x49')](_0x1da3e9);})['then'](function(_0x2f5fc4){_0x55f559['rows']=_0x2f5fc4;return _0x55f559;})[_0x9d7c('0x29')](respondWithFilteredResult(_0x51924c,_0x1da3e9))[_0x9d7c('0x4a')](handleError(_0x51924c,null));};exports[_0x9d7c('0x4b')]=function(_0x2e8795,_0x314f02){var _0x3bbc58={'raw':!![],'where':{'id':_0x2e8795[_0x9d7c('0x4c')]['id']}},_0x6f4633={};_0x6f4633[_0x9d7c('0x37')]=_['keys'](db['WhatsappQueue'][_0x9d7c('0x33')]);_0x6f4633[_0x9d7c('0x38')]=_['keys'](_0x2e8795[_0x9d7c('0x38')]);_0x6f4633[_0x9d7c('0x3a')]=_[_0x9d7c('0x3b')](_0x6f4633['model'],_0x6f4633[_0x9d7c('0x38')]);_0x3bbc58['attributes']=_['intersection'](_0x6f4633[_0x9d7c('0x37')],qs[_0x9d7c('0x3d')](_0x2e8795['query'][_0x9d7c('0x3d')]));_0x3bbc58[_0x9d7c('0x3c')]=_0x3bbc58['attributes'][_0x9d7c('0x3e')]?_0x3bbc58[_0x9d7c('0x3c')]:_0x6f4633[_0x9d7c('0x37')];if(_0x2e8795['query'][_0x9d7c('0x48')]){_0x3bbc58[_0x9d7c('0x4d')]=[{'all':!![]}];}_0x3bbc58=_[_0x9d7c('0x45')]({},_0x3bbc58,_0x2e8795[_0x9d7c('0x47')]);return db[_0x9d7c('0x32')][_0x9d7c('0x4e')](_0x3bbc58)[_0x9d7c('0x29')](handleEntityNotFound(_0x314f02,null))['then'](respondWithResult(_0x314f02,null))[_0x9d7c('0x4a')](handleError(_0x314f02,null));};exports[_0x9d7c('0x4f')]=function(_0x1520b0,_0x4aac2a){return db[_0x9d7c('0x32')][_0x9d7c('0x4f')](_0x1520b0['body'],{})[_0x9d7c('0x29')](function(_0x1c1b3d){var _0x3260f4=_0x1520b0['user'][_0x9d7c('0x2b')]({'plain':!![]});if(!_0x3260f4)throw new Error(_0x9d7c('0x50'));if(_0x3260f4[_0x9d7c('0x51')]===_0x9d7c('0x52')){var _0x2dfe09=_0x1c1b3d[_0x9d7c('0x2b')]({'plain':!![]});var _0x20f945=_0x9d7c('0x2c');return db[_0x9d7c('0x53')][_0x9d7c('0x4e')]({'where':{'name':_0x20f945,'userProfileId':_0x3260f4[_0x9d7c('0x54')]},'raw':!![]})[_0x9d7c('0x29')](function(_0x419a37){if(_0x419a37&&_0x419a37[_0x9d7c('0x55')]===0x0){return db['UserProfileResource']['create']({'name':_0x2dfe09[_0x9d7c('0x2e')],'resourceId':_0x2dfe09['id'],'type':_0x419a37['name'],'sectionId':_0x419a37['id']},{})['then'](function(){return _0x1c1b3d;});}else{return _0x1c1b3d;}})[_0x9d7c('0x4a')](function(_0x1ce759){logger[_0x9d7c('0x2d')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1ce759);throw _0x1ce759;});}return _0x1c1b3d;})[_0x9d7c('0x29')](respondWithResult(_0x4aac2a,0xc9))[_0x9d7c('0x4a')](handleError(_0x4aac2a,null));};exports[_0x9d7c('0x56')]=function(_0x9392fb,_0x6ccf7){if(_0x9392fb[_0x9d7c('0x57')]['id']){delete _0x9392fb[_0x9d7c('0x57')]['id'];}return db[_0x9d7c('0x32')][_0x9d7c('0x4e')]({'where':{'id':_0x9392fb['params']['id']}})[_0x9d7c('0x29')](handleEntityNotFound(_0x6ccf7,null))['then'](saveUpdates(_0x9392fb['body'],null))[_0x9d7c('0x29')](respondWithResult(_0x6ccf7,null))[_0x9d7c('0x4a')](handleError(_0x6ccf7,null));};exports[_0x9d7c('0x2a')]=function(_0x3a1676,_0xbd9b93){return db[_0x9d7c('0x32')][_0x9d7c('0x4e')]({'where':{'id':_0x3a1676[_0x9d7c('0x4c')]['id']}})['then'](handleEntityNotFound(_0xbd9b93,null))[_0x9d7c('0x29')](removeEntity(_0xbd9b93,null))['catch'](handleError(_0xbd9b93,null));};exports[_0x9d7c('0x58')]=function(_0x290c70,_0x345fc5){return db[_0x9d7c('0x32')]['describe']()[_0x9d7c('0x29')](respondWithResult(_0x345fc5,null))['catch'](handleError(_0x345fc5,null));};exports[_0x9d7c('0x59')]=function(_0x421a6f,_0xb0d2db,_0x5eb855){var _0x891b2d={'raw':!![],'where':{}},_0x2eb98c={},_0x150e98;return db[_0x9d7c('0x32')][_0x9d7c('0x5a')]({'where':{'id':_0x421a6f[_0x9d7c('0x4c')]['id']}})[_0x9d7c('0x29')](handleEntityNotFound(_0xb0d2db,null))['then'](function(_0xc803f){if(_0xc803f){_0x150e98=_0xc803f[_0x9d7c('0x2b')]({'plain':!![]});_0x2eb98c[_0x9d7c('0x37')]=_['keys'](db[_0x9d7c('0x5b')][_0x9d7c('0x33')]);_0x2eb98c[_0x9d7c('0x38')]=_[_0x9d7c('0x39')](_0x421a6f['query']);_0x2eb98c[_0x9d7c('0x3a')]=_[_0x9d7c('0x3b')](_0x2eb98c[_0x9d7c('0x37')],_0x2eb98c[_0x9d7c('0x38')]);_0x891b2d[_0x9d7c('0x3c')]=_[_0x9d7c('0x3b')](_0x2eb98c[_0x9d7c('0x37')],qs['fields'](_0x421a6f[_0x9d7c('0x38')][_0x9d7c('0x3d')]));_0x891b2d['attributes']=_0x891b2d[_0x9d7c('0x3c')][_0x9d7c('0x3e')]?_0x891b2d[_0x9d7c('0x3c')]:_0x2eb98c[_0x9d7c('0x37')];if(!_0x421a6f[_0x9d7c('0x38')][_0x9d7c('0x3f')](_0x9d7c('0x5c'))){_0x891b2d[_0x9d7c('0x26')]=qs[_0x9d7c('0x26')](_0x421a6f[_0x9d7c('0x38')]['limit']);_0x891b2d[_0x9d7c('0x23')]=qs['offset'](_0x421a6f['query'][_0x9d7c('0x23')]);}_0x891b2d[_0x9d7c('0x40')]=qs[_0x9d7c('0x41')](_0x421a6f[_0x9d7c('0x38')][_0x9d7c('0x41')]);_0x891b2d[_0x9d7c('0x42')]=qs['filters'](_[_0x9d7c('0x43')](_0x421a6f[_0x9d7c('0x38')],_0x2eb98c[_0x9d7c('0x3a')]));_0x891b2d['where']['WhatsappQueueId']=_0xc803f['id'];if(_0x421a6f[_0x9d7c('0x38')][_0x9d7c('0x44')]){_0x891b2d['where']=_[_0x9d7c('0x45')](_0x891b2d[_0x9d7c('0x42')],{'$or':_[_0x9d7c('0x31')](_0x891b2d[_0x9d7c('0x3c')],function(_0x354a28){var _0x3e8544={};_0x3e8544[_0x354a28]={'$like':'%'+_0x421a6f[_0x9d7c('0x38')]['filter']+'%'};return _0x3e8544;})});}_0x891b2d=_['merge']({},_0x891b2d,_0x421a6f['options']);return db[_0x9d7c('0x5b')][_0x9d7c('0x49')](_0x891b2d);}})['then'](function(_0x5402d8){if(_0x5402d8){return db[_0x9d7c('0x5d')]['findAndCountAll']({'where':{'id':_['map'](_0x5402d8,_0x9d7c('0x5e')),'role':_0x9d7c('0x5f')},'attributes':['id',_0x9d7c('0x2e'),'whatsappPause','updatedAt',_0x9d7c('0x60')]});}})[_0x9d7c('0x29')](function(_0x166334){if(_0x166334){return{'count':_0x166334['count'],'rows':_[_0x9d7c('0x31')](_0x166334['rows'],function(_0x2a9e05){return{'membername':_0x2a9e05[_0x9d7c('0x2e')],'UserId':_0x2a9e05['id'],'queue_name':_0x150e98[_0x9d7c('0x2e')],'WhatsappQueueId':_0x150e98['id'],'interface':util['format'](_0x9d7c('0x61'),'SIP',_0x2a9e05[_0x9d7c('0x2e')]),'penalty':0x0,'paused':_0x2a9e05[_0x9d7c('0x62')],'createdAt':_0x2a9e05[_0x9d7c('0x60')],'updatedAt':_0x2a9e05[_0x9d7c('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0xb0d2db,_0x891b2d))[_0x9d7c('0x4a')](handleError(_0xb0d2db,null));};exports[_0x9d7c('0x64')]=function(_0x20542f,_0x7f11ca,_0x5b4730){var _0x1ec2af={};var _0x281120={};var _0x3bc63d;var _0x27860c;return db[_0x9d7c('0x32')][_0x9d7c('0x5a')]({'where':{'id':_0x20542f[_0x9d7c('0x4c')]['id']}})[_0x9d7c('0x29')](handleEntityNotFound(_0x7f11ca,null))[_0x9d7c('0x29')](function(_0x3cc0cf){if(_0x3cc0cf){_0x3bc63d=_0x3cc0cf;_0x281120[_0x9d7c('0x37')]=_[_0x9d7c('0x39')](db[_0x9d7c('0x65')][_0x9d7c('0x33')]);_0x281120[_0x9d7c('0x38')]=_['keys'](_0x20542f[_0x9d7c('0x38')]);_0x281120['filters']=_[_0x9d7c('0x3b')](_0x281120['model'],_0x281120[_0x9d7c('0x38')]);_0x1ec2af['attributes']=_[_0x9d7c('0x3b')](_0x281120[_0x9d7c('0x37')],qs[_0x9d7c('0x3d')](_0x20542f[_0x9d7c('0x38')][_0x9d7c('0x3d')]));_0x1ec2af[_0x9d7c('0x3c')]=_0x1ec2af['attributes'][_0x9d7c('0x3e')]?_0x1ec2af[_0x9d7c('0x3c')]:_0x281120[_0x9d7c('0x37')];_0x1ec2af[_0x9d7c('0x40')]=qs[_0x9d7c('0x41')](_0x20542f[_0x9d7c('0x38')][_0x9d7c('0x41')]);_0x1ec2af[_0x9d7c('0x42')]=qs[_0x9d7c('0x3a')](_[_0x9d7c('0x43')](_0x20542f[_0x9d7c('0x38')],_0x281120['filters']));if(_0x20542f[_0x9d7c('0x38')]['filter']){_0x1ec2af[_0x9d7c('0x42')]=_[_0x9d7c('0x45')](_0x1ec2af[_0x9d7c('0x42')],{'$or':_[_0x9d7c('0x31')](_0x1ec2af['attributes'],function(_0x5341f7){var _0x3af533={};_0x3af533[_0x5341f7]={'$like':'%'+_0x20542f['query'][_0x9d7c('0x44')]+'%'};return _0x3af533;})});}_0x1ec2af=_[_0x9d7c('0x45')]({},_0x1ec2af,_0x20542f[_0x9d7c('0x47')]);return _0x3bc63d[_0x9d7c('0x64')](_0x1ec2af);}})['then'](function(_0x213524){if(_0x213524){_0x27860c=_0x213524[_0x9d7c('0x3e')];if(!_0x20542f[_0x9d7c('0x38')][_0x9d7c('0x3f')](_0x9d7c('0x5c'))){_0x1ec2af['limit']=qs['limit'](_0x20542f[_0x9d7c('0x38')]['limit']);_0x1ec2af[_0x9d7c('0x23')]=qs[_0x9d7c('0x23')](_0x20542f[_0x9d7c('0x38')][_0x9d7c('0x23')]);}return _0x3bc63d['getTeams'](_0x1ec2af);}})[_0x9d7c('0x29')](function(_0x2ac3fd){if(_0x2ac3fd){return _0x2ac3fd?{'count':_0x27860c,'rows':_0x2ac3fd}:null;}})[_0x9d7c('0x29')](respondWithResult(_0x7f11ca,null))[_0x9d7c('0x4a')](handleError(_0x7f11ca,null));};exports[_0x9d7c('0x66')]=function(_0x25d902,_0x149640,_0x1e9916){var _0x40c236=_0x25d902[_0x9d7c('0x57')][_0x9d7c('0x67')];return db[_0x9d7c('0x65')]['findAll']({'where':{'id':_0x40c236},'attributes':['id'],'include':[{'model':db[_0x9d7c('0x5d')],'as':'Agents','attributes':['id',_0x9d7c('0x2e'),_0x9d7c('0x68'),_0x9d7c('0x69'),_0x9d7c('0x6a')],'raw':!![]}]})[_0x9d7c('0x29')](function(_0x38687f){if(_0x38687f){var _0x2934bd=_[_0x9d7c('0x6b')](_0x38687f,function(_0x2a9c7d){var _0x3ea232=_0x2a9c7d[_0x9d7c('0x2b')]({'plain':!![]});return _0x3ea232['Agents'];});return db[_0x9d7c('0x32')][_0x9d7c('0x4e')]({'where':{'id':_0x25d902['params']['id']}})[_0x9d7c('0x29')](function(_0x58d1e8){return db[_0x9d7c('0x6c')][_0x9d7c('0x6d')](function(_0x1f465a){return _0x58d1e8[_0x9d7c('0x66')](_0x40c236,{'transaction':_0x1f465a})[_0x9d7c('0x29')](function(){return BPromise[_0x9d7c('0x6e')](_0x2934bd,function(_0x5967e3){return db[_0x9d7c('0x5b')][_0x9d7c('0x6f')]({'where':{'UserId':_0x5967e3['id'],'WhatsappQueueId':_0x25d902[_0x9d7c('0x4c')]['id']},'transaction':_0x1f465a});});})[_0x9d7c('0x29')](function(){_0x2934bd[_0x9d7c('0x70')](function(_0x4d9ec7){socket[_0x9d7c('0x71')]('userWhatsappQueue:save',{'UserId':_0x4d9ec7['id'],'WhatsappQueueId':_0x58d1e8['id']});});});});});}})[_0x9d7c('0x29')](respondWithStatusCode(_0x149640,null))[_0x9d7c('0x4a')](handleError(_0x149640,null));};exports[_0x9d7c('0x72')]=function(_0x3b84f4,_0x3fa5d1,_0x2b5505){return db[_0x9d7c('0x65')][_0x9d7c('0x49')]({'where':{'id':_0x3b84f4['query'][_0x9d7c('0x67')]},'attributes':['id'],'include':[{'model':db[_0x9d7c('0x5d')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x9d7c('0x29')](handleEntityNotFound(_0x3fa5d1,null))[_0x9d7c('0x29')](function(_0x520ee4){var _0x23966f=_[_0x9d7c('0x31')](_0x520ee4,'id');var _0x28426f=[];var _0x2199cc=[];var _0x51a43a=squel[_0x9d7c('0x73')]();_0x51a43a[_0x9d7c('0x74')](_0x9d7c('0x75'))['from'](_0x9d7c('0x76'),'tq')['join'](_0x9d7c('0x77'),'ut',_0x9d7c('0x78'))[_0x9d7c('0x42')](_0x9d7c('0x79'),_0x3b84f4[_0x9d7c('0x4c')]['id']);for(var _0x4c6e3b=0x0;_0x4c6e3b<_0x520ee4[_0x9d7c('0x3e')];_0x4c6e3b+=0x1){let _0x4127c3=_0x520ee4[_0x4c6e3b];for(var _0x323580=0x0;_0x323580<_0x4127c3[_0x9d7c('0x7a')]['length'];_0x323580+=0x1){let _0x3a3248=_0x4127c3[_0x9d7c('0x7a')][_0x323580];var _0x28ab62=_0x51a43a[_0x9d7c('0x7b')]();_0x28ab62[_0x9d7c('0x42')]('ut.UserId\x20=\x20?',_0x3a3248['id']);_0x2199cc[_0x9d7c('0x7c')](db[_0x9d7c('0x6c')][_0x9d7c('0x38')](_0x28ab62[_0x9d7c('0x7d')](),{'type':db['sequelize'][_0x9d7c('0x7e')][_0x9d7c('0x7f')]})[_0x9d7c('0x29')](function(_0x4f3a82){if(_0x4f3a82[_0x9d7c('0x3e')]===0x1){return _0x3a3248['id'];}else{var _0x266860=_[_0x9d7c('0x80')](_[_0x9d7c('0x31')](_0x4f3a82,_0x9d7c('0x81')),function(_0xc3cba3){return _[_0x9d7c('0x82')](_0x23966f,_0xc3cba3);});if(_0x266860){return _0x3a3248['id'];}}}));}}return BPromise[_0x9d7c('0x83')](_0x2199cc)[_0x9d7c('0x29')](function(_0x2c10e4){_0x28426f=_(_0x28426f)[_0x9d7c('0x84')](_0x2c10e4)[_0x9d7c('0x85')]()[_0x9d7c('0x86')]();return db[_0x9d7c('0x32')][_0x9d7c('0x4e')]({'where':{'id':_0x3b84f4['params']['id']}})[_0x9d7c('0x29')](function(_0x23f5dd){return db[_0x9d7c('0x6c')][_0x9d7c('0x6d')](function(_0x423c19){return _0x23f5dd[_0x9d7c('0x72')](_0x3b84f4['query'][_0x9d7c('0x67')],{'transaction':_0x423c19})['then'](function(){if(!_[_0x9d7c('0x87')](_0x28426f)){return _0x23f5dd[_0x9d7c('0x88')](_0x28426f,{'transaction':_0x423c19});}})[_0x9d7c('0x29')](function(){_0x28426f['forEach'](function(_0x34fc90){socket[_0x9d7c('0x71')](_0x9d7c('0x89'),{'UserId':_0x34fc90,'WhatsappQueueId':_0x23f5dd['id']});});});});});});})['then'](respondWithStatusCode(_0x3fa5d1,null))[_0x9d7c('0x4a')](handleError(_0x3fa5d1,null));};exports[_0x9d7c('0x8a')]=function(_0xd646ee,_0x456220,_0x5cd97e){return db[_0x9d7c('0x32')][_0x9d7c('0x4e')]({'where':{'id':_0xd646ee[_0x9d7c('0x4c')]['id']}})[_0x9d7c('0x29')](handleEntityNotFound(_0x456220,null))['then'](function(_0x4bfe40){if(_0x4bfe40){return _0x4bfe40['addAgents'](_0xd646ee['body'][_0x9d7c('0x67')],_[_0x9d7c('0x8b')](_0xd646ee[_0x9d7c('0x57')],[_0x9d7c('0x67'),'id'])||{})['spread'](function(_0x1f4ec2){for(var _0x544d80=0x0;_0x544d80<_0xd646ee[_0x9d7c('0x57')]['ids'][_0x9d7c('0x3e')];_0x544d80+=0x1){socket[_0x9d7c('0x71')](_0x9d7c('0x8c'),{'UserId':Number(_0xd646ee[_0x9d7c('0x57')][_0x9d7c('0x67')][_0x544d80]),'WhatsappQueueId':Number(_0xd646ee[_0x9d7c('0x4c')]['id'])});}return _0x1f4ec2;});}})[_0x9d7c('0x29')](respondWithResult(_0x456220,null))[_0x9d7c('0x4a')](handleError(_0x456220,null));};exports[_0x9d7c('0x88')]=function(_0x260cd4,_0x10e1b3,_0x2ad072){return db[_0x9d7c('0x32')][_0x9d7c('0x4e')]({'where':{'id':_0x260cd4[_0x9d7c('0x4c')]['id']}})[_0x9d7c('0x29')](handleEntityNotFound(_0x10e1b3,null))[_0x9d7c('0x29')](function(_0x2c1f76){if(_0x2c1f76){return _0x2c1f76[_0x9d7c('0x88')](_0x260cd4[_0x9d7c('0x38')]['ids'])[_0x9d7c('0x29')](function(){if(_[_0x9d7c('0x8d')](_0x260cd4[_0x9d7c('0x38')]['ids'])){for(var _0x5ce4f3=0x0;_0x5ce4f3<_0x260cd4['query']['ids']['length'];_0x5ce4f3+=0x1){socket[_0x9d7c('0x71')](_0x9d7c('0x89'),{'UserId':Number(_0x260cd4[_0x9d7c('0x38')][_0x9d7c('0x67')][_0x5ce4f3]),'WhatsappQueueId':Number(_0x260cd4[_0x9d7c('0x4c')]['id'])});}}else{socket[_0x9d7c('0x71')](_0x9d7c('0x89'),{'UserId':Number(_0x260cd4[_0x9d7c('0x38')]['ids']),'WhatsappQueueId':Number(_0x260cd4[_0x9d7c('0x4c')]['id'])});}});}})[_0x9d7c('0x29')](respondWithStatusCode(_0x10e1b3,null))[_0x9d7c('0x4a')](handleError(_0x10e1b3,null));};exports['getAgents']=function(_0x188eec,_0x1bbc5c,_0xb1e781){var _0x391d09={};var _0xa9d53a={};var _0x11fb2f;var _0x335330;return db[_0x9d7c('0x32')]['findOne']({'where':{'id':_0x188eec['params']['id']}})['then'](handleEntityNotFound(_0x1bbc5c,null))[_0x9d7c('0x29')](function(_0x493b8d){if(_0x493b8d){_0x11fb2f=_0x493b8d;_0xa9d53a[_0x9d7c('0x37')]=_[_0x9d7c('0x39')](db[_0x9d7c('0x5d')][_0x9d7c('0x33')]);_0xa9d53a['query']=_[_0x9d7c('0x39')](_0x188eec['query']);_0xa9d53a['filters']=_[_0x9d7c('0x3b')](_0xa9d53a[_0x9d7c('0x37')],_0xa9d53a[_0x9d7c('0x38')]);_0x391d09[_0x9d7c('0x3c')]=_[_0x9d7c('0x3b')](_0xa9d53a['model'],qs[_0x9d7c('0x3d')](_0x188eec[_0x9d7c('0x38')][_0x9d7c('0x3d')]));_0x391d09[_0x9d7c('0x3c')]=_0x391d09[_0x9d7c('0x3c')][_0x9d7c('0x3e')]?_0x391d09['attributes']:_0xa9d53a['model'];_0x391d09[_0x9d7c('0x40')]=qs[_0x9d7c('0x41')](_0x188eec[_0x9d7c('0x38')][_0x9d7c('0x41')]);_0x391d09['where']=qs[_0x9d7c('0x3a')](_['pick'](_0x188eec[_0x9d7c('0x38')],_0xa9d53a['filters']));if(_0x188eec[_0x9d7c('0x38')]['filter']){_0x391d09[_0x9d7c('0x42')]=_[_0x9d7c('0x45')](_0x391d09['where'],{'$or':_[_0x9d7c('0x31')](_0x391d09[_0x9d7c('0x3c')],function(_0x402f3a){var _0x115655={};_0x115655[_0x402f3a]={'$like':'%'+_0x188eec[_0x9d7c('0x38')][_0x9d7c('0x44')]+'%'};return _0x115655;})});}_0x391d09=_['merge']({},_0x391d09,_0x188eec[_0x9d7c('0x47')]);return _0x11fb2f[_0x9d7c('0x8e')](_0x391d09);}})[_0x9d7c('0x29')](function(_0x556459){if(_0x556459){_0x335330=_0x556459[_0x9d7c('0x3e')];if(!_0x188eec[_0x9d7c('0x38')][_0x9d7c('0x3f')](_0x9d7c('0x5c'))){_0x391d09[_0x9d7c('0x26')]=qs[_0x9d7c('0x26')](_0x188eec[_0x9d7c('0x38')][_0x9d7c('0x26')]);_0x391d09['offset']=qs[_0x9d7c('0x23')](_0x188eec[_0x9d7c('0x38')][_0x9d7c('0x23')]);}return _0x11fb2f[_0x9d7c('0x8e')](_0x391d09);}})['then'](function(_0x8cc037){if(_0x8cc037){return _0x8cc037?{'count':_0x335330,'rows':_0x8cc037}:null;}})[_0x9d7c('0x29')](respondWithResult(_0x1bbc5c,null))[_0x9d7c('0x4a')](handleError(_0x1bbc5c,null));};