Built motion from commit (unavailable).|2.5.27
[motion2.git] / server / api / userNotification / userNotification.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 _0xc465=['view','Missing\x20\x27view\x27\x20parameter','recipients','Missing\x20\x27recipients\x27\x20parameter','Invalid\x20\x27recipients\x27\x20object','faxqueue','mailqueue','openchannelqueue','voicequeue','team','some','includes','model','toLowerCase','Invalid\x20model\x20in\x20\x27recipients\x27\x20object','senderName','fullname','recipientsDescription','isEmpty','beep','SenderId','user','recipientsId','sequelize','UserNotification','create','recipient','emit','userNotification:send','catch','text','Template','findOne','html','TemplateId','render','forEach','startCase','User','union','ids','queue','replace','Queue','push','all','flatten','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./userNotification.socket','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','destroy','then','error','stack','name','send','sendUserNotification','hasOwnProperty','Sequelize','ValidationError','Must\x20specify\x20at\x20least\x20one\x20argument\x20for\x20\x27text\x27\x20or\x20\x27TemplateId\x27','body'];(function(_0x95a390,_0x3ab31a){var _0x5cd40e=function(_0x13cc25){while(--_0x13cc25){_0x95a390['push'](_0x95a390['shift']());}};_0x5cd40e(++_0x3ab31a);}(_0xc465,0x100));var _0x5c46=function(_0x413feb,_0x10477f){_0x413feb=_0x413feb-0x0;var _0x40ee88=_0xc465[_0x413feb];return _0x40ee88;};'use strict';var emlformat=require(_0x5c46('0x0'));var rimraf=require(_0x5c46('0x1'));var zipdir=require(_0x5c46('0x2'));var jsonpatch=require(_0x5c46('0x3'));var rp=require(_0x5c46('0x4'));var moment=require(_0x5c46('0x5'));var BPromise=require(_0x5c46('0x6'));var Mustache=require(_0x5c46('0x7'));var util=require(_0x5c46('0x8'));var path=require('path');var sox=require(_0x5c46('0x9'));var csv=require(_0x5c46('0xa'));var ejs=require(_0x5c46('0xb'));var fs=require('fs');var fs_extra=require(_0x5c46('0xc'));var _=require(_0x5c46('0xd'));var squel=require(_0x5c46('0xe'));var crypto=require(_0x5c46('0xf'));var jsforce=require(_0x5c46('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x5c46('0xa'));var querystring=require(_0x5c46('0x11'));var Papa=require(_0x5c46('0x12'));var Redis=require(_0x5c46('0x13'));var authService=require(_0x5c46('0x14'));var qs=require(_0x5c46('0x15'));var as=require(_0x5c46('0x16'));var hardwareService=require(_0x5c46('0x17'));var logger=require(_0x5c46('0x18'))(_0x5c46('0x19'));var utils=require(_0x5c46('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0x5c46('0x1b'));var db=require(_0x5c46('0x1c'))['db'];config[_0x5c46('0x1d')]=_['defaults'](config[_0x5c46('0x1d')],{'host':_0x5c46('0x1e'),'port':0x18eb});var socket=require(_0x5c46('0x1f'))(new Redis(config[_0x5c46('0x1d')]));require(_0x5c46('0x20'))['register'](socket);function respondWithStatusCode(_0x43ee09,_0x31fbe5){_0x31fbe5=_0x31fbe5||0xcc;return function(_0x130aaf){if(_0x130aaf){return _0x43ee09[_0x5c46('0x21')](_0x31fbe5);}return _0x43ee09[_0x5c46('0x22')](_0x31fbe5)[_0x5c46('0x23')]();};}function respondWithResult(_0x1b9790,_0x4c612b){_0x4c612b=_0x4c612b||0xc8;return function(_0x56a5bf){if(_0x56a5bf){return _0x1b9790[_0x5c46('0x22')](_0x4c612b)[_0x5c46('0x24')](_0x56a5bf);}};}function respondWithFilteredResult(_0x3b692c,_0x5742a6){return function(_0x19d27e){if(_0x19d27e){var _0x24805e=_0x19d27e[_0x5c46('0x25')],_0x1612d1=_0x5742a6[_0x5c46('0x26')],_0x5c0bc3=_0x5742a6['offset']+_0x5742a6[_0x5c46('0x27')],_0x2d6680;if(_0x5c0bc3>=_0x24805e){_0x5c0bc3=_0x24805e;_0x2d6680=0xc8;}else{_0x2d6680=0xce;}_0x3b692c['status'](_0x2d6680);return _0x3b692c[_0x5c46('0x28')](_0x5c46('0x29'),_0x1612d1+'-'+_0x5c0bc3+'/'+_0x24805e)[_0x5c46('0x24')](_0x19d27e);}return null;};}function patchUpdates(_0x1a3eeb){return function(_0x437354){try{jsonpatch[_0x5c46('0x2a')](_0x437354,_0x1a3eeb,!![]);}catch(_0x1f2e51){return BPromise[_0x5c46('0x2b')](_0x1f2e51);}return _0x437354['save']();};}function saveUpdates(_0x46d1f6,_0x1436f4){return function(_0x21e5b2){if(_0x21e5b2){return _0x21e5b2['update'](_0x46d1f6)['then'](function(_0x3f6fb8){return _0x3f6fb8;});}return null;};}function removeEntity(_0x562fc2,_0x440d72){return function(_0xe95f4d){if(_0xe95f4d){return _0xe95f4d[_0x5c46('0x2c')]()[_0x5c46('0x2d')](function(){_0x562fc2['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5edec9,_0x1e92e5){return function(_0x2bcd38){if(!_0x2bcd38){_0x5edec9[_0x5c46('0x21')](0x194);}return _0x2bcd38;};}function handleError(_0x16d411,_0x45f79f){_0x45f79f=_0x45f79f||0x1f4;return function(_0x105dad){logger[_0x5c46('0x2e')](_0x105dad[_0x5c46('0x2f')]);if(_0x105dad[_0x5c46('0x30')]){delete _0x105dad[_0x5c46('0x30')];}_0x16d411[_0x5c46('0x22')](_0x45f79f)[_0x5c46('0x31')](_0x105dad);};}exports[_0x5c46('0x32')]=function(_0x5d5c9c,_0x36bb5b,_0x5a5241){if(!_0x5d5c9c['body'][_0x5c46('0x33')]('text')&&!_0x5d5c9c['body'][_0x5c46('0x33')]('TemplateId')){throw new db[(_0x5c46('0x34'))][(_0x5c46('0x35'))](_0x5c46('0x36'));}else{if(_0x5d5c9c[_0x5c46('0x37')][_0x5c46('0x33')]('TemplateId')&&!_0x5d5c9c['body'][_0x5c46('0x33')](_0x5c46('0x38'))){throw new db[(_0x5c46('0x34'))][(_0x5c46('0x35'))](_0x5c46('0x39'));}if(!_0x5d5c9c[_0x5c46('0x37')][_0x5c46('0x33')](_0x5c46('0x3a'))){throw new db[(_0x5c46('0x34'))][(_0x5c46('0x35'))](_0x5c46('0x3b'));}else{try{var _0x41a31b=JSON['parse'](_0x5d5c9c[_0x5c46('0x37')][_0x5c46('0x3a')]);}catch(_0x3fb7bf){logger[_0x5c46('0x2e')](_0x3fb7bf);throw new db[(_0x5c46('0x34'))][(_0x5c46('0x35'))](_0x5c46('0x3c'));}var _0x44f6b2=['chatqueue',_0x5c46('0x3d'),_0x5c46('0x3e'),_0x5c46('0x3f'),'smsqueue',_0x5c46('0x40'),'whatsappqueue',_0x5c46('0x41'),'user'];if(_[_0x5c46('0x42')](_0x41a31b,function(_0x51222a){return!_[_0x5c46('0x43')](_0x44f6b2,_0x51222a[_0x5c46('0x44')][_0x5c46('0x45')]());})){throw new db['Sequelize'][(_0x5c46('0x35'))](_0x5c46('0x46'));}}}var _0x21ea42={};_0x21ea42[_0x5c46('0x47')]=_0x5d5c9c[_0x5c46('0x37')][_0x5c46('0x33')]('senderName')?_0x5d5c9c[_0x5c46('0x37')][_0x5c46('0x47')]:_0x5d5c9c['user'][_0x5c46('0x48')];_0x21ea42[_0x5c46('0x49')]=_[_0x5c46('0x4a')](_0x5d5c9c['body'][_0x5c46('0x49')])?null:_0x5d5c9c['body'][_0x5c46('0x49')];_0x21ea42[_0x5c46('0x4b')]=_0x5d5c9c[_0x5c46('0x37')]['beep']||![];_0x21ea42[_0x5c46('0x4c')]=_0x5d5c9c[_0x5c46('0x4d')]['id'];return getContent(_0x5d5c9c['body'])['then'](function(_0xc7f36e){_0x21ea42[_0x5c46('0x37')]=_0xc7f36e;return getRecipients(_0x41a31b);})[_0x5c46('0x2d')](function(_0x178198){_0x21ea42[_0x5c46('0x4e')]=_['sortBy'](_0x178198)['join'](',');return db[_0x5c46('0x4f')]['transaction'](function(_0x490cdf){return db[_0x5c46('0x50')][_0x5c46('0x51')](_0x21ea42,{'raw':!![],'transaction':_0x490cdf})[_0x5c46('0x2d')](function(_0x568d3e){var _0x334d85={'sender':_0x21ea42[_0x5c46('0x47')],'description':_0x21ea42[_0x5c46('0x49')],'content':_0x21ea42[_0x5c46('0x37')],'beep':_0x21ea42[_0x5c46('0x4b')]};_0x178198['forEach'](function(_0x7bba77){_0x334d85[_0x5c46('0x52')]=_0x7bba77;socket[_0x5c46('0x53')](_0x5c46('0x54'),_0x334d85);});return _0x568d3e;});});})[_0x5c46('0x2d')](respondWithResult(_0x36bb5b,0xc9))[_0x5c46('0x55')](handleError(_0x36bb5b,null));};function getContent(_0xa1c6e8){return new BPromise(function(_0x46e811,_0x503e7e){if(_0xa1c6e8['text']){_0x46e811(_0xa1c6e8[_0x5c46('0x56')]);return;}return db[_0x5c46('0x57')][_0x5c46('0x58')]({'attributes':[_0x5c46('0x59')],'where':{'id':_0xa1c6e8[_0x5c46('0x5a')]},'raw':!![]})[_0x5c46('0x2d')](function(_0x237bae){if(!_0x237bae)throw new db[(_0x5c46('0x34'))][(_0x5c46('0x35'))]('Invalid\x20\x27TemplateId\x27\x20parameter');var _0x25e9a6=Mustache[_0x5c46('0x5b')](_0x237bae[_0x5c46('0x59')],_0xa1c6e8['view']);_0x46e811(_0x25e9a6);})[_0x5c46('0x55')](function(_0x229663){_0x503e7e(_0x229663);});});}function getRecipients(_0x318266){return new BPromise(function(_0x14ee5f,_0x528ff9){var _0x460119=[];var _0x3e6834=[];_0x318266[_0x5c46('0x5c')](function(_0x4bd678){var _0x4ee7eb=_[_0x5c46('0x5d')](_0x4bd678[_0x5c46('0x44')][_0x5c46('0x45')]());if(_0x4ee7eb===_0x5c46('0x5e')){_0x460119=_[_0x5c46('0x5f')](_0x460119,_0x4bd678[_0x5c46('0x60')]);}else{if(_[_0x5c46('0x43')](_0x4ee7eb,_0x5c46('0x61')))_0x4ee7eb=_0x4ee7eb[_0x5c46('0x62')]('queue',_0x5c46('0x63'));_0x4bd678[_0x5c46('0x60')]['forEach'](function(_0x44c09e){_0x3e6834[_0x5c46('0x64')](getAgents(_0x4ee7eb,_0x44c09e));});}});return BPromise[_0x5c46('0x65')](_0x3e6834)[_0x5c46('0x2d')](function(_0x17942d){_0x460119=_[_0x5c46('0x5f')](_0x460119,_[_0x5c46('0x66')](_0x17942d));_0x14ee5f(_0x460119);})['catch'](function(_0x593b90){_0x528ff9(_0x593b90);});});}function getAgents(_0x34b413,_0x3650fb){return new BPromise(function(_0x5b081f,_0xf4e889){return db[_0x34b413]['findOne']({'where':{'id':_0x3650fb}})[_0x5c46('0x2d')](function(_0x450514){return _0x450514[_0x5c46('0x67')]({'attributes':['id'],'raw':!![]})[_0x5c46('0x2d')](function(_0x3bb14a){var _0x3555b6=_['map'](_0x3bb14a,'id');_0x5b081f(_0x3555b6);});})[_0x5c46('0x55')](function(_0x1a77fb){_0xf4e889(_0x1a77fb);});});}