5ad5612f6a6fd3b23216fab39ae6e4b0a7075e5a
[motion2.git] / server / api / smsQueue / smsQueue.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 _0xe18a=['querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./smsQueue.socket','register','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','get','SmsQueues','UserProfileResource','destroy','end','error','stack','name','send','index','map','SmsQueue','rawAttributes','type','key','keys','filters','intersection','model','query','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','catch','show','length','include','find','create','body','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','findOne','SmsQueueId','UserSmsQueue','findAll','User','findAndCountAll','UserId','smsPause','updatedAt','createdAt','rows','format','%s/%s','getTeams','Team','addTeams','ids','Agents','online','voicePause','sequelize','transaction','each','findOrCreate','forEach','emit','userSmsQueue:save','removeTeams','tq.TeamId','from','team_has_sms_queues','user_has_teams','SmsQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','includes','all','value','isEmpty','removeAgents','userSmsQueue:remove','addAgents','omit','isArray','getAgents','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js'];(function(_0x542888,_0x1281ac){var _0xa6ce4a=function(_0x433d7b){while(--_0x433d7b){_0x542888['push'](_0x542888['shift']());}};_0xa6ce4a(++_0x1281ac);}(_0xe18a,0x10a));var _0xae18=function(_0x4fb7de,_0x5a13e2){_0x4fb7de=_0x4fb7de-0x0;var _0x31cd18=_0xe18a[_0x4fb7de];return _0x31cd18;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xae18('0x0'));var zipdir=require(_0xae18('0x1'));var jsonpatch=require(_0xae18('0x2'));var rp=require(_0xae18('0x3'));var moment=require(_0xae18('0x4'));var BPromise=require(_0xae18('0x5'));var Mustache=require(_0xae18('0x6'));var util=require(_0xae18('0x7'));var path=require(_0xae18('0x8'));var sox=require('sox');var csv=require(_0xae18('0x9'));var ejs=require(_0xae18('0xa'));var fs=require('fs');var fs_extra=require(_0xae18('0xb'));var _=require(_0xae18('0xc'));var squel=require(_0xae18('0xd'));var crypto=require('crypto');var jsforce=require(_0xae18('0xe'));var deskjs=require(_0xae18('0xf'));var toCsv=require(_0xae18('0x9'));var querystring=require(_0xae18('0x10'));var Papa=require(_0xae18('0x11'));var Redis=require(_0xae18('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xae18('0x13'));var as=require(_0xae18('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xae18('0x15'));var config=require(_0xae18('0x16'));var licenseUtil=require(_0xae18('0x17'));var db=require(_0xae18('0x18'))['db'];config['redis']=_[_0xae18('0x19')](config[_0xae18('0x1a')],{'host':_0xae18('0x1b'),'port':0x18eb});var socket=require(_0xae18('0x1c'))(new Redis(config['redis']));require(_0xae18('0x1d'))[_0xae18('0x1e')](socket);function respondWithStatusCode(_0x27a0d5,_0x34c9ce){_0x34c9ce=_0x34c9ce||0xcc;return function(_0x587c46){if(_0x587c46){return _0x27a0d5[_0xae18('0x1f')](_0x34c9ce);}return _0x27a0d5[_0xae18('0x20')](_0x34c9ce)['end']();};}function respondWithResult(_0x42061c,_0x36d40c){_0x36d40c=_0x36d40c||0xc8;return function(_0x3b7c9a){if(_0x3b7c9a){return _0x42061c['status'](_0x36d40c)[_0xae18('0x21')](_0x3b7c9a);}};}function respondWithFilteredResult(_0xade5ed,_0x3121a5){return function(_0x3e8637){if(_0x3e8637){var _0x36b709=typeof _0x3121a5[_0xae18('0x22')]===_0xae18('0x23')&&typeof _0x3121a5['limit']===_0xae18('0x23');var _0x46f6e5=_0x3e8637[_0xae18('0x24')];var _0x1dd25a=_0x36b709?0x0:_0x3121a5[_0xae18('0x22')];var _0x26ed37=_0x36b709?_0x3e8637[_0xae18('0x24')]:_0x3121a5[_0xae18('0x22')]+_0x3121a5[_0xae18('0x25')];var _0x2c56a7;if(_0x26ed37>=_0x46f6e5){_0x26ed37=_0x46f6e5;_0x2c56a7=0xc8;}else{_0x2c56a7=0xce;}_0xade5ed[_0xae18('0x20')](_0x2c56a7);return _0xade5ed[_0xae18('0x26')](_0xae18('0x27'),_0x1dd25a+'-'+_0x26ed37+'/'+_0x46f6e5)[_0xae18('0x21')](_0x3e8637);}return null;};}function patchUpdates(_0x523f26){return function(_0x3a333b){try{jsonpatch['apply'](_0x3a333b,_0x523f26,!![]);}catch(_0x24df9b){return BPromise[_0xae18('0x28')](_0x24df9b);}return _0x3a333b[_0xae18('0x29')]();};}function saveUpdates(_0x1d96bf,_0x3d05e8){return function(_0x1dfe1c){if(_0x1dfe1c){return _0x1dfe1c[_0xae18('0x2a')](_0x1d96bf)[_0xae18('0x2b')](function(_0x16368e){return _0x16368e;});}return null;};}function removeEntity(_0x288fd5,_0x5a4d05){return function(_0x1aca1c){if(_0x1aca1c){return _0x1aca1c['destroy']()[_0xae18('0x2b')](function(){var _0x1da138=_0x1aca1c[_0xae18('0x2c')]({'plain':!![]});var _0x255230=_0xae18('0x2d');return db[_0xae18('0x2e')][_0xae18('0x2f')]({'where':{'type':_0x255230,'resourceId':_0x1da138['id']}})[_0xae18('0x2b')](function(){return _0x1aca1c;});})[_0xae18('0x2b')](function(){_0x288fd5['status'](0xcc)[_0xae18('0x30')]();});}};}function handleEntityNotFound(_0x522b50,_0x36e722){return function(_0x3db8db){if(!_0x3db8db){_0x522b50[_0xae18('0x1f')](0x194);}return _0x3db8db;};}function handleError(_0x4dca4d,_0x4817ed){_0x4817ed=_0x4817ed||0x1f4;return function(_0x1ee8b6){logger[_0xae18('0x31')](_0x1ee8b6[_0xae18('0x32')]);if(_0x1ee8b6[_0xae18('0x33')]){delete _0x1ee8b6[_0xae18('0x33')];}_0x4dca4d['status'](_0x4817ed)[_0xae18('0x34')](_0x1ee8b6);};}exports[_0xae18('0x35')]=function(_0x5f1b6e,_0x548dcf){var _0x282bc6={},_0x515fdc={},_0x16f54e={'count':0x0,'rows':[]};var _0x3eec36=_[_0xae18('0x36')](db[_0xae18('0x37')][_0xae18('0x38')],function(_0x1f4534){return{'name':_0x1f4534['fieldName'],'type':_0x1f4534[_0xae18('0x39')][_0xae18('0x3a')]};});_0x515fdc['model']=_[_0xae18('0x36')](_0x3eec36,_0xae18('0x33'));_0x515fdc['query']=_[_0xae18('0x3b')](_0x5f1b6e['query']);_0x515fdc[_0xae18('0x3c')]=_[_0xae18('0x3d')](_0x515fdc[_0xae18('0x3e')],_0x515fdc[_0xae18('0x3f')]);_0x282bc6['attributes']=_[_0xae18('0x3d')](_0x515fdc['model'],qs['fields'](_0x5f1b6e['query'][_0xae18('0x40')]));_0x282bc6[_0xae18('0x41')]=_0x282bc6[_0xae18('0x41')]['length']?_0x282bc6[_0xae18('0x41')]:_0x515fdc[_0xae18('0x3e')];if(!_0x5f1b6e[_0xae18('0x3f')][_0xae18('0x42')](_0xae18('0x43'))){_0x282bc6[_0xae18('0x25')]=qs['limit'](_0x5f1b6e[_0xae18('0x3f')][_0xae18('0x25')]);_0x282bc6[_0xae18('0x22')]=qs[_0xae18('0x22')](_0x5f1b6e[_0xae18('0x3f')][_0xae18('0x22')]);}_0x282bc6[_0xae18('0x44')]=qs[_0xae18('0x45')](_0x5f1b6e[_0xae18('0x3f')][_0xae18('0x45')]);_0x282bc6['where']=qs['filters'](_[_0xae18('0x46')](_0x5f1b6e['query'],_0x515fdc['filters']),_0x3eec36);if(_0x5f1b6e[_0xae18('0x3f')][_0xae18('0x47')]){_0x282bc6[_0xae18('0x48')]=_['merge'](_0x282bc6['where'],{'$or':_[_0xae18('0x36')](_0x3eec36,function(_0x5c1e1a){if(_0x5c1e1a[_0xae18('0x39')]!==_0xae18('0x49')){var _0x33956e={};_0x33956e[_0x5c1e1a[_0xae18('0x33')]]={'$like':'%'+_0x5f1b6e[_0xae18('0x3f')][_0xae18('0x47')]+'%'};return _0x33956e;}})});}_0x282bc6=_[_0xae18('0x4a')]({},_0x282bc6,_0x5f1b6e[_0xae18('0x4b')]);var _0x3cabf8={'where':_0x282bc6['where']};return db[_0xae18('0x37')][_0xae18('0x24')](_0x3cabf8)[_0xae18('0x2b')](function(_0x3cd57d){_0x16f54e[_0xae18('0x24')]=_0x3cd57d;if(_0x5f1b6e[_0xae18('0x3f')][_0xae18('0x4c')]){_0x282bc6['include']=[{'all':!![]}];}return db[_0xae18('0x37')]['findAll'](_0x282bc6);})[_0xae18('0x2b')](function(_0x1cc74a){_0x16f54e['rows']=_0x1cc74a;return _0x16f54e;})['then'](respondWithFilteredResult(_0x548dcf,_0x282bc6))[_0xae18('0x4d')](handleError(_0x548dcf,null));};exports[_0xae18('0x4e')]=function(_0x48dce2,_0x394a71){var _0x4bef77={'raw':!![],'where':{'id':_0x48dce2['params']['id']}},_0x506c87={};_0x506c87[_0xae18('0x3e')]=_[_0xae18('0x3b')](db[_0xae18('0x37')]['rawAttributes']);_0x506c87['query']=_['keys'](_0x48dce2['query']);_0x506c87[_0xae18('0x3c')]=_[_0xae18('0x3d')](_0x506c87[_0xae18('0x3e')],_0x506c87[_0xae18('0x3f')]);_0x4bef77[_0xae18('0x41')]=_[_0xae18('0x3d')](_0x506c87[_0xae18('0x3e')],qs[_0xae18('0x40')](_0x48dce2['query'][_0xae18('0x40')]));_0x4bef77[_0xae18('0x41')]=_0x4bef77['attributes'][_0xae18('0x4f')]?_0x4bef77[_0xae18('0x41')]:_0x506c87['model'];if(_0x48dce2['query'][_0xae18('0x4c')]){_0x4bef77[_0xae18('0x50')]=[{'all':!![]}];}_0x4bef77=_['merge']({},_0x4bef77,_0x48dce2['options']);return db['SmsQueue'][_0xae18('0x51')](_0x4bef77)['then'](handleEntityNotFound(_0x394a71,null))[_0xae18('0x2b')](respondWithResult(_0x394a71,null))[_0xae18('0x4d')](handleError(_0x394a71,null));};exports['create']=function(_0x3776e7,_0x2fc95d){return db['SmsQueue'][_0xae18('0x52')](_0x3776e7[_0xae18('0x53')],{})['then'](function(_0x521232){var _0x141db7=_0x3776e7['user'][_0xae18('0x2c')]({'plain':!![]});if(!_0x141db7)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x141db7[_0xae18('0x54')]===_0xae18('0x55')){var _0x446e6f=_0x521232[_0xae18('0x2c')]({'plain':!![]});var _0x18c6b4=_0xae18('0x2d');return db['UserProfileSection'][_0xae18('0x51')]({'where':{'name':_0x18c6b4,'userProfileId':_0x141db7[_0xae18('0x56')]},'raw':!![]})[_0xae18('0x2b')](function(_0x4d1eed){if(_0x4d1eed&&_0x4d1eed[_0xae18('0x57')]===0x0){return db[_0xae18('0x2e')]['create']({'name':_0x446e6f['name'],'resourceId':_0x446e6f['id'],'type':_0x4d1eed[_0xae18('0x33')],'sectionId':_0x4d1eed['id']},{})[_0xae18('0x2b')](function(){return _0x521232;});}else{return _0x521232;}})[_0xae18('0x4d')](function(_0x16c5bf){logger[_0xae18('0x31')](_0xae18('0x58'),_0x16c5bf);throw _0x16c5bf;});}return _0x521232;})['then'](respondWithResult(_0x2fc95d,0xc9))[_0xae18('0x4d')](handleError(_0x2fc95d,null));};exports[_0xae18('0x2a')]=function(_0x5de656,_0x326803){if(_0x5de656[_0xae18('0x53')]['id']){delete _0x5de656[_0xae18('0x53')]['id'];}return db[_0xae18('0x37')][_0xae18('0x51')]({'where':{'id':_0x5de656[_0xae18('0x59')]['id']}})[_0xae18('0x2b')](handleEntityNotFound(_0x326803,null))['then'](saveUpdates(_0x5de656[_0xae18('0x53')],null))['then'](respondWithResult(_0x326803,null))['catch'](handleError(_0x326803,null));};exports[_0xae18('0x2f')]=function(_0x5353cc,_0x3a7cf3){return db[_0xae18('0x37')]['find']({'where':{'id':_0x5353cc['params']['id']}})[_0xae18('0x2b')](handleEntityNotFound(_0x3a7cf3,null))['then'](removeEntity(_0x3a7cf3,null))[_0xae18('0x4d')](handleError(_0x3a7cf3,null));};exports[_0xae18('0x5a')]=function(_0x3deccd,_0x3c510c){return db[_0xae18('0x37')][_0xae18('0x5a')]()[_0xae18('0x2b')](respondWithResult(_0x3c510c,null))[_0xae18('0x4d')](handleError(_0x3c510c,null));};exports['getMembers']=function(_0x1ca09f,_0xbf7844,_0x1f8461){var _0x1a2e47={'raw':!![],'where':{}},_0x3da58c={},_0x303496;return db[_0xae18('0x37')][_0xae18('0x5b')]({'where':{'id':_0x1ca09f['params']['id']}})[_0xae18('0x2b')](handleEntityNotFound(_0xbf7844,null))[_0xae18('0x2b')](function(_0x553b06){if(_0x553b06){_0x303496=_0x553b06[_0xae18('0x2c')]({'plain':!![]});_0x3da58c[_0xae18('0x3e')]=_[_0xae18('0x3b')](db['UserSmsQueue'][_0xae18('0x38')]);_0x3da58c['query']=_[_0xae18('0x3b')](_0x1ca09f[_0xae18('0x3f')]);_0x3da58c[_0xae18('0x3c')]=_['intersection'](_0x3da58c[_0xae18('0x3e')],_0x3da58c[_0xae18('0x3f')]);_0x1a2e47['attributes']=_['intersection'](_0x3da58c['model'],qs[_0xae18('0x40')](_0x1ca09f[_0xae18('0x3f')]['fields']));_0x1a2e47[_0xae18('0x41')]=_0x1a2e47[_0xae18('0x41')][_0xae18('0x4f')]?_0x1a2e47[_0xae18('0x41')]:_0x3da58c[_0xae18('0x3e')];if(!_0x1ca09f[_0xae18('0x3f')][_0xae18('0x42')]('nolimit')){_0x1a2e47[_0xae18('0x25')]=qs[_0xae18('0x25')](_0x1ca09f['query'][_0xae18('0x25')]);_0x1a2e47[_0xae18('0x22')]=qs[_0xae18('0x22')](_0x1ca09f['query']['offset']);}_0x1a2e47['order']=qs['sort'](_0x1ca09f['query'][_0xae18('0x45')]);_0x1a2e47[_0xae18('0x48')]=qs[_0xae18('0x3c')](_[_0xae18('0x46')](_0x1ca09f[_0xae18('0x3f')],_0x3da58c['filters']));_0x1a2e47['where'][_0xae18('0x5c')]=_0x553b06['id'];if(_0x1ca09f['query']['filter']){_0x1a2e47['where']=_[_0xae18('0x4a')](_0x1a2e47[_0xae18('0x48')],{'$or':_['map'](_0x1a2e47[_0xae18('0x41')],function(_0x2a30c8){var _0x4cade5={};_0x4cade5[_0x2a30c8]={'$like':'%'+_0x1ca09f[_0xae18('0x3f')][_0xae18('0x47')]+'%'};return _0x4cade5;})});}_0x1a2e47=_[_0xae18('0x4a')]({},_0x1a2e47,_0x1ca09f[_0xae18('0x4b')]);return db[_0xae18('0x5d')][_0xae18('0x5e')](_0x1a2e47);}})['then'](function(_0x105a3c){if(_0x105a3c){return db[_0xae18('0x5f')][_0xae18('0x60')]({'where':{'id':_[_0xae18('0x36')](_0x105a3c,_0xae18('0x61')),'role':'agent'},'attributes':['id',_0xae18('0x33'),_0xae18('0x62'),_0xae18('0x63'),_0xae18('0x64')]});}})['then'](function(_0x2d0833){if(_0x2d0833){return{'count':_0x2d0833['count'],'rows':_['map'](_0x2d0833[_0xae18('0x65')],function(_0x402118){return{'membername':_0x402118['name'],'UserId':_0x402118['id'],'queue_name':_0x303496[_0xae18('0x33')],'SmsQueueId':_0x303496['id'],'interface':util[_0xae18('0x66')](_0xae18('0x67'),'SIP',_0x402118[_0xae18('0x33')]),'penalty':0x0,'paused':_0x402118[_0xae18('0x62')],'createdAt':_0x402118[_0xae18('0x64')],'updatedAt':_0x402118[_0xae18('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0xbf7844,_0x1a2e47))['catch'](handleError(_0xbf7844,null));};exports[_0xae18('0x68')]=function(_0x49b901,_0x51618b,_0x4d9e8e){var _0x336720={};var _0x337e0c={};var _0x4af2fd;var _0x5ac8ee;return db[_0xae18('0x37')][_0xae18('0x5b')]({'where':{'id':_0x49b901[_0xae18('0x59')]['id']}})[_0xae18('0x2b')](handleEntityNotFound(_0x51618b,null))['then'](function(_0x145e3b){if(_0x145e3b){_0x4af2fd=_0x145e3b;_0x337e0c[_0xae18('0x3e')]=_[_0xae18('0x3b')](db[_0xae18('0x69')][_0xae18('0x38')]);_0x337e0c[_0xae18('0x3f')]=_['keys'](_0x49b901[_0xae18('0x3f')]);_0x337e0c[_0xae18('0x3c')]=_[_0xae18('0x3d')](_0x337e0c[_0xae18('0x3e')],_0x337e0c[_0xae18('0x3f')]);_0x336720['attributes']=_[_0xae18('0x3d')](_0x337e0c['model'],qs['fields'](_0x49b901[_0xae18('0x3f')][_0xae18('0x40')]));_0x336720['attributes']=_0x336720[_0xae18('0x41')][_0xae18('0x4f')]?_0x336720['attributes']:_0x337e0c['model'];_0x336720[_0xae18('0x44')]=qs[_0xae18('0x45')](_0x49b901[_0xae18('0x3f')][_0xae18('0x45')]);_0x336720[_0xae18('0x48')]=qs[_0xae18('0x3c')](_[_0xae18('0x46')](_0x49b901[_0xae18('0x3f')],_0x337e0c['filters']));if(_0x49b901[_0xae18('0x3f')][_0xae18('0x47')]){_0x336720[_0xae18('0x48')]=_['merge'](_0x336720[_0xae18('0x48')],{'$or':_[_0xae18('0x36')](_0x336720[_0xae18('0x41')],function(_0x3dbfc5){var _0x3ed26f={};_0x3ed26f[_0x3dbfc5]={'$like':'%'+_0x49b901[_0xae18('0x3f')][_0xae18('0x47')]+'%'};return _0x3ed26f;})});}_0x336720=_[_0xae18('0x4a')]({},_0x336720,_0x49b901[_0xae18('0x4b')]);return _0x4af2fd[_0xae18('0x68')](_0x336720);}})[_0xae18('0x2b')](function(_0x1a3d5b){if(_0x1a3d5b){_0x5ac8ee=_0x1a3d5b[_0xae18('0x4f')];if(!_0x49b901[_0xae18('0x3f')][_0xae18('0x42')](_0xae18('0x43'))){_0x336720[_0xae18('0x25')]=qs[_0xae18('0x25')](_0x49b901[_0xae18('0x3f')][_0xae18('0x25')]);_0x336720[_0xae18('0x22')]=qs[_0xae18('0x22')](_0x49b901[_0xae18('0x3f')][_0xae18('0x22')]);}return _0x4af2fd[_0xae18('0x68')](_0x336720);}})[_0xae18('0x2b')](function(_0x36fb9d){if(_0x36fb9d){return _0x36fb9d?{'count':_0x5ac8ee,'rows':_0x36fb9d}:null;}})['then'](respondWithResult(_0x51618b,null))['catch'](handleError(_0x51618b,null));};exports[_0xae18('0x6a')]=function(_0xfcbcdb,_0x29b029,_0x2386c0){var _0x62b2cc=_0xfcbcdb[_0xae18('0x53')][_0xae18('0x6b')];return db['Team']['findAll']({'where':{'id':_0x62b2cc},'attributes':['id'],'include':[{'model':db[_0xae18('0x5f')],'as':_0xae18('0x6c'),'attributes':['id',_0xae18('0x33'),_0xae18('0x6d'),_0xae18('0x6e'),'interface'],'raw':!![]}]})['then'](function(_0x23fb7f){if(_0x23fb7f){var _0x582c89=_['flatMap'](_0x23fb7f,function(_0x54325c){var _0x4db78a=_0x54325c[_0xae18('0x2c')]({'plain':!![]});return _0x4db78a['Agents'];});return db[_0xae18('0x37')][_0xae18('0x51')]({'where':{'id':_0xfcbcdb[_0xae18('0x59')]['id']}})[_0xae18('0x2b')](function(_0x5f3f59){return db[_0xae18('0x6f')][_0xae18('0x70')](function(_0x4c738e){return _0x5f3f59[_0xae18('0x6a')](_0x62b2cc,{'transaction':_0x4c738e})[_0xae18('0x2b')](function(){return BPromise[_0xae18('0x71')](_0x582c89,function(_0x2dd746){return db[_0xae18('0x5d')][_0xae18('0x72')]({'where':{'UserId':_0x2dd746['id'],'SmsQueueId':_0xfcbcdb[_0xae18('0x59')]['id']},'transaction':_0x4c738e});});})[_0xae18('0x2b')](function(){_0x582c89[_0xae18('0x73')](function(_0x525b6d){socket[_0xae18('0x74')](_0xae18('0x75'),{'UserId':_0x525b6d['id'],'SmsQueueId':_0x5f3f59['id']});});});});});}})['then'](respondWithStatusCode(_0x29b029,null))[_0xae18('0x4d')](handleError(_0x29b029,null));};exports[_0xae18('0x76')]=function(_0x331203,_0x32bd1d,_0x3da737){return db[_0xae18('0x69')][_0xae18('0x5e')]({'where':{'id':_0x331203[_0xae18('0x3f')][_0xae18('0x6b')]},'attributes':['id'],'include':[{'model':db[_0xae18('0x5f')],'as':_0xae18('0x6c'),'attributes':['id'],'raw':!![]}]})[_0xae18('0x2b')](handleEntityNotFound(_0x32bd1d,null))[_0xae18('0x2b')](function(_0x3e47c1){var _0x55e259=_[_0xae18('0x36')](_0x3e47c1,'id');var _0x4c17de=[];var _0x231698=[];var _0x4d1300=squel['select']();_0x4d1300['field'](_0xae18('0x77'))[_0xae18('0x78')](_0xae18('0x79'),'tq')['join'](_0xae18('0x7a'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xae18('0x48')](_0xae18('0x7b'),_0x331203[_0xae18('0x59')]['id']);for(var _0x463780=0x0;_0x463780<_0x3e47c1[_0xae18('0x4f')];_0x463780+=0x1){let _0x396a5d=_0x3e47c1[_0x463780];for(var _0x5a1faa=0x0;_0x5a1faa<_0x396a5d['Agents']['length'];_0x5a1faa+=0x1){let _0xcf0538=_0x396a5d['Agents'][_0x5a1faa];var _0x6f091b=_0x4d1300[_0xae18('0x7c')]();_0x6f091b[_0xae18('0x48')](_0xae18('0x7d'),_0xcf0538['id']);_0x231698[_0xae18('0x7e')](db['sequelize'][_0xae18('0x3f')](_0x6f091b[_0xae18('0x7f')](),{'type':db['sequelize'][_0xae18('0x80')][_0xae18('0x81')]})[_0xae18('0x2b')](function(_0x19768d){if(_0x19768d[_0xae18('0x4f')]===0x1){return _0xcf0538['id'];}else{var _0x1ead5f=_[_0xae18('0x82')](_[_0xae18('0x36')](_0x19768d,'TeamId'),function(_0xda8fb9){return _[_0xae18('0x83')](_0x55e259,_0xda8fb9);});if(_0x1ead5f){return _0xcf0538['id'];}}}));}}return BPromise[_0xae18('0x84')](_0x231698)[_0xae18('0x2b')](function(_0x362a8b){_0x4c17de=_(_0x4c17de)['union'](_0x362a8b)['compact']()[_0xae18('0x85')]();return db[_0xae18('0x37')][_0xae18('0x51')]({'where':{'id':_0x331203[_0xae18('0x59')]['id']}})['then'](function(_0x5e8958){return db['sequelize'][_0xae18('0x70')](function(_0x1049b0){return _0x5e8958['removeTeams'](_0x331203[_0xae18('0x3f')][_0xae18('0x6b')],{'transaction':_0x1049b0})['then'](function(){if(!_[_0xae18('0x86')](_0x4c17de)){return _0x5e8958[_0xae18('0x87')](_0x4c17de,{'transaction':_0x1049b0});}})['then'](function(){_0x4c17de[_0xae18('0x73')](function(_0x4a3a24){socket[_0xae18('0x74')](_0xae18('0x88'),{'UserId':_0x4a3a24,'SmsQueueId':_0x5e8958['id']});});});});});});})[_0xae18('0x2b')](respondWithStatusCode(_0x32bd1d,null))[_0xae18('0x4d')](handleError(_0x32bd1d,null));};exports[_0xae18('0x89')]=function(_0x451ca1,_0xd68639,_0x176409){return db['SmsQueue'][_0xae18('0x51')]({'where':{'id':_0x451ca1['params']['id']}})['then'](handleEntityNotFound(_0xd68639,null))[_0xae18('0x2b')](function(_0x43ce11){if(_0x43ce11){return _0x43ce11[_0xae18('0x89')](_0x451ca1[_0xae18('0x53')]['ids'],_[_0xae18('0x8a')](_0x451ca1['body'],[_0xae18('0x6b'),'id'])||{})['spread'](function(_0x5be61){for(var _0x8569ba=0x0;_0x8569ba<_0x451ca1[_0xae18('0x53')][_0xae18('0x6b')]['length'];_0x8569ba+=0x1){socket[_0xae18('0x74')](_0xae18('0x75'),{'UserId':Number(_0x451ca1['body'][_0xae18('0x6b')][_0x8569ba]),'SmsQueueId':Number(_0x451ca1[_0xae18('0x59')]['id'])});}return _0x5be61;});}})['then'](respondWithResult(_0xd68639,null))[_0xae18('0x4d')](handleError(_0xd68639,null));};exports['removeAgents']=function(_0x33c6f3,_0x14cd1f,_0x5994a6){return db[_0xae18('0x37')]['find']({'where':{'id':_0x33c6f3[_0xae18('0x59')]['id']}})[_0xae18('0x2b')](handleEntityNotFound(_0x14cd1f,null))[_0xae18('0x2b')](function(_0x2cf355){if(_0x2cf355){return _0x2cf355[_0xae18('0x87')](_0x33c6f3[_0xae18('0x3f')]['ids'])[_0xae18('0x2b')](function(){if(_[_0xae18('0x8b')](_0x33c6f3[_0xae18('0x3f')][_0xae18('0x6b')])){for(var _0x55807c=0x0;_0x55807c<_0x33c6f3[_0xae18('0x3f')][_0xae18('0x6b')][_0xae18('0x4f')];_0x55807c+=0x1){socket[_0xae18('0x74')](_0xae18('0x88'),{'UserId':Number(_0x33c6f3[_0xae18('0x3f')][_0xae18('0x6b')][_0x55807c]),'SmsQueueId':Number(_0x33c6f3[_0xae18('0x59')]['id'])});}}else{socket[_0xae18('0x74')](_0xae18('0x88'),{'UserId':Number(_0x33c6f3[_0xae18('0x3f')][_0xae18('0x6b')]),'SmsQueueId':Number(_0x33c6f3[_0xae18('0x59')]['id'])});}});}})[_0xae18('0x2b')](respondWithStatusCode(_0x14cd1f,null))[_0xae18('0x4d')](handleError(_0x14cd1f,null));};exports[_0xae18('0x8c')]=function(_0x57a20a,_0x382bf9,_0x59fb29){var _0x507935={};var _0x1282e6={};var _0x392f3b;var _0x33d9ab;return db['SmsQueue'][_0xae18('0x5b')]({'where':{'id':_0x57a20a['params']['id']}})['then'](handleEntityNotFound(_0x382bf9,null))[_0xae18('0x2b')](function(_0x40e587){if(_0x40e587){_0x392f3b=_0x40e587;_0x1282e6[_0xae18('0x3e')]=_[_0xae18('0x3b')](db[_0xae18('0x5f')][_0xae18('0x38')]);_0x1282e6[_0xae18('0x3f')]=_[_0xae18('0x3b')](_0x57a20a[_0xae18('0x3f')]);_0x1282e6[_0xae18('0x3c')]=_[_0xae18('0x3d')](_0x1282e6[_0xae18('0x3e')],_0x1282e6['query']);_0x507935[_0xae18('0x41')]=_[_0xae18('0x3d')](_0x1282e6[_0xae18('0x3e')],qs[_0xae18('0x40')](_0x57a20a[_0xae18('0x3f')][_0xae18('0x40')]));_0x507935[_0xae18('0x41')]=_0x507935[_0xae18('0x41')]['length']?_0x507935[_0xae18('0x41')]:_0x1282e6[_0xae18('0x3e')];_0x507935[_0xae18('0x44')]=qs[_0xae18('0x45')](_0x57a20a[_0xae18('0x3f')][_0xae18('0x45')]);_0x507935[_0xae18('0x48')]=qs[_0xae18('0x3c')](_[_0xae18('0x46')](_0x57a20a[_0xae18('0x3f')],_0x1282e6[_0xae18('0x3c')]));if(_0x57a20a[_0xae18('0x3f')][_0xae18('0x47')]){_0x507935[_0xae18('0x48')]=_[_0xae18('0x4a')](_0x507935[_0xae18('0x48')],{'$or':_['map'](_0x507935[_0xae18('0x41')],function(_0x2e3c50){var _0xcb8555={};_0xcb8555[_0x2e3c50]={'$like':'%'+_0x57a20a[_0xae18('0x3f')][_0xae18('0x47')]+'%'};return _0xcb8555;})});}_0x507935=_[_0xae18('0x4a')]({},_0x507935,_0x57a20a[_0xae18('0x4b')]);return _0x392f3b[_0xae18('0x8c')](_0x507935);}})[_0xae18('0x2b')](function(_0x332fa4){if(_0x332fa4){_0x33d9ab=_0x332fa4[_0xae18('0x4f')];if(!_0x57a20a['query']['hasOwnProperty'](_0xae18('0x43'))){_0x507935[_0xae18('0x25')]=qs[_0xae18('0x25')](_0x57a20a[_0xae18('0x3f')][_0xae18('0x25')]);_0x507935[_0xae18('0x22')]=qs[_0xae18('0x22')](_0x57a20a[_0xae18('0x3f')][_0xae18('0x22')]);}return _0x392f3b['getAgents'](_0x507935);}})['then'](function(_0x1add72){if(_0x1add72){return _0x1add72?{'count':_0x33d9ab,'rows':_0x1add72}:null;}})[_0xae18('0x2b')](respondWithResult(_0x382bf9,null))[_0xae18('0x4d')](handleError(_0x382bf9,null));};