4813cfb2ba472c6519d73333b0cbf92a794da9cd
[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 _0x3c2e=['util','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','localhost','redis','./smsQueue.socket','register','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','SmsQueues','sendStatus','error','name','send','index','map','SmsQueue','rawAttributes','fieldName','key','model','query','intersection','fields','attributes','length','nolimit','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','show','keys','includeAll','include','find','catch','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserSmsQueue','hasOwnProperty','findAll','findAndCountAll','UserId','agent','createdAt','rows','format','SIP','smsPause','updatedAt','getTeams','addTeams','Team','User','Agents','online','voicePause','interface','sequelize','each','forEach','emit','userSmsQueue:save','ids','field','from','team_has_sms_queues','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','all','union','compact','transaction','removeTeams','isEmpty','removeAgents','userSmsQueue:remove','addAgents','omit','isArray','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0x3c2e,0x88));var _0xe3c2=function(_0x37ca6b,_0x106ab3){_0x37ca6b=_0x37ca6b-0x0;var _0x3feec0=_0x3c2e[_0x37ca6b];return _0x3feec0;};'use strict';var pdf=require(_0xe3c2('0x0'));var emlformat=require(_0xe3c2('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe3c2('0x2'));var jsonpatch=require(_0xe3c2('0x3'));var rp=require(_0xe3c2('0x4'));var moment=require(_0xe3c2('0x5'));var BPromise=require(_0xe3c2('0x6'));var Mustache=require(_0xe3c2('0x7'));var util=require(_0xe3c2('0x8'));var path=require(_0xe3c2('0x9'));var sox=require('sox');var csv=require(_0xe3c2('0xa'));var ejs=require(_0xe3c2('0xb'));var fs=require('fs');var _=require(_0xe3c2('0xc'));var squel=require(_0xe3c2('0xd'));var crypto=require(_0xe3c2('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xe3c2('0xf'));var toCsv=require(_0xe3c2('0xa'));var querystring=require(_0xe3c2('0x10'));var Papa=require(_0xe3c2('0x11'));var Redis=require(_0xe3c2('0x12'));var authService=require(_0xe3c2('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xe3c2('0x14'));var hardwareService=require(_0xe3c2('0x15'));var logger=require(_0xe3c2('0x16'))(_0xe3c2('0x17'));var utils=require(_0xe3c2('0x18'));var config=require(_0xe3c2('0x19'));var licenseUtil=require(_0xe3c2('0x1a'));var db=require(_0xe3c2('0x1b'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0xe3c2('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe3c2('0x1d')]));require(_0xe3c2('0x1e'))[_0xe3c2('0x1f')](socket);function respondWithStatusCode(_0x1cb3b2,_0x2082c7){_0x2082c7=_0x2082c7||0xcc;return function(_0x3ace0b){if(_0x3ace0b){return _0x1cb3b2['sendStatus'](_0x2082c7);}return _0x1cb3b2[_0xe3c2('0x20')](_0x2082c7)[_0xe3c2('0x21')]();};}function respondWithResult(_0x3554f8,_0x69fb70){_0x69fb70=_0x69fb70||0xc8;return function(_0x372917){if(_0x372917){return _0x3554f8[_0xe3c2('0x20')](_0x69fb70)[_0xe3c2('0x22')](_0x372917);}};}function respondWithFilteredResult(_0x204009,_0x4671dc){return function(_0x3ce0e8){if(_0x3ce0e8){var _0xf89363=_0x3ce0e8[_0xe3c2('0x23')],_0x196387=_0x4671dc['offset'],_0x2690f7=_0x4671dc[_0xe3c2('0x24')]+_0x4671dc[_0xe3c2('0x25')],_0x5549f6;if(_0x2690f7>=_0xf89363){_0x2690f7=_0xf89363;_0x5549f6=0xc8;}else{_0x5549f6=0xce;}_0x204009[_0xe3c2('0x20')](_0x5549f6);return _0x204009[_0xe3c2('0x26')](_0xe3c2('0x27'),_0x196387+'-'+_0x2690f7+'/'+_0xf89363)[_0xe3c2('0x22')](_0x3ce0e8);}return null;};}function patchUpdates(_0x585ee0){return function(_0x473346){try{jsonpatch['apply'](_0x473346,_0x585ee0,!![]);}catch(_0x228b45){return BPromise[_0xe3c2('0x28')](_0x228b45);}return _0x473346[_0xe3c2('0x29')]();};}function saveUpdates(_0x241c75,_0x4178d1){return function(_0x55bc5a){if(_0x55bc5a){return _0x55bc5a[_0xe3c2('0x2a')](_0x241c75)[_0xe3c2('0x2b')](function(_0x2b8bbf){return _0x2b8bbf;});}return null;};}function removeEntity(_0x22e0c8,_0x4cc496){return function(_0x28506f){if(_0x28506f){return _0x28506f[_0xe3c2('0x2c')]()[_0xe3c2('0x2b')](function(){var _0xa9c6b8=_0x28506f['get']({'plain':!![]});var _0x350527=_0xe3c2('0x2d');return db['UserProfileResource'][_0xe3c2('0x2c')]({'where':{'type':_0x350527,'resourceId':_0xa9c6b8['id']}})[_0xe3c2('0x2b')](function(){return _0x28506f;});})[_0xe3c2('0x2b')](function(){_0x22e0c8[_0xe3c2('0x20')](0xcc)[_0xe3c2('0x21')]();});}};}function handleEntityNotFound(_0x4cd9f7,_0x5cfc01){return function(_0x4364f9){if(!_0x4364f9){_0x4cd9f7[_0xe3c2('0x2e')](0x194);}return _0x4364f9;};}function handleError(_0x60bd0d,_0x543450){_0x543450=_0x543450||0x1f4;return function(_0x571c3d){logger[_0xe3c2('0x2f')](_0x571c3d['stack']);if(_0x571c3d['name']){delete _0x571c3d[_0xe3c2('0x30')];}_0x60bd0d['status'](_0x543450)[_0xe3c2('0x31')](_0x571c3d);};}exports[_0xe3c2('0x32')]=function(_0x2c8e2d,_0x587e0e){var _0x4066a4={},_0x1095ee={},_0x330230={'count':0x0,'rows':[]};var _0x540dbc=_[_0xe3c2('0x33')](db[_0xe3c2('0x34')][_0xe3c2('0x35')],function(_0x539e53){return{'name':_0x539e53[_0xe3c2('0x36')],'type':_0x539e53['type'][_0xe3c2('0x37')]};});_0x1095ee[_0xe3c2('0x38')]=_[_0xe3c2('0x33')](_0x540dbc,'name');_0x1095ee[_0xe3c2('0x39')]=_['keys'](_0x2c8e2d[_0xe3c2('0x39')]);_0x1095ee['filters']=_[_0xe3c2('0x3a')](_0x1095ee[_0xe3c2('0x38')],_0x1095ee[_0xe3c2('0x39')]);_0x4066a4['attributes']=_[_0xe3c2('0x3a')](_0x1095ee[_0xe3c2('0x38')],qs[_0xe3c2('0x3b')](_0x2c8e2d[_0xe3c2('0x39')][_0xe3c2('0x3b')]));_0x4066a4[_0xe3c2('0x3c')]=_0x4066a4[_0xe3c2('0x3c')][_0xe3c2('0x3d')]?_0x4066a4[_0xe3c2('0x3c')]:_0x1095ee[_0xe3c2('0x38')];if(!_0x2c8e2d[_0xe3c2('0x39')]['hasOwnProperty'](_0xe3c2('0x3e'))){_0x4066a4[_0xe3c2('0x25')]=qs[_0xe3c2('0x25')](_0x2c8e2d[_0xe3c2('0x39')][_0xe3c2('0x25')]);_0x4066a4[_0xe3c2('0x24')]=qs[_0xe3c2('0x24')](_0x2c8e2d[_0xe3c2('0x39')][_0xe3c2('0x24')]);}_0x4066a4[_0xe3c2('0x3f')]=qs[_0xe3c2('0x40')](_0x2c8e2d['query']['sort']);_0x4066a4[_0xe3c2('0x41')]=qs[_0xe3c2('0x42')](_[_0xe3c2('0x43')](_0x2c8e2d[_0xe3c2('0x39')],_0x1095ee['filters']),_0x540dbc);if(_0x2c8e2d[_0xe3c2('0x39')][_0xe3c2('0x44')]){_0x4066a4[_0xe3c2('0x41')]=_[_0xe3c2('0x45')](_0x4066a4[_0xe3c2('0x41')],{'$or':_[_0xe3c2('0x33')](_0x540dbc,function(_0x13dc60){if(_0x13dc60[_0xe3c2('0x46')]!==_0xe3c2('0x47')){var _0x3b2a23={};_0x3b2a23[_0x13dc60[_0xe3c2('0x30')]]={'$like':'%'+_0x2c8e2d[_0xe3c2('0x39')][_0xe3c2('0x44')]+'%'};return _0x3b2a23;}})});}_0x4066a4=_[_0xe3c2('0x45')]({},_0x4066a4,_0x2c8e2d[_0xe3c2('0x48')]);var _0x2f2750={'where':_0x4066a4[_0xe3c2('0x41')]};return db['SmsQueue']['count'](_0x2f2750)['then'](function(_0x200fd0){_0x330230[_0xe3c2('0x23')]=_0x200fd0;if(_0x2c8e2d[_0xe3c2('0x39')]['includeAll']){_0x4066a4['include']=[{'all':!![]}];}return db[_0xe3c2('0x34')]['findAll'](_0x4066a4);})['then'](function(_0x54b872){_0x330230['rows']=_0x54b872;return _0x330230;})[_0xe3c2('0x2b')](respondWithFilteredResult(_0x587e0e,_0x4066a4))['catch'](handleError(_0x587e0e,null));};exports[_0xe3c2('0x49')]=function(_0x361669,_0x53abce){var _0x39726d={'raw':!![],'where':{'id':_0x361669['params']['id']}},_0x3ebab2={};_0x3ebab2[_0xe3c2('0x38')]=_[_0xe3c2('0x4a')](db[_0xe3c2('0x34')][_0xe3c2('0x35')]);_0x3ebab2[_0xe3c2('0x39')]=_[_0xe3c2('0x4a')](_0x361669[_0xe3c2('0x39')]);_0x3ebab2['filters']=_['intersection'](_0x3ebab2[_0xe3c2('0x38')],_0x3ebab2[_0xe3c2('0x39')]);_0x39726d[_0xe3c2('0x3c')]=_[_0xe3c2('0x3a')](_0x3ebab2['model'],qs['fields'](_0x361669[_0xe3c2('0x39')][_0xe3c2('0x3b')]));_0x39726d['attributes']=_0x39726d['attributes'][_0xe3c2('0x3d')]?_0x39726d[_0xe3c2('0x3c')]:_0x3ebab2['model'];if(_0x361669[_0xe3c2('0x39')][_0xe3c2('0x4b')]){_0x39726d[_0xe3c2('0x4c')]=[{'all':!![]}];}_0x39726d=_[_0xe3c2('0x45')]({},_0x39726d,_0x361669[_0xe3c2('0x48')]);return db[_0xe3c2('0x34')][_0xe3c2('0x4d')](_0x39726d)[_0xe3c2('0x2b')](handleEntityNotFound(_0x53abce,null))['then'](respondWithResult(_0x53abce,null))[_0xe3c2('0x4e')](handleError(_0x53abce,null));};exports[_0xe3c2('0x4f')]=function(_0x504959,_0xb6a1d5){return db[_0xe3c2('0x34')]['create'](_0x504959[_0xe3c2('0x50')],{})[_0xe3c2('0x2b')](function(_0x3759f9){var _0xc823ad=_0x504959['user'][_0xe3c2('0x51')]({'plain':!![]});if(!_0xc823ad)throw new Error(_0xe3c2('0x52'));if(_0xc823ad[_0xe3c2('0x53')]===_0xe3c2('0x54')){var _0x3509f1=_0x3759f9[_0xe3c2('0x51')]({'plain':!![]});var _0xe4e9e6=_0xe3c2('0x2d');return db[_0xe3c2('0x55')][_0xe3c2('0x4d')]({'where':{'name':_0xe4e9e6,'userProfileId':_0xc823ad[_0xe3c2('0x56')]},'raw':!![]})[_0xe3c2('0x2b')](function(_0x50879e){if(_0x50879e&&_0x50879e[_0xe3c2('0x57')]===0x0){return db[_0xe3c2('0x58')][_0xe3c2('0x4f')]({'name':_0x3509f1[_0xe3c2('0x30')],'resourceId':_0x3509f1['id'],'type':_0x50879e[_0xe3c2('0x30')],'sectionId':_0x50879e['id']},{})[_0xe3c2('0x2b')](function(){return _0x3759f9;});}else{return _0x3759f9;}})[_0xe3c2('0x4e')](function(_0x11db2){logger['error'](_0xe3c2('0x59'),_0x11db2);throw _0x11db2;});}return _0x3759f9;})[_0xe3c2('0x2b')](respondWithResult(_0xb6a1d5,0xc9))[_0xe3c2('0x4e')](handleError(_0xb6a1d5,null));};exports[_0xe3c2('0x2a')]=function(_0x5e5048,_0x3e2861){if(_0x5e5048[_0xe3c2('0x50')]['id']){delete _0x5e5048[_0xe3c2('0x50')]['id'];}return db['SmsQueue'][_0xe3c2('0x4d')]({'where':{'id':_0x5e5048[_0xe3c2('0x5a')]['id']}})[_0xe3c2('0x2b')](handleEntityNotFound(_0x3e2861,null))['then'](saveUpdates(_0x5e5048[_0xe3c2('0x50')],null))[_0xe3c2('0x2b')](respondWithResult(_0x3e2861,null))[_0xe3c2('0x4e')](handleError(_0x3e2861,null));};exports[_0xe3c2('0x2c')]=function(_0x3b9e54,_0x2496a5){return db[_0xe3c2('0x34')][_0xe3c2('0x4d')]({'where':{'id':_0x3b9e54[_0xe3c2('0x5a')]['id']}})[_0xe3c2('0x2b')](handleEntityNotFound(_0x2496a5,null))[_0xe3c2('0x2b')](removeEntity(_0x2496a5,null))[_0xe3c2('0x4e')](handleError(_0x2496a5,null));};exports[_0xe3c2('0x5b')]=function(_0x1733d7,_0x222651){return db['SmsQueue'][_0xe3c2('0x5b')]()[_0xe3c2('0x2b')](respondWithResult(_0x222651,null))[_0xe3c2('0x4e')](handleError(_0x222651,null));};exports[_0xe3c2('0x5c')]=function(_0x3f0cb5,_0x437e72,_0x43982e){var _0x8f3e3b={'raw':!![],'where':{}},_0xc250e9={},_0x2742e7;return db[_0xe3c2('0x34')][_0xe3c2('0x5d')]({'where':{'id':_0x3f0cb5[_0xe3c2('0x5a')]['id']}})[_0xe3c2('0x2b')](handleEntityNotFound(_0x437e72,null))['then'](function(_0x34980a){if(_0x34980a){_0x2742e7=_0x34980a[_0xe3c2('0x51')]({'plain':!![]});_0xc250e9[_0xe3c2('0x38')]=_[_0xe3c2('0x4a')](db[_0xe3c2('0x5e')]['rawAttributes']);_0xc250e9[_0xe3c2('0x39')]=_['keys'](_0x3f0cb5['query']);_0xc250e9[_0xe3c2('0x42')]=_['intersection'](_0xc250e9[_0xe3c2('0x38')],_0xc250e9[_0xe3c2('0x39')]);_0x8f3e3b['attributes']=_[_0xe3c2('0x3a')](_0xc250e9['model'],qs['fields'](_0x3f0cb5['query']['fields']));_0x8f3e3b[_0xe3c2('0x3c')]=_0x8f3e3b[_0xe3c2('0x3c')][_0xe3c2('0x3d')]?_0x8f3e3b['attributes']:_0xc250e9['model'];if(!_0x3f0cb5['query'][_0xe3c2('0x5f')]('nolimit')){_0x8f3e3b['limit']=qs[_0xe3c2('0x25')](_0x3f0cb5[_0xe3c2('0x39')][_0xe3c2('0x25')]);_0x8f3e3b['offset']=qs[_0xe3c2('0x24')](_0x3f0cb5['query'][_0xe3c2('0x24')]);}_0x8f3e3b[_0xe3c2('0x3f')]=qs[_0xe3c2('0x40')](_0x3f0cb5[_0xe3c2('0x39')][_0xe3c2('0x40')]);_0x8f3e3b['where']=qs[_0xe3c2('0x42')](_[_0xe3c2('0x43')](_0x3f0cb5[_0xe3c2('0x39')],_0xc250e9[_0xe3c2('0x42')]));_0x8f3e3b[_0xe3c2('0x41')]['SmsQueueId']=_0x34980a['id'];if(_0x3f0cb5[_0xe3c2('0x39')]['filter']){_0x8f3e3b[_0xe3c2('0x41')]=_['merge'](_0x8f3e3b['where'],{'$or':_[_0xe3c2('0x33')](_0x8f3e3b[_0xe3c2('0x3c')],function(_0x5e58ad){var _0x57f695={};_0x57f695[_0x5e58ad]={'$like':'%'+_0x3f0cb5[_0xe3c2('0x39')][_0xe3c2('0x44')]+'%'};return _0x57f695;})});}_0x8f3e3b=_[_0xe3c2('0x45')]({},_0x8f3e3b,_0x3f0cb5[_0xe3c2('0x48')]);return db[_0xe3c2('0x5e')][_0xe3c2('0x60')](_0x8f3e3b);}})[_0xe3c2('0x2b')](function(_0x27d2e1){if(_0x27d2e1){return db['User'][_0xe3c2('0x61')]({'where':{'id':_[_0xe3c2('0x33')](_0x27d2e1,_0xe3c2('0x62')),'role':_0xe3c2('0x63')},'attributes':['id','name','smsPause','updatedAt',_0xe3c2('0x64')]});}})[_0xe3c2('0x2b')](function(_0x46e1b7){if(_0x46e1b7){return{'count':_0x46e1b7[_0xe3c2('0x23')],'rows':_['map'](_0x46e1b7[_0xe3c2('0x65')],function(_0x4d9400){return{'membername':_0x4d9400[_0xe3c2('0x30')],'UserId':_0x4d9400['id'],'queue_name':_0x2742e7[_0xe3c2('0x30')],'SmsQueueId':_0x2742e7['id'],'interface':util[_0xe3c2('0x66')]('%s/%s',_0xe3c2('0x67'),_0x4d9400[_0xe3c2('0x30')]),'penalty':0x0,'paused':_0x4d9400[_0xe3c2('0x68')],'createdAt':_0x4d9400[_0xe3c2('0x64')],'updatedAt':_0x4d9400[_0xe3c2('0x69')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x437e72,_0x8f3e3b))[_0xe3c2('0x4e')](handleError(_0x437e72,null));};exports[_0xe3c2('0x6a')]=function(_0x2cb689,_0x5c8812,_0x41b98d){var _0x15480b={};var _0x1436fa={};var _0x1340a1;var _0x18697f;return db[_0xe3c2('0x34')][_0xe3c2('0x5d')]({'where':{'id':_0x2cb689[_0xe3c2('0x5a')]['id']}})[_0xe3c2('0x2b')](handleEntityNotFound(_0x5c8812,null))['then'](function(_0x5e1844){if(_0x5e1844){_0x1340a1=_0x5e1844;_0x1436fa[_0xe3c2('0x38')]=_[_0xe3c2('0x4a')](db['Team'][_0xe3c2('0x35')]);_0x1436fa[_0xe3c2('0x39')]=_[_0xe3c2('0x4a')](_0x2cb689[_0xe3c2('0x39')]);_0x1436fa['filters']=_['intersection'](_0x1436fa[_0xe3c2('0x38')],_0x1436fa[_0xe3c2('0x39')]);_0x15480b[_0xe3c2('0x3c')]=_[_0xe3c2('0x3a')](_0x1436fa[_0xe3c2('0x38')],qs[_0xe3c2('0x3b')](_0x2cb689[_0xe3c2('0x39')][_0xe3c2('0x3b')]));_0x15480b[_0xe3c2('0x3c')]=_0x15480b[_0xe3c2('0x3c')]['length']?_0x15480b[_0xe3c2('0x3c')]:_0x1436fa[_0xe3c2('0x38')];_0x15480b[_0xe3c2('0x3f')]=qs[_0xe3c2('0x40')](_0x2cb689[_0xe3c2('0x39')][_0xe3c2('0x40')]);_0x15480b['where']=qs[_0xe3c2('0x42')](_[_0xe3c2('0x43')](_0x2cb689[_0xe3c2('0x39')],_0x1436fa[_0xe3c2('0x42')]));if(_0x2cb689[_0xe3c2('0x39')][_0xe3c2('0x44')]){_0x15480b[_0xe3c2('0x41')]=_[_0xe3c2('0x45')](_0x15480b[_0xe3c2('0x41')],{'$or':_['map'](_0x15480b['attributes'],function(_0x58a446){var _0x34a3bd={};_0x34a3bd[_0x58a446]={'$like':'%'+_0x2cb689[_0xe3c2('0x39')][_0xe3c2('0x44')]+'%'};return _0x34a3bd;})});}_0x15480b=_['merge']({},_0x15480b,_0x2cb689[_0xe3c2('0x48')]);return _0x1340a1[_0xe3c2('0x6a')](_0x15480b);}})[_0xe3c2('0x2b')](function(_0x173e42){if(_0x173e42){_0x18697f=_0x173e42['length'];if(!_0x2cb689[_0xe3c2('0x39')][_0xe3c2('0x5f')]('nolimit')){_0x15480b[_0xe3c2('0x25')]=qs[_0xe3c2('0x25')](_0x2cb689[_0xe3c2('0x39')][_0xe3c2('0x25')]);_0x15480b[_0xe3c2('0x24')]=qs[_0xe3c2('0x24')](_0x2cb689[_0xe3c2('0x39')][_0xe3c2('0x24')]);}return _0x1340a1['getTeams'](_0x15480b);}})['then'](function(_0x3c0fa4){if(_0x3c0fa4){return _0x3c0fa4?{'count':_0x18697f,'rows':_0x3c0fa4}:null;}})['then'](respondWithResult(_0x5c8812,null))['catch'](handleError(_0x5c8812,null));};exports[_0xe3c2('0x6b')]=function(_0x5e836d,_0x188b61,_0x1dcfaa){var _0x51576c=_0x5e836d['body']['ids'];return db[_0xe3c2('0x6c')]['findAll']({'where':{'id':_0x51576c},'attributes':['id'],'include':[{'model':db[_0xe3c2('0x6d')],'as':_0xe3c2('0x6e'),'attributes':['id',_0xe3c2('0x30'),_0xe3c2('0x6f'),_0xe3c2('0x70'),_0xe3c2('0x71')],'raw':!![]}]})['then'](function(_0x2a8061){if(_0x2a8061){var _0x5d8f22=_['flatMap'](_0x2a8061,function(_0x3dfb3d){var _0x2da34d=_0x3dfb3d[_0xe3c2('0x51')]({'plain':!![]});return _0x2da34d[_0xe3c2('0x6e')];});return db['SmsQueue'][_0xe3c2('0x4d')]({'where':{'id':_0x5e836d[_0xe3c2('0x5a')]['id']}})['then'](function(_0x6ae8e2){return db[_0xe3c2('0x72')]['transaction'](function(_0x32db6c){return _0x6ae8e2[_0xe3c2('0x6b')](_0x51576c,{'transaction':_0x32db6c})['then'](function(){return BPromise[_0xe3c2('0x73')](_0x5d8f22,function(_0x22435e){return db[_0xe3c2('0x5e')]['findOrCreate']({'where':{'UserId':_0x22435e['id'],'SmsQueueId':_0x5e836d[_0xe3c2('0x5a')]['id']},'transaction':_0x32db6c});});})['then'](function(){_0x5d8f22[_0xe3c2('0x74')](function(_0x72904d){socket[_0xe3c2('0x75')](_0xe3c2('0x76'),{'UserId':_0x72904d['id'],'SmsQueueId':_0x6ae8e2['id']});});});});});}})[_0xe3c2('0x2b')](respondWithStatusCode(_0x188b61,null))['catch'](handleError(_0x188b61,null));};exports['removeTeams']=function(_0x2c30a4,_0x30f3fa,_0x401b3b){return db[_0xe3c2('0x6c')][_0xe3c2('0x60')]({'where':{'id':_0x2c30a4[_0xe3c2('0x39')][_0xe3c2('0x77')]},'attributes':['id'],'include':[{'model':db[_0xe3c2('0x6d')],'as':_0xe3c2('0x6e'),'attributes':['id'],'raw':!![]}]})[_0xe3c2('0x2b')](handleEntityNotFound(_0x30f3fa,null))[_0xe3c2('0x2b')](function(_0x47da5f){var _0x35ddc8=_[_0xe3c2('0x33')](_0x47da5f,'id');var _0x2e3e1c=[];var _0x37f441=[];var _0x135ea2=squel['select']();_0x135ea2[_0xe3c2('0x78')]('tq.TeamId')[_0xe3c2('0x79')](_0xe3c2('0x7a'),'tq')['join']('user_has_teams','ut',_0xe3c2('0x7b'))[_0xe3c2('0x41')]('SmsQueueId\x20=\x20?',_0x2c30a4[_0xe3c2('0x5a')]['id']);for(var _0x123de1=0x0;_0x123de1<_0x47da5f['length'];_0x123de1+=0x1){let _0x4c6d41=_0x47da5f[_0x123de1];for(var _0x197dc5=0x0;_0x197dc5<_0x4c6d41[_0xe3c2('0x6e')][_0xe3c2('0x3d')];_0x197dc5+=0x1){let _0x178778=_0x4c6d41[_0xe3c2('0x6e')][_0x197dc5];var _0x27155c=_0x135ea2[_0xe3c2('0x7c')]();_0x27155c['where'](_0xe3c2('0x7d'),_0x178778['id']);_0x37f441[_0xe3c2('0x7e')](db['sequelize'][_0xe3c2('0x39')](_0x27155c[_0xe3c2('0x7f')](),{'type':db[_0xe3c2('0x72')][_0xe3c2('0x80')][_0xe3c2('0x81')]})[_0xe3c2('0x2b')](function(_0x2ecc2d){if(_0x2ecc2d['length']===0x1){return _0x178778['id'];}else{var _0x4eb388=_[_0xe3c2('0x82')](_[_0xe3c2('0x33')](_0x2ecc2d,_0xe3c2('0x83')),function(_0x9ffc1a){return _['includes'](_0x35ddc8,_0x9ffc1a);});if(_0x4eb388){return _0x178778['id'];}}}));}}return BPromise[_0xe3c2('0x84')](_0x37f441)[_0xe3c2('0x2b')](function(_0x3274e2){_0x2e3e1c=_(_0x2e3e1c)[_0xe3c2('0x85')](_0x3274e2)[_0xe3c2('0x86')]()['value']();return db[_0xe3c2('0x34')][_0xe3c2('0x4d')]({'where':{'id':_0x2c30a4[_0xe3c2('0x5a')]['id']}})[_0xe3c2('0x2b')](function(_0x383d16){return db[_0xe3c2('0x72')][_0xe3c2('0x87')](function(_0x5579d2){return _0x383d16[_0xe3c2('0x88')](_0x2c30a4[_0xe3c2('0x39')][_0xe3c2('0x77')],{'transaction':_0x5579d2})[_0xe3c2('0x2b')](function(){if(!_[_0xe3c2('0x89')](_0x2e3e1c)){return _0x383d16[_0xe3c2('0x8a')](_0x2e3e1c,{'transaction':_0x5579d2});}})[_0xe3c2('0x2b')](function(){_0x2e3e1c[_0xe3c2('0x74')](function(_0x34490a){socket[_0xe3c2('0x75')](_0xe3c2('0x8b'),{'UserId':_0x34490a,'SmsQueueId':_0x383d16['id']});});});});});});})[_0xe3c2('0x2b')](respondWithStatusCode(_0x30f3fa,null))['catch'](handleError(_0x30f3fa,null));};exports[_0xe3c2('0x8c')]=function(_0x54fd41,_0x20a1b0,_0x1693cf){return db[_0xe3c2('0x34')][_0xe3c2('0x4d')]({'where':{'id':_0x54fd41[_0xe3c2('0x5a')]['id']}})[_0xe3c2('0x2b')](handleEntityNotFound(_0x20a1b0,null))['then'](function(_0x4d5e42){if(_0x4d5e42){return _0x4d5e42[_0xe3c2('0x8c')](_0x54fd41[_0xe3c2('0x50')]['ids'],_[_0xe3c2('0x8d')](_0x54fd41[_0xe3c2('0x50')],[_0xe3c2('0x77'),'id'])||{})['spread'](function(_0x186dd2){for(var _0x4106c6=0x0;_0x4106c6<_0x54fd41['body'][_0xe3c2('0x77')][_0xe3c2('0x3d')];_0x4106c6+=0x1){socket[_0xe3c2('0x75')](_0xe3c2('0x76'),{'UserId':_0x54fd41['body'][_0xe3c2('0x77')][_0x4106c6],'SmsQueueId':_0x54fd41[_0xe3c2('0x5a')]['id']});}return _0x186dd2;});}})['then'](respondWithResult(_0x20a1b0,null))['catch'](handleError(_0x20a1b0,null));};exports[_0xe3c2('0x8a')]=function(_0x1eea92,_0x849005,_0x2f00d4){return db[_0xe3c2('0x34')][_0xe3c2('0x4d')]({'where':{'id':_0x1eea92['params']['id']}})['then'](handleEntityNotFound(_0x849005,null))['then'](function(_0x415c){if(_0x415c){return _0x415c['removeAgents'](_0x1eea92[_0xe3c2('0x39')][_0xe3c2('0x77')])['then'](function(){if(_[_0xe3c2('0x8e')](_0x1eea92[_0xe3c2('0x39')][_0xe3c2('0x77')])){for(var _0x5932d2=0x0;_0x5932d2<_0x1eea92[_0xe3c2('0x39')][_0xe3c2('0x77')][_0xe3c2('0x3d')];_0x5932d2+=0x1){socket['emit'](_0xe3c2('0x8b'),{'UserId':Number(_0x1eea92[_0xe3c2('0x39')]['ids'][_0x5932d2]),'SmsQueueId':Number(_0x1eea92[_0xe3c2('0x5a')]['id'])});}}else{socket[_0xe3c2('0x75')](_0xe3c2('0x8b'),{'UserId':Number(_0x1eea92[_0xe3c2('0x39')][_0xe3c2('0x77')]),'SmsQueueId':Number(_0x1eea92[_0xe3c2('0x5a')]['id'])});}});}})[_0xe3c2('0x2b')](respondWithStatusCode(_0x849005,null))[_0xe3c2('0x4e')](handleError(_0x849005,null));};exports[_0xe3c2('0x8f')]=function(_0x291953,_0x304ade,_0x32555e){var _0x1903a3={};var _0x47a966={};var _0x15744c;var _0x17669e;return db[_0xe3c2('0x34')][_0xe3c2('0x5d')]({'where':{'id':_0x291953[_0xe3c2('0x5a')]['id']}})[_0xe3c2('0x2b')](handleEntityNotFound(_0x304ade,null))[_0xe3c2('0x2b')](function(_0x531162){if(_0x531162){_0x15744c=_0x531162;_0x47a966[_0xe3c2('0x38')]=_[_0xe3c2('0x4a')](db['User']['rawAttributes']);_0x47a966[_0xe3c2('0x39')]=_[_0xe3c2('0x4a')](_0x291953[_0xe3c2('0x39')]);_0x47a966[_0xe3c2('0x42')]=_[_0xe3c2('0x3a')](_0x47a966[_0xe3c2('0x38')],_0x47a966[_0xe3c2('0x39')]);_0x1903a3[_0xe3c2('0x3c')]=_['intersection'](_0x47a966[_0xe3c2('0x38')],qs[_0xe3c2('0x3b')](_0x291953[_0xe3c2('0x39')][_0xe3c2('0x3b')]));_0x1903a3[_0xe3c2('0x3c')]=_0x1903a3[_0xe3c2('0x3c')][_0xe3c2('0x3d')]?_0x1903a3[_0xe3c2('0x3c')]:_0x47a966[_0xe3c2('0x38')];_0x1903a3[_0xe3c2('0x3f')]=qs[_0xe3c2('0x40')](_0x291953[_0xe3c2('0x39')]['sort']);_0x1903a3[_0xe3c2('0x41')]=qs['filters'](_[_0xe3c2('0x43')](_0x291953['query'],_0x47a966[_0xe3c2('0x42')]));if(_0x291953['query'][_0xe3c2('0x44')]){_0x1903a3[_0xe3c2('0x41')]=_[_0xe3c2('0x45')](_0x1903a3[_0xe3c2('0x41')],{'$or':_[_0xe3c2('0x33')](_0x1903a3[_0xe3c2('0x3c')],function(_0xe32625){var _0x111e76={};_0x111e76[_0xe32625]={'$like':'%'+_0x291953[_0xe3c2('0x39')]['filter']+'%'};return _0x111e76;})});}_0x1903a3=_[_0xe3c2('0x45')]({},_0x1903a3,_0x291953['options']);return _0x15744c[_0xe3c2('0x8f')](_0x1903a3);}})[_0xe3c2('0x2b')](function(_0x40e22e){if(_0x40e22e){_0x17669e=_0x40e22e[_0xe3c2('0x3d')];if(!_0x291953[_0xe3c2('0x39')][_0xe3c2('0x5f')]('nolimit')){_0x1903a3[_0xe3c2('0x25')]=qs[_0xe3c2('0x25')](_0x291953[_0xe3c2('0x39')]['limit']);_0x1903a3['offset']=qs[_0xe3c2('0x24')](_0x291953[_0xe3c2('0x39')][_0xe3c2('0x24')]);}return _0x15744c[_0xe3c2('0x8f')](_0x1903a3);}})[_0xe3c2('0x2b')](function(_0x544188){if(_0x544188){return _0x544188?{'count':_0x17669e,'rows':_0x544188}:null;}})[_0xe3c2('0x2b')](respondWithResult(_0x304ade,null))[_0xe3c2('0x4e')](handleError(_0x304ade,null));};