edd5ab6b0d3719d4a1f1e31172d1ec2973a5a544
[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 _0x26cf=['updatedAt','createdAt','format','%s/%s','SIP','getTeams','findOne','Team','Agents','online','voicePause','interface','flatMap','sequelize','transaction','addTeams','each','emit','userSmsQueue:save','removeTeams','ids','select','field','from','team_has_sms_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','push','toString','SELECT','every','TeamId','all','compact','isEmpty','forEach','userSmsQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','eml-format','rimraf','fast-json-patch','moment','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','register','sendStatus','status','end','json','count','offset','limit','set','reject','update','then','destroy','error','name','index','SmsQueue','query','keys','filters','intersection','model','attributes','fields','length','order','sort','where','pick','merge','map','VIRTUAL','options','includeAll','include','findAll','rows','rawAttributes','find','catch','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','SmsQueues','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','describe','hasOwnProperty','nolimit','SmsQueueId','filter','UserSmsQueue','User','UserId','agent','smsPause'];(function(_0x32b42a,_0x225312){var _0x9619c0=function(_0x564283){while(--_0x564283){_0x32b42a['push'](_0x32b42a['shift']());}};_0x9619c0(++_0x225312);}(_0x26cf,0x135));var _0xf26c=function(_0x293a20,_0xf970dc){_0x293a20=_0x293a20-0x0;var _0x5524db=_0x26cf[_0x293a20];return _0x5524db;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xf26c('0x0'));var rimraf=require(_0xf26c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf26c('0x2'));var rp=require('request-promise');var moment=require(_0xf26c('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xf26c('0x4'));var util=require(_0xf26c('0x5'));var path=require('path');var sox=require(_0xf26c('0x6'));var csv=require(_0xf26c('0x7'));var ejs=require(_0xf26c('0x8'));var fs=require('fs');var _=require(_0xf26c('0x9'));var squel=require(_0xf26c('0xa'));var crypto=require(_0xf26c('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xf26c('0x7'));var querystring=require(_0xf26c('0xc'));var Papa=require(_0xf26c('0xd'));var Redis=require(_0xf26c('0xe'));var authService=require(_0xf26c('0xf'));var qs=require(_0xf26c('0x10'));var hardwareService=require(_0xf26c('0x11'));var logger=require(_0xf26c('0x12'))('api');var utils=require(_0xf26c('0x13'));var config=require(_0xf26c('0x14'));var db=require(_0xf26c('0x15'))['db'];config[_0xf26c('0x16')]=_[_0xf26c('0x17')](config['redis'],{'host':_0xf26c('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xf26c('0x16')]));require('./smsQueue.socket')[_0xf26c('0x19')](socket);function respondWithStatusCode(_0x5e43e5,_0x55166b){_0x55166b=_0x55166b||0xcc;return function(_0x58669e){if(_0x58669e){return _0x5e43e5[_0xf26c('0x1a')](_0x55166b);}return _0x5e43e5[_0xf26c('0x1b')](_0x55166b)[_0xf26c('0x1c')]();};}function respondWithResult(_0x34dd09,_0x57c375){_0x57c375=_0x57c375||0xc8;return function(_0x4c3d77){if(_0x4c3d77){return _0x34dd09[_0xf26c('0x1b')](_0x57c375)[_0xf26c('0x1d')](_0x4c3d77);}};}function respondWithFilteredResult(_0x4f667c,_0x1db484){return function(_0x7cb19e){if(_0x7cb19e){var _0x454f32=_0x7cb19e[_0xf26c('0x1e')],_0x375009=_0x1db484[_0xf26c('0x1f')],_0x2ea1ac=_0x1db484[_0xf26c('0x1f')]+_0x1db484[_0xf26c('0x20')],_0x570bfb;if(_0x2ea1ac>=_0x454f32){_0x2ea1ac=_0x454f32;_0x570bfb=0xc8;}else{_0x570bfb=0xce;}_0x4f667c[_0xf26c('0x1b')](_0x570bfb);return _0x4f667c[_0xf26c('0x21')]('Content-Range',_0x375009+'-'+_0x2ea1ac+'/'+_0x454f32)[_0xf26c('0x1d')](_0x7cb19e);}return null;};}function patchUpdates(_0x3e01b9){return function(_0x5f3e71){try{jsonpatch['apply'](_0x5f3e71,_0x3e01b9,!![]);}catch(_0x15b059){return BPromise[_0xf26c('0x22')](_0x15b059);}return _0x5f3e71['save']();};}function saveUpdates(_0x4e621e,_0x21781f){return function(_0x265cc3){if(_0x265cc3){return _0x265cc3[_0xf26c('0x23')](_0x4e621e)['then'](function(_0x37d8fb){return _0x37d8fb;});}return null;};}function removeEntity(_0x146991,_0x487f01){return function(_0x2be84b){if(_0x2be84b){return _0x2be84b['destroy']()[_0xf26c('0x24')](function(){var _0x11806d=_0x2be84b['get']({'plain':!![]});var _0x1014b4='SmsQueues';return db['UserProfileResource'][_0xf26c('0x25')]({'where':{'type':_0x1014b4,'resourceId':_0x11806d['id']}})[_0xf26c('0x24')](function(){return _0x2be84b;});})[_0xf26c('0x24')](function(){_0x146991[_0xf26c('0x1b')](0xcc)[_0xf26c('0x1c')]();});}};}function handleEntityNotFound(_0x373742,_0x55932a){return function(_0x5248ec){if(!_0x5248ec){_0x373742[_0xf26c('0x1a')](0x194);}return _0x5248ec;};}function handleError(_0x365fdb,_0x2867bf){_0x2867bf=_0x2867bf||0x1f4;return function(_0x33379b){logger[_0xf26c('0x26')](_0x33379b['stack']);if(_0x33379b['name']){delete _0x33379b[_0xf26c('0x27')];}_0x365fdb['status'](_0x2867bf)['send'](_0x33379b);};}exports[_0xf26c('0x28')]=function(_0x6cd75e,_0x116a93){var _0x12676f={},_0x4b6b2b={},_0x191377={'count':0x0,'rows':[]};var _0x2545a4=db[_0xf26c('0x29')]['rawAttributes'];_0x4b6b2b['model']=_['keys'](_0x2545a4);_0x4b6b2b[_0xf26c('0x2a')]=_[_0xf26c('0x2b')](_0x6cd75e['query']);_0x4b6b2b[_0xf26c('0x2c')]=_[_0xf26c('0x2d')](_0x4b6b2b[_0xf26c('0x2e')],_0x4b6b2b[_0xf26c('0x2a')]);_0x12676f[_0xf26c('0x2f')]=_[_0xf26c('0x2d')](_0x4b6b2b[_0xf26c('0x2e')],qs[_0xf26c('0x30')](_0x6cd75e[_0xf26c('0x2a')][_0xf26c('0x30')]));_0x12676f[_0xf26c('0x2f')]=_0x12676f['attributes'][_0xf26c('0x31')]?_0x12676f[_0xf26c('0x2f')]:_0x4b6b2b[_0xf26c('0x2e')];if(!_0x6cd75e['query']['hasOwnProperty']('nolimit')){_0x12676f[_0xf26c('0x20')]=qs[_0xf26c('0x20')](_0x6cd75e[_0xf26c('0x2a')][_0xf26c('0x20')]);_0x12676f[_0xf26c('0x1f')]=qs['offset'](_0x6cd75e[_0xf26c('0x2a')][_0xf26c('0x1f')]);}_0x12676f[_0xf26c('0x32')]=qs[_0xf26c('0x33')](_0x6cd75e['query']['sort']);_0x12676f[_0xf26c('0x34')]=qs[_0xf26c('0x2c')](_[_0xf26c('0x35')](_0x6cd75e['query'],_0x4b6b2b[_0xf26c('0x2c')]));if(_0x6cd75e[_0xf26c('0x2a')]['filter']){_0x12676f['where']=_[_0xf26c('0x36')](_0x12676f[_0xf26c('0x34')],{'$or':_[_0xf26c('0x37')](_0x2545a4,function(_0x1c931d){if(_0x1c931d['type']['key']!==_0xf26c('0x38')){var _0x598cd6={};_0x598cd6[_0x1c931d['field']]={'$like':'%'+_0x6cd75e[_0xf26c('0x2a')]['filter']+'%'};return _0x598cd6;}})});}_0x12676f=_[_0xf26c('0x36')]({},_0x12676f,_0x6cd75e[_0xf26c('0x39')]);var _0x1c3a05={'where':_0x12676f[_0xf26c('0x34')]};return db[_0xf26c('0x29')][_0xf26c('0x1e')](_0x1c3a05)['then'](function(_0x3fa25f){_0x191377[_0xf26c('0x1e')]=_0x3fa25f;if(_0x6cd75e['query'][_0xf26c('0x3a')]){_0x12676f[_0xf26c('0x3b')]=[{'all':!![]}];}return db[_0xf26c('0x29')][_0xf26c('0x3c')](_0x12676f);})[_0xf26c('0x24')](function(_0x4dc931){_0x191377[_0xf26c('0x3d')]=_0x4dc931;return _0x191377;})['then'](respondWithFilteredResult(_0x116a93,_0x12676f))['catch'](handleError(_0x116a93,null));};exports['show']=function(_0x298c3b,_0xf82af4){var _0xcb1f91={'raw':!![],'where':{'id':_0x298c3b['params']['id']}},_0x5ed612={};_0x5ed612[_0xf26c('0x2e')]=_[_0xf26c('0x2b')](db[_0xf26c('0x29')][_0xf26c('0x3e')]);_0x5ed612[_0xf26c('0x2a')]=_[_0xf26c('0x2b')](_0x298c3b['query']);_0x5ed612[_0xf26c('0x2c')]=_['intersection'](_0x5ed612[_0xf26c('0x2e')],_0x5ed612[_0xf26c('0x2a')]);_0xcb1f91[_0xf26c('0x2f')]=_[_0xf26c('0x2d')](_0x5ed612['model'],qs[_0xf26c('0x30')](_0x298c3b['query']['fields']));_0xcb1f91[_0xf26c('0x2f')]=_0xcb1f91['attributes'][_0xf26c('0x31')]?_0xcb1f91[_0xf26c('0x2f')]:_0x5ed612['model'];if(_0x298c3b[_0xf26c('0x2a')][_0xf26c('0x3a')]){_0xcb1f91[_0xf26c('0x3b')]=[{'all':!![]}];}_0xcb1f91=_[_0xf26c('0x36')]({},_0xcb1f91,_0x298c3b['options']);return db[_0xf26c('0x29')][_0xf26c('0x3f')](_0xcb1f91)['then'](handleEntityNotFound(_0xf82af4,null))[_0xf26c('0x24')](respondWithResult(_0xf82af4,null))[_0xf26c('0x40')](handleError(_0xf82af4,null));};exports[_0xf26c('0x41')]=function(_0x425d56,_0x354b6f){return db['SmsQueue']['create'](_0x425d56['body'],{})[_0xf26c('0x24')](function(_0x457aa8){var _0x542ad6=_0x425d56[_0xf26c('0x42')][_0xf26c('0x43')]({'plain':!![]});if(!_0x542ad6)throw new Error(_0xf26c('0x44'));if(_0x542ad6['role']==='user'){var _0x141659=_0x457aa8[_0xf26c('0x43')]({'plain':!![]});var _0x2a4489=_0xf26c('0x45');return db[_0xf26c('0x46')][_0xf26c('0x3f')]({'where':{'name':_0x2a4489,'userProfileId':_0x542ad6[_0xf26c('0x47')]},'raw':!![]})[_0xf26c('0x24')](function(_0x43bac0){if(_0x43bac0&&_0x43bac0[_0xf26c('0x48')]===0x0){return db[_0xf26c('0x49')]['create']({'name':_0x141659['name'],'resourceId':_0x141659['id'],'type':_0x43bac0[_0xf26c('0x27')],'sectionId':_0x43bac0['id']},{})[_0xf26c('0x24')](function(){return _0x457aa8;});}else{return _0x457aa8;}})[_0xf26c('0x40')](function(_0x411100){logger[_0xf26c('0x26')](_0xf26c('0x4a'),_0x411100);throw _0x411100;});}return _0x457aa8;})[_0xf26c('0x24')](respondWithResult(_0x354b6f,0xc9))[_0xf26c('0x40')](handleError(_0x354b6f,null));};exports[_0xf26c('0x23')]=function(_0x3641e3,_0x255818){if(_0x3641e3[_0xf26c('0x4b')]['id']){delete _0x3641e3[_0xf26c('0x4b')]['id'];}return db['SmsQueue'][_0xf26c('0x3f')]({'where':{'id':_0x3641e3[_0xf26c('0x4c')]['id']}})[_0xf26c('0x24')](handleEntityNotFound(_0x255818,null))['then'](saveUpdates(_0x3641e3['body'],null))[_0xf26c('0x24')](respondWithResult(_0x255818,null))['catch'](handleError(_0x255818,null));};exports[_0xf26c('0x25')]=function(_0x6e367,_0x13921b){return db[_0xf26c('0x29')][_0xf26c('0x3f')]({'where':{'id':_0x6e367['params']['id']}})[_0xf26c('0x24')](handleEntityNotFound(_0x13921b,null))[_0xf26c('0x24')](removeEntity(_0x13921b,null))['catch'](handleError(_0x13921b,null));};exports[_0xf26c('0x4d')]=function(_0x32656a,_0x35f82a){return db[_0xf26c('0x29')]['describe']()[_0xf26c('0x24')](respondWithResult(_0x35f82a,null))[_0xf26c('0x40')](handleError(_0x35f82a,null));};exports['getMembers']=function(_0xceed90,_0x4410be,_0x4e7c44){var _0x53329b={'raw':!![],'where':{}},_0x4d44d3={},_0x6ed10b;return db[_0xf26c('0x29')]['findOne']({'where':{'id':_0xceed90[_0xf26c('0x4c')]['id']}})[_0xf26c('0x24')](handleEntityNotFound(_0x4410be,null))[_0xf26c('0x24')](function(_0x1959b7){if(_0x1959b7){_0x6ed10b=_0x1959b7['get']({'plain':!![]});_0x4d44d3['model']=_[_0xf26c('0x2b')](db['UserSmsQueue'][_0xf26c('0x3e')]);_0x4d44d3[_0xf26c('0x2a')]=_[_0xf26c('0x2b')](_0xceed90['query']);_0x4d44d3[_0xf26c('0x2c')]=_[_0xf26c('0x2d')](_0x4d44d3[_0xf26c('0x2e')],_0x4d44d3[_0xf26c('0x2a')]);_0x53329b[_0xf26c('0x2f')]=_['intersection'](_0x4d44d3[_0xf26c('0x2e')],qs[_0xf26c('0x30')](_0xceed90[_0xf26c('0x2a')][_0xf26c('0x30')]));_0x53329b['attributes']=_0x53329b[_0xf26c('0x2f')][_0xf26c('0x31')]?_0x53329b['attributes']:_0x4d44d3[_0xf26c('0x2e')];if(!_0xceed90[_0xf26c('0x2a')][_0xf26c('0x4e')](_0xf26c('0x4f'))){_0x53329b['limit']=qs[_0xf26c('0x20')](_0xceed90['query'][_0xf26c('0x20')]);_0x53329b[_0xf26c('0x1f')]=qs[_0xf26c('0x1f')](_0xceed90[_0xf26c('0x2a')][_0xf26c('0x1f')]);}_0x53329b[_0xf26c('0x32')]=qs[_0xf26c('0x33')](_0xceed90[_0xf26c('0x2a')][_0xf26c('0x33')]);_0x53329b[_0xf26c('0x34')]=qs[_0xf26c('0x2c')](_[_0xf26c('0x35')](_0xceed90['query'],_0x4d44d3[_0xf26c('0x2c')]));_0x53329b[_0xf26c('0x34')][_0xf26c('0x50')]=_0x1959b7['id'];if(_0xceed90[_0xf26c('0x2a')]['filter']){_0x53329b[_0xf26c('0x34')]=_[_0xf26c('0x36')](_0x53329b[_0xf26c('0x34')],{'$or':_[_0xf26c('0x37')](_0x53329b[_0xf26c('0x2f')],function(_0x3d4fcd){var _0x5ce5ab={};_0x5ce5ab[_0x3d4fcd]={'$like':'%'+_0xceed90['query'][_0xf26c('0x51')]+'%'};return _0x5ce5ab;})});}_0x53329b=_[_0xf26c('0x36')]({},_0x53329b,_0xceed90[_0xf26c('0x39')]);return db[_0xf26c('0x52')]['findAll'](_0x53329b);}})['then'](function(_0x4bbb93){if(_0x4bbb93){return db[_0xf26c('0x53')]['findAndCountAll']({'where':{'id':_[_0xf26c('0x37')](_0x4bbb93,_0xf26c('0x54')),'role':_0xf26c('0x55')},'attributes':['id',_0xf26c('0x27'),_0xf26c('0x56'),_0xf26c('0x57'),_0xf26c('0x58')]});}})[_0xf26c('0x24')](function(_0x229985){if(_0x229985){return{'count':_0x229985[_0xf26c('0x1e')],'rows':_['map'](_0x229985[_0xf26c('0x3d')],function(_0xe1cba6){return{'membername':_0xe1cba6[_0xf26c('0x27')],'UserId':_0xe1cba6['id'],'queue_name':_0x6ed10b[_0xf26c('0x27')],'SmsQueueId':_0x6ed10b['id'],'interface':util[_0xf26c('0x59')](_0xf26c('0x5a'),_0xf26c('0x5b'),_0xe1cba6['name']),'penalty':0x0,'paused':_0xe1cba6['smsPause'],'createdAt':_0xe1cba6[_0xf26c('0x58')],'updatedAt':_0xe1cba6[_0xf26c('0x57')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xf26c('0x24')](respondWithFilteredResult(_0x4410be,_0x53329b))[_0xf26c('0x40')](handleError(_0x4410be,null));};exports[_0xf26c('0x5c')]=function(_0x494710,_0x48f70d,_0x87e7e9){var _0x27bb1b={};var _0x1bb750={};var _0x70487c;var _0x49cbd8;return db[_0xf26c('0x29')][_0xf26c('0x5d')]({'where':{'id':_0x494710['params']['id']}})['then'](handleEntityNotFound(_0x48f70d,null))['then'](function(_0x43001a){if(_0x43001a){_0x70487c=_0x43001a;_0x1bb750[_0xf26c('0x2e')]=_['keys'](db[_0xf26c('0x5e')]['rawAttributes']);_0x1bb750[_0xf26c('0x2a')]=_['keys'](_0x494710[_0xf26c('0x2a')]);_0x1bb750[_0xf26c('0x2c')]=_[_0xf26c('0x2d')](_0x1bb750[_0xf26c('0x2e')],_0x1bb750[_0xf26c('0x2a')]);_0x27bb1b['attributes']=_['intersection'](_0x1bb750[_0xf26c('0x2e')],qs[_0xf26c('0x30')](_0x494710[_0xf26c('0x2a')][_0xf26c('0x30')]));_0x27bb1b['attributes']=_0x27bb1b[_0xf26c('0x2f')][_0xf26c('0x31')]?_0x27bb1b[_0xf26c('0x2f')]:_0x1bb750[_0xf26c('0x2e')];_0x27bb1b[_0xf26c('0x32')]=qs[_0xf26c('0x33')](_0x494710[_0xf26c('0x2a')]['sort']);_0x27bb1b[_0xf26c('0x34')]=qs[_0xf26c('0x2c')](_[_0xf26c('0x35')](_0x494710[_0xf26c('0x2a')],_0x1bb750[_0xf26c('0x2c')]));if(_0x494710[_0xf26c('0x2a')][_0xf26c('0x51')]){_0x27bb1b[_0xf26c('0x34')]=_[_0xf26c('0x36')](_0x27bb1b[_0xf26c('0x34')],{'$or':_['map'](_0x27bb1b[_0xf26c('0x2f')],function(_0x2d1f8d){var _0x2253df={};_0x2253df[_0x2d1f8d]={'$like':'%'+_0x494710[_0xf26c('0x2a')][_0xf26c('0x51')]+'%'};return _0x2253df;})});}_0x27bb1b=_[_0xf26c('0x36')]({},_0x27bb1b,_0x494710[_0xf26c('0x39')]);return _0x70487c[_0xf26c('0x5c')](_0x27bb1b);}})[_0xf26c('0x24')](function(_0x901c11){if(_0x901c11){_0x49cbd8=_0x901c11[_0xf26c('0x31')];if(!_0x494710[_0xf26c('0x2a')][_0xf26c('0x4e')](_0xf26c('0x4f'))){_0x27bb1b[_0xf26c('0x20')]=qs['limit'](_0x494710[_0xf26c('0x2a')][_0xf26c('0x20')]);_0x27bb1b[_0xf26c('0x1f')]=qs[_0xf26c('0x1f')](_0x494710[_0xf26c('0x2a')][_0xf26c('0x1f')]);}return _0x70487c[_0xf26c('0x5c')](_0x27bb1b);}})[_0xf26c('0x24')](function(_0x499985){if(_0x499985){return _0x499985?{'count':_0x49cbd8,'rows':_0x499985}:null;}})[_0xf26c('0x24')](respondWithResult(_0x48f70d,null))[_0xf26c('0x40')](handleError(_0x48f70d,null));};exports['addTeams']=function(_0x4d93e3,_0x402149,_0xde8e70){var _0x533ea1=_0x4d93e3[_0xf26c('0x4b')]['teams'];return db['Team']['findAll']({'where':{'id':_[_0xf26c('0x37')](_0x533ea1,'id')},'attributes':['id'],'include':[{'model':db[_0xf26c('0x53')],'as':_0xf26c('0x5f'),'attributes':['id','name',_0xf26c('0x60'),_0xf26c('0x61'),_0xf26c('0x62')],'raw':!![]}]})[_0xf26c('0x24')](function(_0xa4b804){if(_0xa4b804){var _0x4822d7=_[_0xf26c('0x63')](_0xa4b804,function(_0x3c57c9){var _0x33e779=_0x3c57c9['get']({'plain':!![]});return _0x33e779['Agents'];});return db[_0xf26c('0x29')][_0xf26c('0x3f')]({'where':{'id':_0x4d93e3[_0xf26c('0x4c')]['id']}})['then'](function(_0x1a7a44){return db[_0xf26c('0x64')][_0xf26c('0x65')](function(_0x5818ec){return _0x1a7a44[_0xf26c('0x66')](_[_0xf26c('0x37')](_0x533ea1,'id'),{'transaction':_0x5818ec})[_0xf26c('0x24')](function(){return BPromise[_0xf26c('0x67')](_0x4822d7,function(_0x343ffc){return db[_0xf26c('0x52')]['findOrCreate']({'where':{'UserId':_0x343ffc['id'],'SmsQueueId':_0x4d93e3[_0xf26c('0x4c')]['id']},'transaction':_0x5818ec});});})[_0xf26c('0x24')](function(){_0x4822d7['forEach'](function(_0x38426b){socket[_0xf26c('0x68')](_0xf26c('0x69'),{'UserId':_0x38426b['id'],'SmsQueueId':_0x1a7a44['id']});});});});});}})[_0xf26c('0x24')](respondWithStatusCode(_0x402149,null))[_0xf26c('0x40')](handleError(_0x402149,null));};exports[_0xf26c('0x6a')]=function(_0x54efe2,_0x4ee617,_0xa725af){return db[_0xf26c('0x5e')][_0xf26c('0x3c')]({'where':{'id':_0x54efe2[_0xf26c('0x2a')][_0xf26c('0x6b')]},'attributes':['id'],'include':[{'model':db[_0xf26c('0x53')],'as':_0xf26c('0x5f'),'attributes':['id'],'raw':!![]}]})[_0xf26c('0x24')](handleEntityNotFound(_0x4ee617,null))[_0xf26c('0x24')](function(_0x2f4210){var _0x5e732d=_['map'](_0x2f4210,'id');var _0x259a1f=[];var _0x2f917e=[];var _0x491da6=squel[_0xf26c('0x6c')]();_0x491da6[_0xf26c('0x6d')]('tq.TeamId')[_0xf26c('0x6e')](_0xf26c('0x6f'),'tq')[_0xf26c('0x70')](_0xf26c('0x71'),'ut',_0xf26c('0x72'))[_0xf26c('0x34')]('SmsQueueId\x20=\x20?',_0x54efe2[_0xf26c('0x4c')]['id']);for(var _0x12dae0=0x0;_0x12dae0<_0x2f4210[_0xf26c('0x31')];_0x12dae0+=0x1){let _0x582c01=_0x2f4210[_0x12dae0];for(var _0x4c2dcf=0x0;_0x4c2dcf<_0x582c01[_0xf26c('0x5f')][_0xf26c('0x31')];_0x4c2dcf+=0x1){let _0xb6ce25=_0x582c01['Agents'][_0x4c2dcf];var _0x26ff38=_0x491da6[_0xf26c('0x73')]();_0x26ff38['where']('ut.UserId\x20=\x20?',_0xb6ce25['id']);_0x2f917e[_0xf26c('0x74')](db[_0xf26c('0x64')]['query'](_0x26ff38[_0xf26c('0x75')](),{'type':db['sequelize']['QueryTypes'][_0xf26c('0x76')]})[_0xf26c('0x24')](function(_0x3c8e13){if(_0x3c8e13['length']===0x1){return _0xb6ce25['id'];}else{var _0x403ea0=_[_0xf26c('0x77')](_['map'](_0x3c8e13,_0xf26c('0x78')),function(_0x35893a){return _['includes'](_0x5e732d,_0x35893a);});if(_0x403ea0){return _0xb6ce25['id'];}}}));}}return BPromise[_0xf26c('0x79')](_0x2f917e)[_0xf26c('0x24')](function(_0x2ebe8d){_0x259a1f=_(_0x259a1f)['union'](_0x2ebe8d)[_0xf26c('0x7a')]()['value']();return db[_0xf26c('0x29')][_0xf26c('0x3f')]({'where':{'id':_0x54efe2['params']['id']}})['then'](function(_0x5418c8){return db[_0xf26c('0x64')]['transaction'](function(_0x4a01dd){return _0x5418c8[_0xf26c('0x6a')](_0x54efe2['query'][_0xf26c('0x6b')],{'transaction':_0x4a01dd})[_0xf26c('0x24')](function(){if(!_[_0xf26c('0x7b')](_0x259a1f)){return _0x5418c8['removeAgents'](_0x259a1f,{'transaction':_0x4a01dd});}})[_0xf26c('0x24')](function(){_0x259a1f[_0xf26c('0x7c')](function(_0x1c1f9d){socket[_0xf26c('0x68')](_0xf26c('0x7d'),{'UserId':_0x1c1f9d,'SmsQueueId':_0x5418c8['id']});});});});});});})[_0xf26c('0x24')](respondWithStatusCode(_0x4ee617,null))[_0xf26c('0x40')](handleError(_0x4ee617,null));};exports['addAgents']=function(_0x1c1246,_0x43add1,_0x517de0){return db[_0xf26c('0x29')][_0xf26c('0x3f')]({'where':{'id':_0x1c1246[_0xf26c('0x4c')]['id']}})[_0xf26c('0x24')](handleEntityNotFound(_0x43add1,null))[_0xf26c('0x24')](function(_0x266527){if(_0x266527){return _0x266527[_0xf26c('0x7e')](_0x1c1246[_0xf26c('0x4b')][_0xf26c('0x6b')],_[_0xf26c('0x7f')](_0x1c1246[_0xf26c('0x4b')],[_0xf26c('0x6b'),'id'])||{})[_0xf26c('0x80')](function(_0x111299){for(var _0x5170f6=0x0;_0x5170f6<_0x1c1246['body'][_0xf26c('0x6b')]['length'];_0x5170f6+=0x1){socket['emit'](_0xf26c('0x69'),{'UserId':_0x1c1246[_0xf26c('0x4b')]['ids'][_0x5170f6],'SmsQueueId':_0x1c1246[_0xf26c('0x4c')]['id']});}return _0x111299;});}})[_0xf26c('0x24')](respondWithResult(_0x43add1,null))[_0xf26c('0x40')](handleError(_0x43add1,null));};exports[_0xf26c('0x81')]=function(_0xd3741a,_0x4b71e0,_0x2282ed){return db[_0xf26c('0x29')]['find']({'where':{'id':_0xd3741a[_0xf26c('0x4c')]['id']}})['then'](handleEntityNotFound(_0x4b71e0,null))[_0xf26c('0x24')](function(_0x11ebce){if(_0x11ebce){return _0x11ebce[_0xf26c('0x81')](_0xd3741a[_0xf26c('0x2a')]['ids'])[_0xf26c('0x24')](function(){if(_[_0xf26c('0x82')](_0xd3741a[_0xf26c('0x2a')]['ids'])){for(var _0x589383=0x0;_0x589383<_0xd3741a['query']['ids']['length'];_0x589383+=0x1){socket[_0xf26c('0x68')]('userSmsQueue:remove',{'UserId':Number(_0xd3741a[_0xf26c('0x2a')][_0xf26c('0x6b')][_0x589383]),'SmsQueueId':Number(_0xd3741a[_0xf26c('0x4c')]['id'])});}}else{socket['emit']('userSmsQueue:remove',{'UserId':Number(_0xd3741a[_0xf26c('0x2a')][_0xf26c('0x6b')]),'SmsQueueId':Number(_0xd3741a[_0xf26c('0x4c')]['id'])});}});}})['then'](respondWithStatusCode(_0x4b71e0,null))[_0xf26c('0x40')](handleError(_0x4b71e0,null));};exports[_0xf26c('0x83')]=function(_0x356701,_0x3a01b6,_0x290f27){var _0x51b388={};var _0x2e3c42={};var _0x51e1ba;var _0x1be51d;return db[_0xf26c('0x29')]['findOne']({'where':{'id':_0x356701[_0xf26c('0x4c')]['id']}})[_0xf26c('0x24')](handleEntityNotFound(_0x3a01b6,null))[_0xf26c('0x24')](function(_0x1c2308){if(_0x1c2308){_0x51e1ba=_0x1c2308;_0x2e3c42[_0xf26c('0x2e')]=_[_0xf26c('0x2b')](db['User']['rawAttributes']);_0x2e3c42[_0xf26c('0x2a')]=_[_0xf26c('0x2b')](_0x356701['query']);_0x2e3c42['filters']=_[_0xf26c('0x2d')](_0x2e3c42[_0xf26c('0x2e')],_0x2e3c42['query']);_0x51b388[_0xf26c('0x2f')]=_[_0xf26c('0x2d')](_0x2e3c42[_0xf26c('0x2e')],qs[_0xf26c('0x30')](_0x356701[_0xf26c('0x2a')][_0xf26c('0x30')]));_0x51b388[_0xf26c('0x2f')]=_0x51b388['attributes']['length']?_0x51b388[_0xf26c('0x2f')]:_0x2e3c42[_0xf26c('0x2e')];_0x51b388[_0xf26c('0x32')]=qs['sort'](_0x356701[_0xf26c('0x2a')][_0xf26c('0x33')]);_0x51b388['where']=qs['filters'](_['pick'](_0x356701[_0xf26c('0x2a')],_0x2e3c42[_0xf26c('0x2c')]));if(_0x356701[_0xf26c('0x2a')][_0xf26c('0x51')]){_0x51b388['where']=_[_0xf26c('0x36')](_0x51b388['where'],{'$or':_['map'](_0x51b388[_0xf26c('0x2f')],function(_0x40d9f2){var _0x420cc9={};_0x420cc9[_0x40d9f2]={'$like':'%'+_0x356701['query']['filter']+'%'};return _0x420cc9;})});}_0x51b388=_['merge']({},_0x51b388,_0x356701[_0xf26c('0x39')]);return _0x51e1ba[_0xf26c('0x83')](_0x51b388);}})['then'](function(_0x3a9f18){if(_0x3a9f18){_0x1be51d=_0x3a9f18[_0xf26c('0x31')];if(!_0x356701[_0xf26c('0x2a')]['hasOwnProperty'](_0xf26c('0x4f'))){_0x51b388[_0xf26c('0x20')]=qs[_0xf26c('0x20')](_0x356701[_0xf26c('0x2a')][_0xf26c('0x20')]);_0x51b388['offset']=qs[_0xf26c('0x1f')](_0x356701[_0xf26c('0x2a')]['offset']);}return _0x51e1ba[_0xf26c('0x83')](_0x51b388);}})[_0xf26c('0x24')](function(_0x4f6169){if(_0x4f6169){return _0x4f6169?{'count':_0x1be51d,'rows':_0x4f6169}:null;}})[_0xf26c('0x24')](respondWithResult(_0x3a01b6,null))[_0xf26c('0x40')](handleError(_0x3a01b6,null));};