3c4e0dab41c9b37e9e6deb62695372af234b0670
[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 _0xffe1=['OpenchannelInteraction','OpenchannelMessage','request','then','Trigger,\x20%s','error','code','EventManager','catch','channel','event','direction','UserId','User','name','interface','format','SIP/%s','incomingmessage','opened','changed','closed','get','find','default','length','model','hook','callback','toLowerCase','condition','util','../../mysqldb','../logger','triggers','client','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','ChatMessage','Sms','SmsInteraction','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','newmessage','Mail','MailInteraction','Openchannel'];(function(_0x3ed7af,_0x58524e){var _0x5dce03=function(_0x3040ee){while(--_0x3040ee){_0x3ed7af['push'](_0x3ed7af['shift']());}};_0x5dce03(++_0x58524e);}(_0xffe1,0x132));var _0x1ffe=function(_0x592e3c,_0x5dfbff){_0x592e3c=_0x592e3c-0x0;var _0x45f8fa=_0xffe1[_0x592e3c];return _0x45f8fa;};'use strict';var util=require(_0x1ffe('0x0'));var db=require(_0x1ffe('0x1'))['db'];var jayson=require('jayson/promise');var logger=require(_0x1ffe('0x2'))(_0x1ffe('0x3'));var client=jayson[_0x1ffe('0x4')]['http']({'port':0x232a});var triggers=[{'channel':_0x1ffe('0x5'),'model':_0x1ffe('0x6'),'event':_0x1ffe('0x7'),'condition':_0x1ffe('0x8'),'callback':afterCreate},{'channel':'Chat','model':_0x1ffe('0x6'),'event':_0x1ffe('0x9'),'condition':_0x1ffe('0xa'),'callback':afterUpdate},{'channel':_0x1ffe('0x5'),'model':_0x1ffe('0xb'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0x1ffe('0xc'),'model':'SmsInteraction','event':_0x1ffe('0x7'),'condition':_0x1ffe('0x8'),'callback':afterCreate},{'channel':_0x1ffe('0xc'),'model':_0x1ffe('0xd'),'event':'afterUpdate','condition':_0x1ffe('0xa'),'callback':afterUpdate},{'channel':_0x1ffe('0xc'),'model':'SmsMessage','event':_0x1ffe('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x1ffe('0xe'),'model':_0x1ffe('0xf'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0x1ffe('0x9'),'condition':_0x1ffe('0xa'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0x1ffe('0x10'),'event':_0x1ffe('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x1ffe('0x11'),'model':_0x1ffe('0x12'),'event':_0x1ffe('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':'Fax','model':_0x1ffe('0x12'),'event':_0x1ffe('0x9'),'condition':_0x1ffe('0xa'),'callback':afterUpdate},{'channel':_0x1ffe('0x11'),'model':_0x1ffe('0x13'),'event':'afterCreate','condition':_0x1ffe('0x14'),'callback':afterCreateMessage},{'channel':_0x1ffe('0x15'),'model':_0x1ffe('0x16'),'event':'afterCreate','condition':_0x1ffe('0x8'),'callback':afterCreate},{'channel':_0x1ffe('0x15'),'model':_0x1ffe('0x16'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x1ffe('0x15'),'model':'MailMessage','event':_0x1ffe('0x7'),'condition':_0x1ffe('0x14'),'callback':afterCreateMessage},{'channel':_0x1ffe('0x17'),'model':_0x1ffe('0x18'),'event':_0x1ffe('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x1ffe('0x17'),'model':_0x1ffe('0x18'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':'Openchannel','model':_0x1ffe('0x19'),'event':_0x1ffe('0x7'),'condition':_0x1ffe('0x14'),'callback':afterCreateMessage}];function request(_0x492e40){return client[_0x1ffe('0x1a')]('EventManager',_0x492e40)[_0x1ffe('0x1b')](function(_0x210210){logger['info'](_0x1ffe('0x1c'),'EventManager',_0x210210);if(_0x210210[_0x1ffe('0x1d')]){if(_0x210210[_0x1ffe('0x1d')][_0x1ffe('0x1e')]===0x1f4){logger['error'](_0x1ffe('0x1c'),_0x1ffe('0x1f'),_0x210210[_0x1ffe('0x1d')]);}}})[_0x1ffe('0x20')](function(_0x6575c6){logger[_0x1ffe('0x1d')](_0x1ffe('0x1c'),_0x1ffe('0x1f'),_0x6575c6);});}function afterCreateMessage(_0x41815a,_0x667f32){return function(_0x156f09,_0x91c7a4){_0x156f09=_0x156f09['get']({'plain':!![]});_0x156f09[_0x1ffe('0x21')]=_0x41815a;_0x156f09[_0x1ffe('0x22')]=_0x156f09[_0x1ffe('0x23')];if(_0x156f09[_0x1ffe('0x24')]){return db[_0x1ffe('0x25')]['find']({'where':{'id':_0x156f09[_0x1ffe('0x24')]},'attributes':['id',_0x1ffe('0x26')],'raw':!![]})[_0x1ffe('0x1b')](function(_0x31211a){_0x156f09[_0x1ffe('0x27')]=util[_0x1ffe('0x28')](_0x1ffe('0x29'),_0x31211a['name']);_0x156f09[_0x1ffe('0x21')]=_0x41815a;return request({'event':_0x1ffe('0x2a'),'message':_0x156f09});})[_0x1ffe('0x20')](function(_0x5ed4e7){console[_0x1ffe('0x1d')](_0x5ed4e7);});}else{return request({'event':'outgoingmessage','message':_0x156f09});}};}function afterCreate(_0x13a150,_0x2db698){return function(_0x3878d3,_0x5d8e69){_0x3878d3=_0x3878d3['get']({'plain':!![]});_0x3878d3[_0x1ffe('0x21')]=_0x13a150;_0x3878d3[_0x1ffe('0x22')]=_0x1ffe('0x2b');return request({'event':_0x2db698,'message':_0x3878d3});};}function afterUpdate(_0x4a52d5,_0x5c4b3a){return function(_0x4a8a82,_0x4408ed){if(_0x4a8a82[_0x1ffe('0x2c')](_0x1ffe('0x2d'))&&_0x4a8a82[_0x1ffe('0x2d')]){_0x4a8a82=_0x4a8a82[_0x1ffe('0x2e')]({'plain':!![]});_0x4a8a82[_0x1ffe('0x21')]=_0x4a52d5;_0x4a8a82[_0x1ffe('0x22')]='closed';if(_0x4a8a82[_0x1ffe('0x24')]){return db[_0x1ffe('0x25')][_0x1ffe('0x2f')]({'where':{'id':_0x4a8a82[_0x1ffe('0x24')]},'attributes':['id','name'],'raw':!![]})['then'](function(_0x164b67){_0x4a8a82[_0x1ffe('0x27')]=util[_0x1ffe('0x28')](_0x1ffe('0x29'),_0x164b67[_0x1ffe('0x26')]);return request({'event':_0x5c4b3a,'message':_0x4a8a82});})[_0x1ffe('0x20')](function(_0x8e9899){console[_0x1ffe('0x1d')](_0x8e9899);});}else{return request({'event':_0x5c4b3a,'message':_0x4a8a82});}}};}exports[_0x1ffe('0x30')]=function(){for(var _0x1424a7=0x0;_0x1424a7<triggers[_0x1ffe('0x31')];_0x1424a7+=0x1){if(db['hasOwnProperty'](triggers[_0x1424a7][_0x1ffe('0x32')])){db[triggers[_0x1424a7][_0x1ffe('0x32')]][_0x1ffe('0x33')](triggers[_0x1424a7]['event'],triggers[_0x1424a7][_0x1ffe('0x34')](triggers[_0x1424a7][_0x1ffe('0x21')][_0x1ffe('0x35')](),triggers[_0x1424a7][_0x1ffe('0x36')]));}}};