e1632eda6339298c17d935d10ff9151b3a3ed4e6
[motion2.git] / server / config / triggers / index.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 _0xf8f5=['FaxInteraction','FaxMessage','MailInteraction','Mail','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','info','Trigger,\x20%s','error','code','catch','get','event','direction','UserId','User','find','then','interface','format','SIP/%s','name','channel','incomingmessage','outgoingmessage','opened','changed','closed','length','hasOwnProperty','model','hook','toLowerCase','condition','util','../../mysqldb','jayson/promise','triggers','http','afterCreate','newinteraction','afterUpdate','closedinteraction','Chat','ChatMessage','Sms','SmsInteraction','SmsMessage','newmessage','WhatsappInteraction','Whatsapp','WhatsappMessage','Fax'];(function(_0xd468fd,_0x3392a5){var _0x401265=function(_0x3df9c3){while(--_0x3df9c3){_0xd468fd['push'](_0xd468fd['shift']());}};_0x401265(++_0x3392a5);}(_0xf8f5,0x1ee));var _0x5f8f=function(_0x326396,_0x230be5){_0x326396=_0x326396-0x0;var _0x496311=_0xf8f5[_0x326396];return _0x496311;};'use strict';var util=require(_0x5f8f('0x0'));var db=require(_0x5f8f('0x1'))['db'];var jayson=require(_0x5f8f('0x2'));var logger=require('../logger')(_0x5f8f('0x3'));var client=jayson['client'][_0x5f8f('0x4')]({'port':0x232a});var triggers=[{'channel':'Chat','model':'ChatInteraction','event':_0x5f8f('0x5'),'condition':_0x5f8f('0x6'),'callback':afterCreate},{'channel':'Chat','model':'ChatInteraction','event':_0x5f8f('0x7'),'condition':_0x5f8f('0x8'),'callback':afterUpdate},{'channel':_0x5f8f('0x9'),'model':_0x5f8f('0xa'),'event':_0x5f8f('0x5'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x5f8f('0xb'),'model':_0x5f8f('0xc'),'event':_0x5f8f('0x5'),'condition':_0x5f8f('0x6'),'callback':afterCreate},{'channel':'Sms','model':_0x5f8f('0xc'),'event':_0x5f8f('0x7'),'condition':_0x5f8f('0x8'),'callback':afterUpdate},{'channel':_0x5f8f('0xb'),'model':_0x5f8f('0xd'),'event':_0x5f8f('0x5'),'condition':_0x5f8f('0xe'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0x5f8f('0x5'),'condition':_0x5f8f('0x6'),'callback':afterCreate},{'channel':'Whatsapp','model':_0x5f8f('0xf'),'event':_0x5f8f('0x7'),'condition':_0x5f8f('0x8'),'callback':afterUpdate},{'channel':_0x5f8f('0x10'),'model':_0x5f8f('0x11'),'event':_0x5f8f('0x5'),'condition':_0x5f8f('0xe'),'callback':afterCreateMessage},{'channel':_0x5f8f('0x12'),'model':_0x5f8f('0x13'),'event':_0x5f8f('0x5'),'condition':_0x5f8f('0x6'),'callback':afterCreate},{'channel':_0x5f8f('0x12'),'model':_0x5f8f('0x13'),'event':_0x5f8f('0x7'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x5f8f('0x12'),'model':_0x5f8f('0x14'),'event':_0x5f8f('0x5'),'condition':_0x5f8f('0xe'),'callback':afterCreateMessage},{'channel':'Mail','model':_0x5f8f('0x15'),'event':_0x5f8f('0x5'),'condition':_0x5f8f('0x6'),'callback':afterCreate},{'channel':_0x5f8f('0x16'),'model':_0x5f8f('0x15'),'event':_0x5f8f('0x7'),'condition':_0x5f8f('0x8'),'callback':afterUpdate},{'channel':_0x5f8f('0x16'),'model':_0x5f8f('0x17'),'event':_0x5f8f('0x5'),'condition':_0x5f8f('0xe'),'callback':afterCreateMessage},{'channel':_0x5f8f('0x18'),'model':'OpenchannelInteraction','event':'afterCreate','condition':_0x5f8f('0x6'),'callback':afterCreate},{'channel':_0x5f8f('0x18'),'model':_0x5f8f('0x19'),'event':_0x5f8f('0x7'),'condition':_0x5f8f('0x8'),'callback':afterUpdate},{'channel':'Openchannel','model':_0x5f8f('0x1a'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage}];function request(_0x1ed13e){return client[_0x5f8f('0x1b')](_0x5f8f('0x1c'),_0x1ed13e)['then'](function(_0x5832af){logger[_0x5f8f('0x1d')](_0x5f8f('0x1e'),_0x5f8f('0x1c'),_0x5832af);if(_0x5832af[_0x5f8f('0x1f')]){if(_0x5832af[_0x5f8f('0x1f')][_0x5f8f('0x20')]===0x1f4){logger[_0x5f8f('0x1f')](_0x5f8f('0x1e'),_0x5f8f('0x1c'),_0x5832af[_0x5f8f('0x1f')]);}}})[_0x5f8f('0x21')](function(_0x3152e5){logger[_0x5f8f('0x1f')]('Trigger,\x20%s',_0x5f8f('0x1c'),_0x3152e5);});}function afterCreateMessage(_0x1272d3,_0x13d810){return function(_0x11275a,_0x47316c){_0x11275a=_0x11275a[_0x5f8f('0x22')]({'plain':!![]});_0x11275a['channel']=_0x1272d3;_0x11275a[_0x5f8f('0x23')]=_0x11275a[_0x5f8f('0x24')];if(_0x11275a[_0x5f8f('0x25')]){return db[_0x5f8f('0x26')][_0x5f8f('0x27')]({'where':{'id':_0x11275a[_0x5f8f('0x25')]},'attributes':['id','name'],'raw':!![]})[_0x5f8f('0x28')](function(_0x48f8ab){_0x11275a[_0x5f8f('0x29')]=util[_0x5f8f('0x2a')](_0x5f8f('0x2b'),_0x48f8ab[_0x5f8f('0x2c')]);_0x11275a[_0x5f8f('0x2d')]=_0x1272d3;return request({'event':_0x5f8f('0x2e'),'message':_0x11275a});})[_0x5f8f('0x21')](function(_0x492def){console[_0x5f8f('0x1f')](_0x492def);});}else{return request({'event':_0x5f8f('0x2f'),'message':_0x11275a});}};}function afterCreate(_0x3819cf,_0x18bde4){return function(_0x383e95,_0x3aa9cd){_0x383e95=_0x383e95[_0x5f8f('0x22')]({'plain':!![]});_0x383e95[_0x5f8f('0x2d')]=_0x3819cf;_0x383e95[_0x5f8f('0x23')]=_0x5f8f('0x30');return request({'event':_0x18bde4,'message':_0x383e95});};}function afterUpdate(_0x145a21,_0x24f427){return function(_0x4954b8,_0x1095d9){if(_0x4954b8[_0x5f8f('0x31')](_0x5f8f('0x32'))&&_0x4954b8[_0x5f8f('0x32')]){_0x4954b8=_0x4954b8[_0x5f8f('0x22')]({'plain':!![]});_0x4954b8[_0x5f8f('0x2d')]=_0x145a21;_0x4954b8[_0x5f8f('0x23')]='closed';if(_0x4954b8[_0x5f8f('0x25')]){return db[_0x5f8f('0x26')][_0x5f8f('0x27')]({'where':{'id':_0x4954b8['UserId']},'attributes':['id',_0x5f8f('0x2c')],'raw':!![]})['then'](function(_0x50ead7){_0x4954b8[_0x5f8f('0x29')]=util[_0x5f8f('0x2a')](_0x5f8f('0x2b'),_0x50ead7[_0x5f8f('0x2c')]);return request({'event':_0x24f427,'message':_0x4954b8});})[_0x5f8f('0x21')](function(_0x10f004){console[_0x5f8f('0x1f')](_0x10f004);});}else{return request({'event':_0x24f427,'message':_0x4954b8});}}};}exports['default']=function(){for(var _0x426dbd=0x0;_0x426dbd<triggers[_0x5f8f('0x33')];_0x426dbd+=0x1){if(db[_0x5f8f('0x34')](triggers[_0x426dbd][_0x5f8f('0x35')])){db[triggers[_0x426dbd][_0x5f8f('0x35')]][_0x5f8f('0x36')](triggers[_0x426dbd][_0x5f8f('0x23')],triggers[_0x426dbd]['callback'](triggers[_0x426dbd][_0x5f8f('0x2d')][_0x5f8f('0x37')](),triggers[_0x426dbd][_0x5f8f('0x38')]));}}};