Built motion from commit e6806ed6.|2.6.0
[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 _0xc0a9=['eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','end','offset','undefined','count','set','Content-Range','json','apply','reject','save','update','then','destroy','get','stack','name','send','index','WhatsappQueue','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','limit','sort','where','filters','pick','filter','merge','map','VIRTUAL','include','findAll','rows','catch','params','keys','includeAll','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','WhatsappQueues','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserWhatsappQueue','hasOwnProperty','nolimit','order','WhatsappQueueId','User','findAndCountAll','UserId','agent','whatsappPause','createdAt','format','SIP','updatedAt','getTeams','ids','Team','voicePause','interface','flatMap','Agents','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','removeTeams','select','field','from','team_has_whatsapp_queues','join','ut.TeamId\x20=\x20tq.TeamId','WhatsappQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','includes','all','union','value','isEmpty','removeAgents','addAgents','omit','spread','userWhatsappQueue:remove','getAgents'];(function(_0x1703e5,_0x274286){var _0x359456=function(_0x2f66a5){while(--_0x2f66a5){_0x1703e5['push'](_0x1703e5['shift']());}};_0x359456(++_0x274286);}(_0xc0a9,0x122));var _0x9c0a=function(_0x2db12b,_0x30ab1d){_0x2db12b=_0x2db12b-0x0;var _0x20990b=_0xc0a9[_0x2db12b];return _0x20990b;};'use strict';var emlformat=require(_0x9c0a('0x0'));var rimraf=require(_0x9c0a('0x1'));var zipdir=require(_0x9c0a('0x2'));var jsonpatch=require(_0x9c0a('0x3'));var rp=require(_0x9c0a('0x4'));var moment=require(_0x9c0a('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x9c0a('0x6'));var util=require(_0x9c0a('0x7'));var path=require('path');var sox=require(_0x9c0a('0x8'));var csv=require(_0x9c0a('0x9'));var ejs=require(_0x9c0a('0xa'));var fs=require('fs');var fs_extra=require(_0x9c0a('0xb'));var _=require('lodash');var squel=require(_0x9c0a('0xc'));var crypto=require('crypto');var jsforce=require(_0x9c0a('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x9c0a('0x9'));var querystring=require(_0x9c0a('0xe'));var Papa=require('papaparse');var Redis=require(_0x9c0a('0xf'));var authService=require(_0x9c0a('0x10'));var qs=require(_0x9c0a('0x11'));var as=require(_0x9c0a('0x12'));var hardwareService=require(_0x9c0a('0x13'));var logger=require(_0x9c0a('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x9c0a('0x15'));var licenseUtil=require(_0x9c0a('0x16'));var db=require(_0x9c0a('0x17'))['db'];config[_0x9c0a('0x18')]=_[_0x9c0a('0x19')](config[_0x9c0a('0x18')],{'host':_0x9c0a('0x1a'),'port':0x18eb});var socket=require(_0x9c0a('0x1b'))(new Redis(config[_0x9c0a('0x18')]));require('./whatsappQueue.socket')[_0x9c0a('0x1c')](socket);function respondWithStatusCode(_0x3b45a7,_0x123790){_0x123790=_0x123790||0xcc;return function(_0x587d17){if(_0x587d17){return _0x3b45a7[_0x9c0a('0x1d')](_0x123790);}return _0x3b45a7[_0x9c0a('0x1e')](_0x123790)[_0x9c0a('0x1f')]();};}function respondWithResult(_0x4c16ac,_0x1b655d){_0x1b655d=_0x1b655d||0xc8;return function(_0x2aa178){if(_0x2aa178){return _0x4c16ac[_0x9c0a('0x1e')](_0x1b655d)['json'](_0x2aa178);}};}function respondWithFilteredResult(_0x362d8c,_0x230e62){return function(_0x42d760){if(_0x42d760){var _0x4d49ff=typeof _0x230e62[_0x9c0a('0x20')]===_0x9c0a('0x21')&&typeof _0x230e62['limit']==='undefined';var _0x581c92=_0x42d760[_0x9c0a('0x22')];var _0x597d28=_0x4d49ff?0x0:_0x230e62[_0x9c0a('0x20')];var _0x1f58e4=_0x4d49ff?_0x42d760[_0x9c0a('0x22')]:_0x230e62[_0x9c0a('0x20')]+_0x230e62['limit'];var _0x2b1d80;if(_0x1f58e4>=_0x581c92){_0x1f58e4=_0x581c92;_0x2b1d80=0xc8;}else{_0x2b1d80=0xce;}_0x362d8c[_0x9c0a('0x1e')](_0x2b1d80);return _0x362d8c[_0x9c0a('0x23')](_0x9c0a('0x24'),_0x597d28+'-'+_0x1f58e4+'/'+_0x581c92)[_0x9c0a('0x25')](_0x42d760);}return null;};}function patchUpdates(_0x18a507){return function(_0x260118){try{jsonpatch[_0x9c0a('0x26')](_0x260118,_0x18a507,!![]);}catch(_0x4ee15b){return BPromise[_0x9c0a('0x27')](_0x4ee15b);}return _0x260118[_0x9c0a('0x28')]();};}function saveUpdates(_0x5f422,_0x494f39){return function(_0x39298f){if(_0x39298f){return _0x39298f[_0x9c0a('0x29')](_0x5f422)[_0x9c0a('0x2a')](function(_0xde998c){return _0xde998c;});}return null;};}function removeEntity(_0x5c61fd,_0x583ebd){return function(_0x49fa2d){if(_0x49fa2d){return _0x49fa2d[_0x9c0a('0x2b')]()[_0x9c0a('0x2a')](function(){var _0x2d3e87=_0x49fa2d[_0x9c0a('0x2c')]({'plain':!![]});var _0x51ae1e='WhatsappQueues';return db['UserProfileResource'][_0x9c0a('0x2b')]({'where':{'type':_0x51ae1e,'resourceId':_0x2d3e87['id']}})['then'](function(){return _0x49fa2d;});})[_0x9c0a('0x2a')](function(){_0x5c61fd['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x51ea53,_0x29259b){return function(_0x347d47){if(!_0x347d47){_0x51ea53[_0x9c0a('0x1d')](0x194);}return _0x347d47;};}function handleError(_0x4d2481,_0x508d03){_0x508d03=_0x508d03||0x1f4;return function(_0x4dd9b9){logger['error'](_0x4dd9b9[_0x9c0a('0x2d')]);if(_0x4dd9b9[_0x9c0a('0x2e')]){delete _0x4dd9b9[_0x9c0a('0x2e')];}_0x4d2481[_0x9c0a('0x1e')](_0x508d03)[_0x9c0a('0x2f')](_0x4dd9b9);};}exports[_0x9c0a('0x30')]=function(_0x17fda0,_0x229550){var _0x1d82e0={},_0x5416c2={},_0x50ec83={'count':0x0,'rows':[]};var _0xde56af=_['map'](db[_0x9c0a('0x31')][_0x9c0a('0x32')],function(_0x26c9db){return{'name':_0x26c9db[_0x9c0a('0x33')],'type':_0x26c9db[_0x9c0a('0x34')][_0x9c0a('0x35')]};});_0x5416c2[_0x9c0a('0x36')]=_['map'](_0xde56af,_0x9c0a('0x2e'));_0x5416c2[_0x9c0a('0x37')]=_['keys'](_0x17fda0[_0x9c0a('0x37')]);_0x5416c2['filters']=_[_0x9c0a('0x38')](_0x5416c2[_0x9c0a('0x36')],_0x5416c2[_0x9c0a('0x37')]);_0x1d82e0[_0x9c0a('0x39')]=_['intersection'](_0x5416c2[_0x9c0a('0x36')],qs[_0x9c0a('0x3a')](_0x17fda0[_0x9c0a('0x37')][_0x9c0a('0x3a')]));_0x1d82e0[_0x9c0a('0x39')]=_0x1d82e0[_0x9c0a('0x39')][_0x9c0a('0x3b')]?_0x1d82e0[_0x9c0a('0x39')]:_0x5416c2[_0x9c0a('0x36')];if(!_0x17fda0[_0x9c0a('0x37')]['hasOwnProperty']('nolimit')){_0x1d82e0[_0x9c0a('0x3c')]=qs[_0x9c0a('0x3c')](_0x17fda0['query'][_0x9c0a('0x3c')]);_0x1d82e0['offset']=qs[_0x9c0a('0x20')](_0x17fda0['query']['offset']);}_0x1d82e0['order']=qs[_0x9c0a('0x3d')](_0x17fda0[_0x9c0a('0x37')][_0x9c0a('0x3d')]);_0x1d82e0[_0x9c0a('0x3e')]=qs[_0x9c0a('0x3f')](_[_0x9c0a('0x40')](_0x17fda0['query'],_0x5416c2['filters']),_0xde56af);if(_0x17fda0[_0x9c0a('0x37')][_0x9c0a('0x41')]){_0x1d82e0[_0x9c0a('0x3e')]=_[_0x9c0a('0x42')](_0x1d82e0[_0x9c0a('0x3e')],{'$or':_[_0x9c0a('0x43')](_0xde56af,function(_0x10b31c){if(_0x10b31c['type']!==_0x9c0a('0x44')){var _0x5bba2d={};_0x5bba2d[_0x10b31c[_0x9c0a('0x2e')]]={'$like':'%'+_0x17fda0['query'][_0x9c0a('0x41')]+'%'};return _0x5bba2d;}})});}_0x1d82e0=_[_0x9c0a('0x42')]({},_0x1d82e0,_0x17fda0['options']);var _0x3d2edd={'where':_0x1d82e0[_0x9c0a('0x3e')]};return db['WhatsappQueue'][_0x9c0a('0x22')](_0x3d2edd)[_0x9c0a('0x2a')](function(_0x4126bc){_0x50ec83[_0x9c0a('0x22')]=_0x4126bc;if(_0x17fda0['query']['includeAll']){_0x1d82e0[_0x9c0a('0x45')]=[{'all':!![]}];}return db[_0x9c0a('0x31')][_0x9c0a('0x46')](_0x1d82e0);})[_0x9c0a('0x2a')](function(_0x5aef90){_0x50ec83[_0x9c0a('0x47')]=_0x5aef90;return _0x50ec83;})[_0x9c0a('0x2a')](respondWithFilteredResult(_0x229550,_0x1d82e0))[_0x9c0a('0x48')](handleError(_0x229550,null));};exports['show']=function(_0x1fcc1b,_0x1cad94){var _0x103d62={'raw':!![],'where':{'id':_0x1fcc1b[_0x9c0a('0x49')]['id']}},_0xb6402e={};_0xb6402e['model']=_['keys'](db[_0x9c0a('0x31')][_0x9c0a('0x32')]);_0xb6402e[_0x9c0a('0x37')]=_[_0x9c0a('0x4a')](_0x1fcc1b['query']);_0xb6402e[_0x9c0a('0x3f')]=_[_0x9c0a('0x38')](_0xb6402e['model'],_0xb6402e[_0x9c0a('0x37')]);_0x103d62[_0x9c0a('0x39')]=_[_0x9c0a('0x38')](_0xb6402e[_0x9c0a('0x36')],qs[_0x9c0a('0x3a')](_0x1fcc1b[_0x9c0a('0x37')]['fields']));_0x103d62[_0x9c0a('0x39')]=_0x103d62['attributes'][_0x9c0a('0x3b')]?_0x103d62['attributes']:_0xb6402e[_0x9c0a('0x36')];if(_0x1fcc1b[_0x9c0a('0x37')][_0x9c0a('0x4b')]){_0x103d62[_0x9c0a('0x45')]=[{'all':!![]}];}_0x103d62=_[_0x9c0a('0x42')]({},_0x103d62,_0x1fcc1b[_0x9c0a('0x4c')]);return db['WhatsappQueue'][_0x9c0a('0x4d')](_0x103d62)[_0x9c0a('0x2a')](handleEntityNotFound(_0x1cad94,null))[_0x9c0a('0x2a')](respondWithResult(_0x1cad94,null))[_0x9c0a('0x48')](handleError(_0x1cad94,null));};exports['create']=function(_0x378f8d,_0x3ead45){return db['WhatsappQueue'][_0x9c0a('0x4e')](_0x378f8d[_0x9c0a('0x4f')],{})[_0x9c0a('0x2a')](function(_0x1cd641){var _0x372c81=_0x378f8d[_0x9c0a('0x50')][_0x9c0a('0x2c')]({'plain':!![]});if(!_0x372c81)throw new Error(_0x9c0a('0x51'));if(_0x372c81[_0x9c0a('0x52')]==='user'){var _0x364f62=_0x1cd641['get']({'plain':!![]});var _0x3be0fe=_0x9c0a('0x53');return db['UserProfileSection'][_0x9c0a('0x4d')]({'where':{'name':_0x3be0fe,'userProfileId':_0x372c81[_0x9c0a('0x54')]},'raw':!![]})[_0x9c0a('0x2a')](function(_0x4dcb6d){if(_0x4dcb6d&&_0x4dcb6d[_0x9c0a('0x55')]===0x0){return db[_0x9c0a('0x56')][_0x9c0a('0x4e')]({'name':_0x364f62[_0x9c0a('0x2e')],'resourceId':_0x364f62['id'],'type':_0x4dcb6d[_0x9c0a('0x2e')],'sectionId':_0x4dcb6d['id']},{})[_0x9c0a('0x2a')](function(){return _0x1cd641;});}else{return _0x1cd641;}})['catch'](function(_0x101ce6){logger[_0x9c0a('0x57')](_0x9c0a('0x58'),_0x101ce6);throw _0x101ce6;});}return _0x1cd641;})[_0x9c0a('0x2a')](respondWithResult(_0x3ead45,0xc9))['catch'](handleError(_0x3ead45,null));};exports[_0x9c0a('0x29')]=function(_0x367126,_0xde9627){if(_0x367126['body']['id']){delete _0x367126[_0x9c0a('0x4f')]['id'];}return db['WhatsappQueue'][_0x9c0a('0x4d')]({'where':{'id':_0x367126[_0x9c0a('0x49')]['id']}})[_0x9c0a('0x2a')](handleEntityNotFound(_0xde9627,null))[_0x9c0a('0x2a')](saveUpdates(_0x367126['body'],null))[_0x9c0a('0x2a')](respondWithResult(_0xde9627,null))[_0x9c0a('0x48')](handleError(_0xde9627,null));};exports[_0x9c0a('0x2b')]=function(_0x512bde,_0xdd58e4){return db[_0x9c0a('0x31')][_0x9c0a('0x4d')]({'where':{'id':_0x512bde[_0x9c0a('0x49')]['id']}})[_0x9c0a('0x2a')](handleEntityNotFound(_0xdd58e4,null))[_0x9c0a('0x2a')](removeEntity(_0xdd58e4,null))[_0x9c0a('0x48')](handleError(_0xdd58e4,null));};exports[_0x9c0a('0x59')]=function(_0x42ffc8,_0x43c43a){return db[_0x9c0a('0x31')][_0x9c0a('0x59')]()[_0x9c0a('0x2a')](respondWithResult(_0x43c43a,null))[_0x9c0a('0x48')](handleError(_0x43c43a,null));};exports[_0x9c0a('0x5a')]=function(_0x130849,_0x3394c7,_0x96a4d5){var _0x3b5e75={'raw':!![],'where':{}},_0x27fbd5={},_0x181567;return db[_0x9c0a('0x31')][_0x9c0a('0x5b')]({'where':{'id':_0x130849['params']['id']}})[_0x9c0a('0x2a')](handleEntityNotFound(_0x3394c7,null))[_0x9c0a('0x2a')](function(_0x1adccc){if(_0x1adccc){_0x181567=_0x1adccc[_0x9c0a('0x2c')]({'plain':!![]});_0x27fbd5[_0x9c0a('0x36')]=_[_0x9c0a('0x4a')](db[_0x9c0a('0x5c')][_0x9c0a('0x32')]);_0x27fbd5['query']=_['keys'](_0x130849['query']);_0x27fbd5[_0x9c0a('0x3f')]=_['intersection'](_0x27fbd5[_0x9c0a('0x36')],_0x27fbd5[_0x9c0a('0x37')]);_0x3b5e75[_0x9c0a('0x39')]=_['intersection'](_0x27fbd5[_0x9c0a('0x36')],qs[_0x9c0a('0x3a')](_0x130849[_0x9c0a('0x37')][_0x9c0a('0x3a')]));_0x3b5e75['attributes']=_0x3b5e75[_0x9c0a('0x39')][_0x9c0a('0x3b')]?_0x3b5e75[_0x9c0a('0x39')]:_0x27fbd5['model'];if(!_0x130849['query'][_0x9c0a('0x5d')](_0x9c0a('0x5e'))){_0x3b5e75[_0x9c0a('0x3c')]=qs[_0x9c0a('0x3c')](_0x130849[_0x9c0a('0x37')]['limit']);_0x3b5e75[_0x9c0a('0x20')]=qs[_0x9c0a('0x20')](_0x130849['query']['offset']);}_0x3b5e75[_0x9c0a('0x5f')]=qs[_0x9c0a('0x3d')](_0x130849['query'][_0x9c0a('0x3d')]);_0x3b5e75[_0x9c0a('0x3e')]=qs[_0x9c0a('0x3f')](_['pick'](_0x130849[_0x9c0a('0x37')],_0x27fbd5[_0x9c0a('0x3f')]));_0x3b5e75[_0x9c0a('0x3e')][_0x9c0a('0x60')]=_0x1adccc['id'];if(_0x130849[_0x9c0a('0x37')]['filter']){_0x3b5e75[_0x9c0a('0x3e')]=_[_0x9c0a('0x42')](_0x3b5e75[_0x9c0a('0x3e')],{'$or':_[_0x9c0a('0x43')](_0x3b5e75[_0x9c0a('0x39')],function(_0x29f577){var _0x5556de={};_0x5556de[_0x29f577]={'$like':'%'+_0x130849[_0x9c0a('0x37')][_0x9c0a('0x41')]+'%'};return _0x5556de;})});}_0x3b5e75=_[_0x9c0a('0x42')]({},_0x3b5e75,_0x130849[_0x9c0a('0x4c')]);return db[_0x9c0a('0x5c')][_0x9c0a('0x46')](_0x3b5e75);}})[_0x9c0a('0x2a')](function(_0x14e672){if(_0x14e672){return db[_0x9c0a('0x61')][_0x9c0a('0x62')]({'where':{'id':_[_0x9c0a('0x43')](_0x14e672,_0x9c0a('0x63')),'role':_0x9c0a('0x64')},'attributes':['id','name',_0x9c0a('0x65'),'updatedAt',_0x9c0a('0x66')]});}})['then'](function(_0x1f0eeb){if(_0x1f0eeb){return{'count':_0x1f0eeb[_0x9c0a('0x22')],'rows':_['map'](_0x1f0eeb[_0x9c0a('0x47')],function(_0xf5d9eb){return{'membername':_0xf5d9eb[_0x9c0a('0x2e')],'UserId':_0xf5d9eb['id'],'queue_name':_0x181567[_0x9c0a('0x2e')],'WhatsappQueueId':_0x181567['id'],'interface':util[_0x9c0a('0x67')]('%s/%s',_0x9c0a('0x68'),_0xf5d9eb['name']),'penalty':0x0,'paused':_0xf5d9eb[_0x9c0a('0x65')],'createdAt':_0xf5d9eb['createdAt'],'updatedAt':_0xf5d9eb[_0x9c0a('0x69')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x3394c7,_0x3b5e75))[_0x9c0a('0x48')](handleError(_0x3394c7,null));};exports[_0x9c0a('0x6a')]=function(_0x3e3716,_0x224d7c,_0x2a2e02){var _0x4a1091={};var _0x3080a8={};var _0x8ea8db;var _0x20c39d;return db[_0x9c0a('0x31')][_0x9c0a('0x5b')]({'where':{'id':_0x3e3716[_0x9c0a('0x49')]['id']}})[_0x9c0a('0x2a')](handleEntityNotFound(_0x224d7c,null))[_0x9c0a('0x2a')](function(_0x3f6719){if(_0x3f6719){_0x8ea8db=_0x3f6719;_0x3080a8[_0x9c0a('0x36')]=_[_0x9c0a('0x4a')](db['Team']['rawAttributes']);_0x3080a8[_0x9c0a('0x37')]=_[_0x9c0a('0x4a')](_0x3e3716[_0x9c0a('0x37')]);_0x3080a8[_0x9c0a('0x3f')]=_[_0x9c0a('0x38')](_0x3080a8['model'],_0x3080a8[_0x9c0a('0x37')]);_0x4a1091[_0x9c0a('0x39')]=_[_0x9c0a('0x38')](_0x3080a8[_0x9c0a('0x36')],qs['fields'](_0x3e3716[_0x9c0a('0x37')]['fields']));_0x4a1091['attributes']=_0x4a1091[_0x9c0a('0x39')]['length']?_0x4a1091[_0x9c0a('0x39')]:_0x3080a8[_0x9c0a('0x36')];_0x4a1091['order']=qs[_0x9c0a('0x3d')](_0x3e3716[_0x9c0a('0x37')][_0x9c0a('0x3d')]);_0x4a1091[_0x9c0a('0x3e')]=qs['filters'](_['pick'](_0x3e3716[_0x9c0a('0x37')],_0x3080a8[_0x9c0a('0x3f')]));if(_0x3e3716[_0x9c0a('0x37')][_0x9c0a('0x41')]){_0x4a1091['where']=_[_0x9c0a('0x42')](_0x4a1091[_0x9c0a('0x3e')],{'$or':_[_0x9c0a('0x43')](_0x4a1091[_0x9c0a('0x39')],function(_0x4b9698){var _0x50b860={};_0x50b860[_0x4b9698]={'$like':'%'+_0x3e3716[_0x9c0a('0x37')][_0x9c0a('0x41')]+'%'};return _0x50b860;})});}_0x4a1091=_[_0x9c0a('0x42')]({},_0x4a1091,_0x3e3716[_0x9c0a('0x4c')]);return _0x8ea8db['getTeams'](_0x4a1091);}})[_0x9c0a('0x2a')](function(_0x152388){if(_0x152388){_0x20c39d=_0x152388[_0x9c0a('0x3b')];if(!_0x3e3716[_0x9c0a('0x37')][_0x9c0a('0x5d')](_0x9c0a('0x5e'))){_0x4a1091[_0x9c0a('0x3c')]=qs['limit'](_0x3e3716['query'][_0x9c0a('0x3c')]);_0x4a1091[_0x9c0a('0x20')]=qs[_0x9c0a('0x20')](_0x3e3716[_0x9c0a('0x37')][_0x9c0a('0x20')]);}return _0x8ea8db['getTeams'](_0x4a1091);}})[_0x9c0a('0x2a')](function(_0x2ae4aa){if(_0x2ae4aa){return _0x2ae4aa?{'count':_0x20c39d,'rows':_0x2ae4aa}:null;}})['then'](respondWithResult(_0x224d7c,null))['catch'](handleError(_0x224d7c,null));};exports['addTeams']=function(_0x5373c9,_0x401f5c,_0x4f217d){var _0x4c04b1=_0x5373c9['body'][_0x9c0a('0x6b')];return db[_0x9c0a('0x6c')][_0x9c0a('0x46')]({'where':{'id':_0x4c04b1},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x9c0a('0x2e'),'online',_0x9c0a('0x6d'),_0x9c0a('0x6e')],'raw':!![]}]})['then'](function(_0x108bc2){if(_0x108bc2){var _0x19c433=_[_0x9c0a('0x6f')](_0x108bc2,function(_0x1d0af5){var _0x5e9500=_0x1d0af5[_0x9c0a('0x2c')]({'plain':!![]});return _0x5e9500[_0x9c0a('0x70')];});return db[_0x9c0a('0x31')]['find']({'where':{'id':_0x5373c9[_0x9c0a('0x49')]['id']}})[_0x9c0a('0x2a')](function(_0x23ff3f){return db[_0x9c0a('0x71')][_0x9c0a('0x72')](function(_0x10421d){return _0x23ff3f[_0x9c0a('0x73')](_0x4c04b1,{'transaction':_0x10421d})[_0x9c0a('0x2a')](function(){return BPromise[_0x9c0a('0x74')](_0x19c433,function(_0x1215b8){return db[_0x9c0a('0x5c')][_0x9c0a('0x75')]({'where':{'UserId':_0x1215b8['id'],'WhatsappQueueId':_0x5373c9[_0x9c0a('0x49')]['id']},'transaction':_0x10421d});});})['then'](function(){_0x19c433[_0x9c0a('0x76')](function(_0x1475c8){socket[_0x9c0a('0x77')]('userWhatsappQueue:save',{'UserId':_0x1475c8['id'],'WhatsappQueueId':_0x23ff3f['id']});});});});});}})[_0x9c0a('0x2a')](respondWithStatusCode(_0x401f5c,null))[_0x9c0a('0x48')](handleError(_0x401f5c,null));};exports[_0x9c0a('0x78')]=function(_0xb9c79,_0x40112b,_0x339517){return db[_0x9c0a('0x6c')][_0x9c0a('0x46')]({'where':{'id':_0xb9c79[_0x9c0a('0x37')][_0x9c0a('0x6b')]},'attributes':['id'],'include':[{'model':db[_0x9c0a('0x61')],'as':_0x9c0a('0x70'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x40112b,null))[_0x9c0a('0x2a')](function(_0x29e924){var _0x3a0b5f=_[_0x9c0a('0x43')](_0x29e924,'id');var _0x110e63=[];var _0x3533d9=[];var _0x395298=squel[_0x9c0a('0x79')]();_0x395298[_0x9c0a('0x7a')]('tq.TeamId')[_0x9c0a('0x7b')](_0x9c0a('0x7c'),'tq')[_0x9c0a('0x7d')]('user_has_teams','ut',_0x9c0a('0x7e'))[_0x9c0a('0x3e')](_0x9c0a('0x7f'),_0xb9c79[_0x9c0a('0x49')]['id']);for(var _0x43198e=0x0;_0x43198e<_0x29e924[_0x9c0a('0x3b')];_0x43198e+=0x1){let _0x51a612=_0x29e924[_0x43198e];for(var _0x37a23d=0x0;_0x37a23d<_0x51a612[_0x9c0a('0x70')][_0x9c0a('0x3b')];_0x37a23d+=0x1){let _0x13b1df=_0x51a612[_0x9c0a('0x70')][_0x37a23d];var _0x338fdd=_0x395298[_0x9c0a('0x80')]();_0x338fdd[_0x9c0a('0x3e')](_0x9c0a('0x81'),_0x13b1df['id']);_0x3533d9[_0x9c0a('0x82')](db[_0x9c0a('0x71')][_0x9c0a('0x37')](_0x338fdd[_0x9c0a('0x83')](),{'type':db[_0x9c0a('0x71')][_0x9c0a('0x84')][_0x9c0a('0x85')]})['then'](function(_0x54d7ca){if(_0x54d7ca[_0x9c0a('0x3b')]===0x1){return _0x13b1df['id'];}else{var _0x159246=_['every'](_[_0x9c0a('0x43')](_0x54d7ca,'TeamId'),function(_0x12058b){return _[_0x9c0a('0x86')](_0x3a0b5f,_0x12058b);});if(_0x159246){return _0x13b1df['id'];}}}));}}return BPromise[_0x9c0a('0x87')](_0x3533d9)[_0x9c0a('0x2a')](function(_0x46b51b){_0x110e63=_(_0x110e63)[_0x9c0a('0x88')](_0x46b51b)['compact']()[_0x9c0a('0x89')]();return db[_0x9c0a('0x31')][_0x9c0a('0x4d')]({'where':{'id':_0xb9c79[_0x9c0a('0x49')]['id']}})[_0x9c0a('0x2a')](function(_0x3c6c31){return db[_0x9c0a('0x71')][_0x9c0a('0x72')](function(_0x22406a){return _0x3c6c31['removeTeams'](_0xb9c79[_0x9c0a('0x37')][_0x9c0a('0x6b')],{'transaction':_0x22406a})[_0x9c0a('0x2a')](function(){if(!_[_0x9c0a('0x8a')](_0x110e63)){return _0x3c6c31[_0x9c0a('0x8b')](_0x110e63,{'transaction':_0x22406a});}})[_0x9c0a('0x2a')](function(){_0x110e63[_0x9c0a('0x76')](function(_0x3a1ef8){socket[_0x9c0a('0x77')]('userWhatsappQueue:remove',{'UserId':_0x3a1ef8,'WhatsappQueueId':_0x3c6c31['id']});});});});});});})['then'](respondWithStatusCode(_0x40112b,null))[_0x9c0a('0x48')](handleError(_0x40112b,null));};exports[_0x9c0a('0x8c')]=function(_0x23eec6,_0x156110,_0x3f41b4){return db[_0x9c0a('0x31')]['find']({'where':{'id':_0x23eec6[_0x9c0a('0x49')]['id']}})[_0x9c0a('0x2a')](handleEntityNotFound(_0x156110,null))[_0x9c0a('0x2a')](function(_0xbacd9){if(_0xbacd9){return _0xbacd9[_0x9c0a('0x8c')](_0x23eec6[_0x9c0a('0x4f')][_0x9c0a('0x6b')],_[_0x9c0a('0x8d')](_0x23eec6[_0x9c0a('0x4f')],['ids','id'])||{})[_0x9c0a('0x8e')](function(_0xac6c40){for(var _0x391113=0x0;_0x391113<_0x23eec6['body'][_0x9c0a('0x6b')]['length'];_0x391113+=0x1){socket[_0x9c0a('0x77')]('userWhatsappQueue:save',{'UserId':Number(_0x23eec6[_0x9c0a('0x4f')][_0x9c0a('0x6b')][_0x391113]),'WhatsappQueueId':Number(_0x23eec6[_0x9c0a('0x49')]['id'])});}return _0xac6c40;});}})['then'](respondWithResult(_0x156110,null))[_0x9c0a('0x48')](handleError(_0x156110,null));};exports[_0x9c0a('0x8b')]=function(_0x31af59,_0x487ee2,_0x1fedd5){return db[_0x9c0a('0x31')][_0x9c0a('0x4d')]({'where':{'id':_0x31af59[_0x9c0a('0x49')]['id']}})['then'](handleEntityNotFound(_0x487ee2,null))[_0x9c0a('0x2a')](function(_0x1bf58c){if(_0x1bf58c){return _0x1bf58c[_0x9c0a('0x8b')](_0x31af59[_0x9c0a('0x37')][_0x9c0a('0x6b')])[_0x9c0a('0x2a')](function(){if(_['isArray'](_0x31af59[_0x9c0a('0x37')][_0x9c0a('0x6b')])){for(var _0x154df3=0x0;_0x154df3<_0x31af59[_0x9c0a('0x37')]['ids']['length'];_0x154df3+=0x1){socket[_0x9c0a('0x77')](_0x9c0a('0x8f'),{'UserId':Number(_0x31af59[_0x9c0a('0x37')]['ids'][_0x154df3]),'WhatsappQueueId':Number(_0x31af59[_0x9c0a('0x49')]['id'])});}}else{socket[_0x9c0a('0x77')](_0x9c0a('0x8f'),{'UserId':Number(_0x31af59[_0x9c0a('0x37')][_0x9c0a('0x6b')]),'WhatsappQueueId':Number(_0x31af59[_0x9c0a('0x49')]['id'])});}});}})['then'](respondWithStatusCode(_0x487ee2,null))[_0x9c0a('0x48')](handleError(_0x487ee2,null));};exports[_0x9c0a('0x90')]=function(_0x34b8f3,_0x49cd72,_0x14fbe8){var _0x15c590={};var _0x28a765={};var _0x5a677c;var _0x5afd3d;return db[_0x9c0a('0x31')][_0x9c0a('0x5b')]({'where':{'id':_0x34b8f3['params']['id']}})[_0x9c0a('0x2a')](handleEntityNotFound(_0x49cd72,null))[_0x9c0a('0x2a')](function(_0x362b05){if(_0x362b05){_0x5a677c=_0x362b05;_0x28a765[_0x9c0a('0x36')]=_['keys'](db[_0x9c0a('0x61')][_0x9c0a('0x32')]);_0x28a765['query']=_[_0x9c0a('0x4a')](_0x34b8f3[_0x9c0a('0x37')]);_0x28a765['filters']=_[_0x9c0a('0x38')](_0x28a765[_0x9c0a('0x36')],_0x28a765['query']);_0x15c590['attributes']=_[_0x9c0a('0x38')](_0x28a765[_0x9c0a('0x36')],qs[_0x9c0a('0x3a')](_0x34b8f3[_0x9c0a('0x37')]['fields']));_0x15c590['attributes']=_0x15c590['attributes']['length']?_0x15c590[_0x9c0a('0x39')]:_0x28a765['model'];_0x15c590[_0x9c0a('0x5f')]=qs[_0x9c0a('0x3d')](_0x34b8f3['query'][_0x9c0a('0x3d')]);_0x15c590['where']=qs['filters'](_[_0x9c0a('0x40')](_0x34b8f3[_0x9c0a('0x37')],_0x28a765[_0x9c0a('0x3f')]));if(_0x34b8f3[_0x9c0a('0x37')]['filter']){_0x15c590[_0x9c0a('0x3e')]=_[_0x9c0a('0x42')](_0x15c590[_0x9c0a('0x3e')],{'$or':_[_0x9c0a('0x43')](_0x15c590[_0x9c0a('0x39')],function(_0x585492){var _0x389747={};_0x389747[_0x585492]={'$like':'%'+_0x34b8f3[_0x9c0a('0x37')]['filter']+'%'};return _0x389747;})});}_0x15c590=_[_0x9c0a('0x42')]({},_0x15c590,_0x34b8f3[_0x9c0a('0x4c')]);return _0x5a677c[_0x9c0a('0x90')](_0x15c590);}})[_0x9c0a('0x2a')](function(_0x7af38d){if(_0x7af38d){_0x5afd3d=_0x7af38d[_0x9c0a('0x3b')];if(!_0x34b8f3[_0x9c0a('0x37')][_0x9c0a('0x5d')](_0x9c0a('0x5e'))){_0x15c590[_0x9c0a('0x3c')]=qs['limit'](_0x34b8f3[_0x9c0a('0x37')]['limit']);_0x15c590[_0x9c0a('0x20')]=qs[_0x9c0a('0x20')](_0x34b8f3[_0x9c0a('0x37')][_0x9c0a('0x20')]);}return _0x5a677c[_0x9c0a('0x90')](_0x15c590);}})[_0x9c0a('0x2a')](function(_0x14c4ae){if(_0x14c4ae){return _0x14c4ae?{'count':_0x5afd3d,'rows':_0x14c4ae}:null;}})[_0x9c0a('0x2a')](respondWithResult(_0x49cd72,null))[_0x9c0a('0x48')](handleError(_0x49cd72,null));};