61596088941dbeb6b0cdf0efd2c66f84b14a770a
[motion-next.git] / server / api / notification / notification.controller.js
1 const a461_0x5e88=['../../mysqldb','push','transaction','then','recipientsDescription','Missing\x20\x27view\x27\x20parameter','ids','../../rediscache','fullname','undefined','User','lodash','notification:send','status','findOne','Notification','Missing\x20\x27recipients\x27\x20parameter','html','union','text','user','flatten','replace','TemplateId','getAgents','Invalid\x20\x27TemplateId\x27\x20parameter','Must\x20specify\x20at\x20least\x20one\x20argument\x20for\x20\x27text\x27\x20or\x20\x27TemplateId\x27','includes','Invalid\x20\x27recipients\x27\x20object','send','sortBy','isEmpty','Template','Invalid\x20model\x20in\x20\x27recipients\x27\x20object','join','json','create','parse','smsqueue','queue','senderName','faxqueue','chatqueue','openchannelqueue','mustache','beep','view','map','recipientsId','error','model','all','toLowerCase','recipients','voicequeue','catch','api','mailqueue','body','forEach','recipient','sendNotification','emit'];(function(_0x29ee04,_0x5e88d8){const _0x333cc2=function(_0x3b72d2){while(--_0x3b72d2){_0x29ee04['push'](_0x29ee04['shift']());}};_0x333cc2(++_0x5e88d8);}(a461_0x5e88,0x1cf));const a461_0x333c=function(_0x29ee04,_0x5e88d8){_0x29ee04=_0x29ee04-0x0;let _0x333cc2=a461_0x5e88[_0x29ee04];return _0x333cc2;};const _0x28b49f=a461_0x333c;'use strict';const Mustache=require(_0x28b49f('0x16')),_=require(_0x28b49f('0x34')),logger=require('../../config/logger')(_0x28b49f('0x22')),{getSocket}=require(_0x28b49f('0x30')),socket=getSocket(),db=require(_0x28b49f('0x29'))['db'],{ValidationError}=require('sequelize');require('./notification.socket')['register'](socket);function respondWithResult(_0x3b72d2,_0xa7b083){return _0xa7b083=_0xa7b083||0xc8,function(_0x1d5500){const _0x2e1adc=a461_0x333c;if(_0x1d5500)return _0x3b72d2[_0x2e1adc('0x36')](_0xa7b083)[_0x2e1adc('0xd')](_0x1d5500);};}function handleError(_0x4c13bc,_0x55194d){return _0x55194d=_0x55194d||0x1f4,function(_0x54bc3f){const _0x1260dc=a461_0x333c;logger['error'](_0x54bc3f['stack']),_0x54bc3f['name']&&delete _0x54bc3f['name'],_0x4c13bc[_0x1260dc('0x36')](_0x55194d)[_0x1260dc('0x7')](_0x54bc3f);};}exports[_0x28b49f('0x27')]=function(_0x31d9a4,_0x508466){const _0x470ee0=_0x28b49f;let _0x362593=[];if(typeof _0x31d9a4[_0x470ee0('0x24')][_0x470ee0('0x3c')]===_0x470ee0('0x32')&&typeof _0x31d9a4[_0x470ee0('0x24')]['TemplateId']===_0x470ee0('0x32'))throw new ValidationError(_0x470ee0('0x4'));else{if(typeof _0x31d9a4['body']['TemplateId']!==_0x470ee0('0x32')&&typeof _0x31d9a4[_0x470ee0('0x24')][_0x470ee0('0x18')]===_0x470ee0('0x32'))throw new ValidationError(_0x470ee0('0x2e'));if(typeof _0x31d9a4[_0x470ee0('0x24')][_0x470ee0('0x1f')]===_0x470ee0('0x32'))throw new ValidationError(_0x470ee0('0x39'));else{try{_0x362593=JSON[_0x470ee0('0xf')](_0x31d9a4[_0x470ee0('0x24')]['recipients']);}catch(_0x3e3486){logger[_0x470ee0('0x1b')](_0x3e3486);throw new ValidationError(_0x470ee0('0x6'));}const _0x2d6387=[_0x470ee0('0x14'),_0x470ee0('0x13'),_0x470ee0('0x23'),_0x470ee0('0x15'),_0x470ee0('0x10'),_0x470ee0('0x20'),'whatsappqueue','team',_0x470ee0('0x3d')];if(_['some'](_0x362593,function(_0x3ade71){const _0x5bbf6d=_0x470ee0;return!_['includes'](_0x2d6387,_0x3ade71[_0x5bbf6d('0x1c')][_0x5bbf6d('0x1e')]());}))throw new ValidationError(_0x470ee0('0xb'));}}const _0x5210d1={};return _0x5210d1[_0x470ee0('0x12')]=_0x31d9a4[_0x470ee0('0x24')][_0x470ee0('0x12')]?_0x31d9a4['body'][_0x470ee0('0x12')]:_0x31d9a4[_0x470ee0('0x3d')][_0x470ee0('0x31')],_0x5210d1[_0x470ee0('0x2d')]=_[_0x470ee0('0x9')](_0x31d9a4['body'][_0x470ee0('0x2d')])?null:_0x31d9a4[_0x470ee0('0x24')][_0x470ee0('0x2d')],_0x5210d1[_0x470ee0('0x17')]=_0x31d9a4[_0x470ee0('0x24')][_0x470ee0('0x17')]||![],_0x5210d1['SenderId']=_0x31d9a4[_0x470ee0('0x3d')]['id'],getContent(_0x31d9a4[_0x470ee0('0x24')])[_0x470ee0('0x2c')](function(_0x5c3d01){return _0x5210d1['body']=_0x5c3d01,getRecipients(_0x362593);})[_0x470ee0('0x2c')](function(_0x4461d9){const _0x225b8a=_0x470ee0;return _0x5210d1[_0x225b8a('0x1a')]=_[_0x225b8a('0x8')](_0x4461d9)[_0x225b8a('0xc')](','),db['sequelize'][_0x225b8a('0x2b')](function(_0x5849b5){const _0x958443=_0x225b8a;return db[_0x958443('0x38')][_0x958443('0xe')](_0x5210d1,{'raw':!![],'transaction':_0x5849b5})[_0x958443('0x2c')](function(_0x31b787){const _0x591502=_0x958443,_0x269957={'sender':_0x5210d1['senderName'],'description':_0x5210d1[_0x591502('0x2d')],'content':_0x5210d1[_0x591502('0x24')],'beep':_0x5210d1[_0x591502('0x17')]};return _0x4461d9['forEach'](function(_0x53d221){const _0x362600=_0x591502;_0x269957[_0x362600('0x26')]=_0x53d221,socket[_0x362600('0x28')](_0x362600('0x35'),_0x269957);}),_0x31b787;});});})[_0x470ee0('0x2c')](respondWithResult(_0x508466,0xc9))[_0x470ee0('0x21')](handleError(_0x508466,null));};function getContent(_0x18f182){return new Promise(function(_0x2e2a29,_0x51f738){const _0x36af12=a461_0x333c;if(_0x18f182[_0x36af12('0x3c')]){_0x2e2a29(_0x18f182[_0x36af12('0x3c')]);return;}return db[_0x36af12('0xa')][_0x36af12('0x37')]({'attributes':[_0x36af12('0x3a')],'where':{'id':_0x18f182[_0x36af12('0x1')]},'raw':!![]})[_0x36af12('0x2c')](function(_0x369f70){const _0x3e0074=_0x36af12;if(!_0x369f70)throw new ValidationError(_0x3e0074('0x3'));const _0x185ce6=Mustache['render'](_0x369f70[_0x3e0074('0x3a')],_0x18f182[_0x3e0074('0x18')]);_0x2e2a29(_0x185ce6);})[_0x36af12('0x21')](function(_0x597997){_0x51f738(_0x597997);});});}function getRecipients(_0x5d783f){return new Promise(function(_0x93ca4e,_0x3a84c){const _0x257d8a=a461_0x333c;let _0x5551a8=[];const _0x1fe741=[];return _0x5d783f['forEach'](function(_0x627cf){const _0x99132b=a461_0x333c;let _0x4b2182=_['startCase'](_0x627cf['model']['toLowerCase']());if(_0x4b2182===_0x99132b('0x33'))_0x5551a8=_[_0x99132b('0x3b')](_0x5551a8,_0x627cf[_0x99132b('0x2f')]);else{if(_[_0x99132b('0x5')](_0x4b2182,'queue'))_0x4b2182=_0x4b2182[_0x99132b('0x0')](_0x99132b('0x11'),'Queue');_0x627cf['ids'][_0x99132b('0x25')](function(_0x55c285){const _0x586b37=_0x99132b;_0x1fe741[_0x586b37('0x2a')](getAgents(_0x4b2182,_0x55c285));});}}),Promise[_0x257d8a('0x1d')](_0x1fe741)[_0x257d8a('0x2c')](function(_0x1c5389){const _0x5ed2cb=_0x257d8a;_0x5551a8=_[_0x5ed2cb('0x3b')](_0x5551a8,_[_0x5ed2cb('0x3e')](_0x1c5389)),_0x93ca4e(_0x5551a8);})['catch'](function(_0x21d63a){_0x3a84c(_0x21d63a);});});}function getAgents(_0x415918,_0x5c3808){return new Promise(function(_0x44d19b,_0x48f4f1){const _0x2ecd95=a461_0x333c;return db[_0x415918][_0x2ecd95('0x37')]({'where':{'id':_0x5c3808}})[_0x2ecd95('0x2c')](function(_0x2ebda5){const _0x5e7531=_0x2ecd95;return _0x2ebda5[_0x5e7531('0x2')]({'attributes':['id'],'raw':!![]})['then'](function(_0x35a465){const _0x3bb654=_0x5e7531,_0x133f59=_[_0x3bb654('0x19')](_0x35a465,'id');_0x44d19b(_0x133f59);});})[_0x2ecd95('0x21')](function(_0x200653){_0x48f4f1(_0x200653);});});}