6427d4df4569ea399b9cdf428e1e0b8a7d350374
[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 _0xe6c0=['fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','ioredis','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','SmsQueues','UserProfileResource','sendStatus','error','stack','name','send','index','map','SmsQueue','rawAttributes','fieldName','key','keys','query','filters','intersection','model','fields','attributes','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserSmsQueue','nolimit','SmsQueueId','options','UserId','agent','updatedAt','%s/%s','SIP','smsPause','createdAt','getTeams','order','ids','Team','User','voicePause','flatMap','Agents','each','findOrCreate','emit','userSmsQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_sms_queues','user_has_teams','SmsQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','SELECT','all','union','compact','value','transaction','removeAgents','forEach','userSmsQueue:remove','addAgents','omit','isArray','getAgents','rimraf','zip-dir'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xe6c0,0x88));var _0x0e6c=function(_0x9cd4c3,_0x1c9b2c){_0x9cd4c3=_0x9cd4c3-0x0;var _0x4c9025=_0xe6c0[_0x9cd4c3];return _0x4c9025;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0e6c('0x0'));var zipdir=require(_0x0e6c('0x1'));var jsonpatch=require(_0x0e6c('0x2'));var rp=require('request-promise');var moment=require(_0x0e6c('0x3'));var BPromise=require(_0x0e6c('0x4'));var Mustache=require(_0x0e6c('0x5'));var util=require(_0x0e6c('0x6'));var path=require(_0x0e6c('0x7'));var sox=require(_0x0e6c('0x8'));var csv=require(_0x0e6c('0x9'));var ejs=require(_0x0e6c('0xa'));var fs=require('fs');var fs_extra=require(_0x0e6c('0xb'));var _=require(_0x0e6c('0xc'));var squel=require('squel');var crypto=require(_0x0e6c('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x0e6c('0xe'));var toCsv=require(_0x0e6c('0x9'));var querystring=require(_0x0e6c('0xf'));var Papa=require('papaparse');var Redis=require(_0x0e6c('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0e6c('0x11'));var logger=require(_0x0e6c('0x12'))('api');var utils=require('../../config/utils');var config=require(_0x0e6c('0x13'));var licenseUtil=require(_0x0e6c('0x14'));var db=require(_0x0e6c('0x15'))['db'];config[_0x0e6c('0x16')]=_[_0x0e6c('0x17')](config[_0x0e6c('0x16')],{'host':'localhost','port':0x18eb});var socket=require(_0x0e6c('0x18'))(new Redis(config[_0x0e6c('0x16')]));require('./smsQueue.socket')[_0x0e6c('0x19')](socket);function respondWithStatusCode(_0x10e773,_0x2abc4f){_0x2abc4f=_0x2abc4f||0xcc;return function(_0x2f4981){if(_0x2f4981){return _0x10e773['sendStatus'](_0x2abc4f);}return _0x10e773[_0x0e6c('0x1a')](_0x2abc4f)[_0x0e6c('0x1b')]();};}function respondWithResult(_0x40c467,_0x350074){_0x350074=_0x350074||0xc8;return function(_0x17f72b){if(_0x17f72b){return _0x40c467[_0x0e6c('0x1a')](_0x350074)[_0x0e6c('0x1c')](_0x17f72b);}};}function respondWithFilteredResult(_0x573ab3,_0x1e96b2){return function(_0x2f1361){if(_0x2f1361){var _0xb612c7=typeof _0x1e96b2[_0x0e6c('0x1d')]===_0x0e6c('0x1e')&&typeof _0x1e96b2[_0x0e6c('0x1f')]===_0x0e6c('0x1e');var _0x4fb216=_0x2f1361[_0x0e6c('0x20')];var _0x15878=_0xb612c7?0x0:_0x1e96b2[_0x0e6c('0x1d')];var _0x477a30=_0xb612c7?_0x2f1361[_0x0e6c('0x20')]:_0x1e96b2[_0x0e6c('0x1d')]+_0x1e96b2[_0x0e6c('0x1f')];var _0x5a11d5;if(_0x477a30>=_0x4fb216){_0x477a30=_0x4fb216;_0x5a11d5=0xc8;}else{_0x5a11d5=0xce;}_0x573ab3[_0x0e6c('0x1a')](_0x5a11d5);return _0x573ab3[_0x0e6c('0x21')](_0x0e6c('0x22'),_0x15878+'-'+_0x477a30+'/'+_0x4fb216)['json'](_0x2f1361);}return null;};}function patchUpdates(_0x2ed28c){return function(_0x5973b9){try{jsonpatch[_0x0e6c('0x23')](_0x5973b9,_0x2ed28c,!![]);}catch(_0x274c74){return BPromise[_0x0e6c('0x24')](_0x274c74);}return _0x5973b9[_0x0e6c('0x25')]();};}function saveUpdates(_0x438359,_0x55028e){return function(_0x568e02){if(_0x568e02){return _0x568e02[_0x0e6c('0x26')](_0x438359)[_0x0e6c('0x27')](function(_0x19741c){return _0x19741c;});}return null;};}function removeEntity(_0x1b7efb,_0x500be0){return function(_0x359bf1){if(_0x359bf1){return _0x359bf1[_0x0e6c('0x28')]()[_0x0e6c('0x27')](function(){var _0xc71d2d=_0x359bf1['get']({'plain':!![]});var _0x5c4b14=_0x0e6c('0x29');return db[_0x0e6c('0x2a')][_0x0e6c('0x28')]({'where':{'type':_0x5c4b14,'resourceId':_0xc71d2d['id']}})[_0x0e6c('0x27')](function(){return _0x359bf1;});})[_0x0e6c('0x27')](function(){_0x1b7efb[_0x0e6c('0x1a')](0xcc)[_0x0e6c('0x1b')]();});}};}function handleEntityNotFound(_0x516126,_0x23cb8f){return function(_0x2e8c83){if(!_0x2e8c83){_0x516126[_0x0e6c('0x2b')](0x194);}return _0x2e8c83;};}function handleError(_0x26a287,_0x21459a){_0x21459a=_0x21459a||0x1f4;return function(_0x88253f){logger[_0x0e6c('0x2c')](_0x88253f[_0x0e6c('0x2d')]);if(_0x88253f['name']){delete _0x88253f[_0x0e6c('0x2e')];}_0x26a287[_0x0e6c('0x1a')](_0x21459a)[_0x0e6c('0x2f')](_0x88253f);};}exports[_0x0e6c('0x30')]=function(_0x2051c5,_0x5670e3){var _0x472ec6={},_0x2e32ad={},_0x5cd552={'count':0x0,'rows':[]};var _0x5cb12d=_[_0x0e6c('0x31')](db[_0x0e6c('0x32')][_0x0e6c('0x33')],function(_0x1e05c5){return{'name':_0x1e05c5[_0x0e6c('0x34')],'type':_0x1e05c5['type'][_0x0e6c('0x35')]};});_0x2e32ad['model']=_['map'](_0x5cb12d,_0x0e6c('0x2e'));_0x2e32ad['query']=_[_0x0e6c('0x36')](_0x2051c5[_0x0e6c('0x37')]);_0x2e32ad[_0x0e6c('0x38')]=_[_0x0e6c('0x39')](_0x2e32ad[_0x0e6c('0x3a')],_0x2e32ad[_0x0e6c('0x37')]);_0x472ec6['attributes']=_[_0x0e6c('0x39')](_0x2e32ad[_0x0e6c('0x3a')],qs[_0x0e6c('0x3b')](_0x2051c5[_0x0e6c('0x37')][_0x0e6c('0x3b')]));_0x472ec6[_0x0e6c('0x3c')]=_0x472ec6['attributes'][_0x0e6c('0x3d')]?_0x472ec6[_0x0e6c('0x3c')]:_0x2e32ad[_0x0e6c('0x3a')];if(!_0x2051c5[_0x0e6c('0x37')][_0x0e6c('0x3e')]('nolimit')){_0x472ec6[_0x0e6c('0x1f')]=qs[_0x0e6c('0x1f')](_0x2051c5[_0x0e6c('0x37')]['limit']);_0x472ec6[_0x0e6c('0x1d')]=qs[_0x0e6c('0x1d')](_0x2051c5[_0x0e6c('0x37')]['offset']);}_0x472ec6['order']=qs[_0x0e6c('0x3f')](_0x2051c5['query'][_0x0e6c('0x3f')]);_0x472ec6[_0x0e6c('0x40')]=qs[_0x0e6c('0x38')](_[_0x0e6c('0x41')](_0x2051c5[_0x0e6c('0x37')],_0x2e32ad[_0x0e6c('0x38')]),_0x5cb12d);if(_0x2051c5['query'][_0x0e6c('0x42')]){_0x472ec6[_0x0e6c('0x40')]=_[_0x0e6c('0x43')](_0x472ec6[_0x0e6c('0x40')],{'$or':_[_0x0e6c('0x31')](_0x5cb12d,function(_0x192d7d){if(_0x192d7d['type']!==_0x0e6c('0x44')){var _0x125737={};_0x125737[_0x192d7d[_0x0e6c('0x2e')]]={'$like':'%'+_0x2051c5['query'][_0x0e6c('0x42')]+'%'};return _0x125737;}})});}_0x472ec6=_[_0x0e6c('0x43')]({},_0x472ec6,_0x2051c5['options']);var _0x1ce710={'where':_0x472ec6['where']};return db[_0x0e6c('0x32')][_0x0e6c('0x20')](_0x1ce710)[_0x0e6c('0x27')](function(_0x17a5c3){_0x5cd552[_0x0e6c('0x20')]=_0x17a5c3;if(_0x2051c5['query'][_0x0e6c('0x45')]){_0x472ec6[_0x0e6c('0x46')]=[{'all':!![]}];}return db[_0x0e6c('0x32')][_0x0e6c('0x47')](_0x472ec6);})[_0x0e6c('0x27')](function(_0x446360){_0x5cd552[_0x0e6c('0x48')]=_0x446360;return _0x5cd552;})['then'](respondWithFilteredResult(_0x5670e3,_0x472ec6))['catch'](handleError(_0x5670e3,null));};exports[_0x0e6c('0x49')]=function(_0x39f415,_0x27465e){var _0x4880b2={'raw':!![],'where':{'id':_0x39f415['params']['id']}},_0x4d6f52={};_0x4d6f52[_0x0e6c('0x3a')]=_[_0x0e6c('0x36')](db['SmsQueue'][_0x0e6c('0x33')]);_0x4d6f52['query']=_[_0x0e6c('0x36')](_0x39f415[_0x0e6c('0x37')]);_0x4d6f52[_0x0e6c('0x38')]=_[_0x0e6c('0x39')](_0x4d6f52[_0x0e6c('0x3a')],_0x4d6f52[_0x0e6c('0x37')]);_0x4880b2[_0x0e6c('0x3c')]=_[_0x0e6c('0x39')](_0x4d6f52[_0x0e6c('0x3a')],qs[_0x0e6c('0x3b')](_0x39f415['query'][_0x0e6c('0x3b')]));_0x4880b2[_0x0e6c('0x3c')]=_0x4880b2[_0x0e6c('0x3c')][_0x0e6c('0x3d')]?_0x4880b2[_0x0e6c('0x3c')]:_0x4d6f52['model'];if(_0x39f415[_0x0e6c('0x37')][_0x0e6c('0x45')]){_0x4880b2[_0x0e6c('0x46')]=[{'all':!![]}];}_0x4880b2=_['merge']({},_0x4880b2,_0x39f415['options']);return db[_0x0e6c('0x32')][_0x0e6c('0x4a')](_0x4880b2)[_0x0e6c('0x27')](handleEntityNotFound(_0x27465e,null))[_0x0e6c('0x27')](respondWithResult(_0x27465e,null))[_0x0e6c('0x4b')](handleError(_0x27465e,null));};exports[_0x0e6c('0x4c')]=function(_0x2e6c0f,_0x310df8){return db[_0x0e6c('0x32')][_0x0e6c('0x4c')](_0x2e6c0f[_0x0e6c('0x4d')],{})[_0x0e6c('0x27')](function(_0x2855b6){var _0x11b11b=_0x2e6c0f['user']['get']({'plain':!![]});if(!_0x11b11b)throw new Error(_0x0e6c('0x4e'));if(_0x11b11b['role']===_0x0e6c('0x4f')){var _0x45a344=_0x2855b6['get']({'plain':!![]});var _0x4d19d0='SmsQueues';return db[_0x0e6c('0x50')][_0x0e6c('0x4a')]({'where':{'name':_0x4d19d0,'userProfileId':_0x11b11b[_0x0e6c('0x51')]},'raw':!![]})[_0x0e6c('0x27')](function(_0x4acf2e){if(_0x4acf2e&&_0x4acf2e[_0x0e6c('0x52')]===0x0){return db['UserProfileResource'][_0x0e6c('0x4c')]({'name':_0x45a344[_0x0e6c('0x2e')],'resourceId':_0x45a344['id'],'type':_0x4acf2e[_0x0e6c('0x2e')],'sectionId':_0x4acf2e['id']},{})[_0x0e6c('0x27')](function(){return _0x2855b6;});}else{return _0x2855b6;}})[_0x0e6c('0x4b')](function(_0x27be64){logger[_0x0e6c('0x2c')](_0x0e6c('0x53'),_0x27be64);throw _0x27be64;});}return _0x2855b6;})['then'](respondWithResult(_0x310df8,0xc9))[_0x0e6c('0x4b')](handleError(_0x310df8,null));};exports[_0x0e6c('0x26')]=function(_0x44b7fb,_0x4e9279){if(_0x44b7fb[_0x0e6c('0x4d')]['id']){delete _0x44b7fb[_0x0e6c('0x4d')]['id'];}return db['SmsQueue'][_0x0e6c('0x4a')]({'where':{'id':_0x44b7fb[_0x0e6c('0x54')]['id']}})['then'](handleEntityNotFound(_0x4e9279,null))[_0x0e6c('0x27')](saveUpdates(_0x44b7fb[_0x0e6c('0x4d')],null))[_0x0e6c('0x27')](respondWithResult(_0x4e9279,null))[_0x0e6c('0x4b')](handleError(_0x4e9279,null));};exports[_0x0e6c('0x28')]=function(_0x1d3b7a,_0x1db873){return db['SmsQueue'][_0x0e6c('0x4a')]({'where':{'id':_0x1d3b7a[_0x0e6c('0x54')]['id']}})[_0x0e6c('0x27')](handleEntityNotFound(_0x1db873,null))[_0x0e6c('0x27')](removeEntity(_0x1db873,null))['catch'](handleError(_0x1db873,null));};exports['describe']=function(_0xfdd06b,_0xfb6abf){return db[_0x0e6c('0x32')][_0x0e6c('0x55')]()['then'](respondWithResult(_0xfb6abf,null))[_0x0e6c('0x4b')](handleError(_0xfb6abf,null));};exports[_0x0e6c('0x56')]=function(_0x4d411a,_0x10ad3e,_0x4f2dd1){var _0x122ceb={'raw':!![],'where':{}},_0x14284b={},_0x5a7bd5;return db[_0x0e6c('0x32')][_0x0e6c('0x57')]({'where':{'id':_0x4d411a[_0x0e6c('0x54')]['id']}})[_0x0e6c('0x27')](handleEntityNotFound(_0x10ad3e,null))['then'](function(_0x19ae17){if(_0x19ae17){_0x5a7bd5=_0x19ae17['get']({'plain':!![]});_0x14284b[_0x0e6c('0x3a')]=_[_0x0e6c('0x36')](db[_0x0e6c('0x58')][_0x0e6c('0x33')]);_0x14284b[_0x0e6c('0x37')]=_[_0x0e6c('0x36')](_0x4d411a[_0x0e6c('0x37')]);_0x14284b[_0x0e6c('0x38')]=_[_0x0e6c('0x39')](_0x14284b['model'],_0x14284b[_0x0e6c('0x37')]);_0x122ceb['attributes']=_[_0x0e6c('0x39')](_0x14284b[_0x0e6c('0x3a')],qs[_0x0e6c('0x3b')](_0x4d411a[_0x0e6c('0x37')]['fields']));_0x122ceb['attributes']=_0x122ceb['attributes'][_0x0e6c('0x3d')]?_0x122ceb[_0x0e6c('0x3c')]:_0x14284b[_0x0e6c('0x3a')];if(!_0x4d411a['query'][_0x0e6c('0x3e')](_0x0e6c('0x59'))){_0x122ceb['limit']=qs[_0x0e6c('0x1f')](_0x4d411a['query'][_0x0e6c('0x1f')]);_0x122ceb[_0x0e6c('0x1d')]=qs['offset'](_0x4d411a['query'][_0x0e6c('0x1d')]);}_0x122ceb['order']=qs[_0x0e6c('0x3f')](_0x4d411a[_0x0e6c('0x37')][_0x0e6c('0x3f')]);_0x122ceb[_0x0e6c('0x40')]=qs[_0x0e6c('0x38')](_[_0x0e6c('0x41')](_0x4d411a['query'],_0x14284b[_0x0e6c('0x38')]));_0x122ceb['where'][_0x0e6c('0x5a')]=_0x19ae17['id'];if(_0x4d411a['query'][_0x0e6c('0x42')]){_0x122ceb[_0x0e6c('0x40')]=_[_0x0e6c('0x43')](_0x122ceb[_0x0e6c('0x40')],{'$or':_[_0x0e6c('0x31')](_0x122ceb['attributes'],function(_0x280dea){var _0xdd71ee={};_0xdd71ee[_0x280dea]={'$like':'%'+_0x4d411a['query'][_0x0e6c('0x42')]+'%'};return _0xdd71ee;})});}_0x122ceb=_[_0x0e6c('0x43')]({},_0x122ceb,_0x4d411a[_0x0e6c('0x5b')]);return db[_0x0e6c('0x58')][_0x0e6c('0x47')](_0x122ceb);}})[_0x0e6c('0x27')](function(_0xd980a6){if(_0xd980a6){return db['User']['findAndCountAll']({'where':{'id':_['map'](_0xd980a6,_0x0e6c('0x5c')),'role':_0x0e6c('0x5d')},'attributes':['id',_0x0e6c('0x2e'),'smsPause',_0x0e6c('0x5e'),'createdAt']});}})['then'](function(_0x11d034){if(_0x11d034){return{'count':_0x11d034[_0x0e6c('0x20')],'rows':_['map'](_0x11d034[_0x0e6c('0x48')],function(_0x36d64b){return{'membername':_0x36d64b[_0x0e6c('0x2e')],'UserId':_0x36d64b['id'],'queue_name':_0x5a7bd5[_0x0e6c('0x2e')],'SmsQueueId':_0x5a7bd5['id'],'interface':util['format'](_0x0e6c('0x5f'),_0x0e6c('0x60'),_0x36d64b[_0x0e6c('0x2e')]),'penalty':0x0,'paused':_0x36d64b[_0x0e6c('0x61')],'createdAt':_0x36d64b[_0x0e6c('0x62')],'updatedAt':_0x36d64b['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x0e6c('0x27')](respondWithFilteredResult(_0x10ad3e,_0x122ceb))[_0x0e6c('0x4b')](handleError(_0x10ad3e,null));};exports[_0x0e6c('0x63')]=function(_0x4f0588,_0x39df20,_0x271ffb){var _0x115cbe={};var _0x3f8122={};var _0x111a9d;var _0x2a7dab;return db[_0x0e6c('0x32')][_0x0e6c('0x57')]({'where':{'id':_0x4f0588[_0x0e6c('0x54')]['id']}})[_0x0e6c('0x27')](handleEntityNotFound(_0x39df20,null))[_0x0e6c('0x27')](function(_0x377e89){if(_0x377e89){_0x111a9d=_0x377e89;_0x3f8122['model']=_[_0x0e6c('0x36')](db['Team'][_0x0e6c('0x33')]);_0x3f8122[_0x0e6c('0x37')]=_['keys'](_0x4f0588['query']);_0x3f8122[_0x0e6c('0x38')]=_[_0x0e6c('0x39')](_0x3f8122[_0x0e6c('0x3a')],_0x3f8122[_0x0e6c('0x37')]);_0x115cbe[_0x0e6c('0x3c')]=_[_0x0e6c('0x39')](_0x3f8122['model'],qs[_0x0e6c('0x3b')](_0x4f0588[_0x0e6c('0x37')]['fields']));_0x115cbe[_0x0e6c('0x3c')]=_0x115cbe['attributes'][_0x0e6c('0x3d')]?_0x115cbe[_0x0e6c('0x3c')]:_0x3f8122['model'];_0x115cbe[_0x0e6c('0x64')]=qs[_0x0e6c('0x3f')](_0x4f0588['query'][_0x0e6c('0x3f')]);_0x115cbe['where']=qs['filters'](_['pick'](_0x4f0588[_0x0e6c('0x37')],_0x3f8122[_0x0e6c('0x38')]));if(_0x4f0588[_0x0e6c('0x37')][_0x0e6c('0x42')]){_0x115cbe[_0x0e6c('0x40')]=_[_0x0e6c('0x43')](_0x115cbe[_0x0e6c('0x40')],{'$or':_[_0x0e6c('0x31')](_0x115cbe['attributes'],function(_0x535ded){var _0x47d753={};_0x47d753[_0x535ded]={'$like':'%'+_0x4f0588['query'][_0x0e6c('0x42')]+'%'};return _0x47d753;})});}_0x115cbe=_[_0x0e6c('0x43')]({},_0x115cbe,_0x4f0588[_0x0e6c('0x5b')]);return _0x111a9d[_0x0e6c('0x63')](_0x115cbe);}})['then'](function(_0x4a2892){if(_0x4a2892){_0x2a7dab=_0x4a2892[_0x0e6c('0x3d')];if(!_0x4f0588[_0x0e6c('0x37')][_0x0e6c('0x3e')](_0x0e6c('0x59'))){_0x115cbe[_0x0e6c('0x1f')]=qs[_0x0e6c('0x1f')](_0x4f0588[_0x0e6c('0x37')][_0x0e6c('0x1f')]);_0x115cbe[_0x0e6c('0x1d')]=qs[_0x0e6c('0x1d')](_0x4f0588['query'][_0x0e6c('0x1d')]);}return _0x111a9d['getTeams'](_0x115cbe);}})[_0x0e6c('0x27')](function(_0x1f2afc){if(_0x1f2afc){return _0x1f2afc?{'count':_0x2a7dab,'rows':_0x1f2afc}:null;}})['then'](respondWithResult(_0x39df20,null))[_0x0e6c('0x4b')](handleError(_0x39df20,null));};exports['addTeams']=function(_0x40e2cf,_0x4cbeab,_0x1a3535){var _0x2f4fe7=_0x40e2cf['body'][_0x0e6c('0x65')];return db[_0x0e6c('0x66')]['findAll']({'where':{'id':_0x2f4fe7},'attributes':['id'],'include':[{'model':db[_0x0e6c('0x67')],'as':'Agents','attributes':['id',_0x0e6c('0x2e'),'online',_0x0e6c('0x68'),'interface'],'raw':!![]}]})[_0x0e6c('0x27')](function(_0x4ff9e1){if(_0x4ff9e1){var _0x540c3c=_[_0x0e6c('0x69')](_0x4ff9e1,function(_0x1c42a5){var _0x30e43=_0x1c42a5['get']({'plain':!![]});return _0x30e43[_0x0e6c('0x6a')];});return db[_0x0e6c('0x32')][_0x0e6c('0x4a')]({'where':{'id':_0x40e2cf[_0x0e6c('0x54')]['id']}})['then'](function(_0x4e3e97){return db['sequelize']['transaction'](function(_0x4b5483){return _0x4e3e97['addTeams'](_0x2f4fe7,{'transaction':_0x4b5483})[_0x0e6c('0x27')](function(){return BPromise[_0x0e6c('0x6b')](_0x540c3c,function(_0x2b3f3e){return db['UserSmsQueue'][_0x0e6c('0x6c')]({'where':{'UserId':_0x2b3f3e['id'],'SmsQueueId':_0x40e2cf[_0x0e6c('0x54')]['id']},'transaction':_0x4b5483});});})['then'](function(){_0x540c3c['forEach'](function(_0x3364e3){socket[_0x0e6c('0x6d')](_0x0e6c('0x6e'),{'UserId':_0x3364e3['id'],'SmsQueueId':_0x4e3e97['id']});});});});});}})[_0x0e6c('0x27')](respondWithStatusCode(_0x4cbeab,null))[_0x0e6c('0x4b')](handleError(_0x4cbeab,null));};exports[_0x0e6c('0x6f')]=function(_0x3c2842,_0x218593,_0x4ed6b5){return db[_0x0e6c('0x66')][_0x0e6c('0x47')]({'where':{'id':_0x3c2842[_0x0e6c('0x37')][_0x0e6c('0x65')]},'attributes':['id'],'include':[{'model':db[_0x0e6c('0x67')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x218593,null))[_0x0e6c('0x27')](function(_0x5282f4){var _0x161bfd=_[_0x0e6c('0x31')](_0x5282f4,'id');var _0x717e1c=[];var _0x517335=[];var _0x38abb2=squel[_0x0e6c('0x70')]();_0x38abb2[_0x0e6c('0x71')](_0x0e6c('0x72'))[_0x0e6c('0x73')](_0x0e6c('0x74'),'tq')['join'](_0x0e6c('0x75'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x0e6c('0x40')](_0x0e6c('0x76'),_0x3c2842[_0x0e6c('0x54')]['id']);for(var _0x681f53=0x0;_0x681f53<_0x5282f4[_0x0e6c('0x3d')];_0x681f53+=0x1){let _0xadfda1=_0x5282f4[_0x681f53];for(var _0x161074=0x0;_0x161074<_0xadfda1[_0x0e6c('0x6a')][_0x0e6c('0x3d')];_0x161074+=0x1){let _0x3d247f=_0xadfda1['Agents'][_0x161074];var _0x249d2f=_0x38abb2[_0x0e6c('0x77')]();_0x249d2f[_0x0e6c('0x40')](_0x0e6c('0x78'),_0x3d247f['id']);_0x517335[_0x0e6c('0x79')](db[_0x0e6c('0x7a')][_0x0e6c('0x37')](_0x249d2f[_0x0e6c('0x7b')](),{'type':db[_0x0e6c('0x7a')][_0x0e6c('0x7c')][_0x0e6c('0x7d')]})[_0x0e6c('0x27')](function(_0x530d93){if(_0x530d93[_0x0e6c('0x3d')]===0x1){return _0x3d247f['id'];}else{var _0x2d7f11=_['every'](_[_0x0e6c('0x31')](_0x530d93,'TeamId'),function(_0x2e9264){return _['includes'](_0x161bfd,_0x2e9264);});if(_0x2d7f11){return _0x3d247f['id'];}}}));}}return BPromise[_0x0e6c('0x7e')](_0x517335)[_0x0e6c('0x27')](function(_0x500680){_0x717e1c=_(_0x717e1c)[_0x0e6c('0x7f')](_0x500680)[_0x0e6c('0x80')]()[_0x0e6c('0x81')]();return db[_0x0e6c('0x32')][_0x0e6c('0x4a')]({'where':{'id':_0x3c2842[_0x0e6c('0x54')]['id']}})[_0x0e6c('0x27')](function(_0x42dabf){return db['sequelize'][_0x0e6c('0x82')](function(_0x4d1b1d){return _0x42dabf[_0x0e6c('0x6f')](_0x3c2842[_0x0e6c('0x37')][_0x0e6c('0x65')],{'transaction':_0x4d1b1d})[_0x0e6c('0x27')](function(){if(!_['isEmpty'](_0x717e1c)){return _0x42dabf[_0x0e6c('0x83')](_0x717e1c,{'transaction':_0x4d1b1d});}})[_0x0e6c('0x27')](function(){_0x717e1c[_0x0e6c('0x84')](function(_0x4c1e52){socket[_0x0e6c('0x6d')](_0x0e6c('0x85'),{'UserId':_0x4c1e52,'SmsQueueId':_0x42dabf['id']});});});});});});})['then'](respondWithStatusCode(_0x218593,null))[_0x0e6c('0x4b')](handleError(_0x218593,null));};exports['addAgents']=function(_0x3d3361,_0x1303b4,_0x2a76d5){return db[_0x0e6c('0x32')][_0x0e6c('0x4a')]({'where':{'id':_0x3d3361[_0x0e6c('0x54')]['id']}})[_0x0e6c('0x27')](handleEntityNotFound(_0x1303b4,null))[_0x0e6c('0x27')](function(_0x8d523c){if(_0x8d523c){return _0x8d523c[_0x0e6c('0x86')](_0x3d3361[_0x0e6c('0x4d')]['ids'],_[_0x0e6c('0x87')](_0x3d3361[_0x0e6c('0x4d')],[_0x0e6c('0x65'),'id'])||{})['spread'](function(_0x5c6295){for(var _0x219357=0x0;_0x219357<_0x3d3361[_0x0e6c('0x4d')][_0x0e6c('0x65')][_0x0e6c('0x3d')];_0x219357+=0x1){socket['emit'](_0x0e6c('0x6e'),{'UserId':Number(_0x3d3361[_0x0e6c('0x4d')][_0x0e6c('0x65')][_0x219357]),'SmsQueueId':Number(_0x3d3361['params']['id'])});}return _0x5c6295;});}})[_0x0e6c('0x27')](respondWithResult(_0x1303b4,null))[_0x0e6c('0x4b')](handleError(_0x1303b4,null));};exports[_0x0e6c('0x83')]=function(_0x519606,_0x3bdc75,_0x3799cb){return db[_0x0e6c('0x32')]['find']({'where':{'id':_0x519606[_0x0e6c('0x54')]['id']}})[_0x0e6c('0x27')](handleEntityNotFound(_0x3bdc75,null))['then'](function(_0x337919){if(_0x337919){return _0x337919['removeAgents'](_0x519606[_0x0e6c('0x37')][_0x0e6c('0x65')])[_0x0e6c('0x27')](function(){if(_[_0x0e6c('0x88')](_0x519606['query'][_0x0e6c('0x65')])){for(var _0x590519=0x0;_0x590519<_0x519606[_0x0e6c('0x37')][_0x0e6c('0x65')][_0x0e6c('0x3d')];_0x590519+=0x1){socket[_0x0e6c('0x6d')](_0x0e6c('0x85'),{'UserId':Number(_0x519606[_0x0e6c('0x37')][_0x0e6c('0x65')][_0x590519]),'SmsQueueId':Number(_0x519606[_0x0e6c('0x54')]['id'])});}}else{socket[_0x0e6c('0x6d')](_0x0e6c('0x85'),{'UserId':Number(_0x519606['query']['ids']),'SmsQueueId':Number(_0x519606['params']['id'])});}});}})[_0x0e6c('0x27')](respondWithStatusCode(_0x3bdc75,null))[_0x0e6c('0x4b')](handleError(_0x3bdc75,null));};exports[_0x0e6c('0x89')]=function(_0x5223cd,_0x153741,_0x276269){var _0x321309={};var _0x45f8f8={};var _0x1d8397;var _0x21fef9;return db[_0x0e6c('0x32')][_0x0e6c('0x57')]({'where':{'id':_0x5223cd[_0x0e6c('0x54')]['id']}})[_0x0e6c('0x27')](handleEntityNotFound(_0x153741,null))['then'](function(_0x435984){if(_0x435984){_0x1d8397=_0x435984;_0x45f8f8[_0x0e6c('0x3a')]=_['keys'](db[_0x0e6c('0x67')][_0x0e6c('0x33')]);_0x45f8f8['query']=_[_0x0e6c('0x36')](_0x5223cd[_0x0e6c('0x37')]);_0x45f8f8[_0x0e6c('0x38')]=_[_0x0e6c('0x39')](_0x45f8f8[_0x0e6c('0x3a')],_0x45f8f8[_0x0e6c('0x37')]);_0x321309[_0x0e6c('0x3c')]=_[_0x0e6c('0x39')](_0x45f8f8[_0x0e6c('0x3a')],qs[_0x0e6c('0x3b')](_0x5223cd[_0x0e6c('0x37')][_0x0e6c('0x3b')]));_0x321309[_0x0e6c('0x3c')]=_0x321309[_0x0e6c('0x3c')][_0x0e6c('0x3d')]?_0x321309[_0x0e6c('0x3c')]:_0x45f8f8[_0x0e6c('0x3a')];_0x321309[_0x0e6c('0x64')]=qs['sort'](_0x5223cd['query'][_0x0e6c('0x3f')]);_0x321309['where']=qs[_0x0e6c('0x38')](_['pick'](_0x5223cd[_0x0e6c('0x37')],_0x45f8f8[_0x0e6c('0x38')]));if(_0x5223cd[_0x0e6c('0x37')][_0x0e6c('0x42')]){_0x321309['where']=_[_0x0e6c('0x43')](_0x321309[_0x0e6c('0x40')],{'$or':_['map'](_0x321309['attributes'],function(_0x141b1f){var _0x326606={};_0x326606[_0x141b1f]={'$like':'%'+_0x5223cd[_0x0e6c('0x37')][_0x0e6c('0x42')]+'%'};return _0x326606;})});}_0x321309=_[_0x0e6c('0x43')]({},_0x321309,_0x5223cd[_0x0e6c('0x5b')]);return _0x1d8397[_0x0e6c('0x89')](_0x321309);}})['then'](function(_0x2c970a){if(_0x2c970a){_0x21fef9=_0x2c970a[_0x0e6c('0x3d')];if(!_0x5223cd[_0x0e6c('0x37')][_0x0e6c('0x3e')](_0x0e6c('0x59'))){_0x321309[_0x0e6c('0x1f')]=qs[_0x0e6c('0x1f')](_0x5223cd[_0x0e6c('0x37')][_0x0e6c('0x1f')]);_0x321309[_0x0e6c('0x1d')]=qs['offset'](_0x5223cd[_0x0e6c('0x37')][_0x0e6c('0x1d')]);}return _0x1d8397[_0x0e6c('0x89')](_0x321309);}})[_0x0e6c('0x27')](function(_0x168815){if(_0x168815){return _0x168815?{'count':_0x21fef9,'rows':_0x168815}:null;}})[_0x0e6c('0x27')](respondWithResult(_0x153741,null))[_0x0e6c('0x4b')](handleError(_0x153741,null));};