3283e1c84796581dcec093d5e122e780c9fa365f
[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 _0x11e3=['redis','./smsQueue.socket','register','sendStatus','json','offset','limit','undefined','count','set','apply','reject','update','then','destroy','get','SmsQueues','UserProfileResource','status','end','error','stack','name','send','index','map','SmsQueue','rawAttributes','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','includeAll','include','catch','show','params','keys','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','SmsQueueId','findAll','User','smsPause','format','%s/%s','createdAt','updatedAt','getTeams','ids','Team','online','voicePause','flatMap','Agents','addTeams','UserSmsQueue','findOrCreate','forEach','emit','removeTeams','select','field','tq.TeamId','from','team_has_sms_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','SmsQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','every','includes','union','compact','value','isEmpty','removeAgents','omit','spread','userSmsQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','defaults','socket.io-emitter'];(function(_0x2fb26c,_0x41607d){var _0x4c063d=function(_0x1967e7){while(--_0x1967e7){_0x2fb26c['push'](_0x2fb26c['shift']());}};_0x4c063d(++_0x41607d);}(_0x11e3,0x6f));var _0x311e=function(_0x2d1e16,_0x45a3b6){_0x2d1e16=_0x2d1e16-0x0;var _0x3b2ba7=_0x11e3[_0x2d1e16];return _0x3b2ba7;};'use strict';var emlformat=require(_0x311e('0x0'));var rimraf=require(_0x311e('0x1'));var zipdir=require(_0x311e('0x2'));var jsonpatch=require(_0x311e('0x3'));var rp=require('request-promise');var moment=require(_0x311e('0x4'));var BPromise=require(_0x311e('0x5'));var Mustache=require('mustache');var util=require(_0x311e('0x6'));var path=require(_0x311e('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x311e('0x8'));var fs=require('fs');var fs_extra=require(_0x311e('0x9'));var _=require(_0x311e('0xa'));var squel=require(_0x311e('0xb'));var crypto=require(_0x311e('0xc'));var jsforce=require(_0x311e('0xd'));var deskjs=require(_0x311e('0xe'));var toCsv=require(_0x311e('0xf'));var querystring=require(_0x311e('0x10'));var Papa=require(_0x311e('0x11'));var Redis=require(_0x311e('0x12'));var authService=require(_0x311e('0x13'));var qs=require(_0x311e('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x311e('0x15'));var logger=require('../../config/logger')(_0x311e('0x16'));var utils=require(_0x311e('0x17'));var config=require(_0x311e('0x18'));var licenseUtil=require(_0x311e('0x19'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x311e('0x1a')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x311e('0x1b'))(new Redis(config[_0x311e('0x1c')]));require(_0x311e('0x1d'))[_0x311e('0x1e')](socket);function respondWithStatusCode(_0x191a06,_0x25919f){_0x25919f=_0x25919f||0xcc;return function(_0x5dc587){if(_0x5dc587){return _0x191a06[_0x311e('0x1f')](_0x25919f);}return _0x191a06['status'](_0x25919f)['end']();};}function respondWithResult(_0x16663c,_0x4e6108){_0x4e6108=_0x4e6108||0xc8;return function(_0xaa6bc0){if(_0xaa6bc0){return _0x16663c['status'](_0x4e6108)[_0x311e('0x20')](_0xaa6bc0);}};}function respondWithFilteredResult(_0x1505fe,_0x5a6779){return function(_0x406e67){if(_0x406e67){var _0x3ccc33=typeof _0x5a6779[_0x311e('0x21')]==='undefined'&&typeof _0x5a6779[_0x311e('0x22')]===_0x311e('0x23');var _0x11b27a=_0x406e67[_0x311e('0x24')];var _0x399fc2=_0x3ccc33?0x0:_0x5a6779['offset'];var _0x3a6ccd=_0x3ccc33?_0x406e67['count']:_0x5a6779[_0x311e('0x21')]+_0x5a6779[_0x311e('0x22')];var _0x23db9a;if(_0x3a6ccd>=_0x11b27a){_0x3a6ccd=_0x11b27a;_0x23db9a=0xc8;}else{_0x23db9a=0xce;}_0x1505fe['status'](_0x23db9a);return _0x1505fe[_0x311e('0x25')]('Content-Range',_0x399fc2+'-'+_0x3a6ccd+'/'+_0x11b27a)[_0x311e('0x20')](_0x406e67);}return null;};}function patchUpdates(_0x28d8e3){return function(_0x314c85){try{jsonpatch[_0x311e('0x26')](_0x314c85,_0x28d8e3,!![]);}catch(_0x22cb91){return BPromise[_0x311e('0x27')](_0x22cb91);}return _0x314c85['save']();};}function saveUpdates(_0x3e2ae7,_0x573bbb){return function(_0x3f14e7){if(_0x3f14e7){return _0x3f14e7[_0x311e('0x28')](_0x3e2ae7)[_0x311e('0x29')](function(_0x17d1d8){return _0x17d1d8;});}return null;};}function removeEntity(_0x521ea1,_0x45c3b6){return function(_0x4eec5e){if(_0x4eec5e){return _0x4eec5e[_0x311e('0x2a')]()['then'](function(){var _0x109a9c=_0x4eec5e[_0x311e('0x2b')]({'plain':!![]});var _0x5e9fe2=_0x311e('0x2c');return db[_0x311e('0x2d')][_0x311e('0x2a')]({'where':{'type':_0x5e9fe2,'resourceId':_0x109a9c['id']}})[_0x311e('0x29')](function(){return _0x4eec5e;});})[_0x311e('0x29')](function(){_0x521ea1[_0x311e('0x2e')](0xcc)[_0x311e('0x2f')]();});}};}function handleEntityNotFound(_0x1e6989,_0x547df8){return function(_0x3ae602){if(!_0x3ae602){_0x1e6989[_0x311e('0x1f')](0x194);}return _0x3ae602;};}function handleError(_0x36a7a7,_0x1af721){_0x1af721=_0x1af721||0x1f4;return function(_0x1c5b0b){logger[_0x311e('0x30')](_0x1c5b0b[_0x311e('0x31')]);if(_0x1c5b0b[_0x311e('0x32')]){delete _0x1c5b0b[_0x311e('0x32')];}_0x36a7a7[_0x311e('0x2e')](_0x1af721)[_0x311e('0x33')](_0x1c5b0b);};}exports[_0x311e('0x34')]=function(_0x4193d6,_0x595730){var _0xa3139f={},_0x31ce52={},_0x3cd5da={'count':0x0,'rows':[]};var _0x272684=_[_0x311e('0x35')](db[_0x311e('0x36')][_0x311e('0x37')],function(_0x498c41){return{'name':_0x498c41['fieldName'],'type':_0x498c41[_0x311e('0x38')]['key']};});_0x31ce52[_0x311e('0x39')]=_[_0x311e('0x35')](_0x272684,_0x311e('0x32'));_0x31ce52[_0x311e('0x3a')]=_['keys'](_0x4193d6[_0x311e('0x3a')]);_0x31ce52[_0x311e('0x3b')]=_[_0x311e('0x3c')](_0x31ce52[_0x311e('0x39')],_0x31ce52['query']);_0xa3139f[_0x311e('0x3d')]=_[_0x311e('0x3c')](_0x31ce52[_0x311e('0x39')],qs[_0x311e('0x3e')](_0x4193d6[_0x311e('0x3a')][_0x311e('0x3e')]));_0xa3139f[_0x311e('0x3d')]=_0xa3139f['attributes'][_0x311e('0x3f')]?_0xa3139f[_0x311e('0x3d')]:_0x31ce52[_0x311e('0x39')];if(!_0x4193d6['query'][_0x311e('0x40')](_0x311e('0x41'))){_0xa3139f[_0x311e('0x22')]=qs[_0x311e('0x22')](_0x4193d6[_0x311e('0x3a')][_0x311e('0x22')]);_0xa3139f[_0x311e('0x21')]=qs[_0x311e('0x21')](_0x4193d6[_0x311e('0x3a')]['offset']);}_0xa3139f[_0x311e('0x42')]=qs[_0x311e('0x43')](_0x4193d6[_0x311e('0x3a')][_0x311e('0x43')]);_0xa3139f['where']=qs['filters'](_[_0x311e('0x44')](_0x4193d6[_0x311e('0x3a')],_0x31ce52[_0x311e('0x3b')]),_0x272684);if(_0x4193d6['query'][_0x311e('0x45')]){_0xa3139f[_0x311e('0x46')]=_[_0x311e('0x47')](_0xa3139f['where'],{'$or':_[_0x311e('0x35')](_0x272684,function(_0x16c96b){if(_0x16c96b[_0x311e('0x38')]!=='VIRTUAL'){var _0x2fac24={};_0x2fac24[_0x16c96b[_0x311e('0x32')]]={'$like':'%'+_0x4193d6[_0x311e('0x3a')][_0x311e('0x45')]+'%'};return _0x2fac24;}})});}_0xa3139f=_[_0x311e('0x47')]({},_0xa3139f,_0x4193d6[_0x311e('0x48')]);var _0x5778c6={'where':_0xa3139f[_0x311e('0x46')]};return db[_0x311e('0x36')][_0x311e('0x24')](_0x5778c6)[_0x311e('0x29')](function(_0x1a55ab){_0x3cd5da['count']=_0x1a55ab;if(_0x4193d6[_0x311e('0x3a')][_0x311e('0x49')]){_0xa3139f[_0x311e('0x4a')]=[{'all':!![]}];}return db[_0x311e('0x36')]['findAll'](_0xa3139f);})['then'](function(_0x5eb6d8){_0x3cd5da['rows']=_0x5eb6d8;return _0x3cd5da;})[_0x311e('0x29')](respondWithFilteredResult(_0x595730,_0xa3139f))[_0x311e('0x4b')](handleError(_0x595730,null));};exports[_0x311e('0x4c')]=function(_0x367b79,_0x30ad42){var _0x408b0c={'raw':!![],'where':{'id':_0x367b79[_0x311e('0x4d')]['id']}},_0xaa0c8e={};_0xaa0c8e['model']=_['keys'](db[_0x311e('0x36')][_0x311e('0x37')]);_0xaa0c8e['query']=_[_0x311e('0x4e')](_0x367b79[_0x311e('0x3a')]);_0xaa0c8e['filters']=_[_0x311e('0x3c')](_0xaa0c8e[_0x311e('0x39')],_0xaa0c8e['query']);_0x408b0c['attributes']=_[_0x311e('0x3c')](_0xaa0c8e[_0x311e('0x39')],qs[_0x311e('0x3e')](_0x367b79['query'][_0x311e('0x3e')]));_0x408b0c[_0x311e('0x3d')]=_0x408b0c['attributes']['length']?_0x408b0c[_0x311e('0x3d')]:_0xaa0c8e[_0x311e('0x39')];if(_0x367b79[_0x311e('0x3a')]['includeAll']){_0x408b0c[_0x311e('0x4a')]=[{'all':!![]}];}_0x408b0c=_[_0x311e('0x47')]({},_0x408b0c,_0x367b79['options']);return db[_0x311e('0x36')]['find'](_0x408b0c)['then'](handleEntityNotFound(_0x30ad42,null))[_0x311e('0x29')](respondWithResult(_0x30ad42,null))['catch'](handleError(_0x30ad42,null));};exports['create']=function(_0x3cc7b2,_0x120c10){return db[_0x311e('0x36')]['create'](_0x3cc7b2[_0x311e('0x4f')],{})[_0x311e('0x29')](function(_0x1da146){var _0x2240de=_0x3cc7b2[_0x311e('0x50')][_0x311e('0x2b')]({'plain':!![]});if(!_0x2240de)throw new Error(_0x311e('0x51'));if(_0x2240de[_0x311e('0x52')]===_0x311e('0x50')){var _0x51a26b=_0x1da146[_0x311e('0x2b')]({'plain':!![]});var _0x119cf2=_0x311e('0x2c');return db[_0x311e('0x53')][_0x311e('0x54')]({'where':{'name':_0x119cf2,'userProfileId':_0x2240de[_0x311e('0x55')]},'raw':!![]})[_0x311e('0x29')](function(_0x9a6019){if(_0x9a6019&&_0x9a6019[_0x311e('0x56')]===0x0){return db[_0x311e('0x2d')][_0x311e('0x57')]({'name':_0x51a26b[_0x311e('0x32')],'resourceId':_0x51a26b['id'],'type':_0x9a6019['name'],'sectionId':_0x9a6019['id']},{})['then'](function(){return _0x1da146;});}else{return _0x1da146;}})['catch'](function(_0x4ac698){logger['error'](_0x311e('0x58'),_0x4ac698);throw _0x4ac698;});}return _0x1da146;})[_0x311e('0x29')](respondWithResult(_0x120c10,0xc9))[_0x311e('0x4b')](handleError(_0x120c10,null));};exports['update']=function(_0x29c622,_0x47669d){if(_0x29c622[_0x311e('0x4f')]['id']){delete _0x29c622[_0x311e('0x4f')]['id'];}return db[_0x311e('0x36')][_0x311e('0x54')]({'where':{'id':_0x29c622[_0x311e('0x4d')]['id']}})[_0x311e('0x29')](handleEntityNotFound(_0x47669d,null))[_0x311e('0x29')](saveUpdates(_0x29c622[_0x311e('0x4f')],null))['then'](respondWithResult(_0x47669d,null))['catch'](handleError(_0x47669d,null));};exports[_0x311e('0x2a')]=function(_0x26ea8b,_0xa3c10c){return db[_0x311e('0x36')][_0x311e('0x54')]({'where':{'id':_0x26ea8b[_0x311e('0x4d')]['id']}})[_0x311e('0x29')](handleEntityNotFound(_0xa3c10c,null))[_0x311e('0x29')](removeEntity(_0xa3c10c,null))['catch'](handleError(_0xa3c10c,null));};exports[_0x311e('0x59')]=function(_0x46ec0c,_0x9a371b){return db[_0x311e('0x36')][_0x311e('0x59')]()[_0x311e('0x29')](respondWithResult(_0x9a371b,null))[_0x311e('0x4b')](handleError(_0x9a371b,null));};exports[_0x311e('0x5a')]=function(_0x528c0d,_0x1246a0,_0x35c1c2){var _0x483328={'raw':!![],'where':{}},_0x24b001={},_0x1ac98e;return db[_0x311e('0x36')][_0x311e('0x5b')]({'where':{'id':_0x528c0d['params']['id']}})[_0x311e('0x29')](handleEntityNotFound(_0x1246a0,null))[_0x311e('0x29')](function(_0x1bd72e){if(_0x1bd72e){_0x1ac98e=_0x1bd72e['get']({'plain':!![]});_0x24b001[_0x311e('0x39')]=_['keys'](db['UserSmsQueue']['rawAttributes']);_0x24b001[_0x311e('0x3a')]=_[_0x311e('0x4e')](_0x528c0d[_0x311e('0x3a')]);_0x24b001[_0x311e('0x3b')]=_['intersection'](_0x24b001['model'],_0x24b001['query']);_0x483328[_0x311e('0x3d')]=_['intersection'](_0x24b001[_0x311e('0x39')],qs[_0x311e('0x3e')](_0x528c0d[_0x311e('0x3a')][_0x311e('0x3e')]));_0x483328[_0x311e('0x3d')]=_0x483328['attributes'][_0x311e('0x3f')]?_0x483328[_0x311e('0x3d')]:_0x24b001[_0x311e('0x39')];if(!_0x528c0d[_0x311e('0x3a')]['hasOwnProperty']('nolimit')){_0x483328[_0x311e('0x22')]=qs['limit'](_0x528c0d[_0x311e('0x3a')]['limit']);_0x483328[_0x311e('0x21')]=qs[_0x311e('0x21')](_0x528c0d[_0x311e('0x3a')][_0x311e('0x21')]);}_0x483328['order']=qs[_0x311e('0x43')](_0x528c0d[_0x311e('0x3a')][_0x311e('0x43')]);_0x483328[_0x311e('0x46')]=qs['filters'](_[_0x311e('0x44')](_0x528c0d[_0x311e('0x3a')],_0x24b001[_0x311e('0x3b')]));_0x483328[_0x311e('0x46')][_0x311e('0x5c')]=_0x1bd72e['id'];if(_0x528c0d['query'][_0x311e('0x45')]){_0x483328['where']=_['merge'](_0x483328[_0x311e('0x46')],{'$or':_[_0x311e('0x35')](_0x483328[_0x311e('0x3d')],function(_0x351366){var _0x46de0e={};_0x46de0e[_0x351366]={'$like':'%'+_0x528c0d[_0x311e('0x3a')][_0x311e('0x45')]+'%'};return _0x46de0e;})});}_0x483328=_[_0x311e('0x47')]({},_0x483328,_0x528c0d[_0x311e('0x48')]);return db['UserSmsQueue'][_0x311e('0x5d')](_0x483328);}})[_0x311e('0x29')](function(_0x57640d){if(_0x57640d){return db[_0x311e('0x5e')]['findAndCountAll']({'where':{'id':_[_0x311e('0x35')](_0x57640d,'UserId'),'role':'agent'},'attributes':['id',_0x311e('0x32'),_0x311e('0x5f'),'updatedAt','createdAt']});}})['then'](function(_0x42d4b3){if(_0x42d4b3){return{'count':_0x42d4b3[_0x311e('0x24')],'rows':_['map'](_0x42d4b3['rows'],function(_0x5417a8){return{'membername':_0x5417a8['name'],'UserId':_0x5417a8['id'],'queue_name':_0x1ac98e['name'],'SmsQueueId':_0x1ac98e['id'],'interface':util[_0x311e('0x60')](_0x311e('0x61'),'SIP',_0x5417a8[_0x311e('0x32')]),'penalty':0x0,'paused':_0x5417a8[_0x311e('0x5f')],'createdAt':_0x5417a8[_0x311e('0x62')],'updatedAt':_0x5417a8[_0x311e('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x1246a0,_0x483328))[_0x311e('0x4b')](handleError(_0x1246a0,null));};exports[_0x311e('0x64')]=function(_0x1abbed,_0x3baa12,_0x21a90e){var _0x1503bb={};var _0x2129c2={};var _0x10c924;var _0x373e15;return db[_0x311e('0x36')][_0x311e('0x5b')]({'where':{'id':_0x1abbed['params']['id']}})[_0x311e('0x29')](handleEntityNotFound(_0x3baa12,null))[_0x311e('0x29')](function(_0x138d63){if(_0x138d63){_0x10c924=_0x138d63;_0x2129c2['model']=_[_0x311e('0x4e')](db['Team']['rawAttributes']);_0x2129c2[_0x311e('0x3a')]=_['keys'](_0x1abbed['query']);_0x2129c2['filters']=_['intersection'](_0x2129c2[_0x311e('0x39')],_0x2129c2['query']);_0x1503bb[_0x311e('0x3d')]=_[_0x311e('0x3c')](_0x2129c2[_0x311e('0x39')],qs[_0x311e('0x3e')](_0x1abbed[_0x311e('0x3a')][_0x311e('0x3e')]));_0x1503bb['attributes']=_0x1503bb['attributes']['length']?_0x1503bb[_0x311e('0x3d')]:_0x2129c2[_0x311e('0x39')];_0x1503bb[_0x311e('0x42')]=qs[_0x311e('0x43')](_0x1abbed[_0x311e('0x3a')][_0x311e('0x43')]);_0x1503bb[_0x311e('0x46')]=qs[_0x311e('0x3b')](_[_0x311e('0x44')](_0x1abbed[_0x311e('0x3a')],_0x2129c2[_0x311e('0x3b')]));if(_0x1abbed[_0x311e('0x3a')][_0x311e('0x45')]){_0x1503bb[_0x311e('0x46')]=_[_0x311e('0x47')](_0x1503bb[_0x311e('0x46')],{'$or':_[_0x311e('0x35')](_0x1503bb['attributes'],function(_0x4e28ee){var _0x442c80={};_0x442c80[_0x4e28ee]={'$like':'%'+_0x1abbed[_0x311e('0x3a')][_0x311e('0x45')]+'%'};return _0x442c80;})});}_0x1503bb=_[_0x311e('0x47')]({},_0x1503bb,_0x1abbed[_0x311e('0x48')]);return _0x10c924['getTeams'](_0x1503bb);}})[_0x311e('0x29')](function(_0x362185){if(_0x362185){_0x373e15=_0x362185[_0x311e('0x3f')];if(!_0x1abbed[_0x311e('0x3a')][_0x311e('0x40')]('nolimit')){_0x1503bb[_0x311e('0x22')]=qs['limit'](_0x1abbed['query'][_0x311e('0x22')]);_0x1503bb[_0x311e('0x21')]=qs[_0x311e('0x21')](_0x1abbed[_0x311e('0x3a')]['offset']);}return _0x10c924[_0x311e('0x64')](_0x1503bb);}})['then'](function(_0x4de8bd){if(_0x4de8bd){return _0x4de8bd?{'count':_0x373e15,'rows':_0x4de8bd}:null;}})[_0x311e('0x29')](respondWithResult(_0x3baa12,null))['catch'](handleError(_0x3baa12,null));};exports['addTeams']=function(_0x400c4f,_0xcdbf1a,_0x1867d2){var _0x349dea=_0x400c4f[_0x311e('0x4f')][_0x311e('0x65')];return db[_0x311e('0x66')][_0x311e('0x5d')]({'where':{'id':_0x349dea},'attributes':['id'],'include':[{'model':db[_0x311e('0x5e')],'as':'Agents','attributes':['id',_0x311e('0x32'),_0x311e('0x67'),_0x311e('0x68'),'interface'],'raw':!![]}]})[_0x311e('0x29')](function(_0x2094f9){if(_0x2094f9){var _0x449103=_[_0x311e('0x69')](_0x2094f9,function(_0x14ab6d){var _0x543f5c=_0x14ab6d[_0x311e('0x2b')]({'plain':!![]});return _0x543f5c[_0x311e('0x6a')];});return db[_0x311e('0x36')][_0x311e('0x54')]({'where':{'id':_0x400c4f[_0x311e('0x4d')]['id']}})[_0x311e('0x29')](function(_0x36df17){return db['sequelize']['transaction'](function(_0x5d9384){return _0x36df17[_0x311e('0x6b')](_0x349dea,{'transaction':_0x5d9384})[_0x311e('0x29')](function(){return BPromise['each'](_0x449103,function(_0x44ebde){return db[_0x311e('0x6c')][_0x311e('0x6d')]({'where':{'UserId':_0x44ebde['id'],'SmsQueueId':_0x400c4f[_0x311e('0x4d')]['id']},'transaction':_0x5d9384});});})[_0x311e('0x29')](function(){_0x449103[_0x311e('0x6e')](function(_0x17d1ce){socket[_0x311e('0x6f')]('userSmsQueue:save',{'UserId':_0x17d1ce['id'],'SmsQueueId':_0x36df17['id']});});});});});}})[_0x311e('0x29')](respondWithStatusCode(_0xcdbf1a,null))[_0x311e('0x4b')](handleError(_0xcdbf1a,null));};exports[_0x311e('0x70')]=function(_0x99f249,_0x468480,_0x30c94b){return db[_0x311e('0x66')][_0x311e('0x5d')]({'where':{'id':_0x99f249[_0x311e('0x3a')][_0x311e('0x65')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x311e('0x6a'),'attributes':['id'],'raw':!![]}]})[_0x311e('0x29')](handleEntityNotFound(_0x468480,null))[_0x311e('0x29')](function(_0x5cf6d3){var _0x2a05c7=_[_0x311e('0x35')](_0x5cf6d3,'id');var _0x76a82=[];var _0x36dfc0=[];var _0x4d42d5=squel[_0x311e('0x71')]();_0x4d42d5[_0x311e('0x72')](_0x311e('0x73'))[_0x311e('0x74')](_0x311e('0x75'),'tq')[_0x311e('0x76')](_0x311e('0x77'),'ut',_0x311e('0x78'))[_0x311e('0x46')](_0x311e('0x79'),_0x99f249[_0x311e('0x4d')]['id']);for(var _0xa5d14a=0x0;_0xa5d14a<_0x5cf6d3['length'];_0xa5d14a+=0x1){let _0x5be57f=_0x5cf6d3[_0xa5d14a];for(var _0x586928=0x0;_0x586928<_0x5be57f['Agents'][_0x311e('0x3f')];_0x586928+=0x1){let _0x185b3a=_0x5be57f[_0x311e('0x6a')][_0x586928];var _0x251552=_0x4d42d5[_0x311e('0x7a')]();_0x251552['where'](_0x311e('0x7b'),_0x185b3a['id']);_0x36dfc0[_0x311e('0x7c')](db[_0x311e('0x7d')][_0x311e('0x3a')](_0x251552[_0x311e('0x7e')](),{'type':db[_0x311e('0x7d')][_0x311e('0x7f')]['SELECT']})[_0x311e('0x29')](function(_0x394d1e){if(_0x394d1e['length']===0x1){return _0x185b3a['id'];}else{var _0x5aead3=_[_0x311e('0x80')](_[_0x311e('0x35')](_0x394d1e,'TeamId'),function(_0x7eed78){return _[_0x311e('0x81')](_0x2a05c7,_0x7eed78);});if(_0x5aead3){return _0x185b3a['id'];}}}));}}return BPromise['all'](_0x36dfc0)[_0x311e('0x29')](function(_0x13f99d){_0x76a82=_(_0x76a82)[_0x311e('0x82')](_0x13f99d)[_0x311e('0x83')]()[_0x311e('0x84')]();return db[_0x311e('0x36')][_0x311e('0x54')]({'where':{'id':_0x99f249[_0x311e('0x4d')]['id']}})[_0x311e('0x29')](function(_0x59188b){return db[_0x311e('0x7d')]['transaction'](function(_0x12b7d0){return _0x59188b[_0x311e('0x70')](_0x99f249[_0x311e('0x3a')]['ids'],{'transaction':_0x12b7d0})['then'](function(){if(!_[_0x311e('0x85')](_0x76a82)){return _0x59188b[_0x311e('0x86')](_0x76a82,{'transaction':_0x12b7d0});}})[_0x311e('0x29')](function(){_0x76a82[_0x311e('0x6e')](function(_0x199d31){socket['emit']('userSmsQueue:remove',{'UserId':_0x199d31,'SmsQueueId':_0x59188b['id']});});});});});});})[_0x311e('0x29')](respondWithStatusCode(_0x468480,null))[_0x311e('0x4b')](handleError(_0x468480,null));};exports['addAgents']=function(_0x235ea2,_0x48c76b,_0x5b9357){return db[_0x311e('0x36')][_0x311e('0x54')]({'where':{'id':_0x235ea2[_0x311e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x48c76b,null))[_0x311e('0x29')](function(_0x358bad){if(_0x358bad){return _0x358bad['addAgents'](_0x235ea2[_0x311e('0x4f')][_0x311e('0x65')],_[_0x311e('0x87')](_0x235ea2[_0x311e('0x4f')],[_0x311e('0x65'),'id'])||{})[_0x311e('0x88')](function(_0x47538b){for(var _0x2d7fd2=0x0;_0x2d7fd2<_0x235ea2[_0x311e('0x4f')][_0x311e('0x65')][_0x311e('0x3f')];_0x2d7fd2+=0x1){socket['emit']('userSmsQueue:save',{'UserId':Number(_0x235ea2['body']['ids'][_0x2d7fd2]),'SmsQueueId':Number(_0x235ea2[_0x311e('0x4d')]['id'])});}return _0x47538b;});}})['then'](respondWithResult(_0x48c76b,null))[_0x311e('0x4b')](handleError(_0x48c76b,null));};exports[_0x311e('0x86')]=function(_0x5da9d2,_0x5e41d1,_0x42cf28){return db[_0x311e('0x36')][_0x311e('0x54')]({'where':{'id':_0x5da9d2[_0x311e('0x4d')]['id']}})[_0x311e('0x29')](handleEntityNotFound(_0x5e41d1,null))[_0x311e('0x29')](function(_0x1c0e38){if(_0x1c0e38){return _0x1c0e38[_0x311e('0x86')](_0x5da9d2[_0x311e('0x3a')][_0x311e('0x65')])['then'](function(){if(_['isArray'](_0x5da9d2[_0x311e('0x3a')]['ids'])){for(var _0x7c4063=0x0;_0x7c4063<_0x5da9d2[_0x311e('0x3a')]['ids'][_0x311e('0x3f')];_0x7c4063+=0x1){socket[_0x311e('0x6f')](_0x311e('0x89'),{'UserId':Number(_0x5da9d2[_0x311e('0x3a')][_0x311e('0x65')][_0x7c4063]),'SmsQueueId':Number(_0x5da9d2['params']['id'])});}}else{socket[_0x311e('0x6f')](_0x311e('0x89'),{'UserId':Number(_0x5da9d2['query'][_0x311e('0x65')]),'SmsQueueId':Number(_0x5da9d2['params']['id'])});}});}})[_0x311e('0x29')](respondWithStatusCode(_0x5e41d1,null))[_0x311e('0x4b')](handleError(_0x5e41d1,null));};exports[_0x311e('0x8a')]=function(_0x318d51,_0x567200,_0x4521e5){var _0x192b4e={};var _0x2d9a43={};var _0x38ab37;var _0x3cfbc8;return db[_0x311e('0x36')][_0x311e('0x5b')]({'where':{'id':_0x318d51[_0x311e('0x4d')]['id']}})[_0x311e('0x29')](handleEntityNotFound(_0x567200,null))[_0x311e('0x29')](function(_0x74e252){if(_0x74e252){_0x38ab37=_0x74e252;_0x2d9a43[_0x311e('0x39')]=_['keys'](db[_0x311e('0x5e')][_0x311e('0x37')]);_0x2d9a43['query']=_[_0x311e('0x4e')](_0x318d51['query']);_0x2d9a43['filters']=_[_0x311e('0x3c')](_0x2d9a43[_0x311e('0x39')],_0x2d9a43['query']);_0x192b4e[_0x311e('0x3d')]=_[_0x311e('0x3c')](_0x2d9a43[_0x311e('0x39')],qs[_0x311e('0x3e')](_0x318d51['query'][_0x311e('0x3e')]));_0x192b4e['attributes']=_0x192b4e[_0x311e('0x3d')][_0x311e('0x3f')]?_0x192b4e[_0x311e('0x3d')]:_0x2d9a43['model'];_0x192b4e['order']=qs[_0x311e('0x43')](_0x318d51['query'][_0x311e('0x43')]);_0x192b4e[_0x311e('0x46')]=qs[_0x311e('0x3b')](_['pick'](_0x318d51[_0x311e('0x3a')],_0x2d9a43[_0x311e('0x3b')]));if(_0x318d51[_0x311e('0x3a')]['filter']){_0x192b4e['where']=_[_0x311e('0x47')](_0x192b4e[_0x311e('0x46')],{'$or':_['map'](_0x192b4e[_0x311e('0x3d')],function(_0x17965f){var _0x2c9b11={};_0x2c9b11[_0x17965f]={'$like':'%'+_0x318d51[_0x311e('0x3a')][_0x311e('0x45')]+'%'};return _0x2c9b11;})});}_0x192b4e=_[_0x311e('0x47')]({},_0x192b4e,_0x318d51['options']);return _0x38ab37[_0x311e('0x8a')](_0x192b4e);}})[_0x311e('0x29')](function(_0x1a8c11){if(_0x1a8c11){_0x3cfbc8=_0x1a8c11[_0x311e('0x3f')];if(!_0x318d51['query'][_0x311e('0x40')]('nolimit')){_0x192b4e[_0x311e('0x22')]=qs[_0x311e('0x22')](_0x318d51[_0x311e('0x3a')][_0x311e('0x22')]);_0x192b4e[_0x311e('0x21')]=qs[_0x311e('0x21')](_0x318d51['query'][_0x311e('0x21')]);}return _0x38ab37[_0x311e('0x8a')](_0x192b4e);}})[_0x311e('0x29')](function(_0x4a5d0c){if(_0x4a5d0c){return _0x4a5d0c?{'count':_0x3cfbc8,'rows':_0x4a5d0c}:null;}})['then'](respondWithResult(_0x567200,null))['catch'](handleError(_0x567200,null));};