ee7842825b184a3099c503e1812292cf1909cb7d
[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 _0x5a72=['flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','userSmsQueue:save','removeTeams','ids','field','tq.TeamId','team_has_sms_queues','join','ut.TeamId\x20=\x20tq.TeamId','SmsQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','TeamId','all','union','value','isEmpty','removeAgents','userSmsQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsQueue.socket','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','then','destroy','get','SmsQueues','error','name','send','index','map','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filters','merge','type','VIRTUAL','options','SmsQueue','includeAll','include','findAll','rows','catch','show','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','getMembers','findOne','UserSmsQueue','nolimit','SmsQueueId','filter','User','findAndCountAll','UserId','agent','smsPause','updatedAt','createdAt','%s/%s','getTeams','Team','addTeams','Agents','online','voicePause','interface'];(function(_0x22241f,_0x48bd97){var _0x16c966=function(_0x340155){while(--_0x340155){_0x22241f['push'](_0x22241f['shift']());}};_0x16c966(++_0x48bd97);}(_0x5a72,0x1c5));var _0x25a7=function(_0x1e5911,_0x55a885){_0x1e5911=_0x1e5911-0x0;var _0x20b704=_0x5a72[_0x1e5911];return _0x20b704;};'use strict';var emlformat=require(_0x25a7('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x25a7('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x25a7('0x2'));var moment=require(_0x25a7('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x25a7('0x4'));var util=require(_0x25a7('0x5'));var path=require(_0x25a7('0x6'));var sox=require(_0x25a7('0x7'));var csv=require(_0x25a7('0x8'));var ejs=require(_0x25a7('0x9'));var fs=require('fs');var fs_extra=require(_0x25a7('0xa'));var _=require(_0x25a7('0xb'));var squel=require('squel');var crypto=require(_0x25a7('0xc'));var jsforce=require(_0x25a7('0xd'));var deskjs=require(_0x25a7('0xe'));var toCsv=require(_0x25a7('0x8'));var querystring=require('querystring');var Papa=require(_0x25a7('0xf'));var Redis=require('ioredis');var authService=require(_0x25a7('0x10'));var qs=require(_0x25a7('0x11'));var as=require(_0x25a7('0x12'));var hardwareService=require(_0x25a7('0x13'));var logger=require(_0x25a7('0x14'))(_0x25a7('0x15'));var utils=require('../../config/utils');var config=require(_0x25a7('0x16'));var licenseUtil=require(_0x25a7('0x17'));var db=require(_0x25a7('0x18'))['db'];config[_0x25a7('0x19')]=_[_0x25a7('0x1a')](config[_0x25a7('0x19')],{'host':_0x25a7('0x1b'),'port':0x18eb});var socket=require(_0x25a7('0x1c'))(new Redis(config[_0x25a7('0x19')]));require(_0x25a7('0x1d'))['register'](socket);function respondWithStatusCode(_0x22ad36,_0x45fcbe){_0x45fcbe=_0x45fcbe||0xcc;return function(_0x25649b){if(_0x25649b){return _0x22ad36[_0x25a7('0x1e')](_0x45fcbe);}return _0x22ad36[_0x25a7('0x1f')](_0x45fcbe)[_0x25a7('0x20')]();};}function respondWithResult(_0x375334,_0x590e47){_0x590e47=_0x590e47||0xc8;return function(_0x3dd053){if(_0x3dd053){return _0x375334[_0x25a7('0x1f')](_0x590e47)[_0x25a7('0x21')](_0x3dd053);}};}function respondWithFilteredResult(_0x24b7b0,_0x3cfbea){return function(_0x1e6374){if(_0x1e6374){var _0x42c839=typeof _0x3cfbea['offset']===_0x25a7('0x22')&&typeof _0x3cfbea[_0x25a7('0x23')]===_0x25a7('0x22');var _0x444cc4=_0x1e6374[_0x25a7('0x24')];var _0x5ae7fe=_0x42c839?0x0:_0x3cfbea['offset'];var _0x578ca1=_0x42c839?_0x1e6374[_0x25a7('0x24')]:_0x3cfbea[_0x25a7('0x25')]+_0x3cfbea[_0x25a7('0x23')];var _0x3931f2;if(_0x578ca1>=_0x444cc4){_0x578ca1=_0x444cc4;_0x3931f2=0xc8;}else{_0x3931f2=0xce;}_0x24b7b0['status'](_0x3931f2);return _0x24b7b0[_0x25a7('0x26')](_0x25a7('0x27'),_0x5ae7fe+'-'+_0x578ca1+'/'+_0x444cc4)[_0x25a7('0x21')](_0x1e6374);}return null;};}function patchUpdates(_0x37952d){return function(_0x2cec71){try{jsonpatch['apply'](_0x2cec71,_0x37952d,!![]);}catch(_0x9f46e9){return BPromise['reject'](_0x9f46e9);}return _0x2cec71['save']();};}function saveUpdates(_0x382efd,_0x257231){return function(_0x4c4ae8){if(_0x4c4ae8){return _0x4c4ae8['update'](_0x382efd)[_0x25a7('0x28')](function(_0x2e0317){return _0x2e0317;});}return null;};}function removeEntity(_0x474ceb,_0x210d5f){return function(_0x12db0e){if(_0x12db0e){return _0x12db0e[_0x25a7('0x29')]()[_0x25a7('0x28')](function(){var _0xd4494=_0x12db0e[_0x25a7('0x2a')]({'plain':!![]});var _0x437ead=_0x25a7('0x2b');return db['UserProfileResource']['destroy']({'where':{'type':_0x437ead,'resourceId':_0xd4494['id']}})[_0x25a7('0x28')](function(){return _0x12db0e;});})[_0x25a7('0x28')](function(){_0x474ceb[_0x25a7('0x1f')](0xcc)[_0x25a7('0x20')]();});}};}function handleEntityNotFound(_0x47fefc,_0x3d027d){return function(_0x21ef4b){if(!_0x21ef4b){_0x47fefc[_0x25a7('0x1e')](0x194);}return _0x21ef4b;};}function handleError(_0xacfa02,_0x410b32){_0x410b32=_0x410b32||0x1f4;return function(_0x2c73b5){logger[_0x25a7('0x2c')](_0x2c73b5['stack']);if(_0x2c73b5[_0x25a7('0x2d')]){delete _0x2c73b5[_0x25a7('0x2d')];}_0xacfa02['status'](_0x410b32)[_0x25a7('0x2e')](_0x2c73b5);};}exports[_0x25a7('0x2f')]=function(_0x23d687,_0x314e9c){var _0x911fa8={},_0x452ef9={},_0x4d61de={'count':0x0,'rows':[]};var _0x3e14d2=_[_0x25a7('0x30')](db['SmsQueue']['rawAttributes'],function(_0x2f6f85){return{'name':_0x2f6f85[_0x25a7('0x31')],'type':_0x2f6f85['type'][_0x25a7('0x32')]};});_0x452ef9[_0x25a7('0x33')]=_['map'](_0x3e14d2,'name');_0x452ef9[_0x25a7('0x34')]=_[_0x25a7('0x35')](_0x23d687['query']);_0x452ef9['filters']=_[_0x25a7('0x36')](_0x452ef9[_0x25a7('0x33')],_0x452ef9[_0x25a7('0x34')]);_0x911fa8[_0x25a7('0x37')]=_['intersection'](_0x452ef9[_0x25a7('0x33')],qs[_0x25a7('0x38')](_0x23d687[_0x25a7('0x34')][_0x25a7('0x38')]));_0x911fa8['attributes']=_0x911fa8[_0x25a7('0x37')][_0x25a7('0x39')]?_0x911fa8[_0x25a7('0x37')]:_0x452ef9[_0x25a7('0x33')];if(!_0x23d687[_0x25a7('0x34')][_0x25a7('0x3a')]('nolimit')){_0x911fa8[_0x25a7('0x23')]=qs[_0x25a7('0x23')](_0x23d687[_0x25a7('0x34')][_0x25a7('0x23')]);_0x911fa8['offset']=qs[_0x25a7('0x25')](_0x23d687[_0x25a7('0x34')][_0x25a7('0x25')]);}_0x911fa8[_0x25a7('0x3b')]=qs[_0x25a7('0x3c')](_0x23d687['query'][_0x25a7('0x3c')]);_0x911fa8[_0x25a7('0x3d')]=qs['filters'](_[_0x25a7('0x3e')](_0x23d687[_0x25a7('0x34')],_0x452ef9[_0x25a7('0x3f')]),_0x3e14d2);if(_0x23d687['query']['filter']){_0x911fa8[_0x25a7('0x3d')]=_[_0x25a7('0x40')](_0x911fa8['where'],{'$or':_[_0x25a7('0x30')](_0x3e14d2,function(_0x283040){if(_0x283040[_0x25a7('0x41')]!==_0x25a7('0x42')){var _0x483565={};_0x483565[_0x283040['name']]={'$like':'%'+_0x23d687[_0x25a7('0x34')]['filter']+'%'};return _0x483565;}})});}_0x911fa8=_[_0x25a7('0x40')]({},_0x911fa8,_0x23d687[_0x25a7('0x43')]);var _0x231b36={'where':_0x911fa8[_0x25a7('0x3d')]};return db[_0x25a7('0x44')]['count'](_0x231b36)[_0x25a7('0x28')](function(_0x59d956){_0x4d61de[_0x25a7('0x24')]=_0x59d956;if(_0x23d687[_0x25a7('0x34')][_0x25a7('0x45')]){_0x911fa8[_0x25a7('0x46')]=[{'all':!![]}];}return db['SmsQueue'][_0x25a7('0x47')](_0x911fa8);})[_0x25a7('0x28')](function(_0x4326dc){_0x4d61de[_0x25a7('0x48')]=_0x4326dc;return _0x4d61de;})[_0x25a7('0x28')](respondWithFilteredResult(_0x314e9c,_0x911fa8))[_0x25a7('0x49')](handleError(_0x314e9c,null));};exports[_0x25a7('0x4a')]=function(_0x5338d7,_0x1ad1a9){var _0x5473d3={'raw':!![],'where':{'id':_0x5338d7['params']['id']}},_0x32140a={};_0x32140a['model']=_[_0x25a7('0x35')](db[_0x25a7('0x44')][_0x25a7('0x4b')]);_0x32140a[_0x25a7('0x34')]=_[_0x25a7('0x35')](_0x5338d7[_0x25a7('0x34')]);_0x32140a[_0x25a7('0x3f')]=_[_0x25a7('0x36')](_0x32140a['model'],_0x32140a[_0x25a7('0x34')]);_0x5473d3[_0x25a7('0x37')]=_[_0x25a7('0x36')](_0x32140a[_0x25a7('0x33')],qs['fields'](_0x5338d7[_0x25a7('0x34')][_0x25a7('0x38')]));_0x5473d3['attributes']=_0x5473d3[_0x25a7('0x37')][_0x25a7('0x39')]?_0x5473d3[_0x25a7('0x37')]:_0x32140a[_0x25a7('0x33')];if(_0x5338d7['query'][_0x25a7('0x45')]){_0x5473d3[_0x25a7('0x46')]=[{'all':!![]}];}_0x5473d3=_[_0x25a7('0x40')]({},_0x5473d3,_0x5338d7[_0x25a7('0x43')]);return db[_0x25a7('0x44')][_0x25a7('0x4c')](_0x5473d3)[_0x25a7('0x28')](handleEntityNotFound(_0x1ad1a9,null))[_0x25a7('0x28')](respondWithResult(_0x1ad1a9,null))[_0x25a7('0x49')](handleError(_0x1ad1a9,null));};exports[_0x25a7('0x4d')]=function(_0x54cf61,_0x1da481){return db[_0x25a7('0x44')]['create'](_0x54cf61[_0x25a7('0x4e')],{})[_0x25a7('0x28')](function(_0x2d3322){var _0x31fd8b=_0x54cf61[_0x25a7('0x4f')][_0x25a7('0x2a')]({'plain':!![]});if(!_0x31fd8b)throw new Error(_0x25a7('0x50'));if(_0x31fd8b[_0x25a7('0x51')]===_0x25a7('0x4f')){var _0x4c6a1f=_0x2d3322[_0x25a7('0x2a')]({'plain':!![]});var _0x1fd231=_0x25a7('0x2b');return db[_0x25a7('0x52')][_0x25a7('0x4c')]({'where':{'name':_0x1fd231,'userProfileId':_0x31fd8b[_0x25a7('0x53')]},'raw':!![]})[_0x25a7('0x28')](function(_0x43583a){if(_0x43583a&&_0x43583a[_0x25a7('0x54')]===0x0){return db[_0x25a7('0x55')][_0x25a7('0x4d')]({'name':_0x4c6a1f['name'],'resourceId':_0x4c6a1f['id'],'type':_0x43583a['name'],'sectionId':_0x43583a['id']},{})['then'](function(){return _0x2d3322;});}else{return _0x2d3322;}})[_0x25a7('0x49')](function(_0x2eec5a){logger[_0x25a7('0x2c')](_0x25a7('0x56'),_0x2eec5a);throw _0x2eec5a;});}return _0x2d3322;})[_0x25a7('0x28')](respondWithResult(_0x1da481,0xc9))[_0x25a7('0x49')](handleError(_0x1da481,null));};exports[_0x25a7('0x57')]=function(_0x4d253e,_0x3e0ce9){if(_0x4d253e[_0x25a7('0x4e')]['id']){delete _0x4d253e[_0x25a7('0x4e')]['id'];}return db[_0x25a7('0x44')][_0x25a7('0x4c')]({'where':{'id':_0x4d253e[_0x25a7('0x58')]['id']}})[_0x25a7('0x28')](handleEntityNotFound(_0x3e0ce9,null))[_0x25a7('0x28')](saveUpdates(_0x4d253e[_0x25a7('0x4e')],null))[_0x25a7('0x28')](respondWithResult(_0x3e0ce9,null))[_0x25a7('0x49')](handleError(_0x3e0ce9,null));};exports[_0x25a7('0x29')]=function(_0x5d8da0,_0x54df1e){return db['SmsQueue'][_0x25a7('0x4c')]({'where':{'id':_0x5d8da0[_0x25a7('0x58')]['id']}})['then'](handleEntityNotFound(_0x54df1e,null))[_0x25a7('0x28')](removeEntity(_0x54df1e,null))[_0x25a7('0x49')](handleError(_0x54df1e,null));};exports[_0x25a7('0x59')]=function(_0x25d8f0,_0x3ade87){return db['SmsQueue'][_0x25a7('0x59')]()[_0x25a7('0x28')](respondWithResult(_0x3ade87,null))[_0x25a7('0x49')](handleError(_0x3ade87,null));};exports[_0x25a7('0x5a')]=function(_0x3f82f8,_0x23fea8,_0x422b0a){var _0x2d7927={'raw':!![],'where':{}},_0x487cdd={},_0x43542d;return db[_0x25a7('0x44')][_0x25a7('0x5b')]({'where':{'id':_0x3f82f8['params']['id']}})['then'](handleEntityNotFound(_0x23fea8,null))['then'](function(_0x350510){if(_0x350510){_0x43542d=_0x350510[_0x25a7('0x2a')]({'plain':!![]});_0x487cdd[_0x25a7('0x33')]=_['keys'](db[_0x25a7('0x5c')][_0x25a7('0x4b')]);_0x487cdd[_0x25a7('0x34')]=_[_0x25a7('0x35')](_0x3f82f8[_0x25a7('0x34')]);_0x487cdd[_0x25a7('0x3f')]=_['intersection'](_0x487cdd[_0x25a7('0x33')],_0x487cdd[_0x25a7('0x34')]);_0x2d7927['attributes']=_[_0x25a7('0x36')](_0x487cdd[_0x25a7('0x33')],qs[_0x25a7('0x38')](_0x3f82f8['query'][_0x25a7('0x38')]));_0x2d7927[_0x25a7('0x37')]=_0x2d7927[_0x25a7('0x37')][_0x25a7('0x39')]?_0x2d7927[_0x25a7('0x37')]:_0x487cdd['model'];if(!_0x3f82f8[_0x25a7('0x34')][_0x25a7('0x3a')](_0x25a7('0x5d'))){_0x2d7927['limit']=qs[_0x25a7('0x23')](_0x3f82f8[_0x25a7('0x34')][_0x25a7('0x23')]);_0x2d7927[_0x25a7('0x25')]=qs['offset'](_0x3f82f8['query'][_0x25a7('0x25')]);}_0x2d7927[_0x25a7('0x3b')]=qs[_0x25a7('0x3c')](_0x3f82f8['query'][_0x25a7('0x3c')]);_0x2d7927['where']=qs[_0x25a7('0x3f')](_[_0x25a7('0x3e')](_0x3f82f8[_0x25a7('0x34')],_0x487cdd['filters']));_0x2d7927[_0x25a7('0x3d')][_0x25a7('0x5e')]=_0x350510['id'];if(_0x3f82f8[_0x25a7('0x34')][_0x25a7('0x5f')]){_0x2d7927['where']=_['merge'](_0x2d7927[_0x25a7('0x3d')],{'$or':_['map'](_0x2d7927[_0x25a7('0x37')],function(_0x2cd9eb){var _0x12996d={};_0x12996d[_0x2cd9eb]={'$like':'%'+_0x3f82f8[_0x25a7('0x34')][_0x25a7('0x5f')]+'%'};return _0x12996d;})});}_0x2d7927=_[_0x25a7('0x40')]({},_0x2d7927,_0x3f82f8[_0x25a7('0x43')]);return db[_0x25a7('0x5c')][_0x25a7('0x47')](_0x2d7927);}})[_0x25a7('0x28')](function(_0x1a2752){if(_0x1a2752){return db[_0x25a7('0x60')][_0x25a7('0x61')]({'where':{'id':_[_0x25a7('0x30')](_0x1a2752,_0x25a7('0x62')),'role':_0x25a7('0x63')},'attributes':['id',_0x25a7('0x2d'),_0x25a7('0x64'),_0x25a7('0x65'),_0x25a7('0x66')]});}})[_0x25a7('0x28')](function(_0x371340){if(_0x371340){return{'count':_0x371340[_0x25a7('0x24')],'rows':_[_0x25a7('0x30')](_0x371340['rows'],function(_0x2eae23){return{'membername':_0x2eae23[_0x25a7('0x2d')],'UserId':_0x2eae23['id'],'queue_name':_0x43542d[_0x25a7('0x2d')],'SmsQueueId':_0x43542d['id'],'interface':util['format'](_0x25a7('0x67'),'SIP',_0x2eae23[_0x25a7('0x2d')]),'penalty':0x0,'paused':_0x2eae23[_0x25a7('0x64')],'createdAt':_0x2eae23[_0x25a7('0x66')],'updatedAt':_0x2eae23[_0x25a7('0x65')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x25a7('0x28')](respondWithFilteredResult(_0x23fea8,_0x2d7927))[_0x25a7('0x49')](handleError(_0x23fea8,null));};exports[_0x25a7('0x68')]=function(_0x2addbc,_0x104969,_0xe334b2){var _0x10ea42={};var _0x1e2ae1={};var _0x34500f;var _0x4312af;return db[_0x25a7('0x44')][_0x25a7('0x5b')]({'where':{'id':_0x2addbc[_0x25a7('0x58')]['id']}})[_0x25a7('0x28')](handleEntityNotFound(_0x104969,null))[_0x25a7('0x28')](function(_0x5e5553){if(_0x5e5553){_0x34500f=_0x5e5553;_0x1e2ae1['model']=_['keys'](db[_0x25a7('0x69')][_0x25a7('0x4b')]);_0x1e2ae1[_0x25a7('0x34')]=_['keys'](_0x2addbc[_0x25a7('0x34')]);_0x1e2ae1[_0x25a7('0x3f')]=_[_0x25a7('0x36')](_0x1e2ae1[_0x25a7('0x33')],_0x1e2ae1[_0x25a7('0x34')]);_0x10ea42[_0x25a7('0x37')]=_[_0x25a7('0x36')](_0x1e2ae1[_0x25a7('0x33')],qs[_0x25a7('0x38')](_0x2addbc[_0x25a7('0x34')][_0x25a7('0x38')]));_0x10ea42[_0x25a7('0x37')]=_0x10ea42['attributes'][_0x25a7('0x39')]?_0x10ea42[_0x25a7('0x37')]:_0x1e2ae1[_0x25a7('0x33')];_0x10ea42[_0x25a7('0x3b')]=qs[_0x25a7('0x3c')](_0x2addbc[_0x25a7('0x34')][_0x25a7('0x3c')]);_0x10ea42[_0x25a7('0x3d')]=qs[_0x25a7('0x3f')](_[_0x25a7('0x3e')](_0x2addbc['query'],_0x1e2ae1['filters']));if(_0x2addbc['query'][_0x25a7('0x5f')]){_0x10ea42[_0x25a7('0x3d')]=_['merge'](_0x10ea42[_0x25a7('0x3d')],{'$or':_['map'](_0x10ea42[_0x25a7('0x37')],function(_0x373bab){var _0x3fcfe9={};_0x3fcfe9[_0x373bab]={'$like':'%'+_0x2addbc['query'][_0x25a7('0x5f')]+'%'};return _0x3fcfe9;})});}_0x10ea42=_['merge']({},_0x10ea42,_0x2addbc[_0x25a7('0x43')]);return _0x34500f['getTeams'](_0x10ea42);}})['then'](function(_0x2fa5ed){if(_0x2fa5ed){_0x4312af=_0x2fa5ed[_0x25a7('0x39')];if(!_0x2addbc[_0x25a7('0x34')]['hasOwnProperty']('nolimit')){_0x10ea42[_0x25a7('0x23')]=qs[_0x25a7('0x23')](_0x2addbc['query']['limit']);_0x10ea42[_0x25a7('0x25')]=qs[_0x25a7('0x25')](_0x2addbc[_0x25a7('0x34')]['offset']);}return _0x34500f[_0x25a7('0x68')](_0x10ea42);}})[_0x25a7('0x28')](function(_0x2ee387){if(_0x2ee387){return _0x2ee387?{'count':_0x4312af,'rows':_0x2ee387}:null;}})[_0x25a7('0x28')](respondWithResult(_0x104969,null))['catch'](handleError(_0x104969,null));};exports[_0x25a7('0x6a')]=function(_0x5409c2,_0x332a02,_0x34a145){var _0x561e7a=_0x5409c2[_0x25a7('0x4e')]['ids'];return db['Team'][_0x25a7('0x47')]({'where':{'id':_0x561e7a},'attributes':['id'],'include':[{'model':db[_0x25a7('0x60')],'as':_0x25a7('0x6b'),'attributes':['id',_0x25a7('0x2d'),_0x25a7('0x6c'),_0x25a7('0x6d'),_0x25a7('0x6e')],'raw':!![]}]})['then'](function(_0x14e367){if(_0x14e367){var _0x530850=_[_0x25a7('0x6f')](_0x14e367,function(_0xb93503){var _0x80773c=_0xb93503[_0x25a7('0x2a')]({'plain':!![]});return _0x80773c['Agents'];});return db[_0x25a7('0x44')][_0x25a7('0x4c')]({'where':{'id':_0x5409c2[_0x25a7('0x58')]['id']}})[_0x25a7('0x28')](function(_0x24d3b0){return db[_0x25a7('0x70')][_0x25a7('0x71')](function(_0x7cc549){return _0x24d3b0[_0x25a7('0x6a')](_0x561e7a,{'transaction':_0x7cc549})[_0x25a7('0x28')](function(){return BPromise[_0x25a7('0x72')](_0x530850,function(_0x3cddd9){return db['UserSmsQueue'][_0x25a7('0x73')]({'where':{'UserId':_0x3cddd9['id'],'SmsQueueId':_0x5409c2[_0x25a7('0x58')]['id']},'transaction':_0x7cc549});});})[_0x25a7('0x28')](function(){_0x530850[_0x25a7('0x74')](function(_0x2c509c){socket[_0x25a7('0x75')](_0x25a7('0x76'),{'UserId':_0x2c509c['id'],'SmsQueueId':_0x24d3b0['id']});});});});});}})[_0x25a7('0x28')](respondWithStatusCode(_0x332a02,null))[_0x25a7('0x49')](handleError(_0x332a02,null));};exports[_0x25a7('0x77')]=function(_0x520dec,_0x5cb746,_0x1ab2dc){return db[_0x25a7('0x69')][_0x25a7('0x47')]({'where':{'id':_0x520dec[_0x25a7('0x34')][_0x25a7('0x78')]},'attributes':['id'],'include':[{'model':db[_0x25a7('0x60')],'as':_0x25a7('0x6b'),'attributes':['id'],'raw':!![]}]})[_0x25a7('0x28')](handleEntityNotFound(_0x5cb746,null))[_0x25a7('0x28')](function(_0x111069){var _0x3bc908=_['map'](_0x111069,'id');var _0x5d9b4e=[];var _0x337720=[];var _0xa7d341=squel['select']();_0xa7d341[_0x25a7('0x79')](_0x25a7('0x7a'))['from'](_0x25a7('0x7b'),'tq')[_0x25a7('0x7c')]('user_has_teams','ut',_0x25a7('0x7d'))[_0x25a7('0x3d')](_0x25a7('0x7e'),_0x520dec['params']['id']);for(var _0x2ce03a=0x0;_0x2ce03a<_0x111069[_0x25a7('0x39')];_0x2ce03a+=0x1){let _0x3d2b2c=_0x111069[_0x2ce03a];for(var _0x4796b3=0x0;_0x4796b3<_0x3d2b2c[_0x25a7('0x6b')][_0x25a7('0x39')];_0x4796b3+=0x1){let _0x473d9d=_0x3d2b2c['Agents'][_0x4796b3];var _0x98ff80=_0xa7d341[_0x25a7('0x7f')]();_0x98ff80['where'](_0x25a7('0x80'),_0x473d9d['id']);_0x337720['push'](db[_0x25a7('0x70')][_0x25a7('0x34')](_0x98ff80['toString'](),{'type':db[_0x25a7('0x70')]['QueryTypes']['SELECT']})[_0x25a7('0x28')](function(_0x8a9479){if(_0x8a9479[_0x25a7('0x39')]===0x1){return _0x473d9d['id'];}else{var _0x70dd67=_['every'](_['map'](_0x8a9479,_0x25a7('0x81')),function(_0x5696cb){return _['includes'](_0x3bc908,_0x5696cb);});if(_0x70dd67){return _0x473d9d['id'];}}}));}}return BPromise[_0x25a7('0x82')](_0x337720)[_0x25a7('0x28')](function(_0x1868bc){_0x5d9b4e=_(_0x5d9b4e)[_0x25a7('0x83')](_0x1868bc)['compact']()[_0x25a7('0x84')]();return db['SmsQueue'][_0x25a7('0x4c')]({'where':{'id':_0x520dec[_0x25a7('0x58')]['id']}})[_0x25a7('0x28')](function(_0x2f4215){return db[_0x25a7('0x70')]['transaction'](function(_0x423efd){return _0x2f4215[_0x25a7('0x77')](_0x520dec[_0x25a7('0x34')][_0x25a7('0x78')],{'transaction':_0x423efd})[_0x25a7('0x28')](function(){if(!_[_0x25a7('0x85')](_0x5d9b4e)){return _0x2f4215[_0x25a7('0x86')](_0x5d9b4e,{'transaction':_0x423efd});}})['then'](function(){_0x5d9b4e[_0x25a7('0x74')](function(_0x36ff39){socket['emit'](_0x25a7('0x87'),{'UserId':_0x36ff39,'SmsQueueId':_0x2f4215['id']});});});});});});})['then'](respondWithStatusCode(_0x5cb746,null))['catch'](handleError(_0x5cb746,null));};exports['addAgents']=function(_0x267e7d,_0xdad71f,_0x428022){return db[_0x25a7('0x44')][_0x25a7('0x4c')]({'where':{'id':_0x267e7d['params']['id']}})[_0x25a7('0x28')](handleEntityNotFound(_0xdad71f,null))[_0x25a7('0x28')](function(_0x57b98c){if(_0x57b98c){return _0x57b98c[_0x25a7('0x88')](_0x267e7d[_0x25a7('0x4e')]['ids'],_[_0x25a7('0x89')](_0x267e7d['body'],[_0x25a7('0x78'),'id'])||{})[_0x25a7('0x8a')](function(_0x564a94){for(var _0x45fef7=0x0;_0x45fef7<_0x267e7d[_0x25a7('0x4e')][_0x25a7('0x78')]['length'];_0x45fef7+=0x1){socket['emit'](_0x25a7('0x76'),{'UserId':Number(_0x267e7d[_0x25a7('0x4e')][_0x25a7('0x78')][_0x45fef7]),'SmsQueueId':Number(_0x267e7d[_0x25a7('0x58')]['id'])});}return _0x564a94;});}})['then'](respondWithResult(_0xdad71f,null))[_0x25a7('0x49')](handleError(_0xdad71f,null));};exports['removeAgents']=function(_0x3c4aac,_0x438b61,_0x2c0b26){return db[_0x25a7('0x44')][_0x25a7('0x4c')]({'where':{'id':_0x3c4aac[_0x25a7('0x58')]['id']}})['then'](handleEntityNotFound(_0x438b61,null))[_0x25a7('0x28')](function(_0x2fe12f){if(_0x2fe12f){return _0x2fe12f[_0x25a7('0x86')](_0x3c4aac[_0x25a7('0x34')]['ids'])[_0x25a7('0x28')](function(){if(_[_0x25a7('0x8b')](_0x3c4aac[_0x25a7('0x34')][_0x25a7('0x78')])){for(var _0x59ee71=0x0;_0x59ee71<_0x3c4aac[_0x25a7('0x34')]['ids'][_0x25a7('0x39')];_0x59ee71+=0x1){socket['emit']('userSmsQueue:remove',{'UserId':Number(_0x3c4aac['query'][_0x25a7('0x78')][_0x59ee71]),'SmsQueueId':Number(_0x3c4aac['params']['id'])});}}else{socket[_0x25a7('0x75')]('userSmsQueue:remove',{'UserId':Number(_0x3c4aac[_0x25a7('0x34')]['ids']),'SmsQueueId':Number(_0x3c4aac[_0x25a7('0x58')]['id'])});}});}})[_0x25a7('0x28')](respondWithStatusCode(_0x438b61,null))[_0x25a7('0x49')](handleError(_0x438b61,null));};exports[_0x25a7('0x8c')]=function(_0x2743c4,_0x19fecd,_0x14ae18){var _0x3bc9ba={};var _0x553cc6={};var _0x287b8b;var _0x4eb6eb;return db[_0x25a7('0x44')][_0x25a7('0x5b')]({'where':{'id':_0x2743c4['params']['id']}})[_0x25a7('0x28')](handleEntityNotFound(_0x19fecd,null))[_0x25a7('0x28')](function(_0x258fcc){if(_0x258fcc){_0x287b8b=_0x258fcc;_0x553cc6[_0x25a7('0x33')]=_[_0x25a7('0x35')](db[_0x25a7('0x60')][_0x25a7('0x4b')]);_0x553cc6['query']=_[_0x25a7('0x35')](_0x2743c4[_0x25a7('0x34')]);_0x553cc6[_0x25a7('0x3f')]=_[_0x25a7('0x36')](_0x553cc6[_0x25a7('0x33')],_0x553cc6[_0x25a7('0x34')]);_0x3bc9ba[_0x25a7('0x37')]=_[_0x25a7('0x36')](_0x553cc6[_0x25a7('0x33')],qs[_0x25a7('0x38')](_0x2743c4[_0x25a7('0x34')]['fields']));_0x3bc9ba['attributes']=_0x3bc9ba[_0x25a7('0x37')]['length']?_0x3bc9ba[_0x25a7('0x37')]:_0x553cc6[_0x25a7('0x33')];_0x3bc9ba[_0x25a7('0x3b')]=qs['sort'](_0x2743c4[_0x25a7('0x34')]['sort']);_0x3bc9ba['where']=qs['filters'](_[_0x25a7('0x3e')](_0x2743c4[_0x25a7('0x34')],_0x553cc6[_0x25a7('0x3f')]));if(_0x2743c4['query'][_0x25a7('0x5f')]){_0x3bc9ba[_0x25a7('0x3d')]=_[_0x25a7('0x40')](_0x3bc9ba[_0x25a7('0x3d')],{'$or':_[_0x25a7('0x30')](_0x3bc9ba[_0x25a7('0x37')],function(_0x39cc46){var _0x2de963={};_0x2de963[_0x39cc46]={'$like':'%'+_0x2743c4[_0x25a7('0x34')][_0x25a7('0x5f')]+'%'};return _0x2de963;})});}_0x3bc9ba=_['merge']({},_0x3bc9ba,_0x2743c4[_0x25a7('0x43')]);return _0x287b8b[_0x25a7('0x8c')](_0x3bc9ba);}})[_0x25a7('0x28')](function(_0x5a43a7){if(_0x5a43a7){_0x4eb6eb=_0x5a43a7[_0x25a7('0x39')];if(!_0x2743c4[_0x25a7('0x34')]['hasOwnProperty'](_0x25a7('0x5d'))){_0x3bc9ba[_0x25a7('0x23')]=qs[_0x25a7('0x23')](_0x2743c4[_0x25a7('0x34')][_0x25a7('0x23')]);_0x3bc9ba['offset']=qs[_0x25a7('0x25')](_0x2743c4[_0x25a7('0x34')][_0x25a7('0x25')]);}return _0x287b8b['getAgents'](_0x3bc9ba);}})[_0x25a7('0x28')](function(_0x32efb7){if(_0x32efb7){return _0x32efb7?{'count':_0x4eb6eb,'rows':_0x32efb7}:null;}})[_0x25a7('0x28')](respondWithResult(_0x19fecd,null))[_0x25a7('0x49')](handleError(_0x19fecd,null));};