2e69c8dce3464e7f4143e91c98f4a28a8d534d19
[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 _0xafa8=['includes','all','union','compact','value','isEmpty','removeAgents','forEach','userSmsQueue:remove','addAgents','spread','isArray','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','ejs','squel','crypto','jsforce','desk.js','to-csv','../../components/parsers/qs','../../config/license/util','../../mysqldb','redis','defaults','./smsQueue.socket','register','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','save','destroy','SmsQueues','UserProfileResource','then','stack','name','send','index','map','SmsQueue','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','findOne','UserSmsQueue','SmsQueueId','User','findAndCountAll','UserId','agent','smsPause','createdAt','%s/%s','getTeams','addTeams','ids','Team','Agents','voicePause','interface','flatMap','sequelize','transaction','findOrCreate','emit','userSmsQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_sms_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ut.UserId\x20=\x20?','QueryTypes','TeamId'];(function(_0xd158dc,_0x128608){var _0x12d25f=function(_0x2e9d2b){while(--_0x2e9d2b){_0xd158dc['push'](_0xd158dc['shift']());}};_0x12d25f(++_0x128608);}(_0xafa8,0x93));var _0x8afa=function(_0x6d6a66,_0x2924af){_0x6d6a66=_0x6d6a66-0x0;var _0x11eb6e=_0xafa8[_0x6d6a66];return _0x11eb6e;};'use strict';var emlformat=require(_0x8afa('0x0'));var rimraf=require(_0x8afa('0x1'));var zipdir=require(_0x8afa('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8afa('0x3'));var moment=require(_0x8afa('0x4'));var BPromise=require(_0x8afa('0x5'));var Mustache=require(_0x8afa('0x6'));var util=require(_0x8afa('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x8afa('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8afa('0x9'));var crypto=require(_0x8afa('0xa'));var jsforce=require(_0x8afa('0xb'));var deskjs=require(_0x8afa('0xc'));var toCsv=require(_0x8afa('0xd'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8afa('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x8afa('0xf'));var db=require(_0x8afa('0x10'))['db'];config[_0x8afa('0x11')]=_[_0x8afa('0x12')](config[_0x8afa('0x11')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x8afa('0x13'))[_0x8afa('0x14')](socket);function respondWithStatusCode(_0x2d817a,_0x2f9534){_0x2f9534=_0x2f9534||0xcc;return function(_0x21db57){if(_0x21db57){return _0x2d817a[_0x8afa('0x15')](_0x2f9534);}return _0x2d817a[_0x8afa('0x16')](_0x2f9534)[_0x8afa('0x17')]();};}function respondWithResult(_0x5e7d39,_0x3e2ea9){_0x3e2ea9=_0x3e2ea9||0xc8;return function(_0x2c8c4c){if(_0x2c8c4c){return _0x5e7d39['status'](_0x3e2ea9)[_0x8afa('0x18')](_0x2c8c4c);}};}function respondWithFilteredResult(_0x10771b,_0x5e0620){return function(_0x455f2e){if(_0x455f2e){var _0x40b75b=_0x455f2e['count'],_0x3df3a3=_0x5e0620[_0x8afa('0x19')],_0x505b06=_0x5e0620[_0x8afa('0x19')]+_0x5e0620[_0x8afa('0x1a')],_0x1d08e3;if(_0x505b06>=_0x40b75b){_0x505b06=_0x40b75b;_0x1d08e3=0xc8;}else{_0x1d08e3=0xce;}_0x10771b[_0x8afa('0x16')](_0x1d08e3);return _0x10771b[_0x8afa('0x1b')](_0x8afa('0x1c'),_0x3df3a3+'-'+_0x505b06+'/'+_0x40b75b)[_0x8afa('0x18')](_0x455f2e);}return null;};}function patchUpdates(_0xd2b67){return function(_0x28df87){try{jsonpatch[_0x8afa('0x1d')](_0x28df87,_0xd2b67,!![]);}catch(_0x48ba46){return BPromise['reject'](_0x48ba46);}return _0x28df87[_0x8afa('0x1e')]();};}function saveUpdates(_0x215c55,_0x2ddb58){return function(_0x96daf0){if(_0x96daf0){return _0x96daf0['update'](_0x215c55)['then'](function(_0xf08d81){return _0xf08d81;});}return null;};}function removeEntity(_0xdb0b8a,_0x108174){return function(_0x369df3){if(_0x369df3){return _0x369df3[_0x8afa('0x1f')]()['then'](function(){var _0x543cde=_0x369df3['get']({'plain':!![]});var _0x3efa7f=_0x8afa('0x20');return db[_0x8afa('0x21')][_0x8afa('0x1f')]({'where':{'type':_0x3efa7f,'resourceId':_0x543cde['id']}})['then'](function(){return _0x369df3;});})[_0x8afa('0x22')](function(){_0xdb0b8a[_0x8afa('0x16')](0xcc)[_0x8afa('0x17')]();});}};}function handleEntityNotFound(_0x1b3864,_0x41f766){return function(_0x425a44){if(!_0x425a44){_0x1b3864[_0x8afa('0x15')](0x194);}return _0x425a44;};}function handleError(_0x154173,_0x2f0cc9){_0x2f0cc9=_0x2f0cc9||0x1f4;return function(_0x19887a){logger['error'](_0x19887a[_0x8afa('0x23')]);if(_0x19887a[_0x8afa('0x24')]){delete _0x19887a[_0x8afa('0x24')];}_0x154173[_0x8afa('0x16')](_0x2f0cc9)[_0x8afa('0x25')](_0x19887a);};}exports[_0x8afa('0x26')]=function(_0xf83a15,_0x362f54){var _0x36cf0a={},_0x15929e={},_0x5970cd={'count':0x0,'rows':[]};var _0x326bc2=_[_0x8afa('0x27')](db[_0x8afa('0x28')][_0x8afa('0x29')],function(_0x15e39a){return{'name':_0x15e39a[_0x8afa('0x2a')],'type':_0x15e39a[_0x8afa('0x2b')][_0x8afa('0x2c')]};});_0x15929e[_0x8afa('0x2d')]=_[_0x8afa('0x27')](_0x326bc2,_0x8afa('0x24'));_0x15929e[_0x8afa('0x2e')]=_['keys'](_0xf83a15['query']);_0x15929e['filters']=_[_0x8afa('0x2f')](_0x15929e[_0x8afa('0x2d')],_0x15929e[_0x8afa('0x2e')]);_0x36cf0a[_0x8afa('0x30')]=_[_0x8afa('0x2f')](_0x15929e['model'],qs[_0x8afa('0x31')](_0xf83a15[_0x8afa('0x2e')][_0x8afa('0x31')]));_0x36cf0a[_0x8afa('0x30')]=_0x36cf0a[_0x8afa('0x30')][_0x8afa('0x32')]?_0x36cf0a['attributes']:_0x15929e['model'];if(!_0xf83a15[_0x8afa('0x2e')][_0x8afa('0x33')](_0x8afa('0x34'))){_0x36cf0a[_0x8afa('0x1a')]=qs[_0x8afa('0x1a')](_0xf83a15[_0x8afa('0x2e')][_0x8afa('0x1a')]);_0x36cf0a[_0x8afa('0x19')]=qs[_0x8afa('0x19')](_0xf83a15[_0x8afa('0x2e')][_0x8afa('0x19')]);}_0x36cf0a[_0x8afa('0x35')]=qs[_0x8afa('0x36')](_0xf83a15[_0x8afa('0x2e')][_0x8afa('0x36')]);_0x36cf0a[_0x8afa('0x37')]=qs[_0x8afa('0x38')](_[_0x8afa('0x39')](_0xf83a15['query'],_0x15929e[_0x8afa('0x38')]),_0x326bc2);if(_0xf83a15[_0x8afa('0x2e')][_0x8afa('0x3a')]){_0x36cf0a[_0x8afa('0x37')]=_[_0x8afa('0x3b')](_0x36cf0a[_0x8afa('0x37')],{'$or':_[_0x8afa('0x27')](_0x326bc2,function(_0x3ba60f){if(_0x3ba60f[_0x8afa('0x2b')]!==_0x8afa('0x3c')){var _0x45009a={};_0x45009a[_0x3ba60f[_0x8afa('0x24')]]={'$like':'%'+_0xf83a15[_0x8afa('0x2e')]['filter']+'%'};return _0x45009a;}})});}_0x36cf0a=_[_0x8afa('0x3b')]({},_0x36cf0a,_0xf83a15[_0x8afa('0x3d')]);var _0x194c4c={'where':_0x36cf0a['where']};return db[_0x8afa('0x28')][_0x8afa('0x3e')](_0x194c4c)[_0x8afa('0x22')](function(_0x7a5362){_0x5970cd['count']=_0x7a5362;if(_0xf83a15['query'][_0x8afa('0x3f')]){_0x36cf0a[_0x8afa('0x40')]=[{'all':!![]}];}return db['SmsQueue'][_0x8afa('0x41')](_0x36cf0a);})[_0x8afa('0x22')](function(_0x428872){_0x5970cd[_0x8afa('0x42')]=_0x428872;return _0x5970cd;})[_0x8afa('0x22')](respondWithFilteredResult(_0x362f54,_0x36cf0a))[_0x8afa('0x43')](handleError(_0x362f54,null));};exports[_0x8afa('0x44')]=function(_0x170204,_0x5b720d){var _0x844d14={'raw':!![],'where':{'id':_0x170204[_0x8afa('0x45')]['id']}},_0x38e52c={};_0x38e52c[_0x8afa('0x2d')]=_[_0x8afa('0x46')](db[_0x8afa('0x28')][_0x8afa('0x29')]);_0x38e52c[_0x8afa('0x2e')]=_[_0x8afa('0x46')](_0x170204['query']);_0x38e52c['filters']=_[_0x8afa('0x2f')](_0x38e52c['model'],_0x38e52c[_0x8afa('0x2e')]);_0x844d14[_0x8afa('0x30')]=_[_0x8afa('0x2f')](_0x38e52c['model'],qs[_0x8afa('0x31')](_0x170204['query'][_0x8afa('0x31')]));_0x844d14[_0x8afa('0x30')]=_0x844d14[_0x8afa('0x30')][_0x8afa('0x32')]?_0x844d14['attributes']:_0x38e52c[_0x8afa('0x2d')];if(_0x170204[_0x8afa('0x2e')]['includeAll']){_0x844d14[_0x8afa('0x40')]=[{'all':!![]}];}_0x844d14=_[_0x8afa('0x3b')]({},_0x844d14,_0x170204[_0x8afa('0x3d')]);return db['SmsQueue'][_0x8afa('0x47')](_0x844d14)[_0x8afa('0x22')](handleEntityNotFound(_0x5b720d,null))[_0x8afa('0x22')](respondWithResult(_0x5b720d,null))[_0x8afa('0x43')](handleError(_0x5b720d,null));};exports[_0x8afa('0x48')]=function(_0x173794,_0x1bfd7f){return db[_0x8afa('0x28')][_0x8afa('0x48')](_0x173794[_0x8afa('0x49')],{})[_0x8afa('0x22')](function(_0x48e34e){var _0x33ff28=_0x173794[_0x8afa('0x4a')][_0x8afa('0x4b')]({'plain':!![]});if(!_0x33ff28)throw new Error(_0x8afa('0x4c'));if(_0x33ff28[_0x8afa('0x4d')]===_0x8afa('0x4a')){var _0x11315c=_0x48e34e[_0x8afa('0x4b')]({'plain':!![]});var _0x45fbac=_0x8afa('0x20');return db[_0x8afa('0x4e')]['find']({'where':{'name':_0x45fbac,'userProfileId':_0x33ff28[_0x8afa('0x4f')]},'raw':!![]})[_0x8afa('0x22')](function(_0x43aef0){if(_0x43aef0&&_0x43aef0[_0x8afa('0x50')]===0x0){return db[_0x8afa('0x21')]['create']({'name':_0x11315c[_0x8afa('0x24')],'resourceId':_0x11315c['id'],'type':_0x43aef0['name'],'sectionId':_0x43aef0['id']},{})[_0x8afa('0x22')](function(){return _0x48e34e;});}else{return _0x48e34e;}})[_0x8afa('0x43')](function(_0x4d6f64){logger[_0x8afa('0x51')](_0x8afa('0x52'),_0x4d6f64);throw _0x4d6f64;});}return _0x48e34e;})[_0x8afa('0x22')](respondWithResult(_0x1bfd7f,0xc9))[_0x8afa('0x43')](handleError(_0x1bfd7f,null));};exports[_0x8afa('0x53')]=function(_0x300adb,_0x52da2a){if(_0x300adb['body']['id']){delete _0x300adb[_0x8afa('0x49')]['id'];}return db['SmsQueue'][_0x8afa('0x47')]({'where':{'id':_0x300adb[_0x8afa('0x45')]['id']}})[_0x8afa('0x22')](handleEntityNotFound(_0x52da2a,null))['then'](saveUpdates(_0x300adb[_0x8afa('0x49')],null))[_0x8afa('0x22')](respondWithResult(_0x52da2a,null))['catch'](handleError(_0x52da2a,null));};exports[_0x8afa('0x1f')]=function(_0x21ae97,_0x33bf20){return db[_0x8afa('0x28')][_0x8afa('0x47')]({'where':{'id':_0x21ae97[_0x8afa('0x45')]['id']}})[_0x8afa('0x22')](handleEntityNotFound(_0x33bf20,null))['then'](removeEntity(_0x33bf20,null))['catch'](handleError(_0x33bf20,null));};exports[_0x8afa('0x54')]=function(_0x29719e,_0x1d192a){return db[_0x8afa('0x28')][_0x8afa('0x54')]()[_0x8afa('0x22')](respondWithResult(_0x1d192a,null))[_0x8afa('0x43')](handleError(_0x1d192a,null));};exports[_0x8afa('0x55')]=function(_0x4670bc,_0x7c0b45,_0x537ad8){var _0x527c3e={'raw':!![],'where':{}},_0x38f192={},_0x372718;return db['SmsQueue'][_0x8afa('0x56')]({'where':{'id':_0x4670bc['params']['id']}})[_0x8afa('0x22')](handleEntityNotFound(_0x7c0b45,null))[_0x8afa('0x22')](function(_0x3e1593){if(_0x3e1593){_0x372718=_0x3e1593[_0x8afa('0x4b')]({'plain':!![]});_0x38f192[_0x8afa('0x2d')]=_['keys'](db[_0x8afa('0x57')][_0x8afa('0x29')]);_0x38f192[_0x8afa('0x2e')]=_['keys'](_0x4670bc[_0x8afa('0x2e')]);_0x38f192[_0x8afa('0x38')]=_[_0x8afa('0x2f')](_0x38f192[_0x8afa('0x2d')],_0x38f192['query']);_0x527c3e[_0x8afa('0x30')]=_['intersection'](_0x38f192[_0x8afa('0x2d')],qs[_0x8afa('0x31')](_0x4670bc[_0x8afa('0x2e')]['fields']));_0x527c3e[_0x8afa('0x30')]=_0x527c3e[_0x8afa('0x30')][_0x8afa('0x32')]?_0x527c3e[_0x8afa('0x30')]:_0x38f192[_0x8afa('0x2d')];if(!_0x4670bc[_0x8afa('0x2e')][_0x8afa('0x33')](_0x8afa('0x34'))){_0x527c3e[_0x8afa('0x1a')]=qs[_0x8afa('0x1a')](_0x4670bc[_0x8afa('0x2e')][_0x8afa('0x1a')]);_0x527c3e[_0x8afa('0x19')]=qs[_0x8afa('0x19')](_0x4670bc[_0x8afa('0x2e')][_0x8afa('0x19')]);}_0x527c3e['order']=qs[_0x8afa('0x36')](_0x4670bc[_0x8afa('0x2e')][_0x8afa('0x36')]);_0x527c3e[_0x8afa('0x37')]=qs[_0x8afa('0x38')](_[_0x8afa('0x39')](_0x4670bc[_0x8afa('0x2e')],_0x38f192[_0x8afa('0x38')]));_0x527c3e['where'][_0x8afa('0x58')]=_0x3e1593['id'];if(_0x4670bc[_0x8afa('0x2e')][_0x8afa('0x3a')]){_0x527c3e['where']=_[_0x8afa('0x3b')](_0x527c3e[_0x8afa('0x37')],{'$or':_[_0x8afa('0x27')](_0x527c3e[_0x8afa('0x30')],function(_0x5e995e){var _0x5f5c34={};_0x5f5c34[_0x5e995e]={'$like':'%'+_0x4670bc[_0x8afa('0x2e')][_0x8afa('0x3a')]+'%'};return _0x5f5c34;})});}_0x527c3e=_[_0x8afa('0x3b')]({},_0x527c3e,_0x4670bc[_0x8afa('0x3d')]);return db[_0x8afa('0x57')][_0x8afa('0x41')](_0x527c3e);}})[_0x8afa('0x22')](function(_0x32e54c){if(_0x32e54c){return db[_0x8afa('0x59')][_0x8afa('0x5a')]({'where':{'id':_[_0x8afa('0x27')](_0x32e54c,_0x8afa('0x5b')),'role':_0x8afa('0x5c')},'attributes':['id','name',_0x8afa('0x5d'),'updatedAt',_0x8afa('0x5e')]});}})['then'](function(_0x49265f){if(_0x49265f){return{'count':_0x49265f[_0x8afa('0x3e')],'rows':_[_0x8afa('0x27')](_0x49265f[_0x8afa('0x42')],function(_0x130c4c){return{'membername':_0x130c4c[_0x8afa('0x24')],'UserId':_0x130c4c['id'],'queue_name':_0x372718[_0x8afa('0x24')],'SmsQueueId':_0x372718['id'],'interface':util['format'](_0x8afa('0x5f'),'SIP',_0x130c4c[_0x8afa('0x24')]),'penalty':0x0,'paused':_0x130c4c[_0x8afa('0x5d')],'createdAt':_0x130c4c[_0x8afa('0x5e')],'updatedAt':_0x130c4c['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x8afa('0x22')](respondWithFilteredResult(_0x7c0b45,_0x527c3e))['catch'](handleError(_0x7c0b45,null));};exports[_0x8afa('0x60')]=function(_0x358f36,_0x2727be,_0x3bfd17){var _0x4cea03={};var _0x15b5f8={};var _0x1506f0;var _0x7bf00;return db['SmsQueue'][_0x8afa('0x56')]({'where':{'id':_0x358f36[_0x8afa('0x45')]['id']}})['then'](handleEntityNotFound(_0x2727be,null))[_0x8afa('0x22')](function(_0x303347){if(_0x303347){_0x1506f0=_0x303347;_0x15b5f8[_0x8afa('0x2d')]=_['keys'](db['Team'][_0x8afa('0x29')]);_0x15b5f8[_0x8afa('0x2e')]=_[_0x8afa('0x46')](_0x358f36[_0x8afa('0x2e')]);_0x15b5f8[_0x8afa('0x38')]=_['intersection'](_0x15b5f8[_0x8afa('0x2d')],_0x15b5f8[_0x8afa('0x2e')]);_0x4cea03['attributes']=_[_0x8afa('0x2f')](_0x15b5f8[_0x8afa('0x2d')],qs['fields'](_0x358f36['query']['fields']));_0x4cea03[_0x8afa('0x30')]=_0x4cea03['attributes'][_0x8afa('0x32')]?_0x4cea03[_0x8afa('0x30')]:_0x15b5f8['model'];_0x4cea03[_0x8afa('0x35')]=qs[_0x8afa('0x36')](_0x358f36[_0x8afa('0x2e')][_0x8afa('0x36')]);_0x4cea03[_0x8afa('0x37')]=qs[_0x8afa('0x38')](_[_0x8afa('0x39')](_0x358f36[_0x8afa('0x2e')],_0x15b5f8[_0x8afa('0x38')]));if(_0x358f36[_0x8afa('0x2e')][_0x8afa('0x3a')]){_0x4cea03[_0x8afa('0x37')]=_[_0x8afa('0x3b')](_0x4cea03[_0x8afa('0x37')],{'$or':_[_0x8afa('0x27')](_0x4cea03[_0x8afa('0x30')],function(_0x3773dd){var _0x250320={};_0x250320[_0x3773dd]={'$like':'%'+_0x358f36['query']['filter']+'%'};return _0x250320;})});}_0x4cea03=_['merge']({},_0x4cea03,_0x358f36['options']);return _0x1506f0[_0x8afa('0x60')](_0x4cea03);}})['then'](function(_0x4d0196){if(_0x4d0196){_0x7bf00=_0x4d0196[_0x8afa('0x32')];if(!_0x358f36[_0x8afa('0x2e')][_0x8afa('0x33')]('nolimit')){_0x4cea03[_0x8afa('0x1a')]=qs[_0x8afa('0x1a')](_0x358f36[_0x8afa('0x2e')]['limit']);_0x4cea03[_0x8afa('0x19')]=qs[_0x8afa('0x19')](_0x358f36[_0x8afa('0x2e')][_0x8afa('0x19')]);}return _0x1506f0[_0x8afa('0x60')](_0x4cea03);}})[_0x8afa('0x22')](function(_0x5dff8f){if(_0x5dff8f){return _0x5dff8f?{'count':_0x7bf00,'rows':_0x5dff8f}:null;}})[_0x8afa('0x22')](respondWithResult(_0x2727be,null))[_0x8afa('0x43')](handleError(_0x2727be,null));};exports[_0x8afa('0x61')]=function(_0x19c557,_0x1aa7c2,_0x5622c7){var _0x105fbe=_0x19c557[_0x8afa('0x49')][_0x8afa('0x62')];return db[_0x8afa('0x63')]['findAll']({'where':{'id':_0x105fbe},'attributes':['id'],'include':[{'model':db[_0x8afa('0x59')],'as':_0x8afa('0x64'),'attributes':['id','name','online',_0x8afa('0x65'),_0x8afa('0x66')],'raw':!![]}]})[_0x8afa('0x22')](function(_0x491e18){if(_0x491e18){var _0x2697ea=_[_0x8afa('0x67')](_0x491e18,function(_0x22828a){var _0x33279f=_0x22828a[_0x8afa('0x4b')]({'plain':!![]});return _0x33279f['Agents'];});return db[_0x8afa('0x28')][_0x8afa('0x47')]({'where':{'id':_0x19c557[_0x8afa('0x45')]['id']}})[_0x8afa('0x22')](function(_0x178c5a){return db[_0x8afa('0x68')][_0x8afa('0x69')](function(_0x26bf9e){return _0x178c5a[_0x8afa('0x61')](_0x105fbe,{'transaction':_0x26bf9e})['then'](function(){return BPromise['each'](_0x2697ea,function(_0x28c616){return db['UserSmsQueue'][_0x8afa('0x6a')]({'where':{'UserId':_0x28c616['id'],'SmsQueueId':_0x19c557[_0x8afa('0x45')]['id']},'transaction':_0x26bf9e});});})[_0x8afa('0x22')](function(){_0x2697ea['forEach'](function(_0x3205ef){socket[_0x8afa('0x6b')](_0x8afa('0x6c'),{'UserId':_0x3205ef['id'],'SmsQueueId':_0x178c5a['id']});});});});});}})[_0x8afa('0x22')](respondWithStatusCode(_0x1aa7c2,null))['catch'](handleError(_0x1aa7c2,null));};exports[_0x8afa('0x6d')]=function(_0x1ff47d,_0x5d7fa9,_0x18d890){return db[_0x8afa('0x63')]['findAll']({'where':{'id':_0x1ff47d[_0x8afa('0x2e')][_0x8afa('0x62')]},'attributes':['id'],'include':[{'model':db[_0x8afa('0x59')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x5d7fa9,null))[_0x8afa('0x22')](function(_0x2f9efb){var _0x4acffd=_[_0x8afa('0x27')](_0x2f9efb,'id');var _0x4e5d12=[];var _0x489124=[];var _0xdc31b=squel[_0x8afa('0x6e')]();_0xdc31b[_0x8afa('0x6f')](_0x8afa('0x70'))[_0x8afa('0x71')](_0x8afa('0x72'),'tq')[_0x8afa('0x73')](_0x8afa('0x74'),'ut',_0x8afa('0x75'))['where']('SmsQueueId\x20=\x20?',_0x1ff47d[_0x8afa('0x45')]['id']);for(var _0x329b00=0x0;_0x329b00<_0x2f9efb['length'];_0x329b00+=0x1){let _0x5f3076=_0x2f9efb[_0x329b00];for(var _0x29776e=0x0;_0x29776e<_0x5f3076['Agents'][_0x8afa('0x32')];_0x29776e+=0x1){let _0x3d92a5=_0x5f3076[_0x8afa('0x64')][_0x29776e];var _0x521d48=_0xdc31b['clone']();_0x521d48[_0x8afa('0x37')](_0x8afa('0x76'),_0x3d92a5['id']);_0x489124['push'](db[_0x8afa('0x68')][_0x8afa('0x2e')](_0x521d48['toString'](),{'type':db[_0x8afa('0x68')][_0x8afa('0x77')]['SELECT']})['then'](function(_0x3835b7){if(_0x3835b7[_0x8afa('0x32')]===0x1){return _0x3d92a5['id'];}else{var _0x345b7e=_['every'](_[_0x8afa('0x27')](_0x3835b7,_0x8afa('0x78')),function(_0x2da53b){return _[_0x8afa('0x79')](_0x4acffd,_0x2da53b);});if(_0x345b7e){return _0x3d92a5['id'];}}}));}}return BPromise[_0x8afa('0x7a')](_0x489124)[_0x8afa('0x22')](function(_0x581177){_0x4e5d12=_(_0x4e5d12)[_0x8afa('0x7b')](_0x581177)[_0x8afa('0x7c')]()[_0x8afa('0x7d')]();return db[_0x8afa('0x28')][_0x8afa('0x47')]({'where':{'id':_0x1ff47d[_0x8afa('0x45')]['id']}})['then'](function(_0x4166ac){return db[_0x8afa('0x68')][_0x8afa('0x69')](function(_0x361bdb){return _0x4166ac['removeTeams'](_0x1ff47d[_0x8afa('0x2e')][_0x8afa('0x62')],{'transaction':_0x361bdb})[_0x8afa('0x22')](function(){if(!_[_0x8afa('0x7e')](_0x4e5d12)){return _0x4166ac[_0x8afa('0x7f')](_0x4e5d12,{'transaction':_0x361bdb});}})['then'](function(){_0x4e5d12[_0x8afa('0x80')](function(_0x47e61a){socket[_0x8afa('0x6b')](_0x8afa('0x81'),{'UserId':_0x47e61a,'SmsQueueId':_0x4166ac['id']});});});});});});})[_0x8afa('0x22')](respondWithStatusCode(_0x5d7fa9,null))[_0x8afa('0x43')](handleError(_0x5d7fa9,null));};exports['addAgents']=function(_0x5d07cb,_0x119ead,_0x4bfb3b){return db[_0x8afa('0x28')][_0x8afa('0x47')]({'where':{'id':_0x5d07cb[_0x8afa('0x45')]['id']}})[_0x8afa('0x22')](handleEntityNotFound(_0x119ead,null))['then'](function(_0x42f6f6){if(_0x42f6f6){return _0x42f6f6[_0x8afa('0x82')](_0x5d07cb['body']['ids'],_['omit'](_0x5d07cb[_0x8afa('0x49')],[_0x8afa('0x62'),'id'])||{})[_0x8afa('0x83')](function(_0x5b3991){for(var _0x3a66f3=0x0;_0x3a66f3<_0x5d07cb[_0x8afa('0x49')][_0x8afa('0x62')][_0x8afa('0x32')];_0x3a66f3+=0x1){socket[_0x8afa('0x6b')]('userSmsQueue:save',{'UserId':_0x5d07cb['body']['ids'][_0x3a66f3],'SmsQueueId':_0x5d07cb[_0x8afa('0x45')]['id']});}return _0x5b3991;});}})['then'](respondWithResult(_0x119ead,null))['catch'](handleError(_0x119ead,null));};exports[_0x8afa('0x7f')]=function(_0x1e0b14,_0x56fc4f,_0x19331c){return db[_0x8afa('0x28')]['find']({'where':{'id':_0x1e0b14[_0x8afa('0x45')]['id']}})[_0x8afa('0x22')](handleEntityNotFound(_0x56fc4f,null))[_0x8afa('0x22')](function(_0x33f363){if(_0x33f363){return _0x33f363['removeAgents'](_0x1e0b14[_0x8afa('0x2e')][_0x8afa('0x62')])[_0x8afa('0x22')](function(){if(_[_0x8afa('0x84')](_0x1e0b14['query'][_0x8afa('0x62')])){for(var _0x2a20c5=0x0;_0x2a20c5<_0x1e0b14[_0x8afa('0x2e')][_0x8afa('0x62')][_0x8afa('0x32')];_0x2a20c5+=0x1){socket['emit']('userSmsQueue:remove',{'UserId':Number(_0x1e0b14[_0x8afa('0x2e')][_0x8afa('0x62')][_0x2a20c5]),'SmsQueueId':Number(_0x1e0b14[_0x8afa('0x45')]['id'])});}}else{socket[_0x8afa('0x6b')](_0x8afa('0x81'),{'UserId':Number(_0x1e0b14[_0x8afa('0x2e')]['ids']),'SmsQueueId':Number(_0x1e0b14['params']['id'])});}});}})[_0x8afa('0x22')](respondWithStatusCode(_0x56fc4f,null))[_0x8afa('0x43')](handleError(_0x56fc4f,null));};exports[_0x8afa('0x85')]=function(_0x4ac54c,_0x111d7e,_0xf66eb0){var _0x59616f={};var _0x552449={};var _0x43e396;var _0x5d5db4;return db['SmsQueue'][_0x8afa('0x56')]({'where':{'id':_0x4ac54c[_0x8afa('0x45')]['id']}})[_0x8afa('0x22')](handleEntityNotFound(_0x111d7e,null))[_0x8afa('0x22')](function(_0xbdbdaf){if(_0xbdbdaf){_0x43e396=_0xbdbdaf;_0x552449[_0x8afa('0x2d')]=_[_0x8afa('0x46')](db[_0x8afa('0x59')]['rawAttributes']);_0x552449['query']=_[_0x8afa('0x46')](_0x4ac54c[_0x8afa('0x2e')]);_0x552449[_0x8afa('0x38')]=_['intersection'](_0x552449[_0x8afa('0x2d')],_0x552449[_0x8afa('0x2e')]);_0x59616f[_0x8afa('0x30')]=_[_0x8afa('0x2f')](_0x552449[_0x8afa('0x2d')],qs[_0x8afa('0x31')](_0x4ac54c[_0x8afa('0x2e')][_0x8afa('0x31')]));_0x59616f[_0x8afa('0x30')]=_0x59616f[_0x8afa('0x30')][_0x8afa('0x32')]?_0x59616f[_0x8afa('0x30')]:_0x552449[_0x8afa('0x2d')];_0x59616f[_0x8afa('0x35')]=qs[_0x8afa('0x36')](_0x4ac54c['query'][_0x8afa('0x36')]);_0x59616f[_0x8afa('0x37')]=qs[_0x8afa('0x38')](_[_0x8afa('0x39')](_0x4ac54c[_0x8afa('0x2e')],_0x552449[_0x8afa('0x38')]));if(_0x4ac54c[_0x8afa('0x2e')]['filter']){_0x59616f[_0x8afa('0x37')]=_[_0x8afa('0x3b')](_0x59616f[_0x8afa('0x37')],{'$or':_[_0x8afa('0x27')](_0x59616f[_0x8afa('0x30')],function(_0x4a04bb){var _0x5b9f66={};_0x5b9f66[_0x4a04bb]={'$like':'%'+_0x4ac54c[_0x8afa('0x2e')]['filter']+'%'};return _0x5b9f66;})});}_0x59616f=_['merge']({},_0x59616f,_0x4ac54c[_0x8afa('0x3d')]);return _0x43e396[_0x8afa('0x85')](_0x59616f);}})[_0x8afa('0x22')](function(_0x43a0e5){if(_0x43a0e5){_0x5d5db4=_0x43a0e5[_0x8afa('0x32')];if(!_0x4ac54c[_0x8afa('0x2e')][_0x8afa('0x33')](_0x8afa('0x34'))){_0x59616f[_0x8afa('0x1a')]=qs[_0x8afa('0x1a')](_0x4ac54c[_0x8afa('0x2e')][_0x8afa('0x1a')]);_0x59616f[_0x8afa('0x19')]=qs[_0x8afa('0x19')](_0x4ac54c['query']['offset']);}return _0x43e396[_0x8afa('0x85')](_0x59616f);}})['then'](function(_0x588c64){if(_0x588c64){return _0x588c64?{'count':_0x5d5db4,'rows':_0x588c64}:null;}})['then'](respondWithResult(_0x111d7e,null))['catch'](handleError(_0x111d7e,null));};