3d52c10b7006a3ac428ec044617b8e0fe07ab75b
[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 _0xd86a=['rows','catch','show','params','length','create','body','user','role','UserProfileSection','find','autoAssociation','getMembers','findOne','SmsQueueId','findAll','User','findAndCountAll','UserId','agent','smsPause','format','%s/%s','createdAt','updatedAt','getTeams','Team','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','UserSmsQueue','emit','userSmsQueue:save','removeTeams','field','tq.TeamId','from','team_has_sms_queues','SmsQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','TeamId','all','union','value','isEmpty','removeAgents','userSmsQueue:remove','addAgents','omit','spread','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsQueue.socket','register','sendStatus','status','end','json','offset','limit','set','Content-Range','reject','save','update','then','destroy','get','SmsQueues','UserProfileResource','error','name','index','map','SmsQueue','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','count','includeAll','include'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0xd86a,0x14f));var _0xad86=function(_0x7a3247,_0x15cb12){_0x7a3247=_0x7a3247-0x0;var _0x1bfde5=_0xd86a[_0x7a3247];return _0x1bfde5;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xad86('0x0'));var rimraf=require(_0xad86('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xad86('0x2'));var rp=require(_0xad86('0x3'));var moment=require(_0xad86('0x4'));var BPromise=require(_0xad86('0x5'));var Mustache=require('mustache');var util=require(_0xad86('0x6'));var path=require(_0xad86('0x7'));var sox=require(_0xad86('0x8'));var csv=require(_0xad86('0x9'));var ejs=require(_0xad86('0xa'));var fs=require('fs');var _=require(_0xad86('0xb'));var squel=require(_0xad86('0xc'));var crypto=require('crypto');var jsforce=require(_0xad86('0xd'));var deskjs=require(_0xad86('0xe'));var toCsv=require(_0xad86('0x9'));var querystring=require(_0xad86('0xf'));var Papa=require(_0xad86('0x10'));var Redis=require(_0xad86('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xad86('0x12'));var as=require(_0xad86('0x13'));var hardwareService=require(_0xad86('0x14'));var logger=require(_0xad86('0x15'))(_0xad86('0x16'));var utils=require(_0xad86('0x17'));var config=require(_0xad86('0x18'));var db=require(_0xad86('0x19'))['db'];config[_0xad86('0x1a')]=_[_0xad86('0x1b')](config[_0xad86('0x1a')],{'host':_0xad86('0x1c'),'port':0x18eb});var socket=require(_0xad86('0x1d'))(new Redis(config[_0xad86('0x1a')]));require(_0xad86('0x1e'))[_0xad86('0x1f')](socket);function respondWithStatusCode(_0x209a49,_0xd17e0b){_0xd17e0b=_0xd17e0b||0xcc;return function(_0x4c46f6){if(_0x4c46f6){return _0x209a49[_0xad86('0x20')](_0xd17e0b);}return _0x209a49[_0xad86('0x21')](_0xd17e0b)[_0xad86('0x22')]();};}function respondWithResult(_0x268c2b,_0x191964){_0x191964=_0x191964||0xc8;return function(_0x131c03){if(_0x131c03){return _0x268c2b['status'](_0x191964)[_0xad86('0x23')](_0x131c03);}};}function respondWithFilteredResult(_0x2fdd35,_0x3b6d89){return function(_0x10dd92){if(_0x10dd92){var _0x30237d=_0x10dd92['count'],_0x3944b5=_0x3b6d89[_0xad86('0x24')],_0x40263b=_0x3b6d89['offset']+_0x3b6d89[_0xad86('0x25')],_0x531e8a;if(_0x40263b>=_0x30237d){_0x40263b=_0x30237d;_0x531e8a=0xc8;}else{_0x531e8a=0xce;}_0x2fdd35[_0xad86('0x21')](_0x531e8a);return _0x2fdd35[_0xad86('0x26')](_0xad86('0x27'),_0x3944b5+'-'+_0x40263b+'/'+_0x30237d)[_0xad86('0x23')](_0x10dd92);}return null;};}function patchUpdates(_0x4168d2){return function(_0x4d11e5){try{jsonpatch['apply'](_0x4d11e5,_0x4168d2,!![]);}catch(_0xe030e1){return BPromise[_0xad86('0x28')](_0xe030e1);}return _0x4d11e5[_0xad86('0x29')]();};}function saveUpdates(_0x2fd390,_0x3b95cc){return function(_0x4967af){if(_0x4967af){return _0x4967af[_0xad86('0x2a')](_0x2fd390)[_0xad86('0x2b')](function(_0x1ee5c8){return _0x1ee5c8;});}return null;};}function removeEntity(_0x9cc25a,_0x1ab46a){return function(_0x2f6aa4){if(_0x2f6aa4){return _0x2f6aa4[_0xad86('0x2c')]()[_0xad86('0x2b')](function(){var _0x21a234=_0x2f6aa4[_0xad86('0x2d')]({'plain':!![]});var _0x282a63=_0xad86('0x2e');return db[_0xad86('0x2f')]['destroy']({'where':{'type':_0x282a63,'resourceId':_0x21a234['id']}})[_0xad86('0x2b')](function(){return _0x2f6aa4;});})['then'](function(){_0x9cc25a[_0xad86('0x21')](0xcc)[_0xad86('0x22')]();});}};}function handleEntityNotFound(_0x5f4275,_0x32422c){return function(_0x48051b){if(!_0x48051b){_0x5f4275[_0xad86('0x20')](0x194);}return _0x48051b;};}function handleError(_0x2d6e78,_0x13334){_0x13334=_0x13334||0x1f4;return function(_0x9af0d6){logger[_0xad86('0x30')](_0x9af0d6['stack']);if(_0x9af0d6[_0xad86('0x31')]){delete _0x9af0d6[_0xad86('0x31')];}_0x2d6e78[_0xad86('0x21')](_0x13334)['send'](_0x9af0d6);};}exports[_0xad86('0x32')]=function(_0x39c223,_0x4f4ea9){var _0x1bc9c6={},_0x4260d2={},_0x110c04={'count':0x0,'rows':[]};var _0x5f4175=_[_0xad86('0x33')](db[_0xad86('0x34')][_0xad86('0x35')],function(_0xd87f6c){return{'name':_0xd87f6c[_0xad86('0x36')],'type':_0xd87f6c[_0xad86('0x37')]['key']};});_0x4260d2[_0xad86('0x38')]=_[_0xad86('0x33')](_0x5f4175,'name');_0x4260d2[_0xad86('0x39')]=_[_0xad86('0x3a')](_0x39c223[_0xad86('0x39')]);_0x4260d2[_0xad86('0x3b')]=_['intersection'](_0x4260d2[_0xad86('0x38')],_0x4260d2['query']);_0x1bc9c6[_0xad86('0x3c')]=_[_0xad86('0x3d')](_0x4260d2[_0xad86('0x38')],qs[_0xad86('0x3e')](_0x39c223['query'][_0xad86('0x3e')]));_0x1bc9c6[_0xad86('0x3c')]=_0x1bc9c6[_0xad86('0x3c')]['length']?_0x1bc9c6[_0xad86('0x3c')]:_0x4260d2[_0xad86('0x38')];if(!_0x39c223[_0xad86('0x39')][_0xad86('0x3f')](_0xad86('0x40'))){_0x1bc9c6[_0xad86('0x25')]=qs[_0xad86('0x25')](_0x39c223[_0xad86('0x39')]['limit']);_0x1bc9c6[_0xad86('0x24')]=qs[_0xad86('0x24')](_0x39c223[_0xad86('0x39')]['offset']);}_0x1bc9c6[_0xad86('0x41')]=qs[_0xad86('0x42')](_0x39c223[_0xad86('0x39')][_0xad86('0x42')]);_0x1bc9c6[_0xad86('0x43')]=qs['filters'](_[_0xad86('0x44')](_0x39c223['query'],_0x4260d2[_0xad86('0x3b')]),_0x5f4175);if(_0x39c223[_0xad86('0x39')][_0xad86('0x45')]){_0x1bc9c6[_0xad86('0x43')]=_['merge'](_0x1bc9c6[_0xad86('0x43')],{'$or':_[_0xad86('0x33')](_0x5f4175,function(_0x559fb7){if(_0x559fb7[_0xad86('0x37')]!==_0xad86('0x46')){var _0x3afaf1={};_0x3afaf1[_0x559fb7[_0xad86('0x31')]]={'$like':'%'+_0x39c223['query'][_0xad86('0x45')]+'%'};return _0x3afaf1;}})});}_0x1bc9c6=_[_0xad86('0x47')]({},_0x1bc9c6,_0x39c223[_0xad86('0x48')]);var _0x12079d={'where':_0x1bc9c6['where']};return db[_0xad86('0x34')]['count'](_0x12079d)[_0xad86('0x2b')](function(_0x16ad1f){_0x110c04[_0xad86('0x49')]=_0x16ad1f;if(_0x39c223[_0xad86('0x39')][_0xad86('0x4a')]){_0x1bc9c6[_0xad86('0x4b')]=[{'all':!![]}];}return db[_0xad86('0x34')]['findAll'](_0x1bc9c6);})[_0xad86('0x2b')](function(_0x47489f){_0x110c04[_0xad86('0x4c')]=_0x47489f;return _0x110c04;})[_0xad86('0x2b')](respondWithFilteredResult(_0x4f4ea9,_0x1bc9c6))[_0xad86('0x4d')](handleError(_0x4f4ea9,null));};exports[_0xad86('0x4e')]=function(_0x49351b,_0xb8730f){var _0x46b14b={'raw':!![],'where':{'id':_0x49351b[_0xad86('0x4f')]['id']}},_0xd83c9e={};_0xd83c9e['model']=_['keys'](db[_0xad86('0x34')]['rawAttributes']);_0xd83c9e[_0xad86('0x39')]=_[_0xad86('0x3a')](_0x49351b['query']);_0xd83c9e['filters']=_[_0xad86('0x3d')](_0xd83c9e[_0xad86('0x38')],_0xd83c9e[_0xad86('0x39')]);_0x46b14b['attributes']=_[_0xad86('0x3d')](_0xd83c9e[_0xad86('0x38')],qs['fields'](_0x49351b[_0xad86('0x39')][_0xad86('0x3e')]));_0x46b14b[_0xad86('0x3c')]=_0x46b14b['attributes'][_0xad86('0x50')]?_0x46b14b[_0xad86('0x3c')]:_0xd83c9e[_0xad86('0x38')];if(_0x49351b['query'][_0xad86('0x4a')]){_0x46b14b[_0xad86('0x4b')]=[{'all':!![]}];}_0x46b14b=_[_0xad86('0x47')]({},_0x46b14b,_0x49351b[_0xad86('0x48')]);return db[_0xad86('0x34')]['find'](_0x46b14b)['then'](handleEntityNotFound(_0xb8730f,null))[_0xad86('0x2b')](respondWithResult(_0xb8730f,null))[_0xad86('0x4d')](handleError(_0xb8730f,null));};exports[_0xad86('0x51')]=function(_0x37af7b,_0x3e220b){return db[_0xad86('0x34')][_0xad86('0x51')](_0x37af7b[_0xad86('0x52')],{})[_0xad86('0x2b')](function(_0x23622b){var _0x2f95a5=_0x37af7b[_0xad86('0x53')][_0xad86('0x2d')]({'plain':!![]});if(!_0x2f95a5)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2f95a5[_0xad86('0x54')]===_0xad86('0x53')){var _0x41e163=_0x23622b[_0xad86('0x2d')]({'plain':!![]});var _0x2d98c5=_0xad86('0x2e');return db[_0xad86('0x55')][_0xad86('0x56')]({'where':{'name':_0x2d98c5,'userProfileId':_0x2f95a5['userProfileId']},'raw':!![]})[_0xad86('0x2b')](function(_0x318dd8){if(_0x318dd8&&_0x318dd8[_0xad86('0x57')]===0x0){return db[_0xad86('0x2f')][_0xad86('0x51')]({'name':_0x41e163[_0xad86('0x31')],'resourceId':_0x41e163['id'],'type':_0x318dd8[_0xad86('0x31')],'sectionId':_0x318dd8['id']},{})[_0xad86('0x2b')](function(){return _0x23622b;});}else{return _0x23622b;}})[_0xad86('0x4d')](function(_0xaed114){logger[_0xad86('0x30')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xaed114);throw _0xaed114;});}return _0x23622b;})[_0xad86('0x2b')](respondWithResult(_0x3e220b,0xc9))['catch'](handleError(_0x3e220b,null));};exports[_0xad86('0x2a')]=function(_0x2cc85c,_0xcfb25b){if(_0x2cc85c[_0xad86('0x52')]['id']){delete _0x2cc85c['body']['id'];}return db[_0xad86('0x34')][_0xad86('0x56')]({'where':{'id':_0x2cc85c[_0xad86('0x4f')]['id']}})[_0xad86('0x2b')](handleEntityNotFound(_0xcfb25b,null))[_0xad86('0x2b')](saveUpdates(_0x2cc85c['body'],null))[_0xad86('0x2b')](respondWithResult(_0xcfb25b,null))[_0xad86('0x4d')](handleError(_0xcfb25b,null));};exports[_0xad86('0x2c')]=function(_0x103d06,_0x6c778){return db[_0xad86('0x34')][_0xad86('0x56')]({'where':{'id':_0x103d06[_0xad86('0x4f')]['id']}})[_0xad86('0x2b')](handleEntityNotFound(_0x6c778,null))[_0xad86('0x2b')](removeEntity(_0x6c778,null))[_0xad86('0x4d')](handleError(_0x6c778,null));};exports['describe']=function(_0x47e3c3,_0x45067b){return db[_0xad86('0x34')]['describe']()[_0xad86('0x2b')](respondWithResult(_0x45067b,null))[_0xad86('0x4d')](handleError(_0x45067b,null));};exports[_0xad86('0x58')]=function(_0x2af576,_0x69688b,_0x3c0e6e){var _0x5680a2={'raw':!![],'where':{}},_0x589389={},_0x328f4d;return db[_0xad86('0x34')][_0xad86('0x59')]({'where':{'id':_0x2af576['params']['id']}})[_0xad86('0x2b')](handleEntityNotFound(_0x69688b,null))[_0xad86('0x2b')](function(_0x13153e){if(_0x13153e){_0x328f4d=_0x13153e[_0xad86('0x2d')]({'plain':!![]});_0x589389[_0xad86('0x38')]=_[_0xad86('0x3a')](db['UserSmsQueue'][_0xad86('0x35')]);_0x589389[_0xad86('0x39')]=_['keys'](_0x2af576[_0xad86('0x39')]);_0x589389['filters']=_[_0xad86('0x3d')](_0x589389[_0xad86('0x38')],_0x589389[_0xad86('0x39')]);_0x5680a2[_0xad86('0x3c')]=_[_0xad86('0x3d')](_0x589389[_0xad86('0x38')],qs[_0xad86('0x3e')](_0x2af576['query'][_0xad86('0x3e')]));_0x5680a2[_0xad86('0x3c')]=_0x5680a2[_0xad86('0x3c')][_0xad86('0x50')]?_0x5680a2['attributes']:_0x589389[_0xad86('0x38')];if(!_0x2af576['query'][_0xad86('0x3f')](_0xad86('0x40'))){_0x5680a2[_0xad86('0x25')]=qs[_0xad86('0x25')](_0x2af576[_0xad86('0x39')]['limit']);_0x5680a2['offset']=qs[_0xad86('0x24')](_0x2af576[_0xad86('0x39')][_0xad86('0x24')]);}_0x5680a2[_0xad86('0x41')]=qs['sort'](_0x2af576['query'][_0xad86('0x42')]);_0x5680a2[_0xad86('0x43')]=qs[_0xad86('0x3b')](_[_0xad86('0x44')](_0x2af576[_0xad86('0x39')],_0x589389['filters']));_0x5680a2[_0xad86('0x43')][_0xad86('0x5a')]=_0x13153e['id'];if(_0x2af576[_0xad86('0x39')][_0xad86('0x45')]){_0x5680a2[_0xad86('0x43')]=_[_0xad86('0x47')](_0x5680a2[_0xad86('0x43')],{'$or':_[_0xad86('0x33')](_0x5680a2['attributes'],function(_0x3a0a82){var _0xf88b0={};_0xf88b0[_0x3a0a82]={'$like':'%'+_0x2af576[_0xad86('0x39')]['filter']+'%'};return _0xf88b0;})});}_0x5680a2=_['merge']({},_0x5680a2,_0x2af576[_0xad86('0x48')]);return db['UserSmsQueue'][_0xad86('0x5b')](_0x5680a2);}})['then'](function(_0x422979){if(_0x422979){return db[_0xad86('0x5c')][_0xad86('0x5d')]({'where':{'id':_['map'](_0x422979,_0xad86('0x5e')),'role':_0xad86('0x5f')},'attributes':['id','name',_0xad86('0x60'),'updatedAt','createdAt']});}})['then'](function(_0x25e0b3){if(_0x25e0b3){return{'count':_0x25e0b3[_0xad86('0x49')],'rows':_[_0xad86('0x33')](_0x25e0b3[_0xad86('0x4c')],function(_0x2227c1){return{'membername':_0x2227c1[_0xad86('0x31')],'UserId':_0x2227c1['id'],'queue_name':_0x328f4d[_0xad86('0x31')],'SmsQueueId':_0x328f4d['id'],'interface':util[_0xad86('0x61')](_0xad86('0x62'),'SIP',_0x2227c1[_0xad86('0x31')]),'penalty':0x0,'paused':_0x2227c1[_0xad86('0x60')],'createdAt':_0x2227c1[_0xad86('0x63')],'updatedAt':_0x2227c1[_0xad86('0x64')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xad86('0x2b')](respondWithFilteredResult(_0x69688b,_0x5680a2))[_0xad86('0x4d')](handleError(_0x69688b,null));};exports[_0xad86('0x65')]=function(_0x46edfc,_0x2bde00,_0x5d3673){var _0x5a47bc={};var _0xc0875e={};var _0x14b7da;var _0xf2892c;return db[_0xad86('0x34')][_0xad86('0x59')]({'where':{'id':_0x46edfc[_0xad86('0x4f')]['id']}})[_0xad86('0x2b')](handleEntityNotFound(_0x2bde00,null))[_0xad86('0x2b')](function(_0xb36d34){if(_0xb36d34){_0x14b7da=_0xb36d34;_0xc0875e['model']=_['keys'](db[_0xad86('0x66')][_0xad86('0x35')]);_0xc0875e['query']=_[_0xad86('0x3a')](_0x46edfc[_0xad86('0x39')]);_0xc0875e[_0xad86('0x3b')]=_[_0xad86('0x3d')](_0xc0875e[_0xad86('0x38')],_0xc0875e[_0xad86('0x39')]);_0x5a47bc[_0xad86('0x3c')]=_['intersection'](_0xc0875e[_0xad86('0x38')],qs['fields'](_0x46edfc[_0xad86('0x39')][_0xad86('0x3e')]));_0x5a47bc['attributes']=_0x5a47bc[_0xad86('0x3c')][_0xad86('0x50')]?_0x5a47bc[_0xad86('0x3c')]:_0xc0875e['model'];_0x5a47bc[_0xad86('0x41')]=qs[_0xad86('0x42')](_0x46edfc[_0xad86('0x39')][_0xad86('0x42')]);_0x5a47bc[_0xad86('0x43')]=qs[_0xad86('0x3b')](_[_0xad86('0x44')](_0x46edfc[_0xad86('0x39')],_0xc0875e['filters']));if(_0x46edfc['query'][_0xad86('0x45')]){_0x5a47bc['where']=_['merge'](_0x5a47bc[_0xad86('0x43')],{'$or':_['map'](_0x5a47bc[_0xad86('0x3c')],function(_0x39dcb5){var _0xe5d35a={};_0xe5d35a[_0x39dcb5]={'$like':'%'+_0x46edfc[_0xad86('0x39')][_0xad86('0x45')]+'%'};return _0xe5d35a;})});}_0x5a47bc=_[_0xad86('0x47')]({},_0x5a47bc,_0x46edfc[_0xad86('0x48')]);return _0x14b7da[_0xad86('0x65')](_0x5a47bc);}})[_0xad86('0x2b')](function(_0xe274c5){if(_0xe274c5){_0xf2892c=_0xe274c5['length'];if(!_0x46edfc[_0xad86('0x39')]['hasOwnProperty'](_0xad86('0x40'))){_0x5a47bc[_0xad86('0x25')]=qs[_0xad86('0x25')](_0x46edfc[_0xad86('0x39')]['limit']);_0x5a47bc[_0xad86('0x24')]=qs[_0xad86('0x24')](_0x46edfc['query'][_0xad86('0x24')]);}return _0x14b7da[_0xad86('0x65')](_0x5a47bc);}})[_0xad86('0x2b')](function(_0x15c1c4){if(_0x15c1c4){return _0x15c1c4?{'count':_0xf2892c,'rows':_0x15c1c4}:null;}})[_0xad86('0x2b')](respondWithResult(_0x2bde00,null))[_0xad86('0x4d')](handleError(_0x2bde00,null));};exports[_0xad86('0x67')]=function(_0x1a553f,_0x1cae5b,_0x2acd0d){var _0x4e0347=_0x1a553f[_0xad86('0x52')][_0xad86('0x68')];return db[_0xad86('0x66')][_0xad86('0x5b')]({'where':{'id':_0x4e0347},'attributes':['id'],'include':[{'model':db['User'],'as':_0xad86('0x69'),'attributes':['id',_0xad86('0x31'),_0xad86('0x6a'),_0xad86('0x6b'),_0xad86('0x6c')],'raw':!![]}]})[_0xad86('0x2b')](function(_0x476e84){if(_0x476e84){var _0x3cbc33=_[_0xad86('0x6d')](_0x476e84,function(_0x3d1bad){var _0x4d281c=_0x3d1bad['get']({'plain':!![]});return _0x4d281c[_0xad86('0x69')];});return db['SmsQueue'][_0xad86('0x56')]({'where':{'id':_0x1a553f[_0xad86('0x4f')]['id']}})[_0xad86('0x2b')](function(_0x1bdcfb){return db[_0xad86('0x6e')][_0xad86('0x6f')](function(_0x48652d){return _0x1bdcfb[_0xad86('0x67')](_0x4e0347,{'transaction':_0x48652d})['then'](function(){return BPromise[_0xad86('0x70')](_0x3cbc33,function(_0x1cc72b){return db[_0xad86('0x71')]['findOrCreate']({'where':{'UserId':_0x1cc72b['id'],'SmsQueueId':_0x1a553f['params']['id']},'transaction':_0x48652d});});})['then'](function(){_0x3cbc33['forEach'](function(_0x30d8a1){socket[_0xad86('0x72')](_0xad86('0x73'),{'UserId':_0x30d8a1['id'],'SmsQueueId':_0x1bdcfb['id']});});});});});}})['then'](respondWithStatusCode(_0x1cae5b,null))[_0xad86('0x4d')](handleError(_0x1cae5b,null));};exports[_0xad86('0x74')]=function(_0x146b05,_0x3335dd,_0x5bc9bd){return db[_0xad86('0x66')][_0xad86('0x5b')]({'where':{'id':_0x146b05[_0xad86('0x39')][_0xad86('0x68')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xad86('0x2b')](handleEntityNotFound(_0x3335dd,null))[_0xad86('0x2b')](function(_0x1f8b86){var _0x13ea8e=_[_0xad86('0x33')](_0x1f8b86,'id');var _0x1c9630=[];var _0x59a709=[];var _0x9906ef=squel['select']();_0x9906ef[_0xad86('0x75')](_0xad86('0x76'))[_0xad86('0x77')](_0xad86('0x78'),'tq')['join']('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0xad86('0x79'),_0x146b05[_0xad86('0x4f')]['id']);for(var _0x17c7c7=0x0;_0x17c7c7<_0x1f8b86[_0xad86('0x50')];_0x17c7c7+=0x1){let _0x443d1f=_0x1f8b86[_0x17c7c7];for(var _0x529a22=0x0;_0x529a22<_0x443d1f[_0xad86('0x69')][_0xad86('0x50')];_0x529a22+=0x1){let _0x2ddf9a=_0x443d1f['Agents'][_0x529a22];var _0x512ed3=_0x9906ef['clone']();_0x512ed3[_0xad86('0x43')](_0xad86('0x7a'),_0x2ddf9a['id']);_0x59a709[_0xad86('0x7b')](db[_0xad86('0x6e')][_0xad86('0x39')](_0x512ed3[_0xad86('0x7c')](),{'type':db[_0xad86('0x6e')][_0xad86('0x7d')]['SELECT']})[_0xad86('0x2b')](function(_0x44c08e){if(_0x44c08e[_0xad86('0x50')]===0x1){return _0x2ddf9a['id'];}else{var _0x3c0ad6=_['every'](_[_0xad86('0x33')](_0x44c08e,_0xad86('0x7e')),function(_0x5aa917){return _['includes'](_0x13ea8e,_0x5aa917);});if(_0x3c0ad6){return _0x2ddf9a['id'];}}}));}}return BPromise[_0xad86('0x7f')](_0x59a709)['then'](function(_0x5559ee){_0x1c9630=_(_0x1c9630)[_0xad86('0x80')](_0x5559ee)['compact']()[_0xad86('0x81')]();return db[_0xad86('0x34')][_0xad86('0x56')]({'where':{'id':_0x146b05[_0xad86('0x4f')]['id']}})[_0xad86('0x2b')](function(_0x1325ff){return db[_0xad86('0x6e')][_0xad86('0x6f')](function(_0xf96bdb){return _0x1325ff[_0xad86('0x74')](_0x146b05['query'][_0xad86('0x68')],{'transaction':_0xf96bdb})[_0xad86('0x2b')](function(){if(!_[_0xad86('0x82')](_0x1c9630)){return _0x1325ff[_0xad86('0x83')](_0x1c9630,{'transaction':_0xf96bdb});}})['then'](function(){_0x1c9630['forEach'](function(_0x32d2fc){socket['emit'](_0xad86('0x84'),{'UserId':_0x32d2fc,'SmsQueueId':_0x1325ff['id']});});});});});});})[_0xad86('0x2b')](respondWithStatusCode(_0x3335dd,null))[_0xad86('0x4d')](handleError(_0x3335dd,null));};exports[_0xad86('0x85')]=function(_0x13a74f,_0x10d5a6,_0x1a3671){return db[_0xad86('0x34')][_0xad86('0x56')]({'where':{'id':_0x13a74f[_0xad86('0x4f')]['id']}})[_0xad86('0x2b')](handleEntityNotFound(_0x10d5a6,null))[_0xad86('0x2b')](function(_0x5a2b51){if(_0x5a2b51){return _0x5a2b51[_0xad86('0x85')](_0x13a74f[_0xad86('0x52')][_0xad86('0x68')],_[_0xad86('0x86')](_0x13a74f[_0xad86('0x52')],[_0xad86('0x68'),'id'])||{})[_0xad86('0x87')](function(_0x5ad1e9){for(var _0x580a62=0x0;_0x580a62<_0x13a74f[_0xad86('0x52')][_0xad86('0x68')]['length'];_0x580a62+=0x1){socket[_0xad86('0x72')]('userSmsQueue:save',{'UserId':_0x13a74f[_0xad86('0x52')][_0xad86('0x68')][_0x580a62],'SmsQueueId':_0x13a74f[_0xad86('0x4f')]['id']});}return _0x5ad1e9;});}})[_0xad86('0x2b')](respondWithResult(_0x10d5a6,null))[_0xad86('0x4d')](handleError(_0x10d5a6,null));};exports[_0xad86('0x83')]=function(_0x5b9e7f,_0x4204a4,_0x2d4c75){return db[_0xad86('0x34')][_0xad86('0x56')]({'where':{'id':_0x5b9e7f[_0xad86('0x4f')]['id']}})[_0xad86('0x2b')](handleEntityNotFound(_0x4204a4,null))[_0xad86('0x2b')](function(_0x52fe37){if(_0x52fe37){return _0x52fe37['removeAgents'](_0x5b9e7f[_0xad86('0x39')][_0xad86('0x68')])['then'](function(){if(_['isArray'](_0x5b9e7f[_0xad86('0x39')][_0xad86('0x68')])){for(var _0x3142d2=0x0;_0x3142d2<_0x5b9e7f[_0xad86('0x39')][_0xad86('0x68')][_0xad86('0x50')];_0x3142d2+=0x1){socket[_0xad86('0x72')]('userSmsQueue:remove',{'UserId':Number(_0x5b9e7f['query'][_0xad86('0x68')][_0x3142d2]),'SmsQueueId':Number(_0x5b9e7f[_0xad86('0x4f')]['id'])});}}else{socket['emit'](_0xad86('0x84'),{'UserId':Number(_0x5b9e7f['query'][_0xad86('0x68')]),'SmsQueueId':Number(_0x5b9e7f[_0xad86('0x4f')]['id'])});}});}})[_0xad86('0x2b')](respondWithStatusCode(_0x4204a4,null))[_0xad86('0x4d')](handleError(_0x4204a4,null));};exports[_0xad86('0x88')]=function(_0x9b518c,_0xe1141b,_0x17a0fb){var _0x2fbdb2={};var _0x122a61={};var _0x45de7e;var _0x5c269d;return db['SmsQueue'][_0xad86('0x59')]({'where':{'id':_0x9b518c[_0xad86('0x4f')]['id']}})['then'](handleEntityNotFound(_0xe1141b,null))[_0xad86('0x2b')](function(_0x2e91c5){if(_0x2e91c5){_0x45de7e=_0x2e91c5;_0x122a61['model']=_[_0xad86('0x3a')](db[_0xad86('0x5c')][_0xad86('0x35')]);_0x122a61['query']=_[_0xad86('0x3a')](_0x9b518c['query']);_0x122a61['filters']=_[_0xad86('0x3d')](_0x122a61[_0xad86('0x38')],_0x122a61['query']);_0x2fbdb2['attributes']=_['intersection'](_0x122a61[_0xad86('0x38')],qs[_0xad86('0x3e')](_0x9b518c[_0xad86('0x39')][_0xad86('0x3e')]));_0x2fbdb2[_0xad86('0x3c')]=_0x2fbdb2[_0xad86('0x3c')]['length']?_0x2fbdb2[_0xad86('0x3c')]:_0x122a61[_0xad86('0x38')];_0x2fbdb2['order']=qs[_0xad86('0x42')](_0x9b518c[_0xad86('0x39')]['sort']);_0x2fbdb2[_0xad86('0x43')]=qs[_0xad86('0x3b')](_[_0xad86('0x44')](_0x9b518c['query'],_0x122a61[_0xad86('0x3b')]));if(_0x9b518c[_0xad86('0x39')]['filter']){_0x2fbdb2[_0xad86('0x43')]=_[_0xad86('0x47')](_0x2fbdb2['where'],{'$or':_['map'](_0x2fbdb2['attributes'],function(_0x674d15){var _0x520b07={};_0x520b07[_0x674d15]={'$like':'%'+_0x9b518c[_0xad86('0x39')][_0xad86('0x45')]+'%'};return _0x520b07;})});}_0x2fbdb2=_[_0xad86('0x47')]({},_0x2fbdb2,_0x9b518c[_0xad86('0x48')]);return _0x45de7e['getAgents'](_0x2fbdb2);}})[_0xad86('0x2b')](function(_0x264e5a){if(_0x264e5a){_0x5c269d=_0x264e5a[_0xad86('0x50')];if(!_0x9b518c[_0xad86('0x39')][_0xad86('0x3f')](_0xad86('0x40'))){_0x2fbdb2[_0xad86('0x25')]=qs[_0xad86('0x25')](_0x9b518c[_0xad86('0x39')]['limit']);_0x2fbdb2[_0xad86('0x24')]=qs['offset'](_0x9b518c[_0xad86('0x39')][_0xad86('0x24')]);}return _0x45de7e[_0xad86('0x88')](_0x2fbdb2);}})[_0xad86('0x2b')](function(_0x4ccb2f){if(_0x4ccb2f){return _0x4ccb2f?{'count':_0x5c269d,'rows':_0x4ccb2f}:null;}})[_0xad86('0x2b')](respondWithResult(_0xe1141b,null))[_0xad86('0x4d')](handleError(_0xe1141b,null));};