25fa54c91fb145f2c219e79587b50ce9fa4156e1
[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 _0x0a9d=['team_has_sms_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','push','toString','QueryTypes','SELECT','TeamId','includes','transaction','removeTeams','isEmpty','removeAgents','omit','spread','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsQueue.socket','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','reject','save','update','then','get','SmsQueues','UserProfileResource','destroy','name','send','index','SmsQueue','rawAttributes','fieldName','type','key','model','map','query','filters','attributes','intersection','fields','length','hasOwnProperty','order','where','pick','filter','merge','options','count','includeAll','include','findAll','rows','catch','keys','filtears','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserSmsQueue','sort','findAndCountAll','UserId','agent','updatedAt','format','%s/%s','SIP','smsPause','getTeams','nolimit','ids','Team','User','Agents','online','voicePause','interface','flatMap','sequelize','addTeams','findOrCreate','forEach','emit','userSmsQueue:save','field','tq.TeamId','from'];(function(_0x372f17,_0x4ed21e){var _0x39a96d=function(_0x4b9c5a){while(--_0x4b9c5a){_0x372f17['push'](_0x372f17['shift']());}};_0x39a96d(++_0x4ed21e);}(_0x0a9d,0x12b));var _0xd0a9=function(_0xc79204,_0x488864){_0xc79204=_0xc79204-0x0;var _0x36fa09=_0x0a9d[_0xc79204];return _0x36fa09;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd0a9('0x0'));var rimraf=require(_0xd0a9('0x1'));var zipdir=require(_0xd0a9('0x2'));var jsonpatch=require(_0xd0a9('0x3'));var rp=require(_0xd0a9('0x4'));var moment=require(_0xd0a9('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xd0a9('0x6'));var path=require(_0xd0a9('0x7'));var sox=require(_0xd0a9('0x8'));var csv=require(_0xd0a9('0x9'));var ejs=require(_0xd0a9('0xa'));var fs=require('fs');var _=require(_0xd0a9('0xb'));var squel=require(_0xd0a9('0xc'));var crypto=require(_0xd0a9('0xd'));var jsforce=require(_0xd0a9('0xe'));var deskjs=require(_0xd0a9('0xf'));var toCsv=require(_0xd0a9('0x9'));var querystring=require(_0xd0a9('0x10'));var Papa=require(_0xd0a9('0x11'));var Redis=require('ioredis');var authService=require(_0xd0a9('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xd0a9('0x13'));var hardwareService=require(_0xd0a9('0x14'));var logger=require(_0xd0a9('0x15'))(_0xd0a9('0x16'));var utils=require(_0xd0a9('0x17'));var config=require(_0xd0a9('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xd0a9('0x19'))['db'];config[_0xd0a9('0x1a')]=_[_0xd0a9('0x1b')](config[_0xd0a9('0x1a')],{'host':_0xd0a9('0x1c'),'port':0x18eb});var socket=require(_0xd0a9('0x1d'))(new Redis(config[_0xd0a9('0x1a')]));require(_0xd0a9('0x1e'))['register'](socket);function respondWithStatusCode(_0x364231,_0x53f0db){_0x53f0db=_0x53f0db||0xcc;return function(_0x3c268f){if(_0x3c268f){return _0x364231[_0xd0a9('0x1f')](_0x53f0db);}return _0x364231[_0xd0a9('0x20')](_0x53f0db)[_0xd0a9('0x21')]();};}function respondWithResult(_0x37b2c6,_0x49e4a6){_0x49e4a6=_0x49e4a6||0xc8;return function(_0x11d5fb){if(_0x11d5fb){return _0x37b2c6[_0xd0a9('0x20')](_0x49e4a6)['json'](_0x11d5fb);}};}function respondWithFilteredResult(_0xe9f431,_0x2f0702){return function(_0x2e6d44){if(_0x2e6d44){var _0x13a271=_0x2e6d44['count'],_0x264639=_0x2f0702[_0xd0a9('0x22')],_0x82201f=_0x2f0702[_0xd0a9('0x22')]+_0x2f0702[_0xd0a9('0x23')],_0x19b915;if(_0x82201f>=_0x13a271){_0x82201f=_0x13a271;_0x19b915=0xc8;}else{_0x19b915=0xce;}_0xe9f431[_0xd0a9('0x20')](_0x19b915);return _0xe9f431[_0xd0a9('0x24')](_0xd0a9('0x25'),_0x264639+'-'+_0x82201f+'/'+_0x13a271)[_0xd0a9('0x26')](_0x2e6d44);}return null;};}function patchUpdates(_0x567bd7){return function(_0x1ca654){try{jsonpatch[_0xd0a9('0x27')](_0x1ca654,_0x567bd7,!![]);}catch(_0x13ee70){return BPromise[_0xd0a9('0x28')](_0x13ee70);}return _0x1ca654[_0xd0a9('0x29')]();};}function saveUpdates(_0x288c2c,_0x46be84){return function(_0x5ef5de){if(_0x5ef5de){return _0x5ef5de[_0xd0a9('0x2a')](_0x288c2c)[_0xd0a9('0x2b')](function(_0x451be2){return _0x451be2;});}return null;};}function removeEntity(_0x5040d3,_0x28f350){return function(_0x34e478){if(_0x34e478){return _0x34e478['destroy']()[_0xd0a9('0x2b')](function(){var _0x4ae47b=_0x34e478[_0xd0a9('0x2c')]({'plain':!![]});var _0x4a6000=_0xd0a9('0x2d');return db[_0xd0a9('0x2e')][_0xd0a9('0x2f')]({'where':{'type':_0x4a6000,'resourceId':_0x4ae47b['id']}})[_0xd0a9('0x2b')](function(){return _0x34e478;});})[_0xd0a9('0x2b')](function(){_0x5040d3[_0xd0a9('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x570357,_0x2d97fe){return function(_0x198cff){if(!_0x198cff){_0x570357[_0xd0a9('0x1f')](0x194);}return _0x198cff;};}function handleError(_0x341ebf,_0x2c4e41){_0x2c4e41=_0x2c4e41||0x1f4;return function(_0x5d88b6){logger['error'](_0x5d88b6['stack']);if(_0x5d88b6[_0xd0a9('0x30')]){delete _0x5d88b6[_0xd0a9('0x30')];}_0x341ebf[_0xd0a9('0x20')](_0x2c4e41)[_0xd0a9('0x31')](_0x5d88b6);};}exports[_0xd0a9('0x32')]=function(_0x2ee68d,_0x1dfb72){var _0x3ae296={},_0x2be03f={},_0x582f02={'count':0x0,'rows':[]};var _0x19929c=_['map'](db[_0xd0a9('0x33')][_0xd0a9('0x34')],function(_0x2fcb7d){return{'name':_0x2fcb7d[_0xd0a9('0x35')],'type':_0x2fcb7d[_0xd0a9('0x36')][_0xd0a9('0x37')]};});_0x2be03f[_0xd0a9('0x38')]=_[_0xd0a9('0x39')](_0x19929c,_0xd0a9('0x30'));_0x2be03f['query']=_['keys'](_0x2ee68d[_0xd0a9('0x3a')]);_0x2be03f[_0xd0a9('0x3b')]=_['intersection'](_0x2be03f[_0xd0a9('0x38')],_0x2be03f[_0xd0a9('0x3a')]);_0x3ae296[_0xd0a9('0x3c')]=_[_0xd0a9('0x3d')](_0x2be03f[_0xd0a9('0x38')],qs[_0xd0a9('0x3e')](_0x2ee68d['query'][_0xd0a9('0x3e')]));_0x3ae296[_0xd0a9('0x3c')]=_0x3ae296[_0xd0a9('0x3c')][_0xd0a9('0x3f')]?_0x3ae296[_0xd0a9('0x3c')]:_0x2be03f[_0xd0a9('0x38')];if(!_0x2ee68d[_0xd0a9('0x3a')][_0xd0a9('0x40')]('nolimit')){_0x3ae296['limit']=qs[_0xd0a9('0x23')](_0x2ee68d[_0xd0a9('0x3a')][_0xd0a9('0x23')]);_0x3ae296['offset']=qs[_0xd0a9('0x22')](_0x2ee68d[_0xd0a9('0x3a')]['offset']);}_0x3ae296[_0xd0a9('0x41')]=qs['sort'](_0x2ee68d[_0xd0a9('0x3a')]['sort']);_0x3ae296[_0xd0a9('0x42')]=qs[_0xd0a9('0x3b')](_[_0xd0a9('0x43')](_0x2ee68d[_0xd0a9('0x3a')],_0x2be03f[_0xd0a9('0x3b')]),_0x19929c);if(_0x2ee68d[_0xd0a9('0x3a')][_0xd0a9('0x44')]){_0x3ae296[_0xd0a9('0x42')]=_[_0xd0a9('0x45')](_0x3ae296[_0xd0a9('0x42')],{'$or':_[_0xd0a9('0x39')](_0x19929c,function(_0x408215){if(_0x408215[_0xd0a9('0x36')]!=='VIRTUAL'){var _0x495119={};_0x495119[_0x408215[_0xd0a9('0x30')]]={'$like':'%'+_0x2ee68d[_0xd0a9('0x3a')][_0xd0a9('0x44')]+'%'};return _0x495119;}})});}_0x3ae296=_[_0xd0a9('0x45')]({},_0x3ae296,_0x2ee68d[_0xd0a9('0x46')]);var _0x33f118={'where':_0x3ae296['where']};return db['SmsQueue']['count'](_0x33f118)['then'](function(_0x47d03f){_0x582f02[_0xd0a9('0x47')]=_0x47d03f;if(_0x2ee68d[_0xd0a9('0x3a')][_0xd0a9('0x48')]){_0x3ae296[_0xd0a9('0x49')]=[{'all':!![]}];}return db[_0xd0a9('0x33')][_0xd0a9('0x4a')](_0x3ae296);})[_0xd0a9('0x2b')](function(_0x4168be){_0x582f02[_0xd0a9('0x4b')]=_0x4168be;return _0x582f02;})[_0xd0a9('0x2b')](respondWithFilteredResult(_0x1dfb72,_0x3ae296))[_0xd0a9('0x4c')](handleError(_0x1dfb72,null));};exports['show']=function(_0xc3f177,_0x5290ef){var _0x2f9e1f={'raw':!![],'where':{'id':_0xc3f177['params']['id']}},_0x5c9111={};_0x5c9111[_0xd0a9('0x38')]=_[_0xd0a9('0x4d')](db[_0xd0a9('0x33')][_0xd0a9('0x34')]);_0x5c9111['query']=_[_0xd0a9('0x4d')](_0xc3f177[_0xd0a9('0x3a')]);_0x5c9111[_0xd0a9('0x4e')]=_[_0xd0a9('0x3d')](_0x5c9111[_0xd0a9('0x38')],_0x5c9111[_0xd0a9('0x3a')]);_0x2f9e1f[_0xd0a9('0x3c')]=_[_0xd0a9('0x3d')](_0x5c9111[_0xd0a9('0x38')],qs[_0xd0a9('0x3e')](_0xc3f177[_0xd0a9('0x3a')][_0xd0a9('0x3e')]));_0x2f9e1f[_0xd0a9('0x3c')]=_0x2f9e1f[_0xd0a9('0x3c')]['length']?_0x2f9e1f[_0xd0a9('0x3c')]:_0x5c9111['model'];if(_0xc3f177['query'][_0xd0a9('0x48')]){_0x2f9e1f[_0xd0a9('0x49')]=[{'all':!![]}];}_0x2f9e1f=_[_0xd0a9('0x45')]({},_0x2f9e1f,_0xc3f177[_0xd0a9('0x46')]);return db[_0xd0a9('0x33')][_0xd0a9('0x4f')](_0x2f9e1f)['then'](handleEntityNotFound(_0x5290ef,null))[_0xd0a9('0x2b')](respondWithResult(_0x5290ef,null))['catch'](handleError(_0x5290ef,null));};exports[_0xd0a9('0x50')]=function(_0x5e9344,_0x44f1ad){return db[_0xd0a9('0x33')][_0xd0a9('0x50')](_0x5e9344[_0xd0a9('0x51')],{})['then'](function(_0x2fd0ab){var _0x3f3c2d=_0x5e9344[_0xd0a9('0x52')][_0xd0a9('0x2c')]({'plain':!![]});if(!_0x3f3c2d)throw new Error(_0xd0a9('0x53'));if(_0x3f3c2d['role']===_0xd0a9('0x52')){var _0x3c2378=_0x2fd0ab[_0xd0a9('0x2c')]({'plain':!![]});var _0x5f489c=_0xd0a9('0x2d');return db[_0xd0a9('0x54')][_0xd0a9('0x4f')]({'where':{'name':_0x5f489c,'userProfileId':_0x3f3c2d[_0xd0a9('0x55')]},'raw':!![]})[_0xd0a9('0x2b')](function(_0x38029f){if(_0x38029f&&_0x38029f[_0xd0a9('0x56')]===0x0){return db['UserProfileResource']['create']({'name':_0x3c2378[_0xd0a9('0x30')],'resourceId':_0x3c2378['id'],'type':_0x38029f[_0xd0a9('0x30')],'sectionId':_0x38029f['id']},{})['then'](function(){return _0x2fd0ab;});}else{return _0x2fd0ab;}})[_0xd0a9('0x4c')](function(_0xdfa7){logger['error'](_0xd0a9('0x57'),_0xdfa7);throw _0xdfa7;});}return _0x2fd0ab;})['then'](respondWithResult(_0x44f1ad,0xc9))[_0xd0a9('0x4c')](handleError(_0x44f1ad,null));};exports[_0xd0a9('0x2a')]=function(_0x3dad69,_0x10111a){if(_0x3dad69['body']['id']){delete _0x3dad69[_0xd0a9('0x51')]['id'];}return db['SmsQueue']['find']({'where':{'id':_0x3dad69[_0xd0a9('0x58')]['id']}})[_0xd0a9('0x2b')](handleEntityNotFound(_0x10111a,null))['then'](saveUpdates(_0x3dad69['body'],null))[_0xd0a9('0x2b')](respondWithResult(_0x10111a,null))[_0xd0a9('0x4c')](handleError(_0x10111a,null));};exports[_0xd0a9('0x2f')]=function(_0x5400ec,_0x7e39d6){return db[_0xd0a9('0x33')][_0xd0a9('0x4f')]({'where':{'id':_0x5400ec['params']['id']}})['then'](handleEntityNotFound(_0x7e39d6,null))[_0xd0a9('0x2b')](removeEntity(_0x7e39d6,null))[_0xd0a9('0x4c')](handleError(_0x7e39d6,null));};exports[_0xd0a9('0x59')]=function(_0x298b14,_0x2e2829){return db[_0xd0a9('0x33')]['describe']()[_0xd0a9('0x2b')](respondWithResult(_0x2e2829,null))[_0xd0a9('0x4c')](handleError(_0x2e2829,null));};exports[_0xd0a9('0x5a')]=function(_0x55a4af,_0x358925,_0x25a4d7){var _0x544faa={'raw':!![],'where':{}},_0x48f2c0={},_0x5a0743;return db[_0xd0a9('0x33')][_0xd0a9('0x5b')]({'where':{'id':_0x55a4af[_0xd0a9('0x58')]['id']}})[_0xd0a9('0x2b')](handleEntityNotFound(_0x358925,null))[_0xd0a9('0x2b')](function(_0xa94b82){if(_0xa94b82){_0x5a0743=_0xa94b82[_0xd0a9('0x2c')]({'plain':!![]});_0x48f2c0[_0xd0a9('0x38')]=_['keys'](db[_0xd0a9('0x5c')][_0xd0a9('0x34')]);_0x48f2c0[_0xd0a9('0x3a')]=_[_0xd0a9('0x4d')](_0x55a4af[_0xd0a9('0x3a')]);_0x48f2c0[_0xd0a9('0x3b')]=_[_0xd0a9('0x3d')](_0x48f2c0[_0xd0a9('0x38')],_0x48f2c0[_0xd0a9('0x3a')]);_0x544faa['attributes']=_['intersection'](_0x48f2c0[_0xd0a9('0x38')],qs[_0xd0a9('0x3e')](_0x55a4af[_0xd0a9('0x3a')]['fields']));_0x544faa[_0xd0a9('0x3c')]=_0x544faa[_0xd0a9('0x3c')][_0xd0a9('0x3f')]?_0x544faa[_0xd0a9('0x3c')]:_0x48f2c0['model'];if(!_0x55a4af[_0xd0a9('0x3a')][_0xd0a9('0x40')]('nolimit')){_0x544faa[_0xd0a9('0x23')]=qs[_0xd0a9('0x23')](_0x55a4af['query']['limit']);_0x544faa[_0xd0a9('0x22')]=qs[_0xd0a9('0x22')](_0x55a4af[_0xd0a9('0x3a')]['offset']);}_0x544faa[_0xd0a9('0x41')]=qs['sort'](_0x55a4af[_0xd0a9('0x3a')][_0xd0a9('0x5d')]);_0x544faa['where']=qs['filters'](_['pick'](_0x55a4af[_0xd0a9('0x3a')],_0x48f2c0[_0xd0a9('0x3b')]));_0x544faa['where']['SmsQueueId']=_0xa94b82['id'];if(_0x55a4af[_0xd0a9('0x3a')][_0xd0a9('0x44')]){_0x544faa[_0xd0a9('0x42')]=_['merge'](_0x544faa[_0xd0a9('0x42')],{'$or':_[_0xd0a9('0x39')](_0x544faa['attributes'],function(_0xeb96ce){var _0xa41712={};_0xa41712[_0xeb96ce]={'$like':'%'+_0x55a4af['query'][_0xd0a9('0x44')]+'%'};return _0xa41712;})});}_0x544faa=_[_0xd0a9('0x45')]({},_0x544faa,_0x55a4af[_0xd0a9('0x46')]);return db[_0xd0a9('0x5c')][_0xd0a9('0x4a')](_0x544faa);}})[_0xd0a9('0x2b')](function(_0x4150c6){if(_0x4150c6){return db['User'][_0xd0a9('0x5e')]({'where':{'id':_[_0xd0a9('0x39')](_0x4150c6,_0xd0a9('0x5f')),'role':_0xd0a9('0x60')},'attributes':['id',_0xd0a9('0x30'),'smsPause',_0xd0a9('0x61'),'createdAt']});}})[_0xd0a9('0x2b')](function(_0x5d2b10){if(_0x5d2b10){return{'count':_0x5d2b10['count'],'rows':_[_0xd0a9('0x39')](_0x5d2b10[_0xd0a9('0x4b')],function(_0x45b4a0){return{'membername':_0x45b4a0['name'],'UserId':_0x45b4a0['id'],'queue_name':_0x5a0743[_0xd0a9('0x30')],'SmsQueueId':_0x5a0743['id'],'interface':util[_0xd0a9('0x62')](_0xd0a9('0x63'),_0xd0a9('0x64'),_0x45b4a0[_0xd0a9('0x30')]),'penalty':0x0,'paused':_0x45b4a0[_0xd0a9('0x65')],'createdAt':_0x45b4a0['createdAt'],'updatedAt':_0x45b4a0[_0xd0a9('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xd0a9('0x2b')](respondWithFilteredResult(_0x358925,_0x544faa))[_0xd0a9('0x4c')](handleError(_0x358925,null));};exports['getTeams']=function(_0x239b5b,_0xfdc9b5,_0xd87298){var _0x699d1c={};var _0x231b4c={};var _0x1e09d3;var _0x2ff6bb;return db[_0xd0a9('0x33')]['findOne']({'where':{'id':_0x239b5b[_0xd0a9('0x58')]['id']}})[_0xd0a9('0x2b')](handleEntityNotFound(_0xfdc9b5,null))[_0xd0a9('0x2b')](function(_0x34af75){if(_0x34af75){_0x1e09d3=_0x34af75;_0x231b4c[_0xd0a9('0x38')]=_[_0xd0a9('0x4d')](db['Team'][_0xd0a9('0x34')]);_0x231b4c[_0xd0a9('0x3a')]=_['keys'](_0x239b5b[_0xd0a9('0x3a')]);_0x231b4c[_0xd0a9('0x3b')]=_['intersection'](_0x231b4c[_0xd0a9('0x38')],_0x231b4c[_0xd0a9('0x3a')]);_0x699d1c['attributes']=_[_0xd0a9('0x3d')](_0x231b4c[_0xd0a9('0x38')],qs['fields'](_0x239b5b[_0xd0a9('0x3a')][_0xd0a9('0x3e')]));_0x699d1c['attributes']=_0x699d1c[_0xd0a9('0x3c')]['length']?_0x699d1c[_0xd0a9('0x3c')]:_0x231b4c[_0xd0a9('0x38')];_0x699d1c[_0xd0a9('0x41')]=qs[_0xd0a9('0x5d')](_0x239b5b[_0xd0a9('0x3a')]['sort']);_0x699d1c[_0xd0a9('0x42')]=qs[_0xd0a9('0x3b')](_['pick'](_0x239b5b[_0xd0a9('0x3a')],_0x231b4c[_0xd0a9('0x3b')]));if(_0x239b5b[_0xd0a9('0x3a')]['filter']){_0x699d1c[_0xd0a9('0x42')]=_[_0xd0a9('0x45')](_0x699d1c['where'],{'$or':_['map'](_0x699d1c[_0xd0a9('0x3c')],function(_0x5ae99e){var _0x23ce2b={};_0x23ce2b[_0x5ae99e]={'$like':'%'+_0x239b5b['query'][_0xd0a9('0x44')]+'%'};return _0x23ce2b;})});}_0x699d1c=_[_0xd0a9('0x45')]({},_0x699d1c,_0x239b5b[_0xd0a9('0x46')]);return _0x1e09d3[_0xd0a9('0x66')](_0x699d1c);}})[_0xd0a9('0x2b')](function(_0x4f4cc1){if(_0x4f4cc1){_0x2ff6bb=_0x4f4cc1[_0xd0a9('0x3f')];if(!_0x239b5b['query'][_0xd0a9('0x40')](_0xd0a9('0x67'))){_0x699d1c[_0xd0a9('0x23')]=qs[_0xd0a9('0x23')](_0x239b5b[_0xd0a9('0x3a')][_0xd0a9('0x23')]);_0x699d1c[_0xd0a9('0x22')]=qs[_0xd0a9('0x22')](_0x239b5b[_0xd0a9('0x3a')]['offset']);}return _0x1e09d3[_0xd0a9('0x66')](_0x699d1c);}})['then'](function(_0x53d74b){if(_0x53d74b){return _0x53d74b?{'count':_0x2ff6bb,'rows':_0x53d74b}:null;}})['then'](respondWithResult(_0xfdc9b5,null))[_0xd0a9('0x4c')](handleError(_0xfdc9b5,null));};exports['addTeams']=function(_0x3152ba,_0x390919,_0x209426){var _0x2ce529=_0x3152ba[_0xd0a9('0x51')][_0xd0a9('0x68')];return db[_0xd0a9('0x69')][_0xd0a9('0x4a')]({'where':{'id':_0x2ce529},'attributes':['id'],'include':[{'model':db[_0xd0a9('0x6a')],'as':_0xd0a9('0x6b'),'attributes':['id',_0xd0a9('0x30'),_0xd0a9('0x6c'),_0xd0a9('0x6d'),_0xd0a9('0x6e')],'raw':!![]}]})['then'](function(_0xda3a83){if(_0xda3a83){var _0x2b0afd=_[_0xd0a9('0x6f')](_0xda3a83,function(_0x5b349e){var _0xf10917=_0x5b349e[_0xd0a9('0x2c')]({'plain':!![]});return _0xf10917[_0xd0a9('0x6b')];});return db[_0xd0a9('0x33')][_0xd0a9('0x4f')]({'where':{'id':_0x3152ba[_0xd0a9('0x58')]['id']}})[_0xd0a9('0x2b')](function(_0x5c7dcc){return db[_0xd0a9('0x70')]['transaction'](function(_0x35bef7){return _0x5c7dcc[_0xd0a9('0x71')](_0x2ce529,{'transaction':_0x35bef7})[_0xd0a9('0x2b')](function(){return BPromise['each'](_0x2b0afd,function(_0x57ce62){return db[_0xd0a9('0x5c')][_0xd0a9('0x72')]({'where':{'UserId':_0x57ce62['id'],'SmsQueueId':_0x3152ba[_0xd0a9('0x58')]['id']},'transaction':_0x35bef7});});})[_0xd0a9('0x2b')](function(){_0x2b0afd[_0xd0a9('0x73')](function(_0x41f112){socket[_0xd0a9('0x74')](_0xd0a9('0x75'),{'UserId':_0x41f112['id'],'SmsQueueId':_0x5c7dcc['id']});});});});});}})[_0xd0a9('0x2b')](respondWithStatusCode(_0x390919,null))[_0xd0a9('0x4c')](handleError(_0x390919,null));};exports['removeTeams']=function(_0x5b4139,_0x453f08,_0x320eca){return db[_0xd0a9('0x69')]['findAll']({'where':{'id':_0x5b4139[_0xd0a9('0x3a')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xd0a9('0x2b')](handleEntityNotFound(_0x453f08,null))['then'](function(_0x21b3f4){var _0x2eb30d=_[_0xd0a9('0x39')](_0x21b3f4,'id');var _0x329af2=[];var _0x32fe07=[];var _0x2b650e=squel['select']();_0x2b650e[_0xd0a9('0x76')](_0xd0a9('0x77'))[_0xd0a9('0x78')](_0xd0a9('0x79'),'tq')[_0xd0a9('0x7a')](_0xd0a9('0x7b'),'ut',_0xd0a9('0x7c'))[_0xd0a9('0x42')]('SmsQueueId\x20=\x20?',_0x5b4139[_0xd0a9('0x58')]['id']);for(var _0x3ac27b=0x0;_0x3ac27b<_0x21b3f4['length'];_0x3ac27b+=0x1){let _0x14d26c=_0x21b3f4[_0x3ac27b];for(var _0x50a6db=0x0;_0x50a6db<_0x14d26c[_0xd0a9('0x6b')][_0xd0a9('0x3f')];_0x50a6db+=0x1){let _0x212b10=_0x14d26c['Agents'][_0x50a6db];var _0x1de0f3=_0x2b650e[_0xd0a9('0x7d')]();_0x1de0f3['where']('ut.UserId\x20=\x20?',_0x212b10['id']);_0x32fe07[_0xd0a9('0x7e')](db[_0xd0a9('0x70')][_0xd0a9('0x3a')](_0x1de0f3[_0xd0a9('0x7f')](),{'type':db[_0xd0a9('0x70')][_0xd0a9('0x80')][_0xd0a9('0x81')]})[_0xd0a9('0x2b')](function(_0x4137d9){if(_0x4137d9[_0xd0a9('0x3f')]===0x1){return _0x212b10['id'];}else{var _0x2cd711=_['every'](_['map'](_0x4137d9,_0xd0a9('0x82')),function(_0x1191a7){return _[_0xd0a9('0x83')](_0x2eb30d,_0x1191a7);});if(_0x2cd711){return _0x212b10['id'];}}}));}}return BPromise['all'](_0x32fe07)[_0xd0a9('0x2b')](function(_0x202ddb){_0x329af2=_(_0x329af2)['union'](_0x202ddb)['compact']()['value']();return db[_0xd0a9('0x33')][_0xd0a9('0x4f')]({'where':{'id':_0x5b4139['params']['id']}})[_0xd0a9('0x2b')](function(_0x1f75d0){return db[_0xd0a9('0x70')][_0xd0a9('0x84')](function(_0xce51b1){return _0x1f75d0[_0xd0a9('0x85')](_0x5b4139['query']['ids'],{'transaction':_0xce51b1})[_0xd0a9('0x2b')](function(){if(!_[_0xd0a9('0x86')](_0x329af2)){return _0x1f75d0[_0xd0a9('0x87')](_0x329af2,{'transaction':_0xce51b1});}})['then'](function(){_0x329af2['forEach'](function(_0x5dc575){socket[_0xd0a9('0x74')]('userSmsQueue:remove',{'UserId':_0x5dc575,'SmsQueueId':_0x1f75d0['id']});});});});});});})[_0xd0a9('0x2b')](respondWithStatusCode(_0x453f08,null))[_0xd0a9('0x4c')](handleError(_0x453f08,null));};exports['addAgents']=function(_0x58abaf,_0x340666,_0x568faf){return db[_0xd0a9('0x33')][_0xd0a9('0x4f')]({'where':{'id':_0x58abaf[_0xd0a9('0x58')]['id']}})['then'](handleEntityNotFound(_0x340666,null))[_0xd0a9('0x2b')](function(_0x655fd1){if(_0x655fd1){return _0x655fd1['addAgents'](_0x58abaf['body'][_0xd0a9('0x68')],_[_0xd0a9('0x88')](_0x58abaf[_0xd0a9('0x51')],['ids','id'])||{})[_0xd0a9('0x89')](function(_0x4590e1){for(var _0xf95cc6=0x0;_0xf95cc6<_0x58abaf[_0xd0a9('0x51')][_0xd0a9('0x68')][_0xd0a9('0x3f')];_0xf95cc6+=0x1){socket[_0xd0a9('0x74')]('userSmsQueue:save',{'UserId':_0x58abaf[_0xd0a9('0x51')][_0xd0a9('0x68')][_0xf95cc6],'SmsQueueId':_0x58abaf[_0xd0a9('0x58')]['id']});}return _0x4590e1;});}})[_0xd0a9('0x2b')](respondWithResult(_0x340666,null))[_0xd0a9('0x4c')](handleError(_0x340666,null));};exports[_0xd0a9('0x87')]=function(_0x8e6711,_0x56de4a,_0x3f8dbb){return db['SmsQueue']['find']({'where':{'id':_0x8e6711[_0xd0a9('0x58')]['id']}})[_0xd0a9('0x2b')](handleEntityNotFound(_0x56de4a,null))[_0xd0a9('0x2b')](function(_0x2d60cf){if(_0x2d60cf){return _0x2d60cf[_0xd0a9('0x87')](_0x8e6711[_0xd0a9('0x3a')][_0xd0a9('0x68')])[_0xd0a9('0x2b')](function(){if(_[_0xd0a9('0x8a')](_0x8e6711['query']['ids'])){for(var _0x4dceda=0x0;_0x4dceda<_0x8e6711[_0xd0a9('0x3a')][_0xd0a9('0x68')][_0xd0a9('0x3f')];_0x4dceda+=0x1){socket[_0xd0a9('0x74')]('userSmsQueue:remove',{'UserId':Number(_0x8e6711[_0xd0a9('0x3a')][_0xd0a9('0x68')][_0x4dceda]),'SmsQueueId':Number(_0x8e6711[_0xd0a9('0x58')]['id'])});}}else{socket[_0xd0a9('0x74')]('userSmsQueue:remove',{'UserId':Number(_0x8e6711['query'][_0xd0a9('0x68')]),'SmsQueueId':Number(_0x8e6711['params']['id'])});}});}})[_0xd0a9('0x2b')](respondWithStatusCode(_0x56de4a,null))[_0xd0a9('0x4c')](handleError(_0x56de4a,null));};exports[_0xd0a9('0x8b')]=function(_0x12288f,_0x2c9e19,_0x2ffca){var _0x27c537={};var _0x19eff7={};var _0x3f2183;var _0x2dfa39;return db[_0xd0a9('0x33')]['findOne']({'where':{'id':_0x12288f[_0xd0a9('0x58')]['id']}})[_0xd0a9('0x2b')](handleEntityNotFound(_0x2c9e19,null))[_0xd0a9('0x2b')](function(_0x5c967a){if(_0x5c967a){_0x3f2183=_0x5c967a;_0x19eff7[_0xd0a9('0x38')]=_[_0xd0a9('0x4d')](db[_0xd0a9('0x6a')][_0xd0a9('0x34')]);_0x19eff7[_0xd0a9('0x3a')]=_[_0xd0a9('0x4d')](_0x12288f[_0xd0a9('0x3a')]);_0x19eff7['filters']=_[_0xd0a9('0x3d')](_0x19eff7[_0xd0a9('0x38')],_0x19eff7[_0xd0a9('0x3a')]);_0x27c537[_0xd0a9('0x3c')]=_['intersection'](_0x19eff7['model'],qs[_0xd0a9('0x3e')](_0x12288f[_0xd0a9('0x3a')][_0xd0a9('0x3e')]));_0x27c537[_0xd0a9('0x3c')]=_0x27c537[_0xd0a9('0x3c')]['length']?_0x27c537[_0xd0a9('0x3c')]:_0x19eff7['model'];_0x27c537['order']=qs[_0xd0a9('0x5d')](_0x12288f['query'][_0xd0a9('0x5d')]);_0x27c537[_0xd0a9('0x42')]=qs[_0xd0a9('0x3b')](_[_0xd0a9('0x43')](_0x12288f['query'],_0x19eff7[_0xd0a9('0x3b')]));if(_0x12288f[_0xd0a9('0x3a')]['filter']){_0x27c537[_0xd0a9('0x42')]=_['merge'](_0x27c537[_0xd0a9('0x42')],{'$or':_[_0xd0a9('0x39')](_0x27c537[_0xd0a9('0x3c')],function(_0x4e56ad){var _0x3c85d3={};_0x3c85d3[_0x4e56ad]={'$like':'%'+_0x12288f['query'][_0xd0a9('0x44')]+'%'};return _0x3c85d3;})});}_0x27c537=_[_0xd0a9('0x45')]({},_0x27c537,_0x12288f[_0xd0a9('0x46')]);return _0x3f2183[_0xd0a9('0x8b')](_0x27c537);}})['then'](function(_0x277ead){if(_0x277ead){_0x2dfa39=_0x277ead[_0xd0a9('0x3f')];if(!_0x12288f['query']['hasOwnProperty']('nolimit')){_0x27c537[_0xd0a9('0x23')]=qs['limit'](_0x12288f['query'][_0xd0a9('0x23')]);_0x27c537[_0xd0a9('0x22')]=qs[_0xd0a9('0x22')](_0x12288f['query']['offset']);}return _0x3f2183[_0xd0a9('0x8b')](_0x27c537);}})[_0xd0a9('0x2b')](function(_0x1ca330){if(_0x1ca330){return _0x1ca330?{'count':_0x2dfa39,'rows':_0x1ca330}:null;}})['then'](respondWithResult(_0x2c9e19,null))[_0xd0a9('0x4c')](handleError(_0x2c9e19,null));};