e1963940094048536095b8ea94c94d033fa859cc
[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 _0xd70e=['SELECT','TeamId','includes','all','union','compact','isEmpty','removeAgents','userWhatsappQueue:remove','addAgents','spread','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','socket.io-emitter','./whatsappQueue.socket','register','sendStatus','status','json','offset','undefined','limit','count','Content-Range','update','then','WhatsappQueues','destroy','end','error','stack','name','send','map','WhatsappQueue','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','includeAll','rows','catch','show','include','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','describe','findOne','UserWhatsappQueue','nolimit','findAll','User','findAndCountAll','UserId','agent','whatsappPause','createdAt','format','%s/%s','SIP','updatedAt','getTeams','Team','addTeams','ids','Agents','online','voicePause','interface','sequelize','each','findOrCreate','forEach','emit','userWhatsappQueue:save','removeTeams','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'];(function(_0xd9361d,_0x16bf68){var _0x29eeee=function(_0x372ec2){while(--_0x372ec2){_0xd9361d['push'](_0xd9361d['shift']());}};_0x29eeee(++_0x16bf68);}(_0xd70e,0x9a));var _0xed70=function(_0x51855a,_0x18ac87){_0x51855a=_0x51855a-0x0;var _0x32d730=_0xd70e[_0x51855a];return _0x32d730;};'use strict';var emlformat=require(_0xed70('0x0'));var rimraf=require(_0xed70('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xed70('0x2'));var rp=require(_0xed70('0x3'));var moment=require(_0xed70('0x4'));var BPromise=require(_0xed70('0x5'));var Mustache=require(_0xed70('0x6'));var util=require(_0xed70('0x7'));var path=require('path');var sox=require(_0xed70('0x8'));var csv=require(_0xed70('0x9'));var ejs=require(_0xed70('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xed70('0xb'));var squel=require(_0xed70('0xc'));var crypto=require(_0xed70('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xed70('0xe'));var toCsv=require(_0xed70('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xed70('0xf'));var authService=require(_0xed70('0x10'));var qs=require(_0xed70('0x11'));var as=require(_0xed70('0x12'));var hardwareService=require(_0xed70('0x13'));var logger=require('../../config/logger')(_0xed70('0x14'));var utils=require('../../config/utils');var config=require(_0xed70('0x15'));var licenseUtil=require(_0xed70('0x16'));var db=require(_0xed70('0x17'))['db'];config[_0xed70('0x18')]=_['defaults'](config[_0xed70('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xed70('0x19'))(new Redis(config[_0xed70('0x18')]));require(_0xed70('0x1a'))[_0xed70('0x1b')](socket);function respondWithStatusCode(_0x699770,_0x3f76bf){_0x3f76bf=_0x3f76bf||0xcc;return function(_0x15a61f){if(_0x15a61f){return _0x699770[_0xed70('0x1c')](_0x3f76bf);}return _0x699770[_0xed70('0x1d')](_0x3f76bf)['end']();};}function respondWithResult(_0x48b73f,_0x21fa19){_0x21fa19=_0x21fa19||0xc8;return function(_0x198725){if(_0x198725){return _0x48b73f[_0xed70('0x1d')](_0x21fa19)[_0xed70('0x1e')](_0x198725);}};}function respondWithFilteredResult(_0x5ba740,_0x28c2a0){return function(_0xd87066){if(_0xd87066){var _0x46d135=typeof _0x28c2a0[_0xed70('0x1f')]===_0xed70('0x20')&&typeof _0x28c2a0[_0xed70('0x21')]===_0xed70('0x20');var _0x2ed1c7=_0xd87066[_0xed70('0x22')];var _0x343975=_0x46d135?0x0:_0x28c2a0['offset'];var _0x524632=_0x46d135?_0xd87066[_0xed70('0x22')]:_0x28c2a0[_0xed70('0x1f')]+_0x28c2a0[_0xed70('0x21')];var _0x50fb54;if(_0x524632>=_0x2ed1c7){_0x524632=_0x2ed1c7;_0x50fb54=0xc8;}else{_0x50fb54=0xce;}_0x5ba740[_0xed70('0x1d')](_0x50fb54);return _0x5ba740['set'](_0xed70('0x23'),_0x343975+'-'+_0x524632+'/'+_0x2ed1c7)[_0xed70('0x1e')](_0xd87066);}return null;};}function patchUpdates(_0x115dbc){return function(_0xe5e54a){try{jsonpatch['apply'](_0xe5e54a,_0x115dbc,!![]);}catch(_0x4a66f0){return BPromise['reject'](_0x4a66f0);}return _0xe5e54a['save']();};}function saveUpdates(_0xaa7ea9,_0x2d8279){return function(_0x468a28){if(_0x468a28){return _0x468a28[_0xed70('0x24')](_0xaa7ea9)[_0xed70('0x25')](function(_0x31aae2){return _0x31aae2;});}return null;};}function removeEntity(_0x30a9d6,_0x236b9b){return function(_0x4c54b4){if(_0x4c54b4){return _0x4c54b4['destroy']()[_0xed70('0x25')](function(){var _0x5105f8=_0x4c54b4['get']({'plain':!![]});var _0x3b0247=_0xed70('0x26');return db['UserProfileResource'][_0xed70('0x27')]({'where':{'type':_0x3b0247,'resourceId':_0x5105f8['id']}})[_0xed70('0x25')](function(){return _0x4c54b4;});})['then'](function(){_0x30a9d6[_0xed70('0x1d')](0xcc)[_0xed70('0x28')]();});}};}function handleEntityNotFound(_0x2c066f,_0x120e1e){return function(_0x43a6ca){if(!_0x43a6ca){_0x2c066f[_0xed70('0x1c')](0x194);}return _0x43a6ca;};}function handleError(_0x252acc,_0xcb965e){_0xcb965e=_0xcb965e||0x1f4;return function(_0x5a5d56){logger[_0xed70('0x29')](_0x5a5d56[_0xed70('0x2a')]);if(_0x5a5d56[_0xed70('0x2b')]){delete _0x5a5d56[_0xed70('0x2b')];}_0x252acc[_0xed70('0x1d')](_0xcb965e)[_0xed70('0x2c')](_0x5a5d56);};}exports['index']=function(_0x4edd27,_0x117f26){var _0x2b3be4={},_0x364fc5={},_0x5ca65e={'count':0x0,'rows':[]};var _0x1ab31d=_[_0xed70('0x2d')](db[_0xed70('0x2e')][_0xed70('0x2f')],function(_0x475470){return{'name':_0x475470[_0xed70('0x30')],'type':_0x475470[_0xed70('0x31')]['key']};});_0x364fc5[_0xed70('0x32')]=_[_0xed70('0x2d')](_0x1ab31d,_0xed70('0x2b'));_0x364fc5[_0xed70('0x33')]=_[_0xed70('0x34')](_0x4edd27[_0xed70('0x33')]);_0x364fc5[_0xed70('0x35')]=_[_0xed70('0x36')](_0x364fc5[_0xed70('0x32')],_0x364fc5[_0xed70('0x33')]);_0x2b3be4[_0xed70('0x37')]=_[_0xed70('0x36')](_0x364fc5[_0xed70('0x32')],qs['fields'](_0x4edd27[_0xed70('0x33')][_0xed70('0x38')]));_0x2b3be4[_0xed70('0x37')]=_0x2b3be4[_0xed70('0x37')][_0xed70('0x39')]?_0x2b3be4['attributes']:_0x364fc5[_0xed70('0x32')];if(!_0x4edd27['query'][_0xed70('0x3a')]('nolimit')){_0x2b3be4[_0xed70('0x21')]=qs[_0xed70('0x21')](_0x4edd27[_0xed70('0x33')][_0xed70('0x21')]);_0x2b3be4[_0xed70('0x1f')]=qs[_0xed70('0x1f')](_0x4edd27['query']['offset']);}_0x2b3be4[_0xed70('0x3b')]=qs[_0xed70('0x3c')](_0x4edd27[_0xed70('0x33')]['sort']);_0x2b3be4[_0xed70('0x3d')]=qs[_0xed70('0x35')](_[_0xed70('0x3e')](_0x4edd27[_0xed70('0x33')],_0x364fc5[_0xed70('0x35')]),_0x1ab31d);if(_0x4edd27[_0xed70('0x33')][_0xed70('0x3f')]){_0x2b3be4[_0xed70('0x3d')]=_['merge'](_0x2b3be4[_0xed70('0x3d')],{'$or':_['map'](_0x1ab31d,function(_0x2eb80b){if(_0x2eb80b[_0xed70('0x31')]!==_0xed70('0x40')){var _0x59fc7e={};_0x59fc7e[_0x2eb80b[_0xed70('0x2b')]]={'$like':'%'+_0x4edd27[_0xed70('0x33')][_0xed70('0x3f')]+'%'};return _0x59fc7e;}})});}_0x2b3be4=_[_0xed70('0x41')]({},_0x2b3be4,_0x4edd27['options']);var _0x5c1fe1={'where':_0x2b3be4['where']};return db[_0xed70('0x2e')][_0xed70('0x22')](_0x5c1fe1)[_0xed70('0x25')](function(_0x3b492f){_0x5ca65e['count']=_0x3b492f;if(_0x4edd27[_0xed70('0x33')][_0xed70('0x42')]){_0x2b3be4['include']=[{'all':!![]}];}return db[_0xed70('0x2e')]['findAll'](_0x2b3be4);})[_0xed70('0x25')](function(_0x276b49){_0x5ca65e[_0xed70('0x43')]=_0x276b49;return _0x5ca65e;})[_0xed70('0x25')](respondWithFilteredResult(_0x117f26,_0x2b3be4))[_0xed70('0x44')](handleError(_0x117f26,null));};exports[_0xed70('0x45')]=function(_0xb2ecbb,_0xa69df4){var _0x3b1a89={'raw':!![],'where':{'id':_0xb2ecbb['params']['id']}},_0x1fcbc8={};_0x1fcbc8[_0xed70('0x32')]=_[_0xed70('0x34')](db[_0xed70('0x2e')][_0xed70('0x2f')]);_0x1fcbc8[_0xed70('0x33')]=_[_0xed70('0x34')](_0xb2ecbb[_0xed70('0x33')]);_0x1fcbc8[_0xed70('0x35')]=_[_0xed70('0x36')](_0x1fcbc8[_0xed70('0x32')],_0x1fcbc8[_0xed70('0x33')]);_0x3b1a89[_0xed70('0x37')]=_[_0xed70('0x36')](_0x1fcbc8[_0xed70('0x32')],qs[_0xed70('0x38')](_0xb2ecbb[_0xed70('0x33')][_0xed70('0x38')]));_0x3b1a89[_0xed70('0x37')]=_0x3b1a89[_0xed70('0x37')][_0xed70('0x39')]?_0x3b1a89[_0xed70('0x37')]:_0x1fcbc8[_0xed70('0x32')];if(_0xb2ecbb[_0xed70('0x33')]['includeAll']){_0x3b1a89[_0xed70('0x46')]=[{'all':!![]}];}_0x3b1a89=_[_0xed70('0x41')]({},_0x3b1a89,_0xb2ecbb[_0xed70('0x47')]);return db[_0xed70('0x2e')][_0xed70('0x48')](_0x3b1a89)[_0xed70('0x25')](handleEntityNotFound(_0xa69df4,null))[_0xed70('0x25')](respondWithResult(_0xa69df4,null))[_0xed70('0x44')](handleError(_0xa69df4,null));};exports['create']=function(_0x5d8ef4,_0x1a164d){return db[_0xed70('0x2e')][_0xed70('0x49')](_0x5d8ef4['body'],{})['then'](function(_0x5036e5){var _0x3a6522=_0x5d8ef4[_0xed70('0x4a')]['get']({'plain':!![]});if(!_0x3a6522)throw new Error(_0xed70('0x4b'));if(_0x3a6522[_0xed70('0x4c')]===_0xed70('0x4a')){var _0x1ab4c3=_0x5036e5[_0xed70('0x4d')]({'plain':!![]});var _0x16c116='WhatsappQueues';return db[_0xed70('0x4e')][_0xed70('0x48')]({'where':{'name':_0x16c116,'userProfileId':_0x3a6522[_0xed70('0x4f')]},'raw':!![]})[_0xed70('0x25')](function(_0x4c569f){if(_0x4c569f&&_0x4c569f[_0xed70('0x50')]===0x0){return db[_0xed70('0x51')][_0xed70('0x49')]({'name':_0x1ab4c3['name'],'resourceId':_0x1ab4c3['id'],'type':_0x4c569f[_0xed70('0x2b')],'sectionId':_0x4c569f['id']},{})[_0xed70('0x25')](function(){return _0x5036e5;});}else{return _0x5036e5;}})['catch'](function(_0x21d9c5){logger['error'](_0xed70('0x52'),_0x21d9c5);throw _0x21d9c5;});}return _0x5036e5;})[_0xed70('0x25')](respondWithResult(_0x1a164d,0xc9))[_0xed70('0x44')](handleError(_0x1a164d,null));};exports[_0xed70('0x24')]=function(_0xf67636,_0x2eb9a6){if(_0xf67636[_0xed70('0x53')]['id']){delete _0xf67636['body']['id'];}return db['WhatsappQueue']['find']({'where':{'id':_0xf67636[_0xed70('0x54')]['id']}})['then'](handleEntityNotFound(_0x2eb9a6,null))[_0xed70('0x25')](saveUpdates(_0xf67636[_0xed70('0x53')],null))[_0xed70('0x25')](respondWithResult(_0x2eb9a6,null))['catch'](handleError(_0x2eb9a6,null));};exports['destroy']=function(_0x3c0481,_0x153b9d){return db[_0xed70('0x2e')]['find']({'where':{'id':_0x3c0481[_0xed70('0x54')]['id']}})[_0xed70('0x25')](handleEntityNotFound(_0x153b9d,null))['then'](removeEntity(_0x153b9d,null))['catch'](handleError(_0x153b9d,null));};exports['describe']=function(_0x3eb1e3,_0x379ac2){return db[_0xed70('0x2e')][_0xed70('0x55')]()['then'](respondWithResult(_0x379ac2,null))[_0xed70('0x44')](handleError(_0x379ac2,null));};exports['getMembers']=function(_0x178dd5,_0x39a1c0,_0x58b115){var _0x1abb15={'raw':!![],'where':{}},_0x2ea8f2={},_0x11a0f6;return db[_0xed70('0x2e')][_0xed70('0x56')]({'where':{'id':_0x178dd5[_0xed70('0x54')]['id']}})[_0xed70('0x25')](handleEntityNotFound(_0x39a1c0,null))['then'](function(_0x1949ea){if(_0x1949ea){_0x11a0f6=_0x1949ea[_0xed70('0x4d')]({'plain':!![]});_0x2ea8f2[_0xed70('0x32')]=_[_0xed70('0x34')](db[_0xed70('0x57')]['rawAttributes']);_0x2ea8f2[_0xed70('0x33')]=_['keys'](_0x178dd5['query']);_0x2ea8f2[_0xed70('0x35')]=_['intersection'](_0x2ea8f2[_0xed70('0x32')],_0x2ea8f2[_0xed70('0x33')]);_0x1abb15[_0xed70('0x37')]=_[_0xed70('0x36')](_0x2ea8f2[_0xed70('0x32')],qs['fields'](_0x178dd5['query'][_0xed70('0x38')]));_0x1abb15[_0xed70('0x37')]=_0x1abb15['attributes'][_0xed70('0x39')]?_0x1abb15[_0xed70('0x37')]:_0x2ea8f2[_0xed70('0x32')];if(!_0x178dd5[_0xed70('0x33')][_0xed70('0x3a')](_0xed70('0x58'))){_0x1abb15[_0xed70('0x21')]=qs[_0xed70('0x21')](_0x178dd5['query'][_0xed70('0x21')]);_0x1abb15['offset']=qs['offset'](_0x178dd5[_0xed70('0x33')][_0xed70('0x1f')]);}_0x1abb15[_0xed70('0x3b')]=qs[_0xed70('0x3c')](_0x178dd5[_0xed70('0x33')][_0xed70('0x3c')]);_0x1abb15[_0xed70('0x3d')]=qs[_0xed70('0x35')](_['pick'](_0x178dd5['query'],_0x2ea8f2[_0xed70('0x35')]));_0x1abb15[_0xed70('0x3d')]['WhatsappQueueId']=_0x1949ea['id'];if(_0x178dd5[_0xed70('0x33')][_0xed70('0x3f')]){_0x1abb15['where']=_[_0xed70('0x41')](_0x1abb15[_0xed70('0x3d')],{'$or':_['map'](_0x1abb15[_0xed70('0x37')],function(_0x3ea196){var _0x83bcd2={};_0x83bcd2[_0x3ea196]={'$like':'%'+_0x178dd5[_0xed70('0x33')][_0xed70('0x3f')]+'%'};return _0x83bcd2;})});}_0x1abb15=_[_0xed70('0x41')]({},_0x1abb15,_0x178dd5['options']);return db[_0xed70('0x57')][_0xed70('0x59')](_0x1abb15);}})['then'](function(_0x554df6){if(_0x554df6){return db[_0xed70('0x5a')][_0xed70('0x5b')]({'where':{'id':_[_0xed70('0x2d')](_0x554df6,_0xed70('0x5c')),'role':_0xed70('0x5d')},'attributes':['id',_0xed70('0x2b'),_0xed70('0x5e'),'updatedAt',_0xed70('0x5f')]});}})[_0xed70('0x25')](function(_0x51a6b3){if(_0x51a6b3){return{'count':_0x51a6b3['count'],'rows':_[_0xed70('0x2d')](_0x51a6b3['rows'],function(_0x258210){return{'membername':_0x258210[_0xed70('0x2b')],'UserId':_0x258210['id'],'queue_name':_0x11a0f6[_0xed70('0x2b')],'WhatsappQueueId':_0x11a0f6['id'],'interface':util[_0xed70('0x60')](_0xed70('0x61'),_0xed70('0x62'),_0x258210[_0xed70('0x2b')]),'penalty':0x0,'paused':_0x258210[_0xed70('0x5e')],'createdAt':_0x258210[_0xed70('0x5f')],'updatedAt':_0x258210[_0xed70('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xed70('0x25')](respondWithFilteredResult(_0x39a1c0,_0x1abb15))[_0xed70('0x44')](handleError(_0x39a1c0,null));};exports[_0xed70('0x64')]=function(_0x4e23f1,_0x3c679e,_0x47a5ce){var _0x6efa0f={};var _0x16bcda={};var _0x3b18ce;var _0x292c71;return db[_0xed70('0x2e')][_0xed70('0x56')]({'where':{'id':_0x4e23f1[_0xed70('0x54')]['id']}})[_0xed70('0x25')](handleEntityNotFound(_0x3c679e,null))[_0xed70('0x25')](function(_0x2a073b){if(_0x2a073b){_0x3b18ce=_0x2a073b;_0x16bcda['model']=_[_0xed70('0x34')](db[_0xed70('0x65')][_0xed70('0x2f')]);_0x16bcda['query']=_[_0xed70('0x34')](_0x4e23f1[_0xed70('0x33')]);_0x16bcda[_0xed70('0x35')]=_['intersection'](_0x16bcda['model'],_0x16bcda[_0xed70('0x33')]);_0x6efa0f['attributes']=_[_0xed70('0x36')](_0x16bcda['model'],qs[_0xed70('0x38')](_0x4e23f1['query'][_0xed70('0x38')]));_0x6efa0f['attributes']=_0x6efa0f[_0xed70('0x37')]['length']?_0x6efa0f[_0xed70('0x37')]:_0x16bcda[_0xed70('0x32')];_0x6efa0f[_0xed70('0x3b')]=qs['sort'](_0x4e23f1[_0xed70('0x33')]['sort']);_0x6efa0f['where']=qs[_0xed70('0x35')](_[_0xed70('0x3e')](_0x4e23f1[_0xed70('0x33')],_0x16bcda[_0xed70('0x35')]));if(_0x4e23f1['query'][_0xed70('0x3f')]){_0x6efa0f['where']=_[_0xed70('0x41')](_0x6efa0f[_0xed70('0x3d')],{'$or':_[_0xed70('0x2d')](_0x6efa0f['attributes'],function(_0x4ab182){var _0x35f655={};_0x35f655[_0x4ab182]={'$like':'%'+_0x4e23f1[_0xed70('0x33')]['filter']+'%'};return _0x35f655;})});}_0x6efa0f=_[_0xed70('0x41')]({},_0x6efa0f,_0x4e23f1[_0xed70('0x47')]);return _0x3b18ce[_0xed70('0x64')](_0x6efa0f);}})[_0xed70('0x25')](function(_0x591079){if(_0x591079){_0x292c71=_0x591079[_0xed70('0x39')];if(!_0x4e23f1[_0xed70('0x33')]['hasOwnProperty'](_0xed70('0x58'))){_0x6efa0f[_0xed70('0x21')]=qs['limit'](_0x4e23f1[_0xed70('0x33')][_0xed70('0x21')]);_0x6efa0f[_0xed70('0x1f')]=qs['offset'](_0x4e23f1[_0xed70('0x33')][_0xed70('0x1f')]);}return _0x3b18ce[_0xed70('0x64')](_0x6efa0f);}})[_0xed70('0x25')](function(_0x1434b2){if(_0x1434b2){return _0x1434b2?{'count':_0x292c71,'rows':_0x1434b2}:null;}})[_0xed70('0x25')](respondWithResult(_0x3c679e,null))['catch'](handleError(_0x3c679e,null));};exports[_0xed70('0x66')]=function(_0x123813,_0x299ceb,_0x5a3a73){var _0x3d28a2=_0x123813['body'][_0xed70('0x67')];return db[_0xed70('0x65')][_0xed70('0x59')]({'where':{'id':_0x3d28a2},'attributes':['id'],'include':[{'model':db['User'],'as':_0xed70('0x68'),'attributes':['id','name',_0xed70('0x69'),_0xed70('0x6a'),_0xed70('0x6b')],'raw':!![]}]})[_0xed70('0x25')](function(_0x25c49e){if(_0x25c49e){var _0x25145a=_['flatMap'](_0x25c49e,function(_0x2db200){var _0x5adb51=_0x2db200[_0xed70('0x4d')]({'plain':!![]});return _0x5adb51['Agents'];});return db[_0xed70('0x2e')][_0xed70('0x48')]({'where':{'id':_0x123813[_0xed70('0x54')]['id']}})[_0xed70('0x25')](function(_0x50c341){return db[_0xed70('0x6c')]['transaction'](function(_0x1f1062){return _0x50c341[_0xed70('0x66')](_0x3d28a2,{'transaction':_0x1f1062})[_0xed70('0x25')](function(){return BPromise[_0xed70('0x6d')](_0x25145a,function(_0x9ea379){return db[_0xed70('0x57')][_0xed70('0x6e')]({'where':{'UserId':_0x9ea379['id'],'WhatsappQueueId':_0x123813[_0xed70('0x54')]['id']},'transaction':_0x1f1062});});})[_0xed70('0x25')](function(){_0x25145a[_0xed70('0x6f')](function(_0x8af5b3){socket[_0xed70('0x70')](_0xed70('0x71'),{'UserId':_0x8af5b3['id'],'WhatsappQueueId':_0x50c341['id']});});});});});}})[_0xed70('0x25')](respondWithStatusCode(_0x299ceb,null))[_0xed70('0x44')](handleError(_0x299ceb,null));};exports[_0xed70('0x72')]=function(_0x49bfd2,_0x1c3bc2,_0x20493d){return db['Team'][_0xed70('0x59')]({'where':{'id':_0x49bfd2[_0xed70('0x33')][_0xed70('0x67')]},'attributes':['id'],'include':[{'model':db[_0xed70('0x5a')],'as':_0xed70('0x68'),'attributes':['id'],'raw':!![]}]})[_0xed70('0x25')](handleEntityNotFound(_0x1c3bc2,null))['then'](function(_0x1294bd){var _0x38b427=_[_0xed70('0x2d')](_0x1294bd,'id');var _0x12b6ea=[];var _0x45c824=[];var _0x4e917d=squel[_0xed70('0x73')]();_0x4e917d[_0xed70('0x74')](_0xed70('0x75'))[_0xed70('0x76')]('team_has_whatsapp_queues','tq')[_0xed70('0x77')](_0xed70('0x78'),'ut',_0xed70('0x79'))[_0xed70('0x3d')](_0xed70('0x7a'),_0x49bfd2[_0xed70('0x54')]['id']);for(var _0x200bf6=0x0;_0x200bf6<_0x1294bd[_0xed70('0x39')];_0x200bf6+=0x1){let _0x1c3ef7=_0x1294bd[_0x200bf6];for(var _0x34b2d3=0x0;_0x34b2d3<_0x1c3ef7[_0xed70('0x68')][_0xed70('0x39')];_0x34b2d3+=0x1){let _0x433e7f=_0x1c3ef7[_0xed70('0x68')][_0x34b2d3];var _0x44be86=_0x4e917d[_0xed70('0x7b')]();_0x44be86['where'](_0xed70('0x7c'),_0x433e7f['id']);_0x45c824[_0xed70('0x7d')](db[_0xed70('0x6c')][_0xed70('0x33')](_0x44be86[_0xed70('0x7e')](),{'type':db[_0xed70('0x6c')][_0xed70('0x7f')][_0xed70('0x80')]})['then'](function(_0x46aaed){if(_0x46aaed[_0xed70('0x39')]===0x1){return _0x433e7f['id'];}else{var _0x2ea418=_['every'](_[_0xed70('0x2d')](_0x46aaed,_0xed70('0x81')),function(_0x4e1e2e){return _[_0xed70('0x82')](_0x38b427,_0x4e1e2e);});if(_0x2ea418){return _0x433e7f['id'];}}}));}}return BPromise[_0xed70('0x83')](_0x45c824)[_0xed70('0x25')](function(_0xd0630){_0x12b6ea=_(_0x12b6ea)[_0xed70('0x84')](_0xd0630)[_0xed70('0x85')]()['value']();return db[_0xed70('0x2e')][_0xed70('0x48')]({'where':{'id':_0x49bfd2[_0xed70('0x54')]['id']}})['then'](function(_0x2f64e3){return db[_0xed70('0x6c')]['transaction'](function(_0x8eb06d){return _0x2f64e3[_0xed70('0x72')](_0x49bfd2['query'][_0xed70('0x67')],{'transaction':_0x8eb06d})[_0xed70('0x25')](function(){if(!_[_0xed70('0x86')](_0x12b6ea)){return _0x2f64e3[_0xed70('0x87')](_0x12b6ea,{'transaction':_0x8eb06d});}})['then'](function(){_0x12b6ea[_0xed70('0x6f')](function(_0x5424a3){socket['emit'](_0xed70('0x88'),{'UserId':_0x5424a3,'WhatsappQueueId':_0x2f64e3['id']});});});});});});})[_0xed70('0x25')](respondWithStatusCode(_0x1c3bc2,null))[_0xed70('0x44')](handleError(_0x1c3bc2,null));};exports[_0xed70('0x89')]=function(_0x5dd1ce,_0x2fb8ba,_0xa49cb3){return db[_0xed70('0x2e')][_0xed70('0x48')]({'where':{'id':_0x5dd1ce['params']['id']}})['then'](handleEntityNotFound(_0x2fb8ba,null))['then'](function(_0x3440ef){if(_0x3440ef){return _0x3440ef[_0xed70('0x89')](_0x5dd1ce[_0xed70('0x53')][_0xed70('0x67')],_['omit'](_0x5dd1ce[_0xed70('0x53')],['ids','id'])||{})[_0xed70('0x8a')](function(_0x419f41){for(var _0x5a7564=0x0;_0x5a7564<_0x5dd1ce[_0xed70('0x53')][_0xed70('0x67')][_0xed70('0x39')];_0x5a7564+=0x1){socket[_0xed70('0x70')]('userWhatsappQueue:save',{'UserId':Number(_0x5dd1ce[_0xed70('0x53')]['ids'][_0x5a7564]),'WhatsappQueueId':Number(_0x5dd1ce[_0xed70('0x54')]['id'])});}return _0x419f41;});}})[_0xed70('0x25')](respondWithResult(_0x2fb8ba,null))['catch'](handleError(_0x2fb8ba,null));};exports[_0xed70('0x87')]=function(_0x7d2fce,_0x186b2c,_0x179d14){return db[_0xed70('0x2e')][_0xed70('0x48')]({'where':{'id':_0x7d2fce[_0xed70('0x54')]['id']}})['then'](handleEntityNotFound(_0x186b2c,null))[_0xed70('0x25')](function(_0x16be2a){if(_0x16be2a){return _0x16be2a[_0xed70('0x87')](_0x7d2fce['query'][_0xed70('0x67')])[_0xed70('0x25')](function(){if(_[_0xed70('0x8b')](_0x7d2fce[_0xed70('0x33')][_0xed70('0x67')])){for(var _0x24807a=0x0;_0x24807a<_0x7d2fce[_0xed70('0x33')][_0xed70('0x67')][_0xed70('0x39')];_0x24807a+=0x1){socket[_0xed70('0x70')](_0xed70('0x88'),{'UserId':Number(_0x7d2fce[_0xed70('0x33')][_0xed70('0x67')][_0x24807a]),'WhatsappQueueId':Number(_0x7d2fce[_0xed70('0x54')]['id'])});}}else{socket[_0xed70('0x70')](_0xed70('0x88'),{'UserId':Number(_0x7d2fce[_0xed70('0x33')][_0xed70('0x67')]),'WhatsappQueueId':Number(_0x7d2fce[_0xed70('0x54')]['id'])});}});}})[_0xed70('0x25')](respondWithStatusCode(_0x186b2c,null))[_0xed70('0x44')](handleError(_0x186b2c,null));};exports[_0xed70('0x8c')]=function(_0x5ad643,_0x2e9c27,_0x136927){var _0x39d9e2={};var _0x234930={};var _0x318d65;var _0x44d476;return db['WhatsappQueue'][_0xed70('0x56')]({'where':{'id':_0x5ad643[_0xed70('0x54')]['id']}})[_0xed70('0x25')](handleEntityNotFound(_0x2e9c27,null))[_0xed70('0x25')](function(_0x22b2a3){if(_0x22b2a3){_0x318d65=_0x22b2a3;_0x234930['model']=_[_0xed70('0x34')](db[_0xed70('0x5a')]['rawAttributes']);_0x234930['query']=_['keys'](_0x5ad643[_0xed70('0x33')]);_0x234930[_0xed70('0x35')]=_[_0xed70('0x36')](_0x234930[_0xed70('0x32')],_0x234930[_0xed70('0x33')]);_0x39d9e2[_0xed70('0x37')]=_[_0xed70('0x36')](_0x234930[_0xed70('0x32')],qs[_0xed70('0x38')](_0x5ad643[_0xed70('0x33')][_0xed70('0x38')]));_0x39d9e2['attributes']=_0x39d9e2['attributes'][_0xed70('0x39')]?_0x39d9e2[_0xed70('0x37')]:_0x234930[_0xed70('0x32')];_0x39d9e2[_0xed70('0x3b')]=qs[_0xed70('0x3c')](_0x5ad643[_0xed70('0x33')][_0xed70('0x3c')]);_0x39d9e2[_0xed70('0x3d')]=qs[_0xed70('0x35')](_[_0xed70('0x3e')](_0x5ad643[_0xed70('0x33')],_0x234930['filters']));if(_0x5ad643[_0xed70('0x33')]['filter']){_0x39d9e2[_0xed70('0x3d')]=_[_0xed70('0x41')](_0x39d9e2[_0xed70('0x3d')],{'$or':_[_0xed70('0x2d')](_0x39d9e2[_0xed70('0x37')],function(_0x2fa287){var _0x1ffd37={};_0x1ffd37[_0x2fa287]={'$like':'%'+_0x5ad643[_0xed70('0x33')]['filter']+'%'};return _0x1ffd37;})});}_0x39d9e2=_[_0xed70('0x41')]({},_0x39d9e2,_0x5ad643[_0xed70('0x47')]);return _0x318d65[_0xed70('0x8c')](_0x39d9e2);}})[_0xed70('0x25')](function(_0x30bb3b){if(_0x30bb3b){_0x44d476=_0x30bb3b[_0xed70('0x39')];if(!_0x5ad643[_0xed70('0x33')][_0xed70('0x3a')]('nolimit')){_0x39d9e2[_0xed70('0x21')]=qs[_0xed70('0x21')](_0x5ad643[_0xed70('0x33')][_0xed70('0x21')]);_0x39d9e2[_0xed70('0x1f')]=qs[_0xed70('0x1f')](_0x5ad643[_0xed70('0x33')][_0xed70('0x1f')]);}return _0x318d65[_0xed70('0x8c')](_0x39d9e2);}})[_0xed70('0x25')](function(_0x778404){if(_0x778404){return _0x778404?{'count':_0x44d476,'rows':_0x778404}:null;}})[_0xed70('0x25')](respondWithResult(_0x2e9c27,null))[_0xed70('0x44')](handleError(_0x2e9c27,null));};