8e747c22bd35cf595ef09c2eb47a5c834d035831
[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 _0xf7b9=['userWhatsappQueue:save','removeTeams','select','tq.TeamId','from','team_has_whatsapp_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','compact','value','isEmpty','removeAgents','addAgents','omit','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappQueue.socket','register','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','then','destroy','get','WhatsappQueues','UserProfileResource','sendStatus','error','name','index','map','WhatsappQueue','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','params','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','getMembers','findOne','UserWhatsappQueue','rawAttributes','pick','WhatsappQueueId','User','findAndCountAll','UserId','agent','whatsappPause','updatedAt','createdAt','rows','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','online','interface','flatMap','sequelize','transaction','findOrCreate','forEach','emit'];(function(_0x3a2b1d,_0x190499){var _0xebbef2=function(_0x374f47){while(--_0x374f47){_0x3a2b1d['push'](_0x3a2b1d['shift']());}};_0xebbef2(++_0x190499);}(_0xf7b9,0x132));var _0x9f7b=function(_0x36467c,_0x29707b){_0x36467c=_0x36467c-0x0;var _0x31605b=_0xf7b9[_0x36467c];return _0x31605b;};'use strict';var emlformat=require(_0x9f7b('0x0'));var rimraf=require(_0x9f7b('0x1'));var zipdir=require(_0x9f7b('0x2'));var jsonpatch=require(_0x9f7b('0x3'));var rp=require('request-promise');var moment=require(_0x9f7b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9f7b('0x5'));var util=require(_0x9f7b('0x6'));var path=require(_0x9f7b('0x7'));var sox=require('sox');var csv=require(_0x9f7b('0x8'));var ejs=require(_0x9f7b('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9f7b('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9f7b('0xb'));var deskjs=require(_0x9f7b('0xc'));var toCsv=require(_0x9f7b('0x8'));var querystring=require(_0x9f7b('0xd'));var Papa=require(_0x9f7b('0xe'));var Redis=require(_0x9f7b('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9f7b('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9f7b('0x11'));var logger=require(_0x9f7b('0x12'))(_0x9f7b('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9f7b('0x14'))['db'];config[_0x9f7b('0x15')]=_[_0x9f7b('0x16')](config[_0x9f7b('0x15')],{'host':_0x9f7b('0x17'),'port':0x18eb});var socket=require(_0x9f7b('0x18'))(new Redis(config['redis']));require(_0x9f7b('0x19'))[_0x9f7b('0x1a')](socket);function respondWithStatusCode(_0x2b399d,_0x49e1c8){_0x49e1c8=_0x49e1c8||0xcc;return function(_0x1b243e){if(_0x1b243e){return _0x2b399d['sendStatus'](_0x49e1c8);}return _0x2b399d[_0x9f7b('0x1b')](_0x49e1c8)[_0x9f7b('0x1c')]();};}function respondWithResult(_0xea839,_0x3872b0){_0x3872b0=_0x3872b0||0xc8;return function(_0x4edfc5){if(_0x4edfc5){return _0xea839['status'](_0x3872b0)[_0x9f7b('0x1d')](_0x4edfc5);}};}function respondWithFilteredResult(_0x462a95,_0x58393e){return function(_0x17f5cb){if(_0x17f5cb){var _0x51bfff=typeof _0x58393e[_0x9f7b('0x1e')]==='undefined'&&typeof _0x58393e[_0x9f7b('0x1f')]===_0x9f7b('0x20');var _0x24d18e=_0x17f5cb[_0x9f7b('0x21')];var _0x18c52d=_0x51bfff?0x0:_0x58393e[_0x9f7b('0x1e')];var _0x4c9095=_0x51bfff?_0x17f5cb[_0x9f7b('0x21')]:_0x58393e[_0x9f7b('0x1e')]+_0x58393e[_0x9f7b('0x1f')];var _0x4a3c36;if(_0x4c9095>=_0x24d18e){_0x4c9095=_0x24d18e;_0x4a3c36=0xc8;}else{_0x4a3c36=0xce;}_0x462a95[_0x9f7b('0x1b')](_0x4a3c36);return _0x462a95[_0x9f7b('0x22')](_0x9f7b('0x23'),_0x18c52d+'-'+_0x4c9095+'/'+_0x24d18e)['json'](_0x17f5cb);}return null;};}function patchUpdates(_0x468a0b){return function(_0x5aaf0f){try{jsonpatch[_0x9f7b('0x24')](_0x5aaf0f,_0x468a0b,!![]);}catch(_0x106a42){return BPromise['reject'](_0x106a42);}return _0x5aaf0f[_0x9f7b('0x25')]();};}function saveUpdates(_0x9b72ff,_0x2cb01b){return function(_0x22ce65){if(_0x22ce65){return _0x22ce65[_0x9f7b('0x26')](_0x9b72ff)[_0x9f7b('0x27')](function(_0x1763b1){return _0x1763b1;});}return null;};}function removeEntity(_0x44765d,_0xf559e6){return function(_0x1fed57){if(_0x1fed57){return _0x1fed57[_0x9f7b('0x28')]()[_0x9f7b('0x27')](function(){var _0x5a97ff=_0x1fed57[_0x9f7b('0x29')]({'plain':!![]});var _0x7578cf=_0x9f7b('0x2a');return db[_0x9f7b('0x2b')][_0x9f7b('0x28')]({'where':{'type':_0x7578cf,'resourceId':_0x5a97ff['id']}})[_0x9f7b('0x27')](function(){return _0x1fed57;});})[_0x9f7b('0x27')](function(){_0x44765d['status'](0xcc)[_0x9f7b('0x1c')]();});}};}function handleEntityNotFound(_0x4d5875,_0x565e8b){return function(_0x2c0157){if(!_0x2c0157){_0x4d5875[_0x9f7b('0x2c')](0x194);}return _0x2c0157;};}function handleError(_0x1119b1,_0x1ca723){_0x1ca723=_0x1ca723||0x1f4;return function(_0x2ed204){logger[_0x9f7b('0x2d')](_0x2ed204['stack']);if(_0x2ed204[_0x9f7b('0x2e')]){delete _0x2ed204[_0x9f7b('0x2e')];}_0x1119b1[_0x9f7b('0x1b')](_0x1ca723)['send'](_0x2ed204);};}exports[_0x9f7b('0x2f')]=function(_0x22e696,_0x411031){var _0x4670b7={},_0x497165={},_0x10b12d={'count':0x0,'rows':[]};var _0x317eeb=_[_0x9f7b('0x30')](db[_0x9f7b('0x31')]['rawAttributes'],function(_0x1c7a7f){return{'name':_0x1c7a7f[_0x9f7b('0x32')],'type':_0x1c7a7f[_0x9f7b('0x33')]['key']};});_0x497165[_0x9f7b('0x34')]=_[_0x9f7b('0x30')](_0x317eeb,_0x9f7b('0x2e'));_0x497165['query']=_[_0x9f7b('0x35')](_0x22e696[_0x9f7b('0x36')]);_0x497165[_0x9f7b('0x37')]=_[_0x9f7b('0x38')](_0x497165[_0x9f7b('0x34')],_0x497165[_0x9f7b('0x36')]);_0x4670b7[_0x9f7b('0x39')]=_['intersection'](_0x497165[_0x9f7b('0x34')],qs[_0x9f7b('0x3a')](_0x22e696['query']['fields']));_0x4670b7[_0x9f7b('0x39')]=_0x4670b7[_0x9f7b('0x39')][_0x9f7b('0x3b')]?_0x4670b7[_0x9f7b('0x39')]:_0x497165[_0x9f7b('0x34')];if(!_0x22e696['query'][_0x9f7b('0x3c')](_0x9f7b('0x3d'))){_0x4670b7[_0x9f7b('0x1f')]=qs[_0x9f7b('0x1f')](_0x22e696['query']['limit']);_0x4670b7[_0x9f7b('0x1e')]=qs[_0x9f7b('0x1e')](_0x22e696['query'][_0x9f7b('0x1e')]);}_0x4670b7[_0x9f7b('0x3e')]=qs[_0x9f7b('0x3f')](_0x22e696['query'][_0x9f7b('0x3f')]);_0x4670b7[_0x9f7b('0x40')]=qs[_0x9f7b('0x37')](_['pick'](_0x22e696[_0x9f7b('0x36')],_0x497165[_0x9f7b('0x37')]),_0x317eeb);if(_0x22e696[_0x9f7b('0x36')][_0x9f7b('0x41')]){_0x4670b7['where']=_[_0x9f7b('0x42')](_0x4670b7[_0x9f7b('0x40')],{'$or':_[_0x9f7b('0x30')](_0x317eeb,function(_0x44972a){if(_0x44972a['type']!==_0x9f7b('0x43')){var _0x2264fb={};_0x2264fb[_0x44972a[_0x9f7b('0x2e')]]={'$like':'%'+_0x22e696['query'][_0x9f7b('0x41')]+'%'};return _0x2264fb;}})});}_0x4670b7=_['merge']({},_0x4670b7,_0x22e696[_0x9f7b('0x44')]);var _0x47c4f6={'where':_0x4670b7[_0x9f7b('0x40')]};return db[_0x9f7b('0x31')][_0x9f7b('0x21')](_0x47c4f6)['then'](function(_0x1086f9){_0x10b12d[_0x9f7b('0x21')]=_0x1086f9;if(_0x22e696[_0x9f7b('0x36')][_0x9f7b('0x45')]){_0x4670b7[_0x9f7b('0x46')]=[{'all':!![]}];}return db[_0x9f7b('0x31')][_0x9f7b('0x47')](_0x4670b7);})[_0x9f7b('0x27')](function(_0x66c544){_0x10b12d['rows']=_0x66c544;return _0x10b12d;})[_0x9f7b('0x27')](respondWithFilteredResult(_0x411031,_0x4670b7))[_0x9f7b('0x48')](handleError(_0x411031,null));};exports['show']=function(_0xdd588f,_0x42e8aa){var _0x481aac={'raw':!![],'where':{'id':_0xdd588f[_0x9f7b('0x49')]['id']}},_0x107c7e={};_0x107c7e[_0x9f7b('0x34')]=_[_0x9f7b('0x35')](db[_0x9f7b('0x31')]['rawAttributes']);_0x107c7e[_0x9f7b('0x36')]=_[_0x9f7b('0x35')](_0xdd588f[_0x9f7b('0x36')]);_0x107c7e[_0x9f7b('0x37')]=_['intersection'](_0x107c7e[_0x9f7b('0x34')],_0x107c7e[_0x9f7b('0x36')]);_0x481aac[_0x9f7b('0x39')]=_[_0x9f7b('0x38')](_0x107c7e[_0x9f7b('0x34')],qs[_0x9f7b('0x3a')](_0xdd588f[_0x9f7b('0x36')][_0x9f7b('0x3a')]));_0x481aac['attributes']=_0x481aac[_0x9f7b('0x39')]['length']?_0x481aac[_0x9f7b('0x39')]:_0x107c7e[_0x9f7b('0x34')];if(_0xdd588f[_0x9f7b('0x36')][_0x9f7b('0x45')]){_0x481aac[_0x9f7b('0x46')]=[{'all':!![]}];}_0x481aac=_['merge']({},_0x481aac,_0xdd588f[_0x9f7b('0x44')]);return db[_0x9f7b('0x31')][_0x9f7b('0x4a')](_0x481aac)[_0x9f7b('0x27')](handleEntityNotFound(_0x42e8aa,null))[_0x9f7b('0x27')](respondWithResult(_0x42e8aa,null))[_0x9f7b('0x48')](handleError(_0x42e8aa,null));};exports[_0x9f7b('0x4b')]=function(_0xf52084,_0x590a4d){return db[_0x9f7b('0x31')]['create'](_0xf52084[_0x9f7b('0x4c')],{})[_0x9f7b('0x27')](function(_0x471ffe){var _0x32f452=_0xf52084[_0x9f7b('0x4d')][_0x9f7b('0x29')]({'plain':!![]});if(!_0x32f452)throw new Error(_0x9f7b('0x4e'));if(_0x32f452[_0x9f7b('0x4f')]===_0x9f7b('0x4d')){var _0x3b31db=_0x471ffe[_0x9f7b('0x29')]({'plain':!![]});var _0x18f24a='WhatsappQueues';return db[_0x9f7b('0x50')][_0x9f7b('0x4a')]({'where':{'name':_0x18f24a,'userProfileId':_0x32f452[_0x9f7b('0x51')]},'raw':!![]})[_0x9f7b('0x27')](function(_0x3f9aae){if(_0x3f9aae&&_0x3f9aae[_0x9f7b('0x52')]===0x0){return db['UserProfileResource']['create']({'name':_0x3b31db[_0x9f7b('0x2e')],'resourceId':_0x3b31db['id'],'type':_0x3f9aae[_0x9f7b('0x2e')],'sectionId':_0x3f9aae['id']},{})['then'](function(){return _0x471ffe;});}else{return _0x471ffe;}})['catch'](function(_0x2c95d3){logger[_0x9f7b('0x2d')](_0x9f7b('0x53'),_0x2c95d3);throw _0x2c95d3;});}return _0x471ffe;})[_0x9f7b('0x27')](respondWithResult(_0x590a4d,0xc9))['catch'](handleError(_0x590a4d,null));};exports[_0x9f7b('0x26')]=function(_0x713d1,_0x58e7a9){if(_0x713d1[_0x9f7b('0x4c')]['id']){delete _0x713d1[_0x9f7b('0x4c')]['id'];}return db[_0x9f7b('0x31')][_0x9f7b('0x4a')]({'where':{'id':_0x713d1[_0x9f7b('0x49')]['id']}})[_0x9f7b('0x27')](handleEntityNotFound(_0x58e7a9,null))['then'](saveUpdates(_0x713d1[_0x9f7b('0x4c')],null))[_0x9f7b('0x27')](respondWithResult(_0x58e7a9,null))['catch'](handleError(_0x58e7a9,null));};exports[_0x9f7b('0x28')]=function(_0x38cb1a,_0x2fec5e){return db['WhatsappQueue'][_0x9f7b('0x4a')]({'where':{'id':_0x38cb1a[_0x9f7b('0x49')]['id']}})[_0x9f7b('0x27')](handleEntityNotFound(_0x2fec5e,null))[_0x9f7b('0x27')](removeEntity(_0x2fec5e,null))[_0x9f7b('0x48')](handleError(_0x2fec5e,null));};exports['describe']=function(_0x5bd7a4,_0x2ea3b3){return db[_0x9f7b('0x31')]['describe']()['then'](respondWithResult(_0x2ea3b3,null))[_0x9f7b('0x48')](handleError(_0x2ea3b3,null));};exports[_0x9f7b('0x54')]=function(_0x2e0fe4,_0xdcec9f,_0x22fa06){var _0x8c9f8={'raw':!![],'where':{}},_0x1425c5={},_0x3c556f;return db['WhatsappQueue'][_0x9f7b('0x55')]({'where':{'id':_0x2e0fe4['params']['id']}})[_0x9f7b('0x27')](handleEntityNotFound(_0xdcec9f,null))[_0x9f7b('0x27')](function(_0x7cc32f){if(_0x7cc32f){_0x3c556f=_0x7cc32f[_0x9f7b('0x29')]({'plain':!![]});_0x1425c5['model']=_['keys'](db[_0x9f7b('0x56')][_0x9f7b('0x57')]);_0x1425c5[_0x9f7b('0x36')]=_[_0x9f7b('0x35')](_0x2e0fe4[_0x9f7b('0x36')]);_0x1425c5['filters']=_[_0x9f7b('0x38')](_0x1425c5[_0x9f7b('0x34')],_0x1425c5[_0x9f7b('0x36')]);_0x8c9f8[_0x9f7b('0x39')]=_[_0x9f7b('0x38')](_0x1425c5[_0x9f7b('0x34')],qs[_0x9f7b('0x3a')](_0x2e0fe4[_0x9f7b('0x36')][_0x9f7b('0x3a')]));_0x8c9f8[_0x9f7b('0x39')]=_0x8c9f8['attributes'][_0x9f7b('0x3b')]?_0x8c9f8[_0x9f7b('0x39')]:_0x1425c5[_0x9f7b('0x34')];if(!_0x2e0fe4[_0x9f7b('0x36')][_0x9f7b('0x3c')](_0x9f7b('0x3d'))){_0x8c9f8['limit']=qs['limit'](_0x2e0fe4[_0x9f7b('0x36')][_0x9f7b('0x1f')]);_0x8c9f8['offset']=qs[_0x9f7b('0x1e')](_0x2e0fe4[_0x9f7b('0x36')][_0x9f7b('0x1e')]);}_0x8c9f8[_0x9f7b('0x3e')]=qs[_0x9f7b('0x3f')](_0x2e0fe4[_0x9f7b('0x36')][_0x9f7b('0x3f')]);_0x8c9f8['where']=qs[_0x9f7b('0x37')](_[_0x9f7b('0x58')](_0x2e0fe4[_0x9f7b('0x36')],_0x1425c5[_0x9f7b('0x37')]));_0x8c9f8[_0x9f7b('0x40')][_0x9f7b('0x59')]=_0x7cc32f['id'];if(_0x2e0fe4[_0x9f7b('0x36')][_0x9f7b('0x41')]){_0x8c9f8['where']=_[_0x9f7b('0x42')](_0x8c9f8[_0x9f7b('0x40')],{'$or':_[_0x9f7b('0x30')](_0x8c9f8[_0x9f7b('0x39')],function(_0x4c9507){var _0x18e67c={};_0x18e67c[_0x4c9507]={'$like':'%'+_0x2e0fe4[_0x9f7b('0x36')][_0x9f7b('0x41')]+'%'};return _0x18e67c;})});}_0x8c9f8=_[_0x9f7b('0x42')]({},_0x8c9f8,_0x2e0fe4['options']);return db[_0x9f7b('0x56')][_0x9f7b('0x47')](_0x8c9f8);}})[_0x9f7b('0x27')](function(_0x527388){if(_0x527388){return db[_0x9f7b('0x5a')][_0x9f7b('0x5b')]({'where':{'id':_[_0x9f7b('0x30')](_0x527388,_0x9f7b('0x5c')),'role':_0x9f7b('0x5d')},'attributes':['id','name',_0x9f7b('0x5e'),_0x9f7b('0x5f'),_0x9f7b('0x60')]});}})['then'](function(_0xaefe5e){if(_0xaefe5e){return{'count':_0xaefe5e[_0x9f7b('0x21')],'rows':_[_0x9f7b('0x30')](_0xaefe5e[_0x9f7b('0x61')],function(_0x21cf27){return{'membername':_0x21cf27[_0x9f7b('0x2e')],'UserId':_0x21cf27['id'],'queue_name':_0x3c556f[_0x9f7b('0x2e')],'WhatsappQueueId':_0x3c556f['id'],'interface':util[_0x9f7b('0x62')](_0x9f7b('0x63'),_0x9f7b('0x64'),_0x21cf27[_0x9f7b('0x2e')]),'penalty':0x0,'paused':_0x21cf27['whatsappPause'],'createdAt':_0x21cf27[_0x9f7b('0x60')],'updatedAt':_0x21cf27[_0x9f7b('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x9f7b('0x27')](respondWithFilteredResult(_0xdcec9f,_0x8c9f8))[_0x9f7b('0x48')](handleError(_0xdcec9f,null));};exports[_0x9f7b('0x65')]=function(_0x3f64b7,_0x4c71b6,_0x466b7e){var _0x6feb9d={};var _0x67bc65={};var _0x35c605;var _0x1d60fc;return db[_0x9f7b('0x31')]['findOne']({'where':{'id':_0x3f64b7[_0x9f7b('0x49')]['id']}})['then'](handleEntityNotFound(_0x4c71b6,null))[_0x9f7b('0x27')](function(_0x2e7e1c){if(_0x2e7e1c){_0x35c605=_0x2e7e1c;_0x67bc65['model']=_[_0x9f7b('0x35')](db[_0x9f7b('0x66')][_0x9f7b('0x57')]);_0x67bc65[_0x9f7b('0x36')]=_[_0x9f7b('0x35')](_0x3f64b7['query']);_0x67bc65[_0x9f7b('0x37')]=_[_0x9f7b('0x38')](_0x67bc65['model'],_0x67bc65[_0x9f7b('0x36')]);_0x6feb9d[_0x9f7b('0x39')]=_[_0x9f7b('0x38')](_0x67bc65[_0x9f7b('0x34')],qs[_0x9f7b('0x3a')](_0x3f64b7[_0x9f7b('0x36')][_0x9f7b('0x3a')]));_0x6feb9d['attributes']=_0x6feb9d[_0x9f7b('0x39')][_0x9f7b('0x3b')]?_0x6feb9d[_0x9f7b('0x39')]:_0x67bc65[_0x9f7b('0x34')];_0x6feb9d[_0x9f7b('0x3e')]=qs['sort'](_0x3f64b7[_0x9f7b('0x36')][_0x9f7b('0x3f')]);_0x6feb9d[_0x9f7b('0x40')]=qs[_0x9f7b('0x37')](_['pick'](_0x3f64b7['query'],_0x67bc65[_0x9f7b('0x37')]));if(_0x3f64b7['query'][_0x9f7b('0x41')]){_0x6feb9d[_0x9f7b('0x40')]=_['merge'](_0x6feb9d[_0x9f7b('0x40')],{'$or':_[_0x9f7b('0x30')](_0x6feb9d[_0x9f7b('0x39')],function(_0x2f235e){var _0x49bc06={};_0x49bc06[_0x2f235e]={'$like':'%'+_0x3f64b7[_0x9f7b('0x36')][_0x9f7b('0x41')]+'%'};return _0x49bc06;})});}_0x6feb9d=_[_0x9f7b('0x42')]({},_0x6feb9d,_0x3f64b7[_0x9f7b('0x44')]);return _0x35c605[_0x9f7b('0x65')](_0x6feb9d);}})[_0x9f7b('0x27')](function(_0x2f7747){if(_0x2f7747){_0x1d60fc=_0x2f7747[_0x9f7b('0x3b')];if(!_0x3f64b7[_0x9f7b('0x36')][_0x9f7b('0x3c')](_0x9f7b('0x3d'))){_0x6feb9d[_0x9f7b('0x1f')]=qs['limit'](_0x3f64b7['query']['limit']);_0x6feb9d[_0x9f7b('0x1e')]=qs[_0x9f7b('0x1e')](_0x3f64b7[_0x9f7b('0x36')][_0x9f7b('0x1e')]);}return _0x35c605[_0x9f7b('0x65')](_0x6feb9d);}})[_0x9f7b('0x27')](function(_0x2ddb30){if(_0x2ddb30){return _0x2ddb30?{'count':_0x1d60fc,'rows':_0x2ddb30}:null;}})['then'](respondWithResult(_0x4c71b6,null))['catch'](handleError(_0x4c71b6,null));};exports[_0x9f7b('0x67')]=function(_0x3d316c,_0x49e5cf,_0x4765f1){var _0x24e118=_0x3d316c[_0x9f7b('0x4c')][_0x9f7b('0x68')];return db[_0x9f7b('0x66')][_0x9f7b('0x47')]({'where':{'id':_0x24e118},'attributes':['id'],'include':[{'model':db['User'],'as':_0x9f7b('0x69'),'attributes':['id','name',_0x9f7b('0x6a'),'voicePause',_0x9f7b('0x6b')],'raw':!![]}]})[_0x9f7b('0x27')](function(_0x501b36){if(_0x501b36){var _0x214a24=_[_0x9f7b('0x6c')](_0x501b36,function(_0x292afc){var _0x19a553=_0x292afc['get']({'plain':!![]});return _0x19a553['Agents'];});return db[_0x9f7b('0x31')][_0x9f7b('0x4a')]({'where':{'id':_0x3d316c[_0x9f7b('0x49')]['id']}})['then'](function(_0x14b5e4){return db[_0x9f7b('0x6d')][_0x9f7b('0x6e')](function(_0x29c26d){return _0x14b5e4[_0x9f7b('0x67')](_0x24e118,{'transaction':_0x29c26d})[_0x9f7b('0x27')](function(){return BPromise['each'](_0x214a24,function(_0x43061b){return db['UserWhatsappQueue'][_0x9f7b('0x6f')]({'where':{'UserId':_0x43061b['id'],'WhatsappQueueId':_0x3d316c[_0x9f7b('0x49')]['id']},'transaction':_0x29c26d});});})['then'](function(){_0x214a24[_0x9f7b('0x70')](function(_0x4d3659){socket[_0x9f7b('0x71')](_0x9f7b('0x72'),{'UserId':_0x4d3659['id'],'WhatsappQueueId':_0x14b5e4['id']});});});});});}})[_0x9f7b('0x27')](respondWithStatusCode(_0x49e5cf,null))[_0x9f7b('0x48')](handleError(_0x49e5cf,null));};exports[_0x9f7b('0x73')]=function(_0x190700,_0x76ef29,_0x3045a0){return db[_0x9f7b('0x66')][_0x9f7b('0x47')]({'where':{'id':_0x190700[_0x9f7b('0x36')][_0x9f7b('0x68')]},'attributes':['id'],'include':[{'model':db[_0x9f7b('0x5a')],'as':_0x9f7b('0x69'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x76ef29,null))[_0x9f7b('0x27')](function(_0x47139c){var _0x16f3df=_[_0x9f7b('0x30')](_0x47139c,'id');var _0x50e7fc=[];var _0x492922=[];var _0x306c40=squel[_0x9f7b('0x74')]();_0x306c40['field'](_0x9f7b('0x75'))[_0x9f7b('0x76')](_0x9f7b('0x77'),'tq')['join'](_0x9f7b('0x78'),'ut',_0x9f7b('0x79'))['where'](_0x9f7b('0x7a'),_0x190700['params']['id']);for(var _0x174e9d=0x0;_0x174e9d<_0x47139c['length'];_0x174e9d+=0x1){let _0x52d54d=_0x47139c[_0x174e9d];for(var _0x9835f5=0x0;_0x9835f5<_0x52d54d[_0x9f7b('0x69')][_0x9f7b('0x3b')];_0x9835f5+=0x1){let _0x249a0e=_0x52d54d[_0x9f7b('0x69')][_0x9835f5];var _0x48a289=_0x306c40[_0x9f7b('0x7b')]();_0x48a289[_0x9f7b('0x40')]('ut.UserId\x20=\x20?',_0x249a0e['id']);_0x492922[_0x9f7b('0x7c')](db[_0x9f7b('0x6d')]['query'](_0x48a289[_0x9f7b('0x7d')](),{'type':db[_0x9f7b('0x6d')][_0x9f7b('0x7e')][_0x9f7b('0x7f')]})['then'](function(_0x288056){if(_0x288056['length']===0x1){return _0x249a0e['id'];}else{var _0x566d27=_[_0x9f7b('0x80')](_[_0x9f7b('0x30')](_0x288056,_0x9f7b('0x81')),function(_0x5ab0fa){return _[_0x9f7b('0x82')](_0x16f3df,_0x5ab0fa);});if(_0x566d27){return _0x249a0e['id'];}}}));}}return BPromise[_0x9f7b('0x83')](_0x492922)['then'](function(_0x230111){_0x50e7fc=_(_0x50e7fc)['union'](_0x230111)[_0x9f7b('0x84')]()[_0x9f7b('0x85')]();return db[_0x9f7b('0x31')][_0x9f7b('0x4a')]({'where':{'id':_0x190700[_0x9f7b('0x49')]['id']}})['then'](function(_0xde1463){return db[_0x9f7b('0x6d')][_0x9f7b('0x6e')](function(_0xbc45d5){return _0xde1463[_0x9f7b('0x73')](_0x190700['query']['ids'],{'transaction':_0xbc45d5})['then'](function(){if(!_[_0x9f7b('0x86')](_0x50e7fc)){return _0xde1463[_0x9f7b('0x87')](_0x50e7fc,{'transaction':_0xbc45d5});}})[_0x9f7b('0x27')](function(){_0x50e7fc['forEach'](function(_0xd53acc){socket[_0x9f7b('0x71')]('userWhatsappQueue:remove',{'UserId':_0xd53acc,'WhatsappQueueId':_0xde1463['id']});});});});});});})[_0x9f7b('0x27')](respondWithStatusCode(_0x76ef29,null))[_0x9f7b('0x48')](handleError(_0x76ef29,null));};exports[_0x9f7b('0x88')]=function(_0x3b345e,_0x1c03b9,_0x4bfa2e){return db[_0x9f7b('0x31')][_0x9f7b('0x4a')]({'where':{'id':_0x3b345e['params']['id']}})[_0x9f7b('0x27')](handleEntityNotFound(_0x1c03b9,null))['then'](function(_0x40a6c7){if(_0x40a6c7){return _0x40a6c7[_0x9f7b('0x88')](_0x3b345e[_0x9f7b('0x4c')][_0x9f7b('0x68')],_[_0x9f7b('0x89')](_0x3b345e[_0x9f7b('0x4c')],['ids','id'])||{})['spread'](function(_0x535b00){for(var _0x2351f8=0x0;_0x2351f8<_0x3b345e[_0x9f7b('0x4c')][_0x9f7b('0x68')][_0x9f7b('0x3b')];_0x2351f8+=0x1){socket[_0x9f7b('0x71')](_0x9f7b('0x72'),{'UserId':Number(_0x3b345e[_0x9f7b('0x4c')][_0x9f7b('0x68')][_0x2351f8]),'WhatsappQueueId':Number(_0x3b345e[_0x9f7b('0x49')]['id'])});}return _0x535b00;});}})[_0x9f7b('0x27')](respondWithResult(_0x1c03b9,null))[_0x9f7b('0x48')](handleError(_0x1c03b9,null));};exports[_0x9f7b('0x87')]=function(_0x2fdb27,_0xa169e4,_0x8eb020){return db[_0x9f7b('0x31')][_0x9f7b('0x4a')]({'where':{'id':_0x2fdb27[_0x9f7b('0x49')]['id']}})['then'](handleEntityNotFound(_0xa169e4,null))[_0x9f7b('0x27')](function(_0x41361e){if(_0x41361e){return _0x41361e[_0x9f7b('0x87')](_0x2fdb27[_0x9f7b('0x36')][_0x9f7b('0x68')])[_0x9f7b('0x27')](function(){if(_[_0x9f7b('0x8a')](_0x2fdb27['query']['ids'])){for(var _0x615e0f=0x0;_0x615e0f<_0x2fdb27[_0x9f7b('0x36')][_0x9f7b('0x68')][_0x9f7b('0x3b')];_0x615e0f+=0x1){socket[_0x9f7b('0x71')]('userWhatsappQueue:remove',{'UserId':Number(_0x2fdb27[_0x9f7b('0x36')][_0x9f7b('0x68')][_0x615e0f]),'WhatsappQueueId':Number(_0x2fdb27['params']['id'])});}}else{socket[_0x9f7b('0x71')]('userWhatsappQueue:remove',{'UserId':Number(_0x2fdb27[_0x9f7b('0x36')][_0x9f7b('0x68')]),'WhatsappQueueId':Number(_0x2fdb27['params']['id'])});}});}})[_0x9f7b('0x27')](respondWithStatusCode(_0xa169e4,null))['catch'](handleError(_0xa169e4,null));};exports[_0x9f7b('0x8b')]=function(_0x947ea0,_0x43269d,_0x240788){var _0x40c989={};var _0x43a649={};var _0x48f346;var _0x5a50a5;return db[_0x9f7b('0x31')][_0x9f7b('0x55')]({'where':{'id':_0x947ea0[_0x9f7b('0x49')]['id']}})[_0x9f7b('0x27')](handleEntityNotFound(_0x43269d,null))[_0x9f7b('0x27')](function(_0x2e6cfd){if(_0x2e6cfd){_0x48f346=_0x2e6cfd;_0x43a649['model']=_[_0x9f7b('0x35')](db['User'][_0x9f7b('0x57')]);_0x43a649[_0x9f7b('0x36')]=_['keys'](_0x947ea0[_0x9f7b('0x36')]);_0x43a649['filters']=_[_0x9f7b('0x38')](_0x43a649['model'],_0x43a649['query']);_0x40c989[_0x9f7b('0x39')]=_[_0x9f7b('0x38')](_0x43a649[_0x9f7b('0x34')],qs[_0x9f7b('0x3a')](_0x947ea0[_0x9f7b('0x36')]['fields']));_0x40c989[_0x9f7b('0x39')]=_0x40c989['attributes'][_0x9f7b('0x3b')]?_0x40c989[_0x9f7b('0x39')]:_0x43a649['model'];_0x40c989[_0x9f7b('0x3e')]=qs['sort'](_0x947ea0['query']['sort']);_0x40c989['where']=qs['filters'](_[_0x9f7b('0x58')](_0x947ea0[_0x9f7b('0x36')],_0x43a649[_0x9f7b('0x37')]));if(_0x947ea0[_0x9f7b('0x36')]['filter']){_0x40c989[_0x9f7b('0x40')]=_[_0x9f7b('0x42')](_0x40c989[_0x9f7b('0x40')],{'$or':_[_0x9f7b('0x30')](_0x40c989[_0x9f7b('0x39')],function(_0x4c7a04){var _0x1678bb={};_0x1678bb[_0x4c7a04]={'$like':'%'+_0x947ea0[_0x9f7b('0x36')][_0x9f7b('0x41')]+'%'};return _0x1678bb;})});}_0x40c989=_['merge']({},_0x40c989,_0x947ea0[_0x9f7b('0x44')]);return _0x48f346[_0x9f7b('0x8b')](_0x40c989);}})[_0x9f7b('0x27')](function(_0x41b6fc){if(_0x41b6fc){_0x5a50a5=_0x41b6fc[_0x9f7b('0x3b')];if(!_0x947ea0[_0x9f7b('0x36')][_0x9f7b('0x3c')](_0x9f7b('0x3d'))){_0x40c989['limit']=qs['limit'](_0x947ea0[_0x9f7b('0x36')][_0x9f7b('0x1f')]);_0x40c989[_0x9f7b('0x1e')]=qs[_0x9f7b('0x1e')](_0x947ea0['query'][_0x9f7b('0x1e')]);}return _0x48f346['getAgents'](_0x40c989);}})['then'](function(_0x1d3989){if(_0x1d3989){return _0x1d3989?{'count':_0x5a50a5,'rows':_0x1d3989}:null;}})[_0x9f7b('0x27')](respondWithResult(_0x43269d,null))[_0x9f7b('0x48')](handleError(_0x43269d,null));};