Built motion from commit 9e1399f3.|2.5.37
[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 _0xe16d=['rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./smsQueue.socket','register','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','reject','save','update','then','destroy','get','SmsQueues','UserProfileResource','error','stack','name','map','SmsQueue','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','order','sort','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','body','describe','getMembers','hasOwnProperty','nolimit','pick','UserSmsQueue','User','findAndCountAll','UserId','agent','updatedAt','createdAt','format','SIP','smsPause','getTeams','findOne','ids','Team','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','removeTeams','select','field','tq.TeamId','from','team_has_sms_queues','join','user_has_teams','SmsQueueId\x20=\x20?','push','toString','QueryTypes','TeamId','includes','all','union','compact','value','isEmpty','userSmsQueue:remove','addAgents','spread','userSmsQueue:save','removeAgents','isArray','getAgents','eml-format'];(function(_0x59f574,_0x1b7f46){var _0x111a20=function(_0x3faa19){while(--_0x3faa19){_0x59f574['push'](_0x59f574['shift']());}};_0x111a20(++_0x1b7f46);}(_0xe16d,0x11d));var _0xde16=function(_0xde9c67,_0x4e3853){_0xde9c67=_0xde9c67-0x0;var _0x59cc42=_0xe16d[_0xde9c67];return _0x59cc42;};'use strict';var emlformat=require(_0xde16('0x0'));var rimraf=require(_0xde16('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xde16('0x2'));var rp=require(_0xde16('0x3'));var moment=require(_0xde16('0x4'));var BPromise=require(_0xde16('0x5'));var Mustache=require(_0xde16('0x6'));var util=require(_0xde16('0x7'));var path=require(_0xde16('0x8'));var sox=require(_0xde16('0x9'));var csv=require('to-csv');var ejs=require(_0xde16('0xa'));var fs=require('fs');var fs_extra=require(_0xde16('0xb'));var _=require(_0xde16('0xc'));var squel=require(_0xde16('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xde16('0xe'));var toCsv=require(_0xde16('0xf'));var querystring=require(_0xde16('0x10'));var Papa=require(_0xde16('0x11'));var Redis=require(_0xde16('0x12'));var authService=require(_0xde16('0x13'));var qs=require(_0xde16('0x14'));var as=require(_0xde16('0x15'));var hardwareService=require(_0xde16('0x16'));var logger=require('../../config/logger')(_0xde16('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xde16('0x18'));var db=require(_0xde16('0x19'))['db'];config['redis']=_[_0xde16('0x1a')](config[_0xde16('0x1b')],{'host':_0xde16('0x1c'),'port':0x18eb});var socket=require(_0xde16('0x1d'))(new Redis(config['redis']));require(_0xde16('0x1e'))[_0xde16('0x1f')](socket);function respondWithStatusCode(_0x303f61,_0x385bb0){_0x385bb0=_0x385bb0||0xcc;return function(_0x51f2e8){if(_0x51f2e8){return _0x303f61[_0xde16('0x20')](_0x385bb0);}return _0x303f61[_0xde16('0x21')](_0x385bb0)[_0xde16('0x22')]();};}function respondWithResult(_0x36f90e,_0x3b0606){_0x3b0606=_0x3b0606||0xc8;return function(_0x4b7185){if(_0x4b7185){return _0x36f90e[_0xde16('0x21')](_0x3b0606)[_0xde16('0x23')](_0x4b7185);}};}function respondWithFilteredResult(_0x36cdac,_0x5de770){return function(_0x3d0474){if(_0x3d0474){var _0x54de2f=typeof _0x5de770[_0xde16('0x24')]==='undefined'&&typeof _0x5de770[_0xde16('0x25')]===_0xde16('0x26');var _0x4162f4=_0x3d0474[_0xde16('0x27')];var _0x57814b=_0x54de2f?0x0:_0x5de770[_0xde16('0x24')];var _0x1b10f5=_0x54de2f?_0x3d0474[_0xde16('0x27')]:_0x5de770[_0xde16('0x24')]+_0x5de770['limit'];var _0x3afcbc;if(_0x1b10f5>=_0x4162f4){_0x1b10f5=_0x4162f4;_0x3afcbc=0xc8;}else{_0x3afcbc=0xce;}_0x36cdac['status'](_0x3afcbc);return _0x36cdac[_0xde16('0x28')](_0xde16('0x29'),_0x57814b+'-'+_0x1b10f5+'/'+_0x4162f4)[_0xde16('0x23')](_0x3d0474);}return null;};}function patchUpdates(_0x486cda){return function(_0x1ffb8c){try{jsonpatch['apply'](_0x1ffb8c,_0x486cda,!![]);}catch(_0x221663){return BPromise[_0xde16('0x2a')](_0x221663);}return _0x1ffb8c[_0xde16('0x2b')]();};}function saveUpdates(_0x36e261,_0x4e3170){return function(_0x39c6c7){if(_0x39c6c7){return _0x39c6c7[_0xde16('0x2c')](_0x36e261)[_0xde16('0x2d')](function(_0x11aac2){return _0x11aac2;});}return null;};}function removeEntity(_0x129691,_0x271567){return function(_0x4592de){if(_0x4592de){return _0x4592de[_0xde16('0x2e')]()[_0xde16('0x2d')](function(){var _0x31bf89=_0x4592de[_0xde16('0x2f')]({'plain':!![]});var _0xd5bd5e=_0xde16('0x30');return db[_0xde16('0x31')]['destroy']({'where':{'type':_0xd5bd5e,'resourceId':_0x31bf89['id']}})['then'](function(){return _0x4592de;});})[_0xde16('0x2d')](function(){_0x129691['status'](0xcc)[_0xde16('0x22')]();});}};}function handleEntityNotFound(_0x491ab2,_0x3c9af7){return function(_0x387ac0){if(!_0x387ac0){_0x491ab2[_0xde16('0x20')](0x194);}return _0x387ac0;};}function handleError(_0x3cfd1d,_0x3a16bc){_0x3a16bc=_0x3a16bc||0x1f4;return function(_0x491642){logger[_0xde16('0x32')](_0x491642[_0xde16('0x33')]);if(_0x491642[_0xde16('0x34')]){delete _0x491642[_0xde16('0x34')];}_0x3cfd1d[_0xde16('0x21')](_0x3a16bc)['send'](_0x491642);};}exports['index']=function(_0x5f33e4,_0x58d7d5){var _0x38e9d7={},_0x260f5e={},_0x113f52={'count':0x0,'rows':[]};var _0x481d70=_[_0xde16('0x35')](db[_0xde16('0x36')][_0xde16('0x37')],function(_0x239dca){return{'name':_0x239dca[_0xde16('0x38')],'type':_0x239dca['type'][_0xde16('0x39')]};});_0x260f5e[_0xde16('0x3a')]=_[_0xde16('0x35')](_0x481d70,'name');_0x260f5e[_0xde16('0x3b')]=_[_0xde16('0x3c')](_0x5f33e4[_0xde16('0x3b')]);_0x260f5e[_0xde16('0x3d')]=_['intersection'](_0x260f5e['model'],_0x260f5e['query']);_0x38e9d7[_0xde16('0x3e')]=_[_0xde16('0x3f')](_0x260f5e['model'],qs['fields'](_0x5f33e4[_0xde16('0x3b')][_0xde16('0x40')]));_0x38e9d7[_0xde16('0x3e')]=_0x38e9d7[_0xde16('0x3e')][_0xde16('0x41')]?_0x38e9d7[_0xde16('0x3e')]:_0x260f5e[_0xde16('0x3a')];if(!_0x5f33e4['query']['hasOwnProperty']('nolimit')){_0x38e9d7[_0xde16('0x25')]=qs[_0xde16('0x25')](_0x5f33e4['query']['limit']);_0x38e9d7['offset']=qs[_0xde16('0x24')](_0x5f33e4[_0xde16('0x3b')][_0xde16('0x24')]);}_0x38e9d7[_0xde16('0x42')]=qs[_0xde16('0x43')](_0x5f33e4[_0xde16('0x3b')][_0xde16('0x43')]);_0x38e9d7['where']=qs[_0xde16('0x3d')](_['pick'](_0x5f33e4[_0xde16('0x3b')],_0x260f5e[_0xde16('0x3d')]),_0x481d70);if(_0x5f33e4[_0xde16('0x3b')][_0xde16('0x44')]){_0x38e9d7[_0xde16('0x45')]=_[_0xde16('0x46')](_0x38e9d7[_0xde16('0x45')],{'$or':_[_0xde16('0x35')](_0x481d70,function(_0x1af9cc){if(_0x1af9cc['type']!==_0xde16('0x47')){var _0x537192={};_0x537192[_0x1af9cc['name']]={'$like':'%'+_0x5f33e4[_0xde16('0x3b')]['filter']+'%'};return _0x537192;}})});}_0x38e9d7=_['merge']({},_0x38e9d7,_0x5f33e4[_0xde16('0x48')]);var _0x55f644={'where':_0x38e9d7[_0xde16('0x45')]};return db['SmsQueue'][_0xde16('0x27')](_0x55f644)[_0xde16('0x2d')](function(_0x3110b5){_0x113f52[_0xde16('0x27')]=_0x3110b5;if(_0x5f33e4['query'][_0xde16('0x49')]){_0x38e9d7['include']=[{'all':!![]}];}return db['SmsQueue'][_0xde16('0x4a')](_0x38e9d7);})[_0xde16('0x2d')](function(_0x3a124e){_0x113f52[_0xde16('0x4b')]=_0x3a124e;return _0x113f52;})[_0xde16('0x2d')](respondWithFilteredResult(_0x58d7d5,_0x38e9d7))[_0xde16('0x4c')](handleError(_0x58d7d5,null));};exports['show']=function(_0x4801bd,_0x39a909){var _0xadf87d={'raw':!![],'where':{'id':_0x4801bd[_0xde16('0x4d')]['id']}},_0x590ea9={};_0x590ea9[_0xde16('0x3a')]=_[_0xde16('0x3c')](db[_0xde16('0x36')]['rawAttributes']);_0x590ea9[_0xde16('0x3b')]=_[_0xde16('0x3c')](_0x4801bd[_0xde16('0x3b')]);_0x590ea9['filters']=_[_0xde16('0x3f')](_0x590ea9[_0xde16('0x3a')],_0x590ea9[_0xde16('0x3b')]);_0xadf87d[_0xde16('0x3e')]=_[_0xde16('0x3f')](_0x590ea9[_0xde16('0x3a')],qs[_0xde16('0x40')](_0x4801bd[_0xde16('0x3b')]['fields']));_0xadf87d[_0xde16('0x3e')]=_0xadf87d[_0xde16('0x3e')][_0xde16('0x41')]?_0xadf87d[_0xde16('0x3e')]:_0x590ea9[_0xde16('0x3a')];if(_0x4801bd[_0xde16('0x3b')]['includeAll']){_0xadf87d['include']=[{'all':!![]}];}_0xadf87d=_[_0xde16('0x46')]({},_0xadf87d,_0x4801bd[_0xde16('0x48')]);return db[_0xde16('0x36')][_0xde16('0x4e')](_0xadf87d)['then'](handleEntityNotFound(_0x39a909,null))[_0xde16('0x2d')](respondWithResult(_0x39a909,null))[_0xde16('0x4c')](handleError(_0x39a909,null));};exports[_0xde16('0x4f')]=function(_0x2318f2,_0x542562){return db[_0xde16('0x36')][_0xde16('0x4f')](_0x2318f2['body'],{})[_0xde16('0x2d')](function(_0x2fc577){var _0x550349=_0x2318f2[_0xde16('0x50')]['get']({'plain':!![]});if(!_0x550349)throw new Error(_0xde16('0x51'));if(_0x550349[_0xde16('0x52')]===_0xde16('0x50')){var _0xad02e5=_0x2fc577['get']({'plain':!![]});var _0x19b79b=_0xde16('0x30');return db[_0xde16('0x53')][_0xde16('0x4e')]({'where':{'name':_0x19b79b,'userProfileId':_0x550349[_0xde16('0x54')]},'raw':!![]})[_0xde16('0x2d')](function(_0x275ca9){if(_0x275ca9&&_0x275ca9[_0xde16('0x55')]===0x0){return db['UserProfileResource'][_0xde16('0x4f')]({'name':_0xad02e5[_0xde16('0x34')],'resourceId':_0xad02e5['id'],'type':_0x275ca9[_0xde16('0x34')],'sectionId':_0x275ca9['id']},{})[_0xde16('0x2d')](function(){return _0x2fc577;});}else{return _0x2fc577;}})[_0xde16('0x4c')](function(_0x39fb54){logger[_0xde16('0x32')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x39fb54);throw _0x39fb54;});}return _0x2fc577;})[_0xde16('0x2d')](respondWithResult(_0x542562,0xc9))['catch'](handleError(_0x542562,null));};exports[_0xde16('0x2c')]=function(_0x574bd0,_0x4a32b3){if(_0x574bd0[_0xde16('0x56')]['id']){delete _0x574bd0[_0xde16('0x56')]['id'];}return db[_0xde16('0x36')][_0xde16('0x4e')]({'where':{'id':_0x574bd0['params']['id']}})['then'](handleEntityNotFound(_0x4a32b3,null))['then'](saveUpdates(_0x574bd0['body'],null))[_0xde16('0x2d')](respondWithResult(_0x4a32b3,null))[_0xde16('0x4c')](handleError(_0x4a32b3,null));};exports['destroy']=function(_0x4052fa,_0x2d30c6){return db[_0xde16('0x36')][_0xde16('0x4e')]({'where':{'id':_0x4052fa[_0xde16('0x4d')]['id']}})[_0xde16('0x2d')](handleEntityNotFound(_0x2d30c6,null))[_0xde16('0x2d')](removeEntity(_0x2d30c6,null))[_0xde16('0x4c')](handleError(_0x2d30c6,null));};exports[_0xde16('0x57')]=function(_0x460c5c,_0x5b8b05){return db['SmsQueue'][_0xde16('0x57')]()[_0xde16('0x2d')](respondWithResult(_0x5b8b05,null))[_0xde16('0x4c')](handleError(_0x5b8b05,null));};exports[_0xde16('0x58')]=function(_0x19b1a9,_0x2e06c7,_0x1cdae4){var _0x259bd3={'raw':!![],'where':{}},_0x2885a4={},_0x2887f9;return db[_0xde16('0x36')]['findOne']({'where':{'id':_0x19b1a9[_0xde16('0x4d')]['id']}})['then'](handleEntityNotFound(_0x2e06c7,null))[_0xde16('0x2d')](function(_0x3a3eaa){if(_0x3a3eaa){_0x2887f9=_0x3a3eaa[_0xde16('0x2f')]({'plain':!![]});_0x2885a4[_0xde16('0x3a')]=_[_0xde16('0x3c')](db['UserSmsQueue'][_0xde16('0x37')]);_0x2885a4[_0xde16('0x3b')]=_[_0xde16('0x3c')](_0x19b1a9[_0xde16('0x3b')]);_0x2885a4[_0xde16('0x3d')]=_['intersection'](_0x2885a4[_0xde16('0x3a')],_0x2885a4[_0xde16('0x3b')]);_0x259bd3[_0xde16('0x3e')]=_[_0xde16('0x3f')](_0x2885a4[_0xde16('0x3a')],qs['fields'](_0x19b1a9[_0xde16('0x3b')]['fields']));_0x259bd3['attributes']=_0x259bd3[_0xde16('0x3e')][_0xde16('0x41')]?_0x259bd3[_0xde16('0x3e')]:_0x2885a4[_0xde16('0x3a')];if(!_0x19b1a9['query'][_0xde16('0x59')](_0xde16('0x5a'))){_0x259bd3[_0xde16('0x25')]=qs[_0xde16('0x25')](_0x19b1a9['query'][_0xde16('0x25')]);_0x259bd3[_0xde16('0x24')]=qs['offset'](_0x19b1a9[_0xde16('0x3b')][_0xde16('0x24')]);}_0x259bd3[_0xde16('0x42')]=qs['sort'](_0x19b1a9['query'][_0xde16('0x43')]);_0x259bd3[_0xde16('0x45')]=qs['filters'](_[_0xde16('0x5b')](_0x19b1a9['query'],_0x2885a4[_0xde16('0x3d')]));_0x259bd3[_0xde16('0x45')]['SmsQueueId']=_0x3a3eaa['id'];if(_0x19b1a9[_0xde16('0x3b')][_0xde16('0x44')]){_0x259bd3[_0xde16('0x45')]=_['merge'](_0x259bd3[_0xde16('0x45')],{'$or':_[_0xde16('0x35')](_0x259bd3[_0xde16('0x3e')],function(_0x65543e){var _0x477dcb={};_0x477dcb[_0x65543e]={'$like':'%'+_0x19b1a9[_0xde16('0x3b')][_0xde16('0x44')]+'%'};return _0x477dcb;})});}_0x259bd3=_[_0xde16('0x46')]({},_0x259bd3,_0x19b1a9[_0xde16('0x48')]);return db[_0xde16('0x5c')][_0xde16('0x4a')](_0x259bd3);}})[_0xde16('0x2d')](function(_0x374d3b){if(_0x374d3b){return db[_0xde16('0x5d')][_0xde16('0x5e')]({'where':{'id':_[_0xde16('0x35')](_0x374d3b,_0xde16('0x5f')),'role':_0xde16('0x60')},'attributes':['id',_0xde16('0x34'),'smsPause',_0xde16('0x61'),_0xde16('0x62')]});}})[_0xde16('0x2d')](function(_0x40d0fa){if(_0x40d0fa){return{'count':_0x40d0fa[_0xde16('0x27')],'rows':_[_0xde16('0x35')](_0x40d0fa[_0xde16('0x4b')],function(_0x99d5c6){return{'membername':_0x99d5c6['name'],'UserId':_0x99d5c6['id'],'queue_name':_0x2887f9[_0xde16('0x34')],'SmsQueueId':_0x2887f9['id'],'interface':util[_0xde16('0x63')]('%s/%s',_0xde16('0x64'),_0x99d5c6[_0xde16('0x34')]),'penalty':0x0,'paused':_0x99d5c6[_0xde16('0x65')],'createdAt':_0x99d5c6[_0xde16('0x62')],'updatedAt':_0x99d5c6[_0xde16('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x2e06c7,_0x259bd3))['catch'](handleError(_0x2e06c7,null));};exports[_0xde16('0x66')]=function(_0x40e875,_0x4b2611,_0x3d27f5){var _0x43a446={};var _0x5bd58c={};var _0x3e3368;var _0x5dca2b;return db['SmsQueue'][_0xde16('0x67')]({'where':{'id':_0x40e875[_0xde16('0x4d')]['id']}})[_0xde16('0x2d')](handleEntityNotFound(_0x4b2611,null))[_0xde16('0x2d')](function(_0x1d3a23){if(_0x1d3a23){_0x3e3368=_0x1d3a23;_0x5bd58c[_0xde16('0x3a')]=_[_0xde16('0x3c')](db['Team'][_0xde16('0x37')]);_0x5bd58c['query']=_['keys'](_0x40e875['query']);_0x5bd58c[_0xde16('0x3d')]=_['intersection'](_0x5bd58c['model'],_0x5bd58c['query']);_0x43a446[_0xde16('0x3e')]=_[_0xde16('0x3f')](_0x5bd58c[_0xde16('0x3a')],qs['fields'](_0x40e875[_0xde16('0x3b')][_0xde16('0x40')]));_0x43a446[_0xde16('0x3e')]=_0x43a446['attributes'][_0xde16('0x41')]?_0x43a446[_0xde16('0x3e')]:_0x5bd58c[_0xde16('0x3a')];_0x43a446[_0xde16('0x42')]=qs[_0xde16('0x43')](_0x40e875[_0xde16('0x3b')]['sort']);_0x43a446[_0xde16('0x45')]=qs[_0xde16('0x3d')](_[_0xde16('0x5b')](_0x40e875[_0xde16('0x3b')],_0x5bd58c[_0xde16('0x3d')]));if(_0x40e875['query']['filter']){_0x43a446[_0xde16('0x45')]=_[_0xde16('0x46')](_0x43a446[_0xde16('0x45')],{'$or':_[_0xde16('0x35')](_0x43a446[_0xde16('0x3e')],function(_0x277121){var _0x280fe4={};_0x280fe4[_0x277121]={'$like':'%'+_0x40e875[_0xde16('0x3b')][_0xde16('0x44')]+'%'};return _0x280fe4;})});}_0x43a446=_[_0xde16('0x46')]({},_0x43a446,_0x40e875[_0xde16('0x48')]);return _0x3e3368['getTeams'](_0x43a446);}})['then'](function(_0x1497a5){if(_0x1497a5){_0x5dca2b=_0x1497a5[_0xde16('0x41')];if(!_0x40e875['query'][_0xde16('0x59')](_0xde16('0x5a'))){_0x43a446[_0xde16('0x25')]=qs[_0xde16('0x25')](_0x40e875[_0xde16('0x3b')][_0xde16('0x25')]);_0x43a446[_0xde16('0x24')]=qs['offset'](_0x40e875[_0xde16('0x3b')]['offset']);}return _0x3e3368[_0xde16('0x66')](_0x43a446);}})[_0xde16('0x2d')](function(_0x3dc355){if(_0x3dc355){return _0x3dc355?{'count':_0x5dca2b,'rows':_0x3dc355}:null;}})[_0xde16('0x2d')](respondWithResult(_0x4b2611,null))[_0xde16('0x4c')](handleError(_0x4b2611,null));};exports['addTeams']=function(_0x27221c,_0x548d47,_0x43fc0e){var _0x37415f=_0x27221c[_0xde16('0x56')][_0xde16('0x68')];return db[_0xde16('0x69')][_0xde16('0x4a')]({'where':{'id':_0x37415f},'attributes':['id'],'include':[{'model':db[_0xde16('0x5d')],'as':_0xde16('0x6a'),'attributes':['id',_0xde16('0x34'),_0xde16('0x6b'),_0xde16('0x6c'),_0xde16('0x6d')],'raw':!![]}]})[_0xde16('0x2d')](function(_0x44524b){if(_0x44524b){var _0x72a916=_[_0xde16('0x6e')](_0x44524b,function(_0x4bc586){var _0x1ff144=_0x4bc586[_0xde16('0x2f')]({'plain':!![]});return _0x1ff144['Agents'];});return db[_0xde16('0x36')][_0xde16('0x4e')]({'where':{'id':_0x27221c[_0xde16('0x4d')]['id']}})['then'](function(_0x31c0bc){return db[_0xde16('0x6f')][_0xde16('0x70')](function(_0x1c75eb){return _0x31c0bc['addTeams'](_0x37415f,{'transaction':_0x1c75eb})[_0xde16('0x2d')](function(){return BPromise[_0xde16('0x71')](_0x72a916,function(_0x13accd){return db[_0xde16('0x5c')][_0xde16('0x72')]({'where':{'UserId':_0x13accd['id'],'SmsQueueId':_0x27221c[_0xde16('0x4d')]['id']},'transaction':_0x1c75eb});});})[_0xde16('0x2d')](function(){_0x72a916[_0xde16('0x73')](function(_0x371ebf){socket[_0xde16('0x74')]('userSmsQueue:save',{'UserId':_0x371ebf['id'],'SmsQueueId':_0x31c0bc['id']});});});});});}})[_0xde16('0x2d')](respondWithStatusCode(_0x548d47,null))[_0xde16('0x4c')](handleError(_0x548d47,null));};exports[_0xde16('0x75')]=function(_0x6f1ce6,_0x2ee9d2,_0x28ff92){return db[_0xde16('0x69')]['findAll']({'where':{'id':_0x6f1ce6[_0xde16('0x3b')][_0xde16('0x68')]},'attributes':['id'],'include':[{'model':db[_0xde16('0x5d')],'as':_0xde16('0x6a'),'attributes':['id'],'raw':!![]}]})[_0xde16('0x2d')](handleEntityNotFound(_0x2ee9d2,null))['then'](function(_0x4f9b08){var _0x1635e1=_[_0xde16('0x35')](_0x4f9b08,'id');var _0x559aa3=[];var _0x3144e1=[];var _0x4eb91c=squel[_0xde16('0x76')]();_0x4eb91c[_0xde16('0x77')](_0xde16('0x78'))[_0xde16('0x79')](_0xde16('0x7a'),'tq')[_0xde16('0x7b')](_0xde16('0x7c'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xde16('0x45')](_0xde16('0x7d'),_0x6f1ce6[_0xde16('0x4d')]['id']);for(var _0x373580=0x0;_0x373580<_0x4f9b08[_0xde16('0x41')];_0x373580+=0x1){let _0x5b63b0=_0x4f9b08[_0x373580];for(var _0x20deec=0x0;_0x20deec<_0x5b63b0[_0xde16('0x6a')][_0xde16('0x41')];_0x20deec+=0x1){let _0x3be878=_0x5b63b0['Agents'][_0x20deec];var _0xe3b745=_0x4eb91c['clone']();_0xe3b745[_0xde16('0x45')]('ut.UserId\x20=\x20?',_0x3be878['id']);_0x3144e1[_0xde16('0x7e')](db[_0xde16('0x6f')][_0xde16('0x3b')](_0xe3b745[_0xde16('0x7f')](),{'type':db[_0xde16('0x6f')][_0xde16('0x80')]['SELECT']})[_0xde16('0x2d')](function(_0xf23e3a){if(_0xf23e3a[_0xde16('0x41')]===0x1){return _0x3be878['id'];}else{var _0x935c87=_['every'](_[_0xde16('0x35')](_0xf23e3a,_0xde16('0x81')),function(_0x409da2){return _[_0xde16('0x82')](_0x1635e1,_0x409da2);});if(_0x935c87){return _0x3be878['id'];}}}));}}return BPromise[_0xde16('0x83')](_0x3144e1)[_0xde16('0x2d')](function(_0x1dbfd1){_0x559aa3=_(_0x559aa3)[_0xde16('0x84')](_0x1dbfd1)[_0xde16('0x85')]()[_0xde16('0x86')]();return db['SmsQueue'][_0xde16('0x4e')]({'where':{'id':_0x6f1ce6[_0xde16('0x4d')]['id']}})['then'](function(_0x2c0d8c){return db['sequelize'][_0xde16('0x70')](function(_0x457918){return _0x2c0d8c[_0xde16('0x75')](_0x6f1ce6[_0xde16('0x3b')][_0xde16('0x68')],{'transaction':_0x457918})[_0xde16('0x2d')](function(){if(!_[_0xde16('0x87')](_0x559aa3)){return _0x2c0d8c['removeAgents'](_0x559aa3,{'transaction':_0x457918});}})['then'](function(){_0x559aa3[_0xde16('0x73')](function(_0x188376){socket[_0xde16('0x74')](_0xde16('0x88'),{'UserId':_0x188376,'SmsQueueId':_0x2c0d8c['id']});});});});});});})[_0xde16('0x2d')](respondWithStatusCode(_0x2ee9d2,null))[_0xde16('0x4c')](handleError(_0x2ee9d2,null));};exports[_0xde16('0x89')]=function(_0x140f2c,_0x195a03,_0x5a45e9){return db[_0xde16('0x36')][_0xde16('0x4e')]({'where':{'id':_0x140f2c[_0xde16('0x4d')]['id']}})[_0xde16('0x2d')](handleEntityNotFound(_0x195a03,null))[_0xde16('0x2d')](function(_0x315b2d){if(_0x315b2d){return _0x315b2d[_0xde16('0x89')](_0x140f2c[_0xde16('0x56')]['ids'],_['omit'](_0x140f2c[_0xde16('0x56')],['ids','id'])||{})[_0xde16('0x8a')](function(_0x15e9a1){for(var _0x21a1ae=0x0;_0x21a1ae<_0x140f2c['body'][_0xde16('0x68')][_0xde16('0x41')];_0x21a1ae+=0x1){socket[_0xde16('0x74')](_0xde16('0x8b'),{'UserId':Number(_0x140f2c[_0xde16('0x56')][_0xde16('0x68')][_0x21a1ae]),'SmsQueueId':Number(_0x140f2c[_0xde16('0x4d')]['id'])});}return _0x15e9a1;});}})[_0xde16('0x2d')](respondWithResult(_0x195a03,null))[_0xde16('0x4c')](handleError(_0x195a03,null));};exports[_0xde16('0x8c')]=function(_0x36fb7d,_0x3fe92c,_0x248b0a){return db[_0xde16('0x36')][_0xde16('0x4e')]({'where':{'id':_0x36fb7d[_0xde16('0x4d')]['id']}})['then'](handleEntityNotFound(_0x3fe92c,null))[_0xde16('0x2d')](function(_0x1853f2){if(_0x1853f2){return _0x1853f2[_0xde16('0x8c')](_0x36fb7d[_0xde16('0x3b')]['ids'])[_0xde16('0x2d')](function(){if(_[_0xde16('0x8d')](_0x36fb7d[_0xde16('0x3b')]['ids'])){for(var _0x599dfe=0x0;_0x599dfe<_0x36fb7d[_0xde16('0x3b')][_0xde16('0x68')][_0xde16('0x41')];_0x599dfe+=0x1){socket[_0xde16('0x74')]('userSmsQueue:remove',{'UserId':Number(_0x36fb7d[_0xde16('0x3b')]['ids'][_0x599dfe]),'SmsQueueId':Number(_0x36fb7d['params']['id'])});}}else{socket[_0xde16('0x74')](_0xde16('0x88'),{'UserId':Number(_0x36fb7d[_0xde16('0x3b')][_0xde16('0x68')]),'SmsQueueId':Number(_0x36fb7d['params']['id'])});}});}})[_0xde16('0x2d')](respondWithStatusCode(_0x3fe92c,null))['catch'](handleError(_0x3fe92c,null));};exports[_0xde16('0x8e')]=function(_0x2091c0,_0x599789,_0x255b87){var _0x42cce6={};var _0xc977c8={};var _0x42cddb;var _0x47591e;return db[_0xde16('0x36')][_0xde16('0x67')]({'where':{'id':_0x2091c0[_0xde16('0x4d')]['id']}})[_0xde16('0x2d')](handleEntityNotFound(_0x599789,null))[_0xde16('0x2d')](function(_0x30d0fb){if(_0x30d0fb){_0x42cddb=_0x30d0fb;_0xc977c8[_0xde16('0x3a')]=_[_0xde16('0x3c')](db[_0xde16('0x5d')]['rawAttributes']);_0xc977c8['query']=_[_0xde16('0x3c')](_0x2091c0[_0xde16('0x3b')]);_0xc977c8[_0xde16('0x3d')]=_[_0xde16('0x3f')](_0xc977c8['model'],_0xc977c8['query']);_0x42cce6[_0xde16('0x3e')]=_[_0xde16('0x3f')](_0xc977c8['model'],qs[_0xde16('0x40')](_0x2091c0[_0xde16('0x3b')][_0xde16('0x40')]));_0x42cce6[_0xde16('0x3e')]=_0x42cce6[_0xde16('0x3e')][_0xde16('0x41')]?_0x42cce6['attributes']:_0xc977c8[_0xde16('0x3a')];_0x42cce6[_0xde16('0x42')]=qs[_0xde16('0x43')](_0x2091c0['query'][_0xde16('0x43')]);_0x42cce6[_0xde16('0x45')]=qs[_0xde16('0x3d')](_[_0xde16('0x5b')](_0x2091c0[_0xde16('0x3b')],_0xc977c8['filters']));if(_0x2091c0[_0xde16('0x3b')][_0xde16('0x44')]){_0x42cce6[_0xde16('0x45')]=_[_0xde16('0x46')](_0x42cce6['where'],{'$or':_['map'](_0x42cce6['attributes'],function(_0x3dc3f0){var _0x23ca9d={};_0x23ca9d[_0x3dc3f0]={'$like':'%'+_0x2091c0['query'][_0xde16('0x44')]+'%'};return _0x23ca9d;})});}_0x42cce6=_[_0xde16('0x46')]({},_0x42cce6,_0x2091c0['options']);return _0x42cddb[_0xde16('0x8e')](_0x42cce6);}})[_0xde16('0x2d')](function(_0xbf7658){if(_0xbf7658){_0x47591e=_0xbf7658[_0xde16('0x41')];if(!_0x2091c0[_0xde16('0x3b')]['hasOwnProperty'](_0xde16('0x5a'))){_0x42cce6[_0xde16('0x25')]=qs[_0xde16('0x25')](_0x2091c0[_0xde16('0x3b')][_0xde16('0x25')]);_0x42cce6[_0xde16('0x24')]=qs[_0xde16('0x24')](_0x2091c0[_0xde16('0x3b')][_0xde16('0x24')]);}return _0x42cddb[_0xde16('0x8e')](_0x42cce6);}})[_0xde16('0x2d')](function(_0x436be9){if(_0x436be9){return _0x436be9?{'count':_0x47591e,'rows':_0x436be9}:null;}})['then'](respondWithResult(_0x599789,null))[_0xde16('0x4c')](handleError(_0x599789,null));};