258d1de604acac43a459a3f368f878aeb179ee98
[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 _0xd8ef=['rows','show','find','catch','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','error','params','destroy','describe','getMembers','findOne','UserWhatsappQueue','order','User','findAndCountAll','UserId','agent','whatsappPause','updatedAt','%s/%s','SIP','createdAt','getTeams','Team','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','userWhatsappQueue:save','removeTeams','select','field','tq.TeamId','from','join','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','TeamId','includes','union','compact','value','isEmpty','removeAgents','userWhatsappQueue:remove','omit','spread','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','./whatsappQueue.socket','status','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','get','WhatsappQueues','end','sendStatus','stack','name','send','index','WhatsappQueue','rawAttributes','fieldName','type','model','map','keys','filters','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0xd8ef,0x15b));var _0xfd8e=function(_0x3124f4,_0x114714){_0x3124f4=_0x3124f4-0x0;var _0x3aa839=_0xd8ef[_0x3124f4];return _0x3aa839;};'use strict';var emlformat=require(_0xfd8e('0x0'));var rimraf=require(_0xfd8e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xfd8e('0x2'));var rp=require(_0xfd8e('0x3'));var moment=require(_0xfd8e('0x4'));var BPromise=require(_0xfd8e('0x5'));var Mustache=require(_0xfd8e('0x6'));var util=require('util');var path=require(_0xfd8e('0x7'));var sox=require(_0xfd8e('0x8'));var csv=require('to-csv');var ejs=require(_0xfd8e('0x9'));var fs=require('fs');var fs_extra=require(_0xfd8e('0xa'));var _=require(_0xfd8e('0xb'));var squel=require(_0xfd8e('0xc'));var crypto=require('crypto');var jsforce=require(_0xfd8e('0xd'));var deskjs=require(_0xfd8e('0xe'));var toCsv=require(_0xfd8e('0xf'));var querystring=require('querystring');var Papa=require(_0xfd8e('0x10'));var Redis=require(_0xfd8e('0x11'));var authService=require(_0xfd8e('0x12'));var qs=require(_0xfd8e('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfd8e('0x14'));var logger=require('../../config/logger')(_0xfd8e('0x15'));var utils=require(_0xfd8e('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xfd8e('0x17'));var db=require(_0xfd8e('0x18'))['db'];config['redis']=_[_0xfd8e('0x19')](config[_0xfd8e('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xfd8e('0x1a')]));require(_0xfd8e('0x1b'))['register'](socket);function respondWithStatusCode(_0x374654,_0x4b4ff3){_0x4b4ff3=_0x4b4ff3||0xcc;return function(_0x89b1f0){if(_0x89b1f0){return _0x374654['sendStatus'](_0x4b4ff3);}return _0x374654[_0xfd8e('0x1c')](_0x4b4ff3)['end']();};}function respondWithResult(_0x1f15df,_0x26b374){_0x26b374=_0x26b374||0xc8;return function(_0x300c10){if(_0x300c10){return _0x1f15df['status'](_0x26b374)['json'](_0x300c10);}};}function respondWithFilteredResult(_0x4012cd,_0xb45cb6){return function(_0x23560f){if(_0x23560f){var _0x1f2121=typeof _0xb45cb6[_0xfd8e('0x1d')]===_0xfd8e('0x1e')&&typeof _0xb45cb6[_0xfd8e('0x1f')]===_0xfd8e('0x1e');var _0x315504=_0x23560f[_0xfd8e('0x20')];var _0x2bffd9=_0x1f2121?0x0:_0xb45cb6[_0xfd8e('0x1d')];var _0x370c60=_0x1f2121?_0x23560f[_0xfd8e('0x20')]:_0xb45cb6['offset']+_0xb45cb6[_0xfd8e('0x1f')];var _0x41f5b6;if(_0x370c60>=_0x315504){_0x370c60=_0x315504;_0x41f5b6=0xc8;}else{_0x41f5b6=0xce;}_0x4012cd[_0xfd8e('0x1c')](_0x41f5b6);return _0x4012cd[_0xfd8e('0x21')](_0xfd8e('0x22'),_0x2bffd9+'-'+_0x370c60+'/'+_0x315504)[_0xfd8e('0x23')](_0x23560f);}return null;};}function patchUpdates(_0x58ee75){return function(_0x1c1463){try{jsonpatch['apply'](_0x1c1463,_0x58ee75,!![]);}catch(_0x55e7b3){return BPromise[_0xfd8e('0x24')](_0x55e7b3);}return _0x1c1463[_0xfd8e('0x25')]();};}function saveUpdates(_0x2b6b31,_0x182e05){return function(_0x48e846){if(_0x48e846){return _0x48e846[_0xfd8e('0x26')](_0x2b6b31)[_0xfd8e('0x27')](function(_0x14d36b){return _0x14d36b;});}return null;};}function removeEntity(_0x554526,_0xee69f3){return function(_0x41b931){if(_0x41b931){return _0x41b931['destroy']()['then'](function(){var _0x782d65=_0x41b931[_0xfd8e('0x28')]({'plain':!![]});var _0x14978e=_0xfd8e('0x29');return db['UserProfileResource']['destroy']({'where':{'type':_0x14978e,'resourceId':_0x782d65['id']}})[_0xfd8e('0x27')](function(){return _0x41b931;});})[_0xfd8e('0x27')](function(){_0x554526['status'](0xcc)[_0xfd8e('0x2a')]();});}};}function handleEntityNotFound(_0x556fca,_0x466b1b){return function(_0x377689){if(!_0x377689){_0x556fca[_0xfd8e('0x2b')](0x194);}return _0x377689;};}function handleError(_0x22864f,_0xdac2ab){_0xdac2ab=_0xdac2ab||0x1f4;return function(_0x2bc187){logger['error'](_0x2bc187[_0xfd8e('0x2c')]);if(_0x2bc187[_0xfd8e('0x2d')]){delete _0x2bc187[_0xfd8e('0x2d')];}_0x22864f[_0xfd8e('0x1c')](_0xdac2ab)[_0xfd8e('0x2e')](_0x2bc187);};}exports[_0xfd8e('0x2f')]=function(_0x2c1539,_0x2f1e99){var _0x104a69={},_0x3beaae={},_0x4ea762={'count':0x0,'rows':[]};var _0x4b9cbc=_['map'](db[_0xfd8e('0x30')][_0xfd8e('0x31')],function(_0x1d563b){return{'name':_0x1d563b[_0xfd8e('0x32')],'type':_0x1d563b[_0xfd8e('0x33')]['key']};});_0x3beaae[_0xfd8e('0x34')]=_[_0xfd8e('0x35')](_0x4b9cbc,_0xfd8e('0x2d'));_0x3beaae['query']=_[_0xfd8e('0x36')](_0x2c1539['query']);_0x3beaae[_0xfd8e('0x37')]=_['intersection'](_0x3beaae['model'],_0x3beaae[_0xfd8e('0x38')]);_0x104a69[_0xfd8e('0x39')]=_[_0xfd8e('0x3a')](_0x3beaae[_0xfd8e('0x34')],qs[_0xfd8e('0x3b')](_0x2c1539[_0xfd8e('0x38')][_0xfd8e('0x3b')]));_0x104a69[_0xfd8e('0x39')]=_0x104a69[_0xfd8e('0x39')][_0xfd8e('0x3c')]?_0x104a69[_0xfd8e('0x39')]:_0x3beaae[_0xfd8e('0x34')];if(!_0x2c1539[_0xfd8e('0x38')][_0xfd8e('0x3d')](_0xfd8e('0x3e'))){_0x104a69[_0xfd8e('0x1f')]=qs[_0xfd8e('0x1f')](_0x2c1539[_0xfd8e('0x38')]['limit']);_0x104a69[_0xfd8e('0x1d')]=qs[_0xfd8e('0x1d')](_0x2c1539[_0xfd8e('0x38')]['offset']);}_0x104a69['order']=qs[_0xfd8e('0x3f')](_0x2c1539[_0xfd8e('0x38')]['sort']);_0x104a69[_0xfd8e('0x40')]=qs[_0xfd8e('0x37')](_[_0xfd8e('0x41')](_0x2c1539[_0xfd8e('0x38')],_0x3beaae[_0xfd8e('0x37')]),_0x4b9cbc);if(_0x2c1539[_0xfd8e('0x38')][_0xfd8e('0x42')]){_0x104a69['where']=_['merge'](_0x104a69[_0xfd8e('0x40')],{'$or':_[_0xfd8e('0x35')](_0x4b9cbc,function(_0x502129){if(_0x502129[_0xfd8e('0x33')]!==_0xfd8e('0x43')){var _0x37455f={};_0x37455f[_0x502129[_0xfd8e('0x2d')]]={'$like':'%'+_0x2c1539['query'][_0xfd8e('0x42')]+'%'};return _0x37455f;}})});}_0x104a69=_[_0xfd8e('0x44')]({},_0x104a69,_0x2c1539[_0xfd8e('0x45')]);var _0x418875={'where':_0x104a69[_0xfd8e('0x40')]};return db[_0xfd8e('0x30')][_0xfd8e('0x20')](_0x418875)[_0xfd8e('0x27')](function(_0x25ba04){_0x4ea762[_0xfd8e('0x20')]=_0x25ba04;if(_0x2c1539[_0xfd8e('0x38')][_0xfd8e('0x46')]){_0x104a69[_0xfd8e('0x47')]=[{'all':!![]}];}return db[_0xfd8e('0x30')][_0xfd8e('0x48')](_0x104a69);})[_0xfd8e('0x27')](function(_0x4f4228){_0x4ea762[_0xfd8e('0x49')]=_0x4f4228;return _0x4ea762;})['then'](respondWithFilteredResult(_0x2f1e99,_0x104a69))['catch'](handleError(_0x2f1e99,null));};exports[_0xfd8e('0x4a')]=function(_0x5c199b,_0xeb7374){var _0x41769a={'raw':!![],'where':{'id':_0x5c199b['params']['id']}},_0x3e8c0a={};_0x3e8c0a[_0xfd8e('0x34')]=_[_0xfd8e('0x36')](db[_0xfd8e('0x30')][_0xfd8e('0x31')]);_0x3e8c0a[_0xfd8e('0x38')]=_[_0xfd8e('0x36')](_0x5c199b[_0xfd8e('0x38')]);_0x3e8c0a[_0xfd8e('0x37')]=_[_0xfd8e('0x3a')](_0x3e8c0a['model'],_0x3e8c0a[_0xfd8e('0x38')]);_0x41769a[_0xfd8e('0x39')]=_['intersection'](_0x3e8c0a['model'],qs['fields'](_0x5c199b[_0xfd8e('0x38')]['fields']));_0x41769a[_0xfd8e('0x39')]=_0x41769a[_0xfd8e('0x39')][_0xfd8e('0x3c')]?_0x41769a['attributes']:_0x3e8c0a['model'];if(_0x5c199b[_0xfd8e('0x38')][_0xfd8e('0x46')]){_0x41769a[_0xfd8e('0x47')]=[{'all':!![]}];}_0x41769a=_[_0xfd8e('0x44')]({},_0x41769a,_0x5c199b['options']);return db[_0xfd8e('0x30')][_0xfd8e('0x4b')](_0x41769a)[_0xfd8e('0x27')](handleEntityNotFound(_0xeb7374,null))[_0xfd8e('0x27')](respondWithResult(_0xeb7374,null))[_0xfd8e('0x4c')](handleError(_0xeb7374,null));};exports['create']=function(_0x31c9d7,_0x10d48b){return db[_0xfd8e('0x30')]['create'](_0x31c9d7[_0xfd8e('0x4d')],{})[_0xfd8e('0x27')](function(_0x4eff45){var _0xcfd0ec=_0x31c9d7[_0xfd8e('0x4e')]['get']({'plain':!![]});if(!_0xcfd0ec)throw new Error(_0xfd8e('0x4f'));if(_0xcfd0ec[_0xfd8e('0x50')]==='user'){var _0x568f93=_0x4eff45[_0xfd8e('0x28')]({'plain':!![]});var _0x4e096c=_0xfd8e('0x29');return db[_0xfd8e('0x51')][_0xfd8e('0x4b')]({'where':{'name':_0x4e096c,'userProfileId':_0xcfd0ec[_0xfd8e('0x52')]},'raw':!![]})['then'](function(_0x1e2807){if(_0x1e2807&&_0x1e2807['autoAssociation']===0x0){return db[_0xfd8e('0x53')]['create']({'name':_0x568f93[_0xfd8e('0x2d')],'resourceId':_0x568f93['id'],'type':_0x1e2807[_0xfd8e('0x2d')],'sectionId':_0x1e2807['id']},{})[_0xfd8e('0x27')](function(){return _0x4eff45;});}else{return _0x4eff45;}})[_0xfd8e('0x4c')](function(_0x1a3c7e){logger[_0xfd8e('0x54')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1a3c7e);throw _0x1a3c7e;});}return _0x4eff45;})[_0xfd8e('0x27')](respondWithResult(_0x10d48b,0xc9))[_0xfd8e('0x4c')](handleError(_0x10d48b,null));};exports['update']=function(_0x727d0f,_0x44c395){if(_0x727d0f[_0xfd8e('0x4d')]['id']){delete _0x727d0f[_0xfd8e('0x4d')]['id'];}return db[_0xfd8e('0x30')][_0xfd8e('0x4b')]({'where':{'id':_0x727d0f[_0xfd8e('0x55')]['id']}})[_0xfd8e('0x27')](handleEntityNotFound(_0x44c395,null))[_0xfd8e('0x27')](saveUpdates(_0x727d0f[_0xfd8e('0x4d')],null))['then'](respondWithResult(_0x44c395,null))[_0xfd8e('0x4c')](handleError(_0x44c395,null));};exports[_0xfd8e('0x56')]=function(_0x30c4bf,_0x541077){return db['WhatsappQueue'][_0xfd8e('0x4b')]({'where':{'id':_0x30c4bf[_0xfd8e('0x55')]['id']}})['then'](handleEntityNotFound(_0x541077,null))['then'](removeEntity(_0x541077,null))[_0xfd8e('0x4c')](handleError(_0x541077,null));};exports[_0xfd8e('0x57')]=function(_0x56a9d2,_0x211f6f){return db[_0xfd8e('0x30')]['describe']()[_0xfd8e('0x27')](respondWithResult(_0x211f6f,null))[_0xfd8e('0x4c')](handleError(_0x211f6f,null));};exports[_0xfd8e('0x58')]=function(_0x3ac299,_0x30f939,_0x25d02f){var _0x28ebf7={'raw':!![],'where':{}},_0x49bc1c={},_0x209237;return db[_0xfd8e('0x30')][_0xfd8e('0x59')]({'where':{'id':_0x3ac299[_0xfd8e('0x55')]['id']}})[_0xfd8e('0x27')](handleEntityNotFound(_0x30f939,null))['then'](function(_0x3bd463){if(_0x3bd463){_0x209237=_0x3bd463['get']({'plain':!![]});_0x49bc1c[_0xfd8e('0x34')]=_['keys'](db[_0xfd8e('0x5a')][_0xfd8e('0x31')]);_0x49bc1c[_0xfd8e('0x38')]=_[_0xfd8e('0x36')](_0x3ac299[_0xfd8e('0x38')]);_0x49bc1c['filters']=_[_0xfd8e('0x3a')](_0x49bc1c[_0xfd8e('0x34')],_0x49bc1c[_0xfd8e('0x38')]);_0x28ebf7[_0xfd8e('0x39')]=_['intersection'](_0x49bc1c[_0xfd8e('0x34')],qs['fields'](_0x3ac299[_0xfd8e('0x38')][_0xfd8e('0x3b')]));_0x28ebf7[_0xfd8e('0x39')]=_0x28ebf7[_0xfd8e('0x39')][_0xfd8e('0x3c')]?_0x28ebf7[_0xfd8e('0x39')]:_0x49bc1c['model'];if(!_0x3ac299[_0xfd8e('0x38')][_0xfd8e('0x3d')](_0xfd8e('0x3e'))){_0x28ebf7[_0xfd8e('0x1f')]=qs['limit'](_0x3ac299[_0xfd8e('0x38')][_0xfd8e('0x1f')]);_0x28ebf7[_0xfd8e('0x1d')]=qs[_0xfd8e('0x1d')](_0x3ac299[_0xfd8e('0x38')][_0xfd8e('0x1d')]);}_0x28ebf7[_0xfd8e('0x5b')]=qs['sort'](_0x3ac299[_0xfd8e('0x38')][_0xfd8e('0x3f')]);_0x28ebf7[_0xfd8e('0x40')]=qs[_0xfd8e('0x37')](_[_0xfd8e('0x41')](_0x3ac299[_0xfd8e('0x38')],_0x49bc1c['filters']));_0x28ebf7[_0xfd8e('0x40')]['WhatsappQueueId']=_0x3bd463['id'];if(_0x3ac299[_0xfd8e('0x38')][_0xfd8e('0x42')]){_0x28ebf7['where']=_[_0xfd8e('0x44')](_0x28ebf7[_0xfd8e('0x40')],{'$or':_[_0xfd8e('0x35')](_0x28ebf7[_0xfd8e('0x39')],function(_0x3a4269){var _0x2093c6={};_0x2093c6[_0x3a4269]={'$like':'%'+_0x3ac299[_0xfd8e('0x38')][_0xfd8e('0x42')]+'%'};return _0x2093c6;})});}_0x28ebf7=_[_0xfd8e('0x44')]({},_0x28ebf7,_0x3ac299['options']);return db[_0xfd8e('0x5a')][_0xfd8e('0x48')](_0x28ebf7);}})[_0xfd8e('0x27')](function(_0x5ea8b6){if(_0x5ea8b6){return db[_0xfd8e('0x5c')][_0xfd8e('0x5d')]({'where':{'id':_[_0xfd8e('0x35')](_0x5ea8b6,_0xfd8e('0x5e')),'role':_0xfd8e('0x5f')},'attributes':['id',_0xfd8e('0x2d'),_0xfd8e('0x60'),_0xfd8e('0x61'),'createdAt']});}})[_0xfd8e('0x27')](function(_0x5fe7b8){if(_0x5fe7b8){return{'count':_0x5fe7b8[_0xfd8e('0x20')],'rows':_['map'](_0x5fe7b8[_0xfd8e('0x49')],function(_0x3ece10){return{'membername':_0x3ece10[_0xfd8e('0x2d')],'UserId':_0x3ece10['id'],'queue_name':_0x209237[_0xfd8e('0x2d')],'WhatsappQueueId':_0x209237['id'],'interface':util['format'](_0xfd8e('0x62'),_0xfd8e('0x63'),_0x3ece10[_0xfd8e('0x2d')]),'penalty':0x0,'paused':_0x3ece10[_0xfd8e('0x60')],'createdAt':_0x3ece10[_0xfd8e('0x64')],'updatedAt':_0x3ece10[_0xfd8e('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xfd8e('0x27')](respondWithFilteredResult(_0x30f939,_0x28ebf7))['catch'](handleError(_0x30f939,null));};exports[_0xfd8e('0x65')]=function(_0x555e8f,_0x331207,_0x114a70){var _0x11d266={};var _0x40c041={};var _0x556e55;var _0x1d09df;return db[_0xfd8e('0x30')]['findOne']({'where':{'id':_0x555e8f[_0xfd8e('0x55')]['id']}})[_0xfd8e('0x27')](handleEntityNotFound(_0x331207,null))['then'](function(_0xeb1d8){if(_0xeb1d8){_0x556e55=_0xeb1d8;_0x40c041[_0xfd8e('0x34')]=_[_0xfd8e('0x36')](db[_0xfd8e('0x66')]['rawAttributes']);_0x40c041['query']=_[_0xfd8e('0x36')](_0x555e8f['query']);_0x40c041[_0xfd8e('0x37')]=_[_0xfd8e('0x3a')](_0x40c041['model'],_0x40c041[_0xfd8e('0x38')]);_0x11d266[_0xfd8e('0x39')]=_[_0xfd8e('0x3a')](_0x40c041[_0xfd8e('0x34')],qs[_0xfd8e('0x3b')](_0x555e8f[_0xfd8e('0x38')][_0xfd8e('0x3b')]));_0x11d266[_0xfd8e('0x39')]=_0x11d266[_0xfd8e('0x39')][_0xfd8e('0x3c')]?_0x11d266[_0xfd8e('0x39')]:_0x40c041['model'];_0x11d266['order']=qs[_0xfd8e('0x3f')](_0x555e8f[_0xfd8e('0x38')][_0xfd8e('0x3f')]);_0x11d266[_0xfd8e('0x40')]=qs['filters'](_['pick'](_0x555e8f[_0xfd8e('0x38')],_0x40c041[_0xfd8e('0x37')]));if(_0x555e8f[_0xfd8e('0x38')]['filter']){_0x11d266['where']=_['merge'](_0x11d266[_0xfd8e('0x40')],{'$or':_[_0xfd8e('0x35')](_0x11d266[_0xfd8e('0x39')],function(_0x462b7c){var _0x23846d={};_0x23846d[_0x462b7c]={'$like':'%'+_0x555e8f[_0xfd8e('0x38')][_0xfd8e('0x42')]+'%'};return _0x23846d;})});}_0x11d266=_[_0xfd8e('0x44')]({},_0x11d266,_0x555e8f[_0xfd8e('0x45')]);return _0x556e55[_0xfd8e('0x65')](_0x11d266);}})[_0xfd8e('0x27')](function(_0x282986){if(_0x282986){_0x1d09df=_0x282986[_0xfd8e('0x3c')];if(!_0x555e8f[_0xfd8e('0x38')][_0xfd8e('0x3d')]('nolimit')){_0x11d266['limit']=qs[_0xfd8e('0x1f')](_0x555e8f[_0xfd8e('0x38')][_0xfd8e('0x1f')]);_0x11d266[_0xfd8e('0x1d')]=qs[_0xfd8e('0x1d')](_0x555e8f[_0xfd8e('0x38')]['offset']);}return _0x556e55[_0xfd8e('0x65')](_0x11d266);}})['then'](function(_0xfc43d1){if(_0xfc43d1){return _0xfc43d1?{'count':_0x1d09df,'rows':_0xfc43d1}:null;}})[_0xfd8e('0x27')](respondWithResult(_0x331207,null))[_0xfd8e('0x4c')](handleError(_0x331207,null));};exports['addTeams']=function(_0x2ae2de,_0x54af0e,_0x55fc17){var _0x1aaa0b=_0x2ae2de['body'][_0xfd8e('0x67')];return db[_0xfd8e('0x66')][_0xfd8e('0x48')]({'where':{'id':_0x1aaa0b},'attributes':['id'],'include':[{'model':db[_0xfd8e('0x5c')],'as':_0xfd8e('0x68'),'attributes':['id',_0xfd8e('0x2d'),_0xfd8e('0x69'),_0xfd8e('0x6a'),_0xfd8e('0x6b')],'raw':!![]}]})[_0xfd8e('0x27')](function(_0x226601){if(_0x226601){var _0x578f71=_[_0xfd8e('0x6c')](_0x226601,function(_0x42b5c5){var _0x590b8a=_0x42b5c5['get']({'plain':!![]});return _0x590b8a[_0xfd8e('0x68')];});return db['WhatsappQueue']['find']({'where':{'id':_0x2ae2de['params']['id']}})['then'](function(_0x49d296){return db[_0xfd8e('0x6d')][_0xfd8e('0x6e')](function(_0x4618ad){return _0x49d296[_0xfd8e('0x6f')](_0x1aaa0b,{'transaction':_0x4618ad})[_0xfd8e('0x27')](function(){return BPromise[_0xfd8e('0x70')](_0x578f71,function(_0xde99ee){return db[_0xfd8e('0x5a')][_0xfd8e('0x71')]({'where':{'UserId':_0xde99ee['id'],'WhatsappQueueId':_0x2ae2de[_0xfd8e('0x55')]['id']},'transaction':_0x4618ad});});})[_0xfd8e('0x27')](function(){_0x578f71[_0xfd8e('0x72')](function(_0x2c9fb0){socket[_0xfd8e('0x73')](_0xfd8e('0x74'),{'UserId':_0x2c9fb0['id'],'WhatsappQueueId':_0x49d296['id']});});});});});}})[_0xfd8e('0x27')](respondWithStatusCode(_0x54af0e,null))[_0xfd8e('0x4c')](handleError(_0x54af0e,null));};exports[_0xfd8e('0x75')]=function(_0x126388,_0x4d599c,_0x42d669){return db[_0xfd8e('0x66')][_0xfd8e('0x48')]({'where':{'id':_0x126388[_0xfd8e('0x38')][_0xfd8e('0x67')]},'attributes':['id'],'include':[{'model':db[_0xfd8e('0x5c')],'as':_0xfd8e('0x68'),'attributes':['id'],'raw':!![]}]})[_0xfd8e('0x27')](handleEntityNotFound(_0x4d599c,null))['then'](function(_0x163284){var _0x5763fb=_[_0xfd8e('0x35')](_0x163284,'id');var _0xe8f44=[];var _0x32c19e=[];var _0x41222d=squel[_0xfd8e('0x76')]();_0x41222d[_0xfd8e('0x77')](_0xfd8e('0x78'))[_0xfd8e('0x79')]('team_has_whatsapp_queues','tq')[_0xfd8e('0x7a')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0xfd8e('0x40')]('WhatsappQueueId\x20=\x20?',_0x126388[_0xfd8e('0x55')]['id']);for(var _0x382663=0x0;_0x382663<_0x163284[_0xfd8e('0x3c')];_0x382663+=0x1){let _0x3e6384=_0x163284[_0x382663];for(var _0x65b7fd=0x0;_0x65b7fd<_0x3e6384[_0xfd8e('0x68')][_0xfd8e('0x3c')];_0x65b7fd+=0x1){let _0x2b9a4c=_0x3e6384[_0xfd8e('0x68')][_0x65b7fd];var _0x14e0f9=_0x41222d[_0xfd8e('0x7b')]();_0x14e0f9[_0xfd8e('0x40')](_0xfd8e('0x7c'),_0x2b9a4c['id']);_0x32c19e['push'](db['sequelize'][_0xfd8e('0x38')](_0x14e0f9[_0xfd8e('0x7d')](),{'type':db[_0xfd8e('0x6d')][_0xfd8e('0x7e')][_0xfd8e('0x7f')]})[_0xfd8e('0x27')](function(_0x43a401){if(_0x43a401[_0xfd8e('0x3c')]===0x1){return _0x2b9a4c['id'];}else{var _0x5d723a=_['every'](_['map'](_0x43a401,_0xfd8e('0x80')),function(_0x245942){return _[_0xfd8e('0x81')](_0x5763fb,_0x245942);});if(_0x5d723a){return _0x2b9a4c['id'];}}}));}}return BPromise['all'](_0x32c19e)[_0xfd8e('0x27')](function(_0x230f9e){_0xe8f44=_(_0xe8f44)[_0xfd8e('0x82')](_0x230f9e)[_0xfd8e('0x83')]()[_0xfd8e('0x84')]();return db[_0xfd8e('0x30')][_0xfd8e('0x4b')]({'where':{'id':_0x126388['params']['id']}})['then'](function(_0x30d61b){return db[_0xfd8e('0x6d')][_0xfd8e('0x6e')](function(_0x44b720){return _0x30d61b[_0xfd8e('0x75')](_0x126388[_0xfd8e('0x38')][_0xfd8e('0x67')],{'transaction':_0x44b720})['then'](function(){if(!_[_0xfd8e('0x85')](_0xe8f44)){return _0x30d61b[_0xfd8e('0x86')](_0xe8f44,{'transaction':_0x44b720});}})['then'](function(){_0xe8f44[_0xfd8e('0x72')](function(_0x18077d){socket['emit'](_0xfd8e('0x87'),{'UserId':_0x18077d,'WhatsappQueueId':_0x30d61b['id']});});});});});});})['then'](respondWithStatusCode(_0x4d599c,null))[_0xfd8e('0x4c')](handleError(_0x4d599c,null));};exports['addAgents']=function(_0xd05180,_0x669839,_0x565d9f){return db['WhatsappQueue'][_0xfd8e('0x4b')]({'where':{'id':_0xd05180[_0xfd8e('0x55')]['id']}})['then'](handleEntityNotFound(_0x669839,null))[_0xfd8e('0x27')](function(_0x469639){if(_0x469639){return _0x469639['addAgents'](_0xd05180[_0xfd8e('0x4d')][_0xfd8e('0x67')],_[_0xfd8e('0x88')](_0xd05180['body'],['ids','id'])||{})[_0xfd8e('0x89')](function(_0x273638){for(var _0x759e51=0x0;_0x759e51<_0xd05180[_0xfd8e('0x4d')][_0xfd8e('0x67')][_0xfd8e('0x3c')];_0x759e51+=0x1){socket[_0xfd8e('0x73')](_0xfd8e('0x74'),{'UserId':Number(_0xd05180[_0xfd8e('0x4d')]['ids'][_0x759e51]),'WhatsappQueueId':Number(_0xd05180[_0xfd8e('0x55')]['id'])});}return _0x273638;});}})[_0xfd8e('0x27')](respondWithResult(_0x669839,null))[_0xfd8e('0x4c')](handleError(_0x669839,null));};exports[_0xfd8e('0x86')]=function(_0xa2b96f,_0x2ddd57,_0x787b7e){return db[_0xfd8e('0x30')][_0xfd8e('0x4b')]({'where':{'id':_0xa2b96f[_0xfd8e('0x55')]['id']}})[_0xfd8e('0x27')](handleEntityNotFound(_0x2ddd57,null))[_0xfd8e('0x27')](function(_0x5821fc){if(_0x5821fc){return _0x5821fc[_0xfd8e('0x86')](_0xa2b96f[_0xfd8e('0x38')][_0xfd8e('0x67')])[_0xfd8e('0x27')](function(){if(_[_0xfd8e('0x8a')](_0xa2b96f[_0xfd8e('0x38')]['ids'])){for(var _0x1b52f7=0x0;_0x1b52f7<_0xa2b96f[_0xfd8e('0x38')]['ids'][_0xfd8e('0x3c')];_0x1b52f7+=0x1){socket[_0xfd8e('0x73')](_0xfd8e('0x87'),{'UserId':Number(_0xa2b96f[_0xfd8e('0x38')]['ids'][_0x1b52f7]),'WhatsappQueueId':Number(_0xa2b96f[_0xfd8e('0x55')]['id'])});}}else{socket[_0xfd8e('0x73')](_0xfd8e('0x87'),{'UserId':Number(_0xa2b96f[_0xfd8e('0x38')][_0xfd8e('0x67')]),'WhatsappQueueId':Number(_0xa2b96f[_0xfd8e('0x55')]['id'])});}});}})[_0xfd8e('0x27')](respondWithStatusCode(_0x2ddd57,null))[_0xfd8e('0x4c')](handleError(_0x2ddd57,null));};exports['getAgents']=function(_0x2ef156,_0x209220,_0x4a3154){var _0x37195b={};var _0x341233={};var _0x52804b;var _0x138398;return db[_0xfd8e('0x30')][_0xfd8e('0x59')]({'where':{'id':_0x2ef156[_0xfd8e('0x55')]['id']}})[_0xfd8e('0x27')](handleEntityNotFound(_0x209220,null))[_0xfd8e('0x27')](function(_0x52030f){if(_0x52030f){_0x52804b=_0x52030f;_0x341233[_0xfd8e('0x34')]=_['keys'](db[_0xfd8e('0x5c')]['rawAttributes']);_0x341233[_0xfd8e('0x38')]=_[_0xfd8e('0x36')](_0x2ef156[_0xfd8e('0x38')]);_0x341233['filters']=_[_0xfd8e('0x3a')](_0x341233[_0xfd8e('0x34')],_0x341233[_0xfd8e('0x38')]);_0x37195b['attributes']=_[_0xfd8e('0x3a')](_0x341233[_0xfd8e('0x34')],qs[_0xfd8e('0x3b')](_0x2ef156['query'][_0xfd8e('0x3b')]));_0x37195b[_0xfd8e('0x39')]=_0x37195b[_0xfd8e('0x39')][_0xfd8e('0x3c')]?_0x37195b['attributes']:_0x341233[_0xfd8e('0x34')];_0x37195b['order']=qs[_0xfd8e('0x3f')](_0x2ef156[_0xfd8e('0x38')][_0xfd8e('0x3f')]);_0x37195b[_0xfd8e('0x40')]=qs[_0xfd8e('0x37')](_[_0xfd8e('0x41')](_0x2ef156[_0xfd8e('0x38')],_0x341233[_0xfd8e('0x37')]));if(_0x2ef156['query'][_0xfd8e('0x42')]){_0x37195b[_0xfd8e('0x40')]=_[_0xfd8e('0x44')](_0x37195b[_0xfd8e('0x40')],{'$or':_[_0xfd8e('0x35')](_0x37195b[_0xfd8e('0x39')],function(_0x4ba45c){var _0x3b3fb9={};_0x3b3fb9[_0x4ba45c]={'$like':'%'+_0x2ef156[_0xfd8e('0x38')][_0xfd8e('0x42')]+'%'};return _0x3b3fb9;})});}_0x37195b=_[_0xfd8e('0x44')]({},_0x37195b,_0x2ef156[_0xfd8e('0x45')]);return _0x52804b[_0xfd8e('0x8b')](_0x37195b);}})['then'](function(_0x34444a){if(_0x34444a){_0x138398=_0x34444a[_0xfd8e('0x3c')];if(!_0x2ef156[_0xfd8e('0x38')][_0xfd8e('0x3d')](_0xfd8e('0x3e'))){_0x37195b[_0xfd8e('0x1f')]=qs['limit'](_0x2ef156[_0xfd8e('0x38')][_0xfd8e('0x1f')]);_0x37195b[_0xfd8e('0x1d')]=qs['offset'](_0x2ef156[_0xfd8e('0x38')][_0xfd8e('0x1d')]);}return _0x52804b[_0xfd8e('0x8b')](_0x37195b);}})['then'](function(_0x2300d3){if(_0x2300d3){return _0x2300d3?{'count':_0x138398,'rows':_0x2300d3}:null;}})[_0xfd8e('0x27')](respondWithResult(_0x209220,null))['catch'](handleError(_0x209220,null));};