4aa9020fe5aafe6ad36e3214d6b8f6feb9978aa4
[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 _0x6e98=['options','includeAll','include','findAll','rows','catch','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','params','describe','findOne','UserSmsQueue','SmsQueueId','User','UserId','agent','updatedAt','createdAt','format','%s/%s','smsPause','getTeams','Team','pick','addTeams','ids','Agents','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','userSmsQueue:save','removeTeams','field','tq.TeamId','user_has_teams','SmsQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','TeamId','all','compact','value','isEmpty','removeAgents','forEach','userSmsQueue:remove','addAgents','omit','spread','isArray','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','ejs','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsQueue.socket','register','status','json','count','offset','limit','Content-Range','apply','reject','save','then','destroy','get','SmsQueues','end','sendStatus','error','stack','name','send','map','SmsQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL'];(function(_0x514c58,_0x1e9a1d){var _0x406483=function(_0x24be87){while(--_0x24be87){_0x514c58['push'](_0x514c58['shift']());}};_0x406483(++_0x1e9a1d);}(_0x6e98,0x15c));var _0x86e9=function(_0x38f737,_0x54f685){_0x38f737=_0x38f737-0x0;var _0x7afda3=_0x6e98[_0x38f737];return _0x7afda3;};'use strict';var pdf=require(_0x86e9('0x0'));var emlformat=require(_0x86e9('0x1'));var rimraf=require(_0x86e9('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x86e9('0x3'));var rp=require(_0x86e9('0x4'));var moment=require(_0x86e9('0x5'));var BPromise=require(_0x86e9('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x86e9('0x7'));var csv=require(_0x86e9('0x8'));var ejs=require(_0x86e9('0x9'));var fs=require('fs');var _=require(_0x86e9('0xa'));var squel=require(_0x86e9('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x86e9('0xc'));var toCsv=require('to-csv');var querystring=require(_0x86e9('0xd'));var Papa=require('papaparse');var Redis=require(_0x86e9('0xe'));var authService=require(_0x86e9('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x86e9('0x10'));var hardwareService=require(_0x86e9('0x11'));var logger=require('../../config/logger')(_0x86e9('0x12'));var utils=require(_0x86e9('0x13'));var config=require(_0x86e9('0x14'));var db=require(_0x86e9('0x15'))['db'];config[_0x86e9('0x16')]=_[_0x86e9('0x17')](config[_0x86e9('0x16')],{'host':_0x86e9('0x18'),'port':0x18eb});var socket=require(_0x86e9('0x19'))(new Redis(config[_0x86e9('0x16')]));require(_0x86e9('0x1a'))[_0x86e9('0x1b')](socket);function respondWithStatusCode(_0x168c91,_0x43cb2b){_0x43cb2b=_0x43cb2b||0xcc;return function(_0x5ed29f){if(_0x5ed29f){return _0x168c91['sendStatus'](_0x43cb2b);}return _0x168c91[_0x86e9('0x1c')](_0x43cb2b)['end']();};}function respondWithResult(_0x369c42,_0x1c698c){_0x1c698c=_0x1c698c||0xc8;return function(_0x214873){if(_0x214873){return _0x369c42['status'](_0x1c698c)[_0x86e9('0x1d')](_0x214873);}};}function respondWithFilteredResult(_0x450b1d,_0x435125){return function(_0xa6522){if(_0xa6522){var _0x562487=_0xa6522[_0x86e9('0x1e')],_0x5caeaa=_0x435125[_0x86e9('0x1f')],_0x2da0c5=_0x435125[_0x86e9('0x1f')]+_0x435125[_0x86e9('0x20')],_0x19df5b;if(_0x2da0c5>=_0x562487){_0x2da0c5=_0x562487;_0x19df5b=0xc8;}else{_0x19df5b=0xce;}_0x450b1d[_0x86e9('0x1c')](_0x19df5b);return _0x450b1d['set'](_0x86e9('0x21'),_0x5caeaa+'-'+_0x2da0c5+'/'+_0x562487)['json'](_0xa6522);}return null;};}function patchUpdates(_0x440e0e){return function(_0x4a4231){try{jsonpatch[_0x86e9('0x22')](_0x4a4231,_0x440e0e,!![]);}catch(_0x181635){return BPromise[_0x86e9('0x23')](_0x181635);}return _0x4a4231[_0x86e9('0x24')]();};}function saveUpdates(_0x17bd92,_0x12bb67){return function(_0x3254ad){if(_0x3254ad){return _0x3254ad['update'](_0x17bd92)[_0x86e9('0x25')](function(_0x17c6fc){return _0x17c6fc;});}return null;};}function removeEntity(_0x3b7395,_0x5aa091){return function(_0x42c0a3){if(_0x42c0a3){return _0x42c0a3[_0x86e9('0x26')]()[_0x86e9('0x25')](function(){var _0x2e5967=_0x42c0a3[_0x86e9('0x27')]({'plain':!![]});var _0x5a93f9=_0x86e9('0x28');return db['UserProfileResource'][_0x86e9('0x26')]({'where':{'type':_0x5a93f9,'resourceId':_0x2e5967['id']}})[_0x86e9('0x25')](function(){return _0x42c0a3;});})[_0x86e9('0x25')](function(){_0x3b7395[_0x86e9('0x1c')](0xcc)[_0x86e9('0x29')]();});}};}function handleEntityNotFound(_0x4cf261,_0x38f88b){return function(_0x373678){if(!_0x373678){_0x4cf261[_0x86e9('0x2a')](0x194);}return _0x373678;};}function handleError(_0x4b6b6e,_0x3cf618){_0x3cf618=_0x3cf618||0x1f4;return function(_0x5bb13d){logger[_0x86e9('0x2b')](_0x5bb13d[_0x86e9('0x2c')]);if(_0x5bb13d[_0x86e9('0x2d')]){delete _0x5bb13d[_0x86e9('0x2d')];}_0x4b6b6e['status'](_0x3cf618)[_0x86e9('0x2e')](_0x5bb13d);};}exports['index']=function(_0x53ae7f,_0x31479a){var _0x3527f3={},_0x2b23={},_0x43f7ac={'count':0x0,'rows':[]};var _0x55ad84=_[_0x86e9('0x2f')](db[_0x86e9('0x30')][_0x86e9('0x31')],function(_0x57af78){return{'name':_0x57af78[_0x86e9('0x32')],'type':_0x57af78[_0x86e9('0x33')][_0x86e9('0x34')]};});_0x2b23[_0x86e9('0x35')]=_[_0x86e9('0x2f')](_0x55ad84,_0x86e9('0x2d'));_0x2b23[_0x86e9('0x36')]=_[_0x86e9('0x37')](_0x53ae7f[_0x86e9('0x36')]);_0x2b23[_0x86e9('0x38')]=_[_0x86e9('0x39')](_0x2b23[_0x86e9('0x35')],_0x2b23[_0x86e9('0x36')]);_0x3527f3['attributes']=_[_0x86e9('0x39')](_0x2b23[_0x86e9('0x35')],qs['fields'](_0x53ae7f['query'][_0x86e9('0x3a')]));_0x3527f3[_0x86e9('0x3b')]=_0x3527f3[_0x86e9('0x3b')][_0x86e9('0x3c')]?_0x3527f3[_0x86e9('0x3b')]:_0x2b23[_0x86e9('0x35')];if(!_0x53ae7f[_0x86e9('0x36')][_0x86e9('0x3d')](_0x86e9('0x3e'))){_0x3527f3[_0x86e9('0x20')]=qs['limit'](_0x53ae7f[_0x86e9('0x36')][_0x86e9('0x20')]);_0x3527f3[_0x86e9('0x1f')]=qs[_0x86e9('0x1f')](_0x53ae7f[_0x86e9('0x36')][_0x86e9('0x1f')]);}_0x3527f3[_0x86e9('0x3f')]=qs['sort'](_0x53ae7f[_0x86e9('0x36')][_0x86e9('0x40')]);_0x3527f3[_0x86e9('0x41')]=qs[_0x86e9('0x38')](_['pick'](_0x53ae7f[_0x86e9('0x36')],_0x2b23[_0x86e9('0x38')]),_0x55ad84);if(_0x53ae7f[_0x86e9('0x36')][_0x86e9('0x42')]){_0x3527f3[_0x86e9('0x41')]=_[_0x86e9('0x43')](_0x3527f3[_0x86e9('0x41')],{'$or':_[_0x86e9('0x2f')](_0x55ad84,function(_0x548ee7){if(_0x548ee7[_0x86e9('0x33')]!==_0x86e9('0x44')){var _0x20cf3a={};_0x20cf3a[_0x548ee7[_0x86e9('0x2d')]]={'$like':'%'+_0x53ae7f[_0x86e9('0x36')]['filter']+'%'};return _0x20cf3a;}})});}_0x3527f3=_[_0x86e9('0x43')]({},_0x3527f3,_0x53ae7f[_0x86e9('0x45')]);var _0x34b940={'where':_0x3527f3['where']};return db[_0x86e9('0x30')]['count'](_0x34b940)[_0x86e9('0x25')](function(_0x2517c8){_0x43f7ac[_0x86e9('0x1e')]=_0x2517c8;if(_0x53ae7f[_0x86e9('0x36')][_0x86e9('0x46')]){_0x3527f3[_0x86e9('0x47')]=[{'all':!![]}];}return db[_0x86e9('0x30')][_0x86e9('0x48')](_0x3527f3);})[_0x86e9('0x25')](function(_0xf15f08){_0x43f7ac[_0x86e9('0x49')]=_0xf15f08;return _0x43f7ac;})[_0x86e9('0x25')](respondWithFilteredResult(_0x31479a,_0x3527f3))[_0x86e9('0x4a')](handleError(_0x31479a,null));};exports['show']=function(_0x20d066,_0x204f38){var _0x21091d={'raw':!![],'where':{'id':_0x20d066['params']['id']}},_0x42ebf2={};_0x42ebf2[_0x86e9('0x35')]=_[_0x86e9('0x37')](db[_0x86e9('0x30')][_0x86e9('0x31')]);_0x42ebf2[_0x86e9('0x36')]=_[_0x86e9('0x37')](_0x20d066[_0x86e9('0x36')]);_0x42ebf2[_0x86e9('0x38')]=_[_0x86e9('0x39')](_0x42ebf2[_0x86e9('0x35')],_0x42ebf2[_0x86e9('0x36')]);_0x21091d[_0x86e9('0x3b')]=_[_0x86e9('0x39')](_0x42ebf2['model'],qs['fields'](_0x20d066[_0x86e9('0x36')][_0x86e9('0x3a')]));_0x21091d[_0x86e9('0x3b')]=_0x21091d[_0x86e9('0x3b')][_0x86e9('0x3c')]?_0x21091d[_0x86e9('0x3b')]:_0x42ebf2[_0x86e9('0x35')];if(_0x20d066[_0x86e9('0x36')][_0x86e9('0x46')]){_0x21091d[_0x86e9('0x47')]=[{'all':!![]}];}_0x21091d=_[_0x86e9('0x43')]({},_0x21091d,_0x20d066['options']);return db['SmsQueue'][_0x86e9('0x4b')](_0x21091d)[_0x86e9('0x25')](handleEntityNotFound(_0x204f38,null))[_0x86e9('0x25')](respondWithResult(_0x204f38,null))['catch'](handleError(_0x204f38,null));};exports[_0x86e9('0x4c')]=function(_0x57cabc,_0x57b55f){return db[_0x86e9('0x30')][_0x86e9('0x4c')](_0x57cabc['body'],{})[_0x86e9('0x25')](function(_0x3c1ade){var _0x63d97a=_0x57cabc[_0x86e9('0x4d')][_0x86e9('0x27')]({'plain':!![]});if(!_0x63d97a)throw new Error(_0x86e9('0x4e'));if(_0x63d97a[_0x86e9('0x4f')]===_0x86e9('0x4d')){var _0x5c7a6d=_0x3c1ade[_0x86e9('0x27')]({'plain':!![]});var _0x43954a=_0x86e9('0x28');return db[_0x86e9('0x50')]['find']({'where':{'name':_0x43954a,'userProfileId':_0x63d97a[_0x86e9('0x51')]},'raw':!![]})['then'](function(_0x50b8c0){if(_0x50b8c0&&_0x50b8c0[_0x86e9('0x52')]===0x0){return db[_0x86e9('0x53')][_0x86e9('0x4c')]({'name':_0x5c7a6d[_0x86e9('0x2d')],'resourceId':_0x5c7a6d['id'],'type':_0x50b8c0['name'],'sectionId':_0x50b8c0['id']},{})[_0x86e9('0x25')](function(){return _0x3c1ade;});}else{return _0x3c1ade;}})['catch'](function(_0x23b653){logger[_0x86e9('0x2b')](_0x86e9('0x54'),_0x23b653);throw _0x23b653;});}return _0x3c1ade;})[_0x86e9('0x25')](respondWithResult(_0x57b55f,0xc9))[_0x86e9('0x4a')](handleError(_0x57b55f,null));};exports[_0x86e9('0x55')]=function(_0x23b0a1,_0x29e411){if(_0x23b0a1['body']['id']){delete _0x23b0a1[_0x86e9('0x56')]['id'];}return db['SmsQueue'][_0x86e9('0x4b')]({'where':{'id':_0x23b0a1[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](handleEntityNotFound(_0x29e411,null))['then'](saveUpdates(_0x23b0a1['body'],null))[_0x86e9('0x25')](respondWithResult(_0x29e411,null))['catch'](handleError(_0x29e411,null));};exports[_0x86e9('0x26')]=function(_0x4c3398,_0x3aae52){return db['SmsQueue']['find']({'where':{'id':_0x4c3398[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](handleEntityNotFound(_0x3aae52,null))[_0x86e9('0x25')](removeEntity(_0x3aae52,null))['catch'](handleError(_0x3aae52,null));};exports[_0x86e9('0x58')]=function(_0x1b7266,_0x33a9a7){return db['SmsQueue'][_0x86e9('0x58')]()[_0x86e9('0x25')](respondWithResult(_0x33a9a7,null))[_0x86e9('0x4a')](handleError(_0x33a9a7,null));};exports['getMembers']=function(_0x2c6508,_0x54fa3e,_0x42ebbe){var _0x12452f={'raw':!![],'where':{}},_0xd75773={},_0x6b6e9b;return db['SmsQueue'][_0x86e9('0x59')]({'where':{'id':_0x2c6508[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](handleEntityNotFound(_0x54fa3e,null))[_0x86e9('0x25')](function(_0x248c89){if(_0x248c89){_0x6b6e9b=_0x248c89[_0x86e9('0x27')]({'plain':!![]});_0xd75773[_0x86e9('0x35')]=_['keys'](db[_0x86e9('0x5a')][_0x86e9('0x31')]);_0xd75773[_0x86e9('0x36')]=_[_0x86e9('0x37')](_0x2c6508['query']);_0xd75773[_0x86e9('0x38')]=_[_0x86e9('0x39')](_0xd75773['model'],_0xd75773[_0x86e9('0x36')]);_0x12452f[_0x86e9('0x3b')]=_[_0x86e9('0x39')](_0xd75773[_0x86e9('0x35')],qs[_0x86e9('0x3a')](_0x2c6508[_0x86e9('0x36')][_0x86e9('0x3a')]));_0x12452f[_0x86e9('0x3b')]=_0x12452f[_0x86e9('0x3b')][_0x86e9('0x3c')]?_0x12452f[_0x86e9('0x3b')]:_0xd75773[_0x86e9('0x35')];if(!_0x2c6508['query'][_0x86e9('0x3d')](_0x86e9('0x3e'))){_0x12452f[_0x86e9('0x20')]=qs[_0x86e9('0x20')](_0x2c6508['query'][_0x86e9('0x20')]);_0x12452f[_0x86e9('0x1f')]=qs['offset'](_0x2c6508[_0x86e9('0x36')][_0x86e9('0x1f')]);}_0x12452f[_0x86e9('0x3f')]=qs['sort'](_0x2c6508['query'][_0x86e9('0x40')]);_0x12452f['where']=qs['filters'](_['pick'](_0x2c6508[_0x86e9('0x36')],_0xd75773[_0x86e9('0x38')]));_0x12452f[_0x86e9('0x41')][_0x86e9('0x5b')]=_0x248c89['id'];if(_0x2c6508[_0x86e9('0x36')][_0x86e9('0x42')]){_0x12452f[_0x86e9('0x41')]=_[_0x86e9('0x43')](_0x12452f[_0x86e9('0x41')],{'$or':_['map'](_0x12452f[_0x86e9('0x3b')],function(_0xd5dda8){var _0x2e3f97={};_0x2e3f97[_0xd5dda8]={'$like':'%'+_0x2c6508['query'][_0x86e9('0x42')]+'%'};return _0x2e3f97;})});}_0x12452f=_[_0x86e9('0x43')]({},_0x12452f,_0x2c6508[_0x86e9('0x45')]);return db[_0x86e9('0x5a')][_0x86e9('0x48')](_0x12452f);}})[_0x86e9('0x25')](function(_0x44c6ed){if(_0x44c6ed){return db[_0x86e9('0x5c')]['findAndCountAll']({'where':{'id':_['map'](_0x44c6ed,_0x86e9('0x5d')),'role':_0x86e9('0x5e')},'attributes':['id',_0x86e9('0x2d'),'smsPause',_0x86e9('0x5f'),_0x86e9('0x60')]});}})[_0x86e9('0x25')](function(_0xfb447d){if(_0xfb447d){return{'count':_0xfb447d[_0x86e9('0x1e')],'rows':_[_0x86e9('0x2f')](_0xfb447d[_0x86e9('0x49')],function(_0x26e7fb){return{'membername':_0x26e7fb['name'],'UserId':_0x26e7fb['id'],'queue_name':_0x6b6e9b[_0x86e9('0x2d')],'SmsQueueId':_0x6b6e9b['id'],'interface':util[_0x86e9('0x61')](_0x86e9('0x62'),'SIP',_0x26e7fb[_0x86e9('0x2d')]),'penalty':0x0,'paused':_0x26e7fb[_0x86e9('0x63')],'createdAt':_0x26e7fb[_0x86e9('0x60')],'updatedAt':_0x26e7fb[_0x86e9('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x86e9('0x25')](respondWithFilteredResult(_0x54fa3e,_0x12452f))[_0x86e9('0x4a')](handleError(_0x54fa3e,null));};exports[_0x86e9('0x64')]=function(_0x2218c0,_0x82d6f5,_0x390c65){var _0x4161d4={};var _0x3bf9ac={};var _0x4201be;var _0x562aaf;return db[_0x86e9('0x30')][_0x86e9('0x59')]({'where':{'id':_0x2218c0[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](handleEntityNotFound(_0x82d6f5,null))[_0x86e9('0x25')](function(_0x588c62){if(_0x588c62){_0x4201be=_0x588c62;_0x3bf9ac[_0x86e9('0x35')]=_['keys'](db[_0x86e9('0x65')][_0x86e9('0x31')]);_0x3bf9ac[_0x86e9('0x36')]=_[_0x86e9('0x37')](_0x2218c0['query']);_0x3bf9ac[_0x86e9('0x38')]=_['intersection'](_0x3bf9ac[_0x86e9('0x35')],_0x3bf9ac[_0x86e9('0x36')]);_0x4161d4['attributes']=_[_0x86e9('0x39')](_0x3bf9ac[_0x86e9('0x35')],qs[_0x86e9('0x3a')](_0x2218c0[_0x86e9('0x36')][_0x86e9('0x3a')]));_0x4161d4[_0x86e9('0x3b')]=_0x4161d4[_0x86e9('0x3b')]['length']?_0x4161d4[_0x86e9('0x3b')]:_0x3bf9ac['model'];_0x4161d4[_0x86e9('0x3f')]=qs['sort'](_0x2218c0['query'][_0x86e9('0x40')]);_0x4161d4[_0x86e9('0x41')]=qs['filters'](_[_0x86e9('0x66')](_0x2218c0['query'],_0x3bf9ac['filters']));if(_0x2218c0['query']['filter']){_0x4161d4[_0x86e9('0x41')]=_[_0x86e9('0x43')](_0x4161d4[_0x86e9('0x41')],{'$or':_[_0x86e9('0x2f')](_0x4161d4[_0x86e9('0x3b')],function(_0x289263){var _0xf23903={};_0xf23903[_0x289263]={'$like':'%'+_0x2218c0[_0x86e9('0x36')][_0x86e9('0x42')]+'%'};return _0xf23903;})});}_0x4161d4=_[_0x86e9('0x43')]({},_0x4161d4,_0x2218c0['options']);return _0x4201be[_0x86e9('0x64')](_0x4161d4);}})[_0x86e9('0x25')](function(_0x1201db){if(_0x1201db){_0x562aaf=_0x1201db[_0x86e9('0x3c')];if(!_0x2218c0[_0x86e9('0x36')][_0x86e9('0x3d')]('nolimit')){_0x4161d4[_0x86e9('0x20')]=qs[_0x86e9('0x20')](_0x2218c0[_0x86e9('0x36')]['limit']);_0x4161d4[_0x86e9('0x1f')]=qs[_0x86e9('0x1f')](_0x2218c0[_0x86e9('0x36')][_0x86e9('0x1f')]);}return _0x4201be[_0x86e9('0x64')](_0x4161d4);}})['then'](function(_0x3f6bce){if(_0x3f6bce){return _0x3f6bce?{'count':_0x562aaf,'rows':_0x3f6bce}:null;}})[_0x86e9('0x25')](respondWithResult(_0x82d6f5,null))[_0x86e9('0x4a')](handleError(_0x82d6f5,null));};exports[_0x86e9('0x67')]=function(_0x187c04,_0x59456d,_0x18bb29){var _0x19b4c5=_0x187c04[_0x86e9('0x56')][_0x86e9('0x68')];return db['Team'][_0x86e9('0x48')]({'where':{'id':_0x19b4c5},'attributes':['id'],'include':[{'model':db['User'],'as':_0x86e9('0x69'),'attributes':['id',_0x86e9('0x2d'),'online',_0x86e9('0x6a'),_0x86e9('0x6b')],'raw':!![]}]})[_0x86e9('0x25')](function(_0x5de2e7){if(_0x5de2e7){var _0x2d9409=_[_0x86e9('0x6c')](_0x5de2e7,function(_0x15ca92){var _0x1ae6aa=_0x15ca92[_0x86e9('0x27')]({'plain':!![]});return _0x1ae6aa[_0x86e9('0x69')];});return db[_0x86e9('0x30')][_0x86e9('0x4b')]({'where':{'id':_0x187c04[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](function(_0x43e103){return db[_0x86e9('0x6d')][_0x86e9('0x6e')](function(_0x14e24f){return _0x43e103[_0x86e9('0x67')](_0x19b4c5,{'transaction':_0x14e24f})[_0x86e9('0x25')](function(){return BPromise[_0x86e9('0x6f')](_0x2d9409,function(_0x4107f1){return db[_0x86e9('0x5a')][_0x86e9('0x70')]({'where':{'UserId':_0x4107f1['id'],'SmsQueueId':_0x187c04['params']['id']},'transaction':_0x14e24f});});})[_0x86e9('0x25')](function(){_0x2d9409['forEach'](function(_0x227ce3){socket[_0x86e9('0x71')](_0x86e9('0x72'),{'UserId':_0x227ce3['id'],'SmsQueueId':_0x43e103['id']});});});});});}})['then'](respondWithStatusCode(_0x59456d,null))[_0x86e9('0x4a')](handleError(_0x59456d,null));};exports[_0x86e9('0x73')]=function(_0x2a3e7a,_0x136ec2,_0x5893fb){return db[_0x86e9('0x65')]['findAll']({'where':{'id':_0x2a3e7a[_0x86e9('0x36')][_0x86e9('0x68')]},'attributes':['id'],'include':[{'model':db[_0x86e9('0x5c')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x86e9('0x25')](handleEntityNotFound(_0x136ec2,null))[_0x86e9('0x25')](function(_0x31ab6b){var _0x11a40f=_[_0x86e9('0x2f')](_0x31ab6b,'id');var _0x282328=[];var _0x5e1fc7=[];var _0x2b6334=squel['select']();_0x2b6334[_0x86e9('0x74')](_0x86e9('0x75'))['from']('team_has_sms_queues','tq')['join'](_0x86e9('0x76'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x86e9('0x41')](_0x86e9('0x77'),_0x2a3e7a[_0x86e9('0x57')]['id']);for(var _0x3ae37f=0x0;_0x3ae37f<_0x31ab6b[_0x86e9('0x3c')];_0x3ae37f+=0x1){let _0x204d0e=_0x31ab6b[_0x3ae37f];for(var _0x45b431=0x0;_0x45b431<_0x204d0e['Agents'][_0x86e9('0x3c')];_0x45b431+=0x1){let _0x5c1656=_0x204d0e[_0x86e9('0x69')][_0x45b431];var _0x730cc6=_0x2b6334[_0x86e9('0x78')]();_0x730cc6[_0x86e9('0x41')](_0x86e9('0x79'),_0x5c1656['id']);_0x5e1fc7[_0x86e9('0x7a')](db['sequelize'][_0x86e9('0x36')](_0x730cc6[_0x86e9('0x7b')](),{'type':db[_0x86e9('0x6d')]['QueryTypes'][_0x86e9('0x7c')]})[_0x86e9('0x25')](function(_0x115454){if(_0x115454[_0x86e9('0x3c')]===0x1){return _0x5c1656['id'];}else{var _0x2ce4b1=_[_0x86e9('0x7d')](_[_0x86e9('0x2f')](_0x115454,_0x86e9('0x7e')),function(_0xab051d){return _['includes'](_0x11a40f,_0xab051d);});if(_0x2ce4b1){return _0x5c1656['id'];}}}));}}return BPromise[_0x86e9('0x7f')](_0x5e1fc7)[_0x86e9('0x25')](function(_0x43ee69){_0x282328=_(_0x282328)['union'](_0x43ee69)[_0x86e9('0x80')]()[_0x86e9('0x81')]();return db[_0x86e9('0x30')]['find']({'where':{'id':_0x2a3e7a[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](function(_0x3e6ecc){return db[_0x86e9('0x6d')][_0x86e9('0x6e')](function(_0x506530){return _0x3e6ecc['removeTeams'](_0x2a3e7a[_0x86e9('0x36')]['ids'],{'transaction':_0x506530})[_0x86e9('0x25')](function(){if(!_[_0x86e9('0x82')](_0x282328)){return _0x3e6ecc[_0x86e9('0x83')](_0x282328,{'transaction':_0x506530});}})[_0x86e9('0x25')](function(){_0x282328[_0x86e9('0x84')](function(_0x3c8a38){socket[_0x86e9('0x71')](_0x86e9('0x85'),{'UserId':_0x3c8a38,'SmsQueueId':_0x3e6ecc['id']});});});});});});})[_0x86e9('0x25')](respondWithStatusCode(_0x136ec2,null))['catch'](handleError(_0x136ec2,null));};exports[_0x86e9('0x86')]=function(_0x4d040a,_0x2c6f7b,_0x112473){return db[_0x86e9('0x30')][_0x86e9('0x4b')]({'where':{'id':_0x4d040a['params']['id']}})['then'](handleEntityNotFound(_0x2c6f7b,null))[_0x86e9('0x25')](function(_0x441c5c){if(_0x441c5c){return _0x441c5c[_0x86e9('0x86')](_0x4d040a[_0x86e9('0x56')][_0x86e9('0x68')],_[_0x86e9('0x87')](_0x4d040a[_0x86e9('0x56')],['ids','id'])||{})[_0x86e9('0x88')](function(_0x1de194){for(var _0x5573a1=0x0;_0x5573a1<_0x4d040a[_0x86e9('0x56')][_0x86e9('0x68')][_0x86e9('0x3c')];_0x5573a1+=0x1){socket[_0x86e9('0x71')](_0x86e9('0x72'),{'UserId':_0x4d040a[_0x86e9('0x56')][_0x86e9('0x68')][_0x5573a1],'SmsQueueId':_0x4d040a['params']['id']});}return _0x1de194;});}})[_0x86e9('0x25')](respondWithResult(_0x2c6f7b,null))['catch'](handleError(_0x2c6f7b,null));};exports['removeAgents']=function(_0x53f176,_0x401fe6,_0x215339){return db[_0x86e9('0x30')][_0x86e9('0x4b')]({'where':{'id':_0x53f176[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](handleEntityNotFound(_0x401fe6,null))[_0x86e9('0x25')](function(_0x542301){if(_0x542301){return _0x542301[_0x86e9('0x83')](_0x53f176['query']['ids'])[_0x86e9('0x25')](function(){if(_[_0x86e9('0x89')](_0x53f176[_0x86e9('0x36')][_0x86e9('0x68')])){for(var _0x2de691=0x0;_0x2de691<_0x53f176['query'][_0x86e9('0x68')][_0x86e9('0x3c')];_0x2de691+=0x1){socket[_0x86e9('0x71')](_0x86e9('0x85'),{'UserId':Number(_0x53f176['query'][_0x86e9('0x68')][_0x2de691]),'SmsQueueId':Number(_0x53f176['params']['id'])});}}else{socket[_0x86e9('0x71')](_0x86e9('0x85'),{'UserId':Number(_0x53f176['query']['ids']),'SmsQueueId':Number(_0x53f176[_0x86e9('0x57')]['id'])});}});}})[_0x86e9('0x25')](respondWithStatusCode(_0x401fe6,null))[_0x86e9('0x4a')](handleError(_0x401fe6,null));};exports['getAgents']=function(_0x4ba544,_0x4d2e9d,_0x3411b9){var _0x284977={};var _0x1bbc24={};var _0x2e4500;var _0x2c65a4;return db[_0x86e9('0x30')][_0x86e9('0x59')]({'where':{'id':_0x4ba544[_0x86e9('0x57')]['id']}})[_0x86e9('0x25')](handleEntityNotFound(_0x4d2e9d,null))['then'](function(_0x17faa7){if(_0x17faa7){_0x2e4500=_0x17faa7;_0x1bbc24[_0x86e9('0x35')]=_['keys'](db[_0x86e9('0x5c')][_0x86e9('0x31')]);_0x1bbc24[_0x86e9('0x36')]=_[_0x86e9('0x37')](_0x4ba544[_0x86e9('0x36')]);_0x1bbc24[_0x86e9('0x38')]=_[_0x86e9('0x39')](_0x1bbc24[_0x86e9('0x35')],_0x1bbc24['query']);_0x284977[_0x86e9('0x3b')]=_[_0x86e9('0x39')](_0x1bbc24[_0x86e9('0x35')],qs['fields'](_0x4ba544[_0x86e9('0x36')][_0x86e9('0x3a')]));_0x284977[_0x86e9('0x3b')]=_0x284977['attributes']['length']?_0x284977['attributes']:_0x1bbc24[_0x86e9('0x35')];_0x284977[_0x86e9('0x3f')]=qs['sort'](_0x4ba544[_0x86e9('0x36')][_0x86e9('0x40')]);_0x284977[_0x86e9('0x41')]=qs[_0x86e9('0x38')](_[_0x86e9('0x66')](_0x4ba544['query'],_0x1bbc24['filters']));if(_0x4ba544[_0x86e9('0x36')][_0x86e9('0x42')]){_0x284977[_0x86e9('0x41')]=_[_0x86e9('0x43')](_0x284977[_0x86e9('0x41')],{'$or':_[_0x86e9('0x2f')](_0x284977[_0x86e9('0x3b')],function(_0x4607b7){var _0x488aef={};_0x488aef[_0x4607b7]={'$like':'%'+_0x4ba544[_0x86e9('0x36')][_0x86e9('0x42')]+'%'};return _0x488aef;})});}_0x284977=_[_0x86e9('0x43')]({},_0x284977,_0x4ba544[_0x86e9('0x45')]);return _0x2e4500[_0x86e9('0x8a')](_0x284977);}})[_0x86e9('0x25')](function(_0x39f5be){if(_0x39f5be){_0x2c65a4=_0x39f5be[_0x86e9('0x3c')];if(!_0x4ba544[_0x86e9('0x36')][_0x86e9('0x3d')](_0x86e9('0x3e'))){_0x284977['limit']=qs[_0x86e9('0x20')](_0x4ba544['query'][_0x86e9('0x20')]);_0x284977[_0x86e9('0x1f')]=qs[_0x86e9('0x1f')](_0x4ba544['query'][_0x86e9('0x1f')]);}return _0x2e4500['getAgents'](_0x284977);}})[_0x86e9('0x25')](function(_0x5f5a41){if(_0x5f5a41){return _0x5f5a41?{'count':_0x2c65a4,'rows':_0x5f5a41}:null;}})[_0x86e9('0x25')](respondWithResult(_0x4d2e9d,null))[_0x86e9('0x4a')](handleError(_0x4d2e9d,null));};