2c3546e5d2926270443316f67dfa169cf7c0a54f
[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 _0xeda9=['Content-Range','json','reject','save','update','then','get','WhatsappQueues','UserProfileResource','destroy','end','error','stack','name','send','index','map','WhatsappQueue','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','order','where','pick','merge','VIRTUAL','includeAll','include','rows','catch','show','params','keys','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','describe','findOne','UserWhatsappQueue','hasOwnProperty','sort','WhatsappQueueId','filter','findAll','findAndCountAll','UserId','whatsappPause','updatedAt','createdAt','getTeams','Team','nolimit','addTeams','ids','voicePause','interface','flatMap','Agents','sequelize','each','findOrCreate','forEach','emit','removeTeams','User','select','tq.TeamId','from','team_has_whatsapp_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','includes','all','union','value','transaction','isEmpty','removeAgents','userWhatsappQueue:remove','spread','isArray','getAgents','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./whatsappQueue.socket','register','sendStatus','status','offset','undefined','limit','count','set'];(function(_0x4b055c,_0x4b870b){var _0x4b62bb=function(_0x4884c2){while(--_0x4884c2){_0x4b055c['push'](_0x4b055c['shift']());}};_0x4b62bb(++_0x4b870b);}(_0xeda9,0xf4));var _0x9eda=function(_0x158e3b,_0x4534b){_0x158e3b=_0x158e3b-0x0;var _0x551a1d=_0xeda9[_0x158e3b];return _0x551a1d;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9eda('0x0'));var jsonpatch=require(_0x9eda('0x1'));var rp=require(_0x9eda('0x2'));var moment=require('moment');var BPromise=require(_0x9eda('0x3'));var Mustache=require(_0x9eda('0x4'));var util=require(_0x9eda('0x5'));var path=require(_0x9eda('0x6'));var sox=require(_0x9eda('0x7'));var csv=require(_0x9eda('0x8'));var ejs=require(_0x9eda('0x9'));var fs=require('fs');var fs_extra=require(_0x9eda('0xa'));var _=require(_0x9eda('0xb'));var squel=require(_0x9eda('0xc'));var crypto=require(_0x9eda('0xd'));var jsforce=require(_0x9eda('0xe'));var deskjs=require(_0x9eda('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x9eda('0x10'));var Redis=require(_0x9eda('0x11'));var authService=require(_0x9eda('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x9eda('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9eda('0x14'));var utils=require(_0x9eda('0x15'));var config=require(_0x9eda('0x16'));var licenseUtil=require(_0x9eda('0x17'));var db=require(_0x9eda('0x18'))['db'];config['redis']=_[_0x9eda('0x19')](config[_0x9eda('0x1a')],{'host':_0x9eda('0x1b'),'port':0x18eb});var socket=require(_0x9eda('0x1c'))(new Redis(config[_0x9eda('0x1a')]));require(_0x9eda('0x1d'))[_0x9eda('0x1e')](socket);function respondWithStatusCode(_0x34b021,_0x118d28){_0x118d28=_0x118d28||0xcc;return function(_0x34ff54){if(_0x34ff54){return _0x34b021[_0x9eda('0x1f')](_0x118d28);}return _0x34b021['status'](_0x118d28)['end']();};}function respondWithResult(_0x467f2f,_0x1ff45a){_0x1ff45a=_0x1ff45a||0xc8;return function(_0x55c8c5){if(_0x55c8c5){return _0x467f2f[_0x9eda('0x20')](_0x1ff45a)['json'](_0x55c8c5);}};}function respondWithFilteredResult(_0x555fe5,_0x15bdbc){return function(_0x56f813){if(_0x56f813){var _0x477c5a=typeof _0x15bdbc[_0x9eda('0x21')]===_0x9eda('0x22')&&typeof _0x15bdbc[_0x9eda('0x23')]===_0x9eda('0x22');var _0x114684=_0x56f813[_0x9eda('0x24')];var _0x581312=_0x477c5a?0x0:_0x15bdbc[_0x9eda('0x21')];var _0x1c09a8=_0x477c5a?_0x56f813['count']:_0x15bdbc[_0x9eda('0x21')]+_0x15bdbc['limit'];var _0x39800d;if(_0x1c09a8>=_0x114684){_0x1c09a8=_0x114684;_0x39800d=0xc8;}else{_0x39800d=0xce;}_0x555fe5[_0x9eda('0x20')](_0x39800d);return _0x555fe5[_0x9eda('0x25')](_0x9eda('0x26'),_0x581312+'-'+_0x1c09a8+'/'+_0x114684)[_0x9eda('0x27')](_0x56f813);}return null;};}function patchUpdates(_0x2dbcf8){return function(_0x23b4da){try{jsonpatch['apply'](_0x23b4da,_0x2dbcf8,!![]);}catch(_0x3c58d8){return BPromise[_0x9eda('0x28')](_0x3c58d8);}return _0x23b4da[_0x9eda('0x29')]();};}function saveUpdates(_0x1f1771,_0x36ab70){return function(_0x2ee2d1){if(_0x2ee2d1){return _0x2ee2d1[_0x9eda('0x2a')](_0x1f1771)[_0x9eda('0x2b')](function(_0x8ce013){return _0x8ce013;});}return null;};}function removeEntity(_0x2efab0,_0x29f43a){return function(_0x29f62e){if(_0x29f62e){return _0x29f62e['destroy']()[_0x9eda('0x2b')](function(){var _0x48fa08=_0x29f62e[_0x9eda('0x2c')]({'plain':!![]});var _0x4fdee0=_0x9eda('0x2d');return db[_0x9eda('0x2e')][_0x9eda('0x2f')]({'where':{'type':_0x4fdee0,'resourceId':_0x48fa08['id']}})[_0x9eda('0x2b')](function(){return _0x29f62e;});})[_0x9eda('0x2b')](function(){_0x2efab0[_0x9eda('0x20')](0xcc)[_0x9eda('0x30')]();});}};}function handleEntityNotFound(_0x314436,_0x47f6db){return function(_0x4c5dab){if(!_0x4c5dab){_0x314436[_0x9eda('0x1f')](0x194);}return _0x4c5dab;};}function handleError(_0x26fa85,_0x3038f0){_0x3038f0=_0x3038f0||0x1f4;return function(_0x104502){logger[_0x9eda('0x31')](_0x104502[_0x9eda('0x32')]);if(_0x104502[_0x9eda('0x33')]){delete _0x104502[_0x9eda('0x33')];}_0x26fa85[_0x9eda('0x20')](_0x3038f0)[_0x9eda('0x34')](_0x104502);};}exports[_0x9eda('0x35')]=function(_0x115375,_0x2f9671){var _0x490c68={},_0x593e84={},_0x4f6c4b={'count':0x0,'rows':[]};var _0x42eb47=_[_0x9eda('0x36')](db[_0x9eda('0x37')][_0x9eda('0x38')],function(_0x268144){return{'name':_0x268144[_0x9eda('0x39')],'type':_0x268144[_0x9eda('0x3a')][_0x9eda('0x3b')]};});_0x593e84['model']=_[_0x9eda('0x36')](_0x42eb47,_0x9eda('0x33'));_0x593e84[_0x9eda('0x3c')]=_['keys'](_0x115375['query']);_0x593e84[_0x9eda('0x3d')]=_[_0x9eda('0x3e')](_0x593e84[_0x9eda('0x3f')],_0x593e84['query']);_0x490c68[_0x9eda('0x40')]=_[_0x9eda('0x3e')](_0x593e84['model'],qs[_0x9eda('0x41')](_0x115375[_0x9eda('0x3c')][_0x9eda('0x41')]));_0x490c68['attributes']=_0x490c68[_0x9eda('0x40')][_0x9eda('0x42')]?_0x490c68['attributes']:_0x593e84[_0x9eda('0x3f')];if(!_0x115375[_0x9eda('0x3c')]['hasOwnProperty']('nolimit')){_0x490c68['limit']=qs[_0x9eda('0x23')](_0x115375['query'][_0x9eda('0x23')]);_0x490c68[_0x9eda('0x21')]=qs[_0x9eda('0x21')](_0x115375['query']['offset']);}_0x490c68[_0x9eda('0x43')]=qs['sort'](_0x115375[_0x9eda('0x3c')]['sort']);_0x490c68[_0x9eda('0x44')]=qs[_0x9eda('0x3d')](_[_0x9eda('0x45')](_0x115375[_0x9eda('0x3c')],_0x593e84['filters']),_0x42eb47);if(_0x115375[_0x9eda('0x3c')]['filter']){_0x490c68[_0x9eda('0x44')]=_[_0x9eda('0x46')](_0x490c68[_0x9eda('0x44')],{'$or':_['map'](_0x42eb47,function(_0xad1151){if(_0xad1151[_0x9eda('0x3a')]!==_0x9eda('0x47')){var _0x15431d={};_0x15431d[_0xad1151[_0x9eda('0x33')]]={'$like':'%'+_0x115375[_0x9eda('0x3c')]['filter']+'%'};return _0x15431d;}})});}_0x490c68=_['merge']({},_0x490c68,_0x115375['options']);var _0x214007={'where':_0x490c68['where']};return db[_0x9eda('0x37')][_0x9eda('0x24')](_0x214007)[_0x9eda('0x2b')](function(_0x94ee3a){_0x4f6c4b[_0x9eda('0x24')]=_0x94ee3a;if(_0x115375['query'][_0x9eda('0x48')]){_0x490c68[_0x9eda('0x49')]=[{'all':!![]}];}return db['WhatsappQueue']['findAll'](_0x490c68);})[_0x9eda('0x2b')](function(_0x45887b){_0x4f6c4b[_0x9eda('0x4a')]=_0x45887b;return _0x4f6c4b;})[_0x9eda('0x2b')](respondWithFilteredResult(_0x2f9671,_0x490c68))[_0x9eda('0x4b')](handleError(_0x2f9671,null));};exports[_0x9eda('0x4c')]=function(_0x398a9c,_0x5d8e78){var _0x4cf108={'raw':!![],'where':{'id':_0x398a9c[_0x9eda('0x4d')]['id']}},_0x7d691a={};_0x7d691a[_0x9eda('0x3f')]=_[_0x9eda('0x4e')](db[_0x9eda('0x37')]['rawAttributes']);_0x7d691a[_0x9eda('0x3c')]=_[_0x9eda('0x4e')](_0x398a9c[_0x9eda('0x3c')]);_0x7d691a[_0x9eda('0x3d')]=_[_0x9eda('0x3e')](_0x7d691a[_0x9eda('0x3f')],_0x7d691a['query']);_0x4cf108[_0x9eda('0x40')]=_[_0x9eda('0x3e')](_0x7d691a[_0x9eda('0x3f')],qs[_0x9eda('0x41')](_0x398a9c[_0x9eda('0x3c')][_0x9eda('0x41')]));_0x4cf108[_0x9eda('0x40')]=_0x4cf108[_0x9eda('0x40')][_0x9eda('0x42')]?_0x4cf108[_0x9eda('0x40')]:_0x7d691a['model'];if(_0x398a9c[_0x9eda('0x3c')][_0x9eda('0x48')]){_0x4cf108[_0x9eda('0x49')]=[{'all':!![]}];}_0x4cf108=_[_0x9eda('0x46')]({},_0x4cf108,_0x398a9c[_0x9eda('0x4f')]);return db[_0x9eda('0x37')]['find'](_0x4cf108)['then'](handleEntityNotFound(_0x5d8e78,null))[_0x9eda('0x2b')](respondWithResult(_0x5d8e78,null))[_0x9eda('0x4b')](handleError(_0x5d8e78,null));};exports[_0x9eda('0x50')]=function(_0xa6062f,_0x5c66de){return db['WhatsappQueue'][_0x9eda('0x50')](_0xa6062f[_0x9eda('0x51')],{})[_0x9eda('0x2b')](function(_0x5f555d){var _0x44bf4d=_0xa6062f[_0x9eda('0x52')]['get']({'plain':!![]});if(!_0x44bf4d)throw new Error(_0x9eda('0x53'));if(_0x44bf4d[_0x9eda('0x54')]===_0x9eda('0x52')){var _0x54152e=_0x5f555d['get']({'plain':!![]});var _0x527235='WhatsappQueues';return db[_0x9eda('0x55')]['find']({'where':{'name':_0x527235,'userProfileId':_0x44bf4d[_0x9eda('0x56')]},'raw':!![]})[_0x9eda('0x2b')](function(_0x256a01){if(_0x256a01&&_0x256a01['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x54152e['name'],'resourceId':_0x54152e['id'],'type':_0x256a01[_0x9eda('0x33')],'sectionId':_0x256a01['id']},{})[_0x9eda('0x2b')](function(){return _0x5f555d;});}else{return _0x5f555d;}})[_0x9eda('0x4b')](function(_0x1adfca){logger[_0x9eda('0x31')](_0x9eda('0x57'),_0x1adfca);throw _0x1adfca;});}return _0x5f555d;})[_0x9eda('0x2b')](respondWithResult(_0x5c66de,0xc9))[_0x9eda('0x4b')](handleError(_0x5c66de,null));};exports[_0x9eda('0x2a')]=function(_0x56dc29,_0x413322){if(_0x56dc29[_0x9eda('0x51')]['id']){delete _0x56dc29[_0x9eda('0x51')]['id'];}return db[_0x9eda('0x37')]['find']({'where':{'id':_0x56dc29[_0x9eda('0x4d')]['id']}})[_0x9eda('0x2b')](handleEntityNotFound(_0x413322,null))[_0x9eda('0x2b')](saveUpdates(_0x56dc29[_0x9eda('0x51')],null))[_0x9eda('0x2b')](respondWithResult(_0x413322,null))[_0x9eda('0x4b')](handleError(_0x413322,null));};exports['destroy']=function(_0x358fc9,_0x533ca5){return db['WhatsappQueue'][_0x9eda('0x58')]({'where':{'id':_0x358fc9['params']['id']}})['then'](handleEntityNotFound(_0x533ca5,null))[_0x9eda('0x2b')](removeEntity(_0x533ca5,null))[_0x9eda('0x4b')](handleError(_0x533ca5,null));};exports[_0x9eda('0x59')]=function(_0xe9cba4,_0x42e805){return db[_0x9eda('0x37')]['describe']()[_0x9eda('0x2b')](respondWithResult(_0x42e805,null))[_0x9eda('0x4b')](handleError(_0x42e805,null));};exports['getMembers']=function(_0x1b28bb,_0x4d1fcd,_0x315518){var _0x4d4944={'raw':!![],'where':{}},_0x538e05={},_0x50b99e;return db[_0x9eda('0x37')][_0x9eda('0x5a')]({'where':{'id':_0x1b28bb[_0x9eda('0x4d')]['id']}})[_0x9eda('0x2b')](handleEntityNotFound(_0x4d1fcd,null))[_0x9eda('0x2b')](function(_0x3cd800){if(_0x3cd800){_0x50b99e=_0x3cd800[_0x9eda('0x2c')]({'plain':!![]});_0x538e05[_0x9eda('0x3f')]=_[_0x9eda('0x4e')](db[_0x9eda('0x5b')]['rawAttributes']);_0x538e05['query']=_[_0x9eda('0x4e')](_0x1b28bb[_0x9eda('0x3c')]);_0x538e05[_0x9eda('0x3d')]=_['intersection'](_0x538e05[_0x9eda('0x3f')],_0x538e05[_0x9eda('0x3c')]);_0x4d4944[_0x9eda('0x40')]=_[_0x9eda('0x3e')](_0x538e05[_0x9eda('0x3f')],qs['fields'](_0x1b28bb[_0x9eda('0x3c')][_0x9eda('0x41')]));_0x4d4944[_0x9eda('0x40')]=_0x4d4944['attributes'][_0x9eda('0x42')]?_0x4d4944[_0x9eda('0x40')]:_0x538e05[_0x9eda('0x3f')];if(!_0x1b28bb[_0x9eda('0x3c')][_0x9eda('0x5c')]('nolimit')){_0x4d4944[_0x9eda('0x23')]=qs[_0x9eda('0x23')](_0x1b28bb['query'][_0x9eda('0x23')]);_0x4d4944['offset']=qs[_0x9eda('0x21')](_0x1b28bb[_0x9eda('0x3c')][_0x9eda('0x21')]);}_0x4d4944['order']=qs['sort'](_0x1b28bb[_0x9eda('0x3c')][_0x9eda('0x5d')]);_0x4d4944[_0x9eda('0x44')]=qs[_0x9eda('0x3d')](_[_0x9eda('0x45')](_0x1b28bb['query'],_0x538e05[_0x9eda('0x3d')]));_0x4d4944[_0x9eda('0x44')][_0x9eda('0x5e')]=_0x3cd800['id'];if(_0x1b28bb[_0x9eda('0x3c')][_0x9eda('0x5f')]){_0x4d4944['where']=_[_0x9eda('0x46')](_0x4d4944['where'],{'$or':_[_0x9eda('0x36')](_0x4d4944[_0x9eda('0x40')],function(_0x41f8e5){var _0x160385={};_0x160385[_0x41f8e5]={'$like':'%'+_0x1b28bb['query'][_0x9eda('0x5f')]+'%'};return _0x160385;})});}_0x4d4944=_[_0x9eda('0x46')]({},_0x4d4944,_0x1b28bb[_0x9eda('0x4f')]);return db[_0x9eda('0x5b')][_0x9eda('0x60')](_0x4d4944);}})[_0x9eda('0x2b')](function(_0x45e394){if(_0x45e394){return db['User'][_0x9eda('0x61')]({'where':{'id':_[_0x9eda('0x36')](_0x45e394,_0x9eda('0x62')),'role':'agent'},'attributes':['id',_0x9eda('0x33'),_0x9eda('0x63'),_0x9eda('0x64'),_0x9eda('0x65')]});}})[_0x9eda('0x2b')](function(_0x9aa58d){if(_0x9aa58d){return{'count':_0x9aa58d[_0x9eda('0x24')],'rows':_[_0x9eda('0x36')](_0x9aa58d[_0x9eda('0x4a')],function(_0x8498dd){return{'membername':_0x8498dd[_0x9eda('0x33')],'UserId':_0x8498dd['id'],'queue_name':_0x50b99e[_0x9eda('0x33')],'WhatsappQueueId':_0x50b99e['id'],'interface':util['format']('%s/%s','SIP',_0x8498dd['name']),'penalty':0x0,'paused':_0x8498dd[_0x9eda('0x63')],'createdAt':_0x8498dd[_0x9eda('0x65')],'updatedAt':_0x8498dd[_0x9eda('0x64')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x4d1fcd,_0x4d4944))[_0x9eda('0x4b')](handleError(_0x4d1fcd,null));};exports[_0x9eda('0x66')]=function(_0x56f6cd,_0x35d552,_0x14e26e){var _0x3f60d4={};var _0x4bff43={};var _0x2a2334;var _0x54fe30;return db['WhatsappQueue']['findOne']({'where':{'id':_0x56f6cd['params']['id']}})[_0x9eda('0x2b')](handleEntityNotFound(_0x35d552,null))[_0x9eda('0x2b')](function(_0x13f620){if(_0x13f620){_0x2a2334=_0x13f620;_0x4bff43[_0x9eda('0x3f')]=_[_0x9eda('0x4e')](db[_0x9eda('0x67')][_0x9eda('0x38')]);_0x4bff43[_0x9eda('0x3c')]=_[_0x9eda('0x4e')](_0x56f6cd[_0x9eda('0x3c')]);_0x4bff43[_0x9eda('0x3d')]=_[_0x9eda('0x3e')](_0x4bff43[_0x9eda('0x3f')],_0x4bff43['query']);_0x3f60d4[_0x9eda('0x40')]=_['intersection'](_0x4bff43[_0x9eda('0x3f')],qs['fields'](_0x56f6cd[_0x9eda('0x3c')][_0x9eda('0x41')]));_0x3f60d4[_0x9eda('0x40')]=_0x3f60d4[_0x9eda('0x40')][_0x9eda('0x42')]?_0x3f60d4[_0x9eda('0x40')]:_0x4bff43[_0x9eda('0x3f')];_0x3f60d4[_0x9eda('0x43')]=qs['sort'](_0x56f6cd[_0x9eda('0x3c')][_0x9eda('0x5d')]);_0x3f60d4['where']=qs[_0x9eda('0x3d')](_[_0x9eda('0x45')](_0x56f6cd['query'],_0x4bff43[_0x9eda('0x3d')]));if(_0x56f6cd[_0x9eda('0x3c')][_0x9eda('0x5f')]){_0x3f60d4[_0x9eda('0x44')]=_[_0x9eda('0x46')](_0x3f60d4[_0x9eda('0x44')],{'$or':_[_0x9eda('0x36')](_0x3f60d4[_0x9eda('0x40')],function(_0xf16ff0){var _0x564820={};_0x564820[_0xf16ff0]={'$like':'%'+_0x56f6cd[_0x9eda('0x3c')][_0x9eda('0x5f')]+'%'};return _0x564820;})});}_0x3f60d4=_[_0x9eda('0x46')]({},_0x3f60d4,_0x56f6cd[_0x9eda('0x4f')]);return _0x2a2334[_0x9eda('0x66')](_0x3f60d4);}})[_0x9eda('0x2b')](function(_0x4a9af5){if(_0x4a9af5){_0x54fe30=_0x4a9af5[_0x9eda('0x42')];if(!_0x56f6cd['query'][_0x9eda('0x5c')](_0x9eda('0x68'))){_0x3f60d4['limit']=qs[_0x9eda('0x23')](_0x56f6cd[_0x9eda('0x3c')]['limit']);_0x3f60d4['offset']=qs[_0x9eda('0x21')](_0x56f6cd['query'][_0x9eda('0x21')]);}return _0x2a2334['getTeams'](_0x3f60d4);}})[_0x9eda('0x2b')](function(_0x5cfbba){if(_0x5cfbba){return _0x5cfbba?{'count':_0x54fe30,'rows':_0x5cfbba}:null;}})[_0x9eda('0x2b')](respondWithResult(_0x35d552,null))[_0x9eda('0x4b')](handleError(_0x35d552,null));};exports[_0x9eda('0x69')]=function(_0x3f5b38,_0x5f4827,_0x110d31){var _0x4504cf=_0x3f5b38['body'][_0x9eda('0x6a')];return db[_0x9eda('0x67')]['findAll']({'where':{'id':_0x4504cf},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x9eda('0x33'),'online',_0x9eda('0x6b'),_0x9eda('0x6c')],'raw':!![]}]})[_0x9eda('0x2b')](function(_0x49835c){if(_0x49835c){var _0x2c6fec=_[_0x9eda('0x6d')](_0x49835c,function(_0x2641e1){var _0x2507c8=_0x2641e1[_0x9eda('0x2c')]({'plain':!![]});return _0x2507c8[_0x9eda('0x6e')];});return db[_0x9eda('0x37')][_0x9eda('0x58')]({'where':{'id':_0x3f5b38[_0x9eda('0x4d')]['id']}})[_0x9eda('0x2b')](function(_0x770c34){return db[_0x9eda('0x6f')]['transaction'](function(_0x381e9b){return _0x770c34[_0x9eda('0x69')](_0x4504cf,{'transaction':_0x381e9b})[_0x9eda('0x2b')](function(){return BPromise[_0x9eda('0x70')](_0x2c6fec,function(_0x15f177){return db['UserWhatsappQueue'][_0x9eda('0x71')]({'where':{'UserId':_0x15f177['id'],'WhatsappQueueId':_0x3f5b38[_0x9eda('0x4d')]['id']},'transaction':_0x381e9b});});})[_0x9eda('0x2b')](function(){_0x2c6fec[_0x9eda('0x72')](function(_0x519c67){socket[_0x9eda('0x73')]('userWhatsappQueue:save',{'UserId':_0x519c67['id'],'WhatsappQueueId':_0x770c34['id']});});});});});}})[_0x9eda('0x2b')](respondWithStatusCode(_0x5f4827,null))[_0x9eda('0x4b')](handleError(_0x5f4827,null));};exports[_0x9eda('0x74')]=function(_0x22e5fd,_0x266a2a,_0x2f5bbe){return db[_0x9eda('0x67')]['findAll']({'where':{'id':_0x22e5fd[_0x9eda('0x3c')]['ids']},'attributes':['id'],'include':[{'model':db[_0x9eda('0x75')],'as':_0x9eda('0x6e'),'attributes':['id'],'raw':!![]}]})[_0x9eda('0x2b')](handleEntityNotFound(_0x266a2a,null))['then'](function(_0x4ca0a7){var _0xf7c23=_[_0x9eda('0x36')](_0x4ca0a7,'id');var _0x1c87cc=[];var _0x3e5c9d=[];var _0x5c9ab7=squel[_0x9eda('0x76')]();_0x5c9ab7['field'](_0x9eda('0x77'))[_0x9eda('0x78')](_0x9eda('0x79'),'tq')['join'](_0x9eda('0x7a'),'ut',_0x9eda('0x7b'))[_0x9eda('0x44')](_0x9eda('0x7c'),_0x22e5fd[_0x9eda('0x4d')]['id']);for(var _0x11cf03=0x0;_0x11cf03<_0x4ca0a7[_0x9eda('0x42')];_0x11cf03+=0x1){let _0x3cb219=_0x4ca0a7[_0x11cf03];for(var _0x25fca9=0x0;_0x25fca9<_0x3cb219[_0x9eda('0x6e')][_0x9eda('0x42')];_0x25fca9+=0x1){let _0x227588=_0x3cb219[_0x9eda('0x6e')][_0x25fca9];var _0x4b3100=_0x5c9ab7[_0x9eda('0x7d')]();_0x4b3100['where'](_0x9eda('0x7e'),_0x227588['id']);_0x3e5c9d['push'](db[_0x9eda('0x6f')][_0x9eda('0x3c')](_0x4b3100[_0x9eda('0x7f')](),{'type':db[_0x9eda('0x6f')][_0x9eda('0x80')][_0x9eda('0x81')]})[_0x9eda('0x2b')](function(_0xcaba83){if(_0xcaba83[_0x9eda('0x42')]===0x1){return _0x227588['id'];}else{var _0x233242=_['every'](_[_0x9eda('0x36')](_0xcaba83,'TeamId'),function(_0x3a4ec9){return _[_0x9eda('0x82')](_0xf7c23,_0x3a4ec9);});if(_0x233242){return _0x227588['id'];}}}));}}return BPromise[_0x9eda('0x83')](_0x3e5c9d)['then'](function(_0x204586){_0x1c87cc=_(_0x1c87cc)[_0x9eda('0x84')](_0x204586)['compact']()[_0x9eda('0x85')]();return db[_0x9eda('0x37')][_0x9eda('0x58')]({'where':{'id':_0x22e5fd[_0x9eda('0x4d')]['id']}})[_0x9eda('0x2b')](function(_0x58f19a){return db[_0x9eda('0x6f')][_0x9eda('0x86')](function(_0x35d9b2){return _0x58f19a[_0x9eda('0x74')](_0x22e5fd[_0x9eda('0x3c')][_0x9eda('0x6a')],{'transaction':_0x35d9b2})['then'](function(){if(!_[_0x9eda('0x87')](_0x1c87cc)){return _0x58f19a[_0x9eda('0x88')](_0x1c87cc,{'transaction':_0x35d9b2});}})[_0x9eda('0x2b')](function(){_0x1c87cc['forEach'](function(_0x544b25){socket[_0x9eda('0x73')](_0x9eda('0x89'),{'UserId':_0x544b25,'WhatsappQueueId':_0x58f19a['id']});});});});});});})[_0x9eda('0x2b')](respondWithStatusCode(_0x266a2a,null))['catch'](handleError(_0x266a2a,null));};exports['addAgents']=function(_0x570f6e,_0x4ea1e4,_0x2d8498){return db['WhatsappQueue']['find']({'where':{'id':_0x570f6e[_0x9eda('0x4d')]['id']}})[_0x9eda('0x2b')](handleEntityNotFound(_0x4ea1e4,null))[_0x9eda('0x2b')](function(_0x178fc8){if(_0x178fc8){return _0x178fc8['addAgents'](_0x570f6e[_0x9eda('0x51')][_0x9eda('0x6a')],_['omit'](_0x570f6e[_0x9eda('0x51')],[_0x9eda('0x6a'),'id'])||{})[_0x9eda('0x8a')](function(_0x438564){for(var _0x489263=0x0;_0x489263<_0x570f6e[_0x9eda('0x51')][_0x9eda('0x6a')][_0x9eda('0x42')];_0x489263+=0x1){socket[_0x9eda('0x73')]('userWhatsappQueue:save',{'UserId':Number(_0x570f6e[_0x9eda('0x51')][_0x9eda('0x6a')][_0x489263]),'WhatsappQueueId':Number(_0x570f6e[_0x9eda('0x4d')]['id'])});}return _0x438564;});}})['then'](respondWithResult(_0x4ea1e4,null))['catch'](handleError(_0x4ea1e4,null));};exports[_0x9eda('0x88')]=function(_0x58b4ce,_0x2b7e20,_0x25d09d){return db['WhatsappQueue']['find']({'where':{'id':_0x58b4ce['params']['id']}})[_0x9eda('0x2b')](handleEntityNotFound(_0x2b7e20,null))[_0x9eda('0x2b')](function(_0x4de28c){if(_0x4de28c){return _0x4de28c['removeAgents'](_0x58b4ce[_0x9eda('0x3c')][_0x9eda('0x6a')])[_0x9eda('0x2b')](function(){if(_[_0x9eda('0x8b')](_0x58b4ce[_0x9eda('0x3c')][_0x9eda('0x6a')])){for(var _0x18bfd9=0x0;_0x18bfd9<_0x58b4ce[_0x9eda('0x3c')][_0x9eda('0x6a')][_0x9eda('0x42')];_0x18bfd9+=0x1){socket[_0x9eda('0x73')]('userWhatsappQueue:remove',{'UserId':Number(_0x58b4ce[_0x9eda('0x3c')][_0x9eda('0x6a')][_0x18bfd9]),'WhatsappQueueId':Number(_0x58b4ce['params']['id'])});}}else{socket[_0x9eda('0x73')]('userWhatsappQueue:remove',{'UserId':Number(_0x58b4ce[_0x9eda('0x3c')]['ids']),'WhatsappQueueId':Number(_0x58b4ce[_0x9eda('0x4d')]['id'])});}});}})[_0x9eda('0x2b')](respondWithStatusCode(_0x2b7e20,null))[_0x9eda('0x4b')](handleError(_0x2b7e20,null));};exports[_0x9eda('0x8c')]=function(_0x2fdc62,_0x4fd56f,_0x206714){var _0x9c5617={};var _0x2a67e9={};var _0x320899;var _0x4461ea;return db['WhatsappQueue']['findOne']({'where':{'id':_0x2fdc62[_0x9eda('0x4d')]['id']}})[_0x9eda('0x2b')](handleEntityNotFound(_0x4fd56f,null))['then'](function(_0x5a688e){if(_0x5a688e){_0x320899=_0x5a688e;_0x2a67e9['model']=_[_0x9eda('0x4e')](db[_0x9eda('0x75')][_0x9eda('0x38')]);_0x2a67e9[_0x9eda('0x3c')]=_[_0x9eda('0x4e')](_0x2fdc62[_0x9eda('0x3c')]);_0x2a67e9[_0x9eda('0x3d')]=_['intersection'](_0x2a67e9[_0x9eda('0x3f')],_0x2a67e9[_0x9eda('0x3c')]);_0x9c5617[_0x9eda('0x40')]=_['intersection'](_0x2a67e9[_0x9eda('0x3f')],qs['fields'](_0x2fdc62[_0x9eda('0x3c')][_0x9eda('0x41')]));_0x9c5617[_0x9eda('0x40')]=_0x9c5617['attributes'][_0x9eda('0x42')]?_0x9c5617['attributes']:_0x2a67e9[_0x9eda('0x3f')];_0x9c5617[_0x9eda('0x43')]=qs[_0x9eda('0x5d')](_0x2fdc62[_0x9eda('0x3c')][_0x9eda('0x5d')]);_0x9c5617['where']=qs[_0x9eda('0x3d')](_[_0x9eda('0x45')](_0x2fdc62[_0x9eda('0x3c')],_0x2a67e9['filters']));if(_0x2fdc62[_0x9eda('0x3c')][_0x9eda('0x5f')]){_0x9c5617[_0x9eda('0x44')]=_[_0x9eda('0x46')](_0x9c5617['where'],{'$or':_['map'](_0x9c5617[_0x9eda('0x40')],function(_0x4616fa){var _0x3feeb7={};_0x3feeb7[_0x4616fa]={'$like':'%'+_0x2fdc62[_0x9eda('0x3c')][_0x9eda('0x5f')]+'%'};return _0x3feeb7;})});}_0x9c5617=_['merge']({},_0x9c5617,_0x2fdc62['options']);return _0x320899['getAgents'](_0x9c5617);}})['then'](function(_0x8cf996){if(_0x8cf996){_0x4461ea=_0x8cf996[_0x9eda('0x42')];if(!_0x2fdc62[_0x9eda('0x3c')][_0x9eda('0x5c')](_0x9eda('0x68'))){_0x9c5617[_0x9eda('0x23')]=qs[_0x9eda('0x23')](_0x2fdc62[_0x9eda('0x3c')][_0x9eda('0x23')]);_0x9c5617[_0x9eda('0x21')]=qs[_0x9eda('0x21')](_0x2fdc62[_0x9eda('0x3c')][_0x9eda('0x21')]);}return _0x320899[_0x9eda('0x8c')](_0x9c5617);}})[_0x9eda('0x2b')](function(_0x3ebaf2){if(_0x3ebaf2){return _0x3ebaf2?{'count':_0x4461ea,'rows':_0x3ebaf2}:null;}})[_0x9eda('0x2b')](respondWithResult(_0x4fd56f,null))['catch'](handleError(_0x4fd56f,null));};