ae9666b4ae850c47fbe4c9551b1f7846bfbbf8da
[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 _0x0b15=['filters','pick','merge','VIRTUAL','options','SmsQueue','includeAll','include','findAll','rows','catch','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','SmsQueues','UserProfileSection','userProfileId','autoAssociation','update','getMembers','findOne','UserSmsQueue','filter','User','smsPause','updatedAt','getTeams','addTeams','ids','Team','Agents','voicePause','interface','sequelize','each','findOrCreate','forEach','emit','userSmsQueue:save','select','field','from','team_has_sms_queues','join','ut.TeamId\x20=\x20tq.TeamId','SmsQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','SELECT','TeamId','includes','all','compact','transaction','isEmpty','removeAgents','userSmsQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','./smsQueue.socket','register','sendStatus','status','end','json','count','offset','Content-Range','then','destroy','get','UserProfileResource','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where'];(function(_0x7e2eb0,_0x17cd58){var _0xd92de4=function(_0x5d005b){while(--_0x5d005b){_0x7e2eb0['push'](_0x7e2eb0['shift']());}};_0xd92de4(++_0x17cd58);}(_0x0b15,0x1c0));var _0x50b1=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x0b15[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x50b1('0x0'));var rimraf=require(_0x50b1('0x1'));var zipdir=require(_0x50b1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x50b1('0x3'));var moment=require(_0x50b1('0x4'));var BPromise=require(_0x50b1('0x5'));var Mustache=require(_0x50b1('0x6'));var util=require(_0x50b1('0x7'));var path=require(_0x50b1('0x8'));var sox=require(_0x50b1('0x9'));var csv=require(_0x50b1('0xa'));var ejs=require(_0x50b1('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x50b1('0xc'));var squel=require(_0x50b1('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x50b1('0xe'));var toCsv=require(_0x50b1('0xa'));var querystring=require(_0x50b1('0xf'));var Papa=require(_0x50b1('0x10'));var Redis=require(_0x50b1('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x50b1('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x50b1('0x13'));var logger=require(_0x50b1('0x14'))(_0x50b1('0x15'));var utils=require(_0x50b1('0x16'));var config=require(_0x50b1('0x17'));var licenseUtil=require(_0x50b1('0x18'));var db=require(_0x50b1('0x19'))['db'];config['redis']=_['defaults'](config[_0x50b1('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x50b1('0x1a')]));require(_0x50b1('0x1b'))[_0x50b1('0x1c')](socket);function respondWithStatusCode(_0x4abdb3,_0x25a86a){_0x25a86a=_0x25a86a||0xcc;return function(_0x4e3bed){if(_0x4e3bed){return _0x4abdb3[_0x50b1('0x1d')](_0x25a86a);}return _0x4abdb3[_0x50b1('0x1e')](_0x25a86a)[_0x50b1('0x1f')]();};}function respondWithResult(_0x5ed00e,_0xf2ab6d){_0xf2ab6d=_0xf2ab6d||0xc8;return function(_0x181288){if(_0x181288){return _0x5ed00e['status'](_0xf2ab6d)[_0x50b1('0x20')](_0x181288);}};}function respondWithFilteredResult(_0x48d72e,_0x516476){return function(_0x23ac51){if(_0x23ac51){var _0x5a10c1=_0x23ac51[_0x50b1('0x21')],_0x2459ae=_0x516476[_0x50b1('0x22')],_0x5cfcf9=_0x516476[_0x50b1('0x22')]+_0x516476['limit'],_0x19627d;if(_0x5cfcf9>=_0x5a10c1){_0x5cfcf9=_0x5a10c1;_0x19627d=0xc8;}else{_0x19627d=0xce;}_0x48d72e[_0x50b1('0x1e')](_0x19627d);return _0x48d72e['set'](_0x50b1('0x23'),_0x2459ae+'-'+_0x5cfcf9+'/'+_0x5a10c1)[_0x50b1('0x20')](_0x23ac51);}return null;};}function patchUpdates(_0x5e8f17){return function(_0x3b296c){try{jsonpatch['apply'](_0x3b296c,_0x5e8f17,!![]);}catch(_0x1f8007){return BPromise['reject'](_0x1f8007);}return _0x3b296c['save']();};}function saveUpdates(_0x3eb6fb,_0x2b2a50){return function(_0xb66387){if(_0xb66387){return _0xb66387['update'](_0x3eb6fb)[_0x50b1('0x24')](function(_0x1fe86d){return _0x1fe86d;});}return null;};}function removeEntity(_0x591a9b,_0x426fb9){return function(_0x27a87b){if(_0x27a87b){return _0x27a87b[_0x50b1('0x25')]()[_0x50b1('0x24')](function(){var _0x29490a=_0x27a87b[_0x50b1('0x26')]({'plain':!![]});var _0x373ba6='SmsQueues';return db[_0x50b1('0x27')][_0x50b1('0x25')]({'where':{'type':_0x373ba6,'resourceId':_0x29490a['id']}})[_0x50b1('0x24')](function(){return _0x27a87b;});})[_0x50b1('0x24')](function(){_0x591a9b['status'](0xcc)[_0x50b1('0x1f')]();});}};}function handleEntityNotFound(_0x2db5a1,_0x44bd71){return function(_0x185ffb){if(!_0x185ffb){_0x2db5a1[_0x50b1('0x1d')](0x194);}return _0x185ffb;};}function handleError(_0x3b450b,_0xc77fd3){_0xc77fd3=_0xc77fd3||0x1f4;return function(_0x4d4a42){logger['error'](_0x4d4a42['stack']);if(_0x4d4a42[_0x50b1('0x28')]){delete _0x4d4a42[_0x50b1('0x28')];}_0x3b450b[_0x50b1('0x1e')](_0xc77fd3)[_0x50b1('0x29')](_0x4d4a42);};}exports['index']=function(_0x2e4259,_0x939d72){var _0x4e8d81={},_0x288a4e={},_0x3daab9={'count':0x0,'rows':[]};var _0x48144c=_[_0x50b1('0x2a')](db['SmsQueue'][_0x50b1('0x2b')],function(_0x5c42c3){return{'name':_0x5c42c3[_0x50b1('0x2c')],'type':_0x5c42c3[_0x50b1('0x2d')][_0x50b1('0x2e')]};});_0x288a4e[_0x50b1('0x2f')]=_['map'](_0x48144c,_0x50b1('0x28'));_0x288a4e[_0x50b1('0x30')]=_[_0x50b1('0x31')](_0x2e4259['query']);_0x288a4e['filters']=_[_0x50b1('0x32')](_0x288a4e['model'],_0x288a4e[_0x50b1('0x30')]);_0x4e8d81[_0x50b1('0x33')]=_[_0x50b1('0x32')](_0x288a4e[_0x50b1('0x2f')],qs[_0x50b1('0x34')](_0x2e4259[_0x50b1('0x30')][_0x50b1('0x34')]));_0x4e8d81[_0x50b1('0x33')]=_0x4e8d81['attributes'][_0x50b1('0x35')]?_0x4e8d81[_0x50b1('0x33')]:_0x288a4e[_0x50b1('0x2f')];if(!_0x2e4259['query'][_0x50b1('0x36')](_0x50b1('0x37'))){_0x4e8d81[_0x50b1('0x38')]=qs[_0x50b1('0x38')](_0x2e4259['query'][_0x50b1('0x38')]);_0x4e8d81['offset']=qs[_0x50b1('0x22')](_0x2e4259[_0x50b1('0x30')][_0x50b1('0x22')]);}_0x4e8d81[_0x50b1('0x39')]=qs[_0x50b1('0x3a')](_0x2e4259[_0x50b1('0x30')][_0x50b1('0x3a')]);_0x4e8d81[_0x50b1('0x3b')]=qs[_0x50b1('0x3c')](_[_0x50b1('0x3d')](_0x2e4259[_0x50b1('0x30')],_0x288a4e[_0x50b1('0x3c')]),_0x48144c);if(_0x2e4259[_0x50b1('0x30')]['filter']){_0x4e8d81[_0x50b1('0x3b')]=_[_0x50b1('0x3e')](_0x4e8d81['where'],{'$or':_[_0x50b1('0x2a')](_0x48144c,function(_0x5c8f43){if(_0x5c8f43[_0x50b1('0x2d')]!==_0x50b1('0x3f')){var _0x372e79={};_0x372e79[_0x5c8f43[_0x50b1('0x28')]]={'$like':'%'+_0x2e4259[_0x50b1('0x30')]['filter']+'%'};return _0x372e79;}})});}_0x4e8d81=_['merge']({},_0x4e8d81,_0x2e4259[_0x50b1('0x40')]);var _0x5d1e22={'where':_0x4e8d81['where']};return db[_0x50b1('0x41')][_0x50b1('0x21')](_0x5d1e22)[_0x50b1('0x24')](function(_0x5f31de){_0x3daab9[_0x50b1('0x21')]=_0x5f31de;if(_0x2e4259['query'][_0x50b1('0x42')]){_0x4e8d81[_0x50b1('0x43')]=[{'all':!![]}];}return db[_0x50b1('0x41')][_0x50b1('0x44')](_0x4e8d81);})[_0x50b1('0x24')](function(_0x125ee5){_0x3daab9[_0x50b1('0x45')]=_0x125ee5;return _0x3daab9;})[_0x50b1('0x24')](respondWithFilteredResult(_0x939d72,_0x4e8d81))[_0x50b1('0x46')](handleError(_0x939d72,null));};exports[_0x50b1('0x47')]=function(_0x51e4e8,_0x36a528){var _0x34fa72={'raw':!![],'where':{'id':_0x51e4e8[_0x50b1('0x48')]['id']}},_0x53aa9a={};_0x53aa9a[_0x50b1('0x2f')]=_[_0x50b1('0x31')](db[_0x50b1('0x41')][_0x50b1('0x2b')]);_0x53aa9a[_0x50b1('0x30')]=_['keys'](_0x51e4e8[_0x50b1('0x30')]);_0x53aa9a[_0x50b1('0x3c')]=_[_0x50b1('0x32')](_0x53aa9a[_0x50b1('0x2f')],_0x53aa9a[_0x50b1('0x30')]);_0x34fa72[_0x50b1('0x33')]=_[_0x50b1('0x32')](_0x53aa9a[_0x50b1('0x2f')],qs[_0x50b1('0x34')](_0x51e4e8['query'][_0x50b1('0x34')]));_0x34fa72['attributes']=_0x34fa72[_0x50b1('0x33')][_0x50b1('0x35')]?_0x34fa72[_0x50b1('0x33')]:_0x53aa9a[_0x50b1('0x2f')];if(_0x51e4e8[_0x50b1('0x30')]['includeAll']){_0x34fa72['include']=[{'all':!![]}];}_0x34fa72=_[_0x50b1('0x3e')]({},_0x34fa72,_0x51e4e8[_0x50b1('0x40')]);return db[_0x50b1('0x41')][_0x50b1('0x49')](_0x34fa72)[_0x50b1('0x24')](handleEntityNotFound(_0x36a528,null))[_0x50b1('0x24')](respondWithResult(_0x36a528,null))[_0x50b1('0x46')](handleError(_0x36a528,null));};exports[_0x50b1('0x4a')]=function(_0x2e2aff,_0x3f1707){return db[_0x50b1('0x41')][_0x50b1('0x4a')](_0x2e2aff[_0x50b1('0x4b')],{})[_0x50b1('0x24')](function(_0x549679){var _0x4364fb=_0x2e2aff[_0x50b1('0x4c')][_0x50b1('0x26')]({'plain':!![]});if(!_0x4364fb)throw new Error(_0x50b1('0x4d'));if(_0x4364fb[_0x50b1('0x4e')]===_0x50b1('0x4c')){var _0x1458e1=_0x549679[_0x50b1('0x26')]({'plain':!![]});var _0x168255=_0x50b1('0x4f');return db[_0x50b1('0x50')]['find']({'where':{'name':_0x168255,'userProfileId':_0x4364fb[_0x50b1('0x51')]},'raw':!![]})[_0x50b1('0x24')](function(_0x5b81d6){if(_0x5b81d6&&_0x5b81d6[_0x50b1('0x52')]===0x0){return db[_0x50b1('0x27')][_0x50b1('0x4a')]({'name':_0x1458e1[_0x50b1('0x28')],'resourceId':_0x1458e1['id'],'type':_0x5b81d6[_0x50b1('0x28')],'sectionId':_0x5b81d6['id']},{})['then'](function(){return _0x549679;});}else{return _0x549679;}})[_0x50b1('0x46')](function(_0x44829e){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x44829e);throw _0x44829e;});}return _0x549679;})[_0x50b1('0x24')](respondWithResult(_0x3f1707,0xc9))[_0x50b1('0x46')](handleError(_0x3f1707,null));};exports[_0x50b1('0x53')]=function(_0x5011ea,_0x1de279){if(_0x5011ea[_0x50b1('0x4b')]['id']){delete _0x5011ea[_0x50b1('0x4b')]['id'];}return db[_0x50b1('0x41')][_0x50b1('0x49')]({'where':{'id':_0x5011ea[_0x50b1('0x48')]['id']}})['then'](handleEntityNotFound(_0x1de279,null))['then'](saveUpdates(_0x5011ea['body'],null))[_0x50b1('0x24')](respondWithResult(_0x1de279,null))['catch'](handleError(_0x1de279,null));};exports[_0x50b1('0x25')]=function(_0x861684,_0x2cf21c){return db[_0x50b1('0x41')]['find']({'where':{'id':_0x861684['params']['id']}})[_0x50b1('0x24')](handleEntityNotFound(_0x2cf21c,null))[_0x50b1('0x24')](removeEntity(_0x2cf21c,null))['catch'](handleError(_0x2cf21c,null));};exports['describe']=function(_0x1d2dfe,_0x57f45e){return db[_0x50b1('0x41')]['describe']()['then'](respondWithResult(_0x57f45e,null))[_0x50b1('0x46')](handleError(_0x57f45e,null));};exports[_0x50b1('0x54')]=function(_0x3fa6af,_0x2f0fa3,_0x149f6e){var _0x187807={'raw':!![],'where':{}},_0x4594bf={},_0x4fb2f3;return db['SmsQueue'][_0x50b1('0x55')]({'where':{'id':_0x3fa6af[_0x50b1('0x48')]['id']}})['then'](handleEntityNotFound(_0x2f0fa3,null))[_0x50b1('0x24')](function(_0x50af89){if(_0x50af89){_0x4fb2f3=_0x50af89[_0x50b1('0x26')]({'plain':!![]});_0x4594bf['model']=_[_0x50b1('0x31')](db[_0x50b1('0x56')][_0x50b1('0x2b')]);_0x4594bf[_0x50b1('0x30')]=_[_0x50b1('0x31')](_0x3fa6af[_0x50b1('0x30')]);_0x4594bf[_0x50b1('0x3c')]=_[_0x50b1('0x32')](_0x4594bf[_0x50b1('0x2f')],_0x4594bf[_0x50b1('0x30')]);_0x187807[_0x50b1('0x33')]=_[_0x50b1('0x32')](_0x4594bf[_0x50b1('0x2f')],qs[_0x50b1('0x34')](_0x3fa6af[_0x50b1('0x30')]['fields']));_0x187807[_0x50b1('0x33')]=_0x187807[_0x50b1('0x33')][_0x50b1('0x35')]?_0x187807['attributes']:_0x4594bf['model'];if(!_0x3fa6af[_0x50b1('0x30')][_0x50b1('0x36')](_0x50b1('0x37'))){_0x187807[_0x50b1('0x38')]=qs[_0x50b1('0x38')](_0x3fa6af[_0x50b1('0x30')]['limit']);_0x187807[_0x50b1('0x22')]=qs['offset'](_0x3fa6af[_0x50b1('0x30')][_0x50b1('0x22')]);}_0x187807[_0x50b1('0x39')]=qs['sort'](_0x3fa6af[_0x50b1('0x30')]['sort']);_0x187807['where']=qs[_0x50b1('0x3c')](_[_0x50b1('0x3d')](_0x3fa6af['query'],_0x4594bf[_0x50b1('0x3c')]));_0x187807[_0x50b1('0x3b')]['SmsQueueId']=_0x50af89['id'];if(_0x3fa6af[_0x50b1('0x30')][_0x50b1('0x57')]){_0x187807[_0x50b1('0x3b')]=_[_0x50b1('0x3e')](_0x187807['where'],{'$or':_[_0x50b1('0x2a')](_0x187807[_0x50b1('0x33')],function(_0x38b0ff){var _0x4e28ad={};_0x4e28ad[_0x38b0ff]={'$like':'%'+_0x3fa6af[_0x50b1('0x30')][_0x50b1('0x57')]+'%'};return _0x4e28ad;})});}_0x187807=_['merge']({},_0x187807,_0x3fa6af[_0x50b1('0x40')]);return db[_0x50b1('0x56')]['findAll'](_0x187807);}})[_0x50b1('0x24')](function(_0x2eb0a4){if(_0x2eb0a4){return db[_0x50b1('0x58')]['findAndCountAll']({'where':{'id':_[_0x50b1('0x2a')](_0x2eb0a4,'UserId'),'role':'agent'},'attributes':['id',_0x50b1('0x28'),_0x50b1('0x59'),'updatedAt','createdAt']});}})[_0x50b1('0x24')](function(_0x2c53d6){if(_0x2c53d6){return{'count':_0x2c53d6[_0x50b1('0x21')],'rows':_[_0x50b1('0x2a')](_0x2c53d6[_0x50b1('0x45')],function(_0x23e082){return{'membername':_0x23e082[_0x50b1('0x28')],'UserId':_0x23e082['id'],'queue_name':_0x4fb2f3[_0x50b1('0x28')],'SmsQueueId':_0x4fb2f3['id'],'interface':util['format']('%s/%s','SIP',_0x23e082[_0x50b1('0x28')]),'penalty':0x0,'paused':_0x23e082[_0x50b1('0x59')],'createdAt':_0x23e082['createdAt'],'updatedAt':_0x23e082[_0x50b1('0x5a')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x50b1('0x24')](respondWithFilteredResult(_0x2f0fa3,_0x187807))[_0x50b1('0x46')](handleError(_0x2f0fa3,null));};exports[_0x50b1('0x5b')]=function(_0x3afeae,_0x13269f,_0x11a2a0){var _0x3c988f={};var _0x315f4d={};var _0x5508a0;var _0x45be29;return db[_0x50b1('0x41')][_0x50b1('0x55')]({'where':{'id':_0x3afeae[_0x50b1('0x48')]['id']}})[_0x50b1('0x24')](handleEntityNotFound(_0x13269f,null))[_0x50b1('0x24')](function(_0x9963eb){if(_0x9963eb){_0x5508a0=_0x9963eb;_0x315f4d['model']=_[_0x50b1('0x31')](db['Team'][_0x50b1('0x2b')]);_0x315f4d[_0x50b1('0x30')]=_['keys'](_0x3afeae[_0x50b1('0x30')]);_0x315f4d[_0x50b1('0x3c')]=_[_0x50b1('0x32')](_0x315f4d[_0x50b1('0x2f')],_0x315f4d[_0x50b1('0x30')]);_0x3c988f[_0x50b1('0x33')]=_[_0x50b1('0x32')](_0x315f4d[_0x50b1('0x2f')],qs[_0x50b1('0x34')](_0x3afeae['query'][_0x50b1('0x34')]));_0x3c988f[_0x50b1('0x33')]=_0x3c988f[_0x50b1('0x33')]['length']?_0x3c988f[_0x50b1('0x33')]:_0x315f4d['model'];_0x3c988f[_0x50b1('0x39')]=qs['sort'](_0x3afeae['query']['sort']);_0x3c988f[_0x50b1('0x3b')]=qs['filters'](_[_0x50b1('0x3d')](_0x3afeae['query'],_0x315f4d[_0x50b1('0x3c')]));if(_0x3afeae[_0x50b1('0x30')][_0x50b1('0x57')]){_0x3c988f[_0x50b1('0x3b')]=_['merge'](_0x3c988f[_0x50b1('0x3b')],{'$or':_['map'](_0x3c988f['attributes'],function(_0xd8703b){var _0x43fb30={};_0x43fb30[_0xd8703b]={'$like':'%'+_0x3afeae[_0x50b1('0x30')][_0x50b1('0x57')]+'%'};return _0x43fb30;})});}_0x3c988f=_[_0x50b1('0x3e')]({},_0x3c988f,_0x3afeae[_0x50b1('0x40')]);return _0x5508a0[_0x50b1('0x5b')](_0x3c988f);}})[_0x50b1('0x24')](function(_0x4e4945){if(_0x4e4945){_0x45be29=_0x4e4945[_0x50b1('0x35')];if(!_0x3afeae['query'][_0x50b1('0x36')](_0x50b1('0x37'))){_0x3c988f[_0x50b1('0x38')]=qs[_0x50b1('0x38')](_0x3afeae[_0x50b1('0x30')][_0x50b1('0x38')]);_0x3c988f[_0x50b1('0x22')]=qs['offset'](_0x3afeae[_0x50b1('0x30')][_0x50b1('0x22')]);}return _0x5508a0[_0x50b1('0x5b')](_0x3c988f);}})['then'](function(_0x343c67){if(_0x343c67){return _0x343c67?{'count':_0x45be29,'rows':_0x343c67}:null;}})[_0x50b1('0x24')](respondWithResult(_0x13269f,null))[_0x50b1('0x46')](handleError(_0x13269f,null));};exports[_0x50b1('0x5c')]=function(_0x564881,_0x3cd377,_0x60dffe){var _0x1046a6=_0x564881[_0x50b1('0x4b')][_0x50b1('0x5d')];return db[_0x50b1('0x5e')][_0x50b1('0x44')]({'where':{'id':_0x1046a6},'attributes':['id'],'include':[{'model':db[_0x50b1('0x58')],'as':_0x50b1('0x5f'),'attributes':['id',_0x50b1('0x28'),'online',_0x50b1('0x60'),_0x50b1('0x61')],'raw':!![]}]})['then'](function(_0x4a5190){if(_0x4a5190){var _0x1f64a3=_['flatMap'](_0x4a5190,function(_0x31049d){var _0x3ca631=_0x31049d[_0x50b1('0x26')]({'plain':!![]});return _0x3ca631[_0x50b1('0x5f')];});return db[_0x50b1('0x41')][_0x50b1('0x49')]({'where':{'id':_0x564881[_0x50b1('0x48')]['id']}})['then'](function(_0xa6a290){return db[_0x50b1('0x62')]['transaction'](function(_0x40fb2a){return _0xa6a290[_0x50b1('0x5c')](_0x1046a6,{'transaction':_0x40fb2a})['then'](function(){return BPromise[_0x50b1('0x63')](_0x1f64a3,function(_0x1fe08e){return db[_0x50b1('0x56')][_0x50b1('0x64')]({'where':{'UserId':_0x1fe08e['id'],'SmsQueueId':_0x564881[_0x50b1('0x48')]['id']},'transaction':_0x40fb2a});});})[_0x50b1('0x24')](function(){_0x1f64a3[_0x50b1('0x65')](function(_0x177f8b){socket[_0x50b1('0x66')](_0x50b1('0x67'),{'UserId':_0x177f8b['id'],'SmsQueueId':_0xa6a290['id']});});});});});}})[_0x50b1('0x24')](respondWithStatusCode(_0x3cd377,null))[_0x50b1('0x46')](handleError(_0x3cd377,null));};exports['removeTeams']=function(_0x1f915a,_0x28a003,_0x5bd48a){return db[_0x50b1('0x5e')][_0x50b1('0x44')]({'where':{'id':_0x1f915a['query'][_0x50b1('0x5d')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x50b1('0x5f'),'attributes':['id'],'raw':!![]}]})[_0x50b1('0x24')](handleEntityNotFound(_0x28a003,null))[_0x50b1('0x24')](function(_0x516c31){var _0x5ac7d7=_[_0x50b1('0x2a')](_0x516c31,'id');var _0x2b6df2=[];var _0x3e0dba=[];var _0xecd804=squel[_0x50b1('0x68')]();_0xecd804[_0x50b1('0x69')]('tq.TeamId')[_0x50b1('0x6a')](_0x50b1('0x6b'),'tq')[_0x50b1('0x6c')]('user_has_teams','ut',_0x50b1('0x6d'))['where'](_0x50b1('0x6e'),_0x1f915a[_0x50b1('0x48')]['id']);for(var _0x205f5b=0x0;_0x205f5b<_0x516c31[_0x50b1('0x35')];_0x205f5b+=0x1){let _0x2d871a=_0x516c31[_0x205f5b];for(var _0x2b345c=0x0;_0x2b345c<_0x2d871a[_0x50b1('0x5f')]['length'];_0x2b345c+=0x1){let _0x1eae43=_0x2d871a['Agents'][_0x2b345c];var _0x52aede=_0xecd804['clone']();_0x52aede['where'](_0x50b1('0x6f'),_0x1eae43['id']);_0x3e0dba[_0x50b1('0x70')](db['sequelize'][_0x50b1('0x30')](_0x52aede['toString'](),{'type':db[_0x50b1('0x62')]['QueryTypes'][_0x50b1('0x71')]})[_0x50b1('0x24')](function(_0x39b894){if(_0x39b894[_0x50b1('0x35')]===0x1){return _0x1eae43['id'];}else{var _0x1eeb6d=_['every'](_[_0x50b1('0x2a')](_0x39b894,_0x50b1('0x72')),function(_0x40459d){return _[_0x50b1('0x73')](_0x5ac7d7,_0x40459d);});if(_0x1eeb6d){return _0x1eae43['id'];}}}));}}return BPromise[_0x50b1('0x74')](_0x3e0dba)[_0x50b1('0x24')](function(_0x31f8c5){_0x2b6df2=_(_0x2b6df2)['union'](_0x31f8c5)[_0x50b1('0x75')]()['value']();return db[_0x50b1('0x41')][_0x50b1('0x49')]({'where':{'id':_0x1f915a[_0x50b1('0x48')]['id']}})[_0x50b1('0x24')](function(_0x15642c){return db[_0x50b1('0x62')][_0x50b1('0x76')](function(_0x5706fb){return _0x15642c['removeTeams'](_0x1f915a[_0x50b1('0x30')][_0x50b1('0x5d')],{'transaction':_0x5706fb})['then'](function(){if(!_[_0x50b1('0x77')](_0x2b6df2)){return _0x15642c[_0x50b1('0x78')](_0x2b6df2,{'transaction':_0x5706fb});}})[_0x50b1('0x24')](function(){_0x2b6df2[_0x50b1('0x65')](function(_0xb89e22){socket[_0x50b1('0x66')](_0x50b1('0x79'),{'UserId':_0xb89e22,'SmsQueueId':_0x15642c['id']});});});});});});})['then'](respondWithStatusCode(_0x28a003,null))[_0x50b1('0x46')](handleError(_0x28a003,null));};exports[_0x50b1('0x7a')]=function(_0x519f49,_0x2304a3,_0x166491){return db[_0x50b1('0x41')][_0x50b1('0x49')]({'where':{'id':_0x519f49[_0x50b1('0x48')]['id']}})[_0x50b1('0x24')](handleEntityNotFound(_0x2304a3,null))[_0x50b1('0x24')](function(_0x5b7b0a){if(_0x5b7b0a){return _0x5b7b0a[_0x50b1('0x7a')](_0x519f49['body'][_0x50b1('0x5d')],_[_0x50b1('0x7b')](_0x519f49['body'],['ids','id'])||{})[_0x50b1('0x7c')](function(_0x1f81cf){for(var _0x4face4=0x0;_0x4face4<_0x519f49[_0x50b1('0x4b')]['ids']['length'];_0x4face4+=0x1){socket[_0x50b1('0x66')]('userSmsQueue:save',{'UserId':_0x519f49['body'][_0x50b1('0x5d')][_0x4face4],'SmsQueueId':_0x519f49['params']['id']});}return _0x1f81cf;});}})[_0x50b1('0x24')](respondWithResult(_0x2304a3,null))[_0x50b1('0x46')](handleError(_0x2304a3,null));};exports['removeAgents']=function(_0x3a72c2,_0x3a8d43,_0x436ffb){return db[_0x50b1('0x41')]['find']({'where':{'id':_0x3a72c2[_0x50b1('0x48')]['id']}})[_0x50b1('0x24')](handleEntityNotFound(_0x3a8d43,null))['then'](function(_0x56a82a){if(_0x56a82a){return _0x56a82a['removeAgents'](_0x3a72c2[_0x50b1('0x30')][_0x50b1('0x5d')])[_0x50b1('0x24')](function(){if(_[_0x50b1('0x7d')](_0x3a72c2['query'][_0x50b1('0x5d')])){for(var _0x11153f=0x0;_0x11153f<_0x3a72c2[_0x50b1('0x30')][_0x50b1('0x5d')][_0x50b1('0x35')];_0x11153f+=0x1){socket[_0x50b1('0x66')](_0x50b1('0x79'),{'UserId':Number(_0x3a72c2[_0x50b1('0x30')][_0x50b1('0x5d')][_0x11153f]),'SmsQueueId':Number(_0x3a72c2[_0x50b1('0x48')]['id'])});}}else{socket[_0x50b1('0x66')](_0x50b1('0x79'),{'UserId':Number(_0x3a72c2[_0x50b1('0x30')]['ids']),'SmsQueueId':Number(_0x3a72c2[_0x50b1('0x48')]['id'])});}});}})['then'](respondWithStatusCode(_0x3a8d43,null))[_0x50b1('0x46')](handleError(_0x3a8d43,null));};exports[_0x50b1('0x7e')]=function(_0x8ba6f7,_0x44f4cd,_0x4c03f1){var _0x56dace={};var _0x30b83e={};var _0x568753;var _0x481df2;return db['SmsQueue']['findOne']({'where':{'id':_0x8ba6f7[_0x50b1('0x48')]['id']}})[_0x50b1('0x24')](handleEntityNotFound(_0x44f4cd,null))[_0x50b1('0x24')](function(_0x550301){if(_0x550301){_0x568753=_0x550301;_0x30b83e[_0x50b1('0x2f')]=_[_0x50b1('0x31')](db[_0x50b1('0x58')][_0x50b1('0x2b')]);_0x30b83e[_0x50b1('0x30')]=_[_0x50b1('0x31')](_0x8ba6f7[_0x50b1('0x30')]);_0x30b83e[_0x50b1('0x3c')]=_[_0x50b1('0x32')](_0x30b83e['model'],_0x30b83e['query']);_0x56dace[_0x50b1('0x33')]=_['intersection'](_0x30b83e[_0x50b1('0x2f')],qs[_0x50b1('0x34')](_0x8ba6f7[_0x50b1('0x30')][_0x50b1('0x34')]));_0x56dace[_0x50b1('0x33')]=_0x56dace[_0x50b1('0x33')][_0x50b1('0x35')]?_0x56dace[_0x50b1('0x33')]:_0x30b83e[_0x50b1('0x2f')];_0x56dace['order']=qs[_0x50b1('0x3a')](_0x8ba6f7[_0x50b1('0x30')][_0x50b1('0x3a')]);_0x56dace[_0x50b1('0x3b')]=qs['filters'](_[_0x50b1('0x3d')](_0x8ba6f7['query'],_0x30b83e[_0x50b1('0x3c')]));if(_0x8ba6f7[_0x50b1('0x30')][_0x50b1('0x57')]){_0x56dace['where']=_[_0x50b1('0x3e')](_0x56dace['where'],{'$or':_[_0x50b1('0x2a')](_0x56dace[_0x50b1('0x33')],function(_0x55839d){var _0x5ef94c={};_0x5ef94c[_0x55839d]={'$like':'%'+_0x8ba6f7['query'][_0x50b1('0x57')]+'%'};return _0x5ef94c;})});}_0x56dace=_[_0x50b1('0x3e')]({},_0x56dace,_0x8ba6f7[_0x50b1('0x40')]);return _0x568753[_0x50b1('0x7e')](_0x56dace);}})[_0x50b1('0x24')](function(_0x2a006b){if(_0x2a006b){_0x481df2=_0x2a006b[_0x50b1('0x35')];if(!_0x8ba6f7[_0x50b1('0x30')][_0x50b1('0x36')](_0x50b1('0x37'))){_0x56dace[_0x50b1('0x38')]=qs[_0x50b1('0x38')](_0x8ba6f7[_0x50b1('0x30')]['limit']);_0x56dace[_0x50b1('0x22')]=qs[_0x50b1('0x22')](_0x8ba6f7[_0x50b1('0x30')]['offset']);}return _0x568753[_0x50b1('0x7e')](_0x56dace);}})['then'](function(_0x273c68){if(_0x273c68){return _0x273c68?{'count':_0x481df2,'rows':_0x273c68}:null;}})[_0x50b1('0x24')](respondWithResult(_0x44f4cd,null))['catch'](handleError(_0x44f4cd,null));};